Fishpool

To content | To menu | To search

Tag - Fedora

Entries feed - Comments feed

Monday 18 June 2007

About fonts again

Heh, the Safari/Windows font smoothing thing seems to have stirred somewhat of a storm-in-a-teacup-blogosphere again. So lets comment on it again; this time, with a few more comparisons from my favorite free operating system:

Font rendering; the Windows emulation way (FreeType on high contrast setting):

The Apple emulation way (FreeType on preserve shapes setting):

The ClearType way (FreeType with subpixel decimation):

And finally my favorite, subpixel rendering with lower hinting strength:

Best of both worlds - more contrast than Mac OS X, prettier shapes than Windows, and word spacing which matches closely with what would be printed. Those closed operating systems look worse by the second.

All four settings available from the same GNOME font dialog.

Tuesday 12 June 2007

Font rendering Mac OS X vs Windows vs Linux

A topic which I've run tests with before (long time before), apparently has come back with Apple's Safari for Windows release. Jeff Atwood finds Mac OS X fonts wonky - well, they're certainly soft. Apple has never been too keen on strong hinting, perhaps because it messes inter-glyph metrics in favor of contrast. Windows is wonky in its own way - ClearType has good contrast, but letter spacing is sometimes a bit annoying.

Just for kicks, here's what Fedora 7 with FreeType autohinting and subpixel rendering (equivalent of ClearType) looks like. This is just one of the modes, but the one I personally prefer:


Comparing at 200% rendering to Jeff's examples; Safari/Windows, IE7/Windows, and Firefox/Fedora

I guess it's up to everyone's preferences, but I think Fedora wins this one. Spacing isn't perfect here either (in particular "b est" looks a bit ugly), but overall, contrast is excellent and paragraph spacing is very close to what it would be without hinting.

Wednesday 23 May 2007

Fedora 7 nice step forward again

I installed Fedora 7 Test on my home PC a couple of weeks ago, and encouraged by its smoothness, and wanting a clean upgrade to OpenOffice.org 2.2 and Gnome 2.18, rolled it on my laptop, too. Pretty nice! Apart from those upgrades, I got:

These might seem like minor items, but all of them improve daily usability, and I much more prefer regular small improvements to huge changes, anyway. OpenOffice.org 2.2 actually is a relatively major upgrade, with support for dual screen mode in Impress (finally), and improvements in the already-good PDF export functionality.

Only two bugs that annoy me (and I'm easily annoyed), both new, but then again, many others went away:

Absolutely no problems doing a yum upgrade, but I had two things going for me, so y'all take your own chances: I've done this many times before, and I've used LVM-managed volumes for a long time. If you haven't, or don't, upgrade using Anaconda or risk not being able to boot afterwards.

Wednesday 30 August 2006

Fedora and Nortel VPN?

I'm trying to make a Nortel VPN and my FC5 laptop talk to each other. NetworkManager + vpnc doesn't seem to have much luck -- I just get a cryptic error message. Novell has another implementation called turnpike which according to their docs might work, but I can't get it to build on Fedora. Nortel's own client, such as it is, doesn't look like it'll ever work - not that I really want to touch a closed-source IPsec implemention anyway. Anyone have better luck?

These notes might be the key to making it work, but it doesn't seem like it's been integrated...

Monday 2 May 2005

Linux on Acer TravelMate 380

Switched to a new laptop as well, an Acer TravelMate 382 TMi. This is a radical shift from my previous one, being optimized for size in most respects. Only 1.6 kg, with an advertised battery life of 4.5 hours, I will hopefully like carrying this around much more than the Evo. Anyway - read on for notes on its Linux compatibility.

Continue reading...

Sunday 9 January 2005

HTPC project: wakeup problem solved

Earlier, I wrote about my HTPC not waking up before programmed recordings. Finally, an article in Linux Magazin (German, which I don't read) led me to the right direction (thank you, Google Translate).

Turns out at least ASUS A7N8X resets its BIOS wakeup setting if the RTC is written to, and of course this is what the Fedora Core halt script does as one of the very last things. The workaround is to add CLOCKFLAGS="--directisa" to /etc/sysconfig/clock, to modify how hwclock accesses the BIOS NVRAM. In addition, the machine needs to execute BIOS code in order to register the wakeup time, shutdown -r followed by Grub executing "halt" is needed.

Hmm. I wonder how many years of computer hobbyist experience that paragraph requires from the reader. :) Anyhow, I hope this script is helpful to someone:

#!/bin/sh
# /usr/local/sbin/set-wakeup-time [date-and-time]
[ $# -ne 1 ] && exit 1
time_t=$(date +%s -d "$1")
[ "$time_t" != "" -a "$time_t" -gt 0 ] || exit 1
utc=$(perl -e 'use POSIX; print strftime "%F %T", gmtime('$time_t');')
echo "waking up at $utc UTC"
#echo "$1" > /proc/acpi/alarm
/usr/sbin/nvram-wakeup -A -s $time_t || (
  echo "savedefault --default=0 --once
  quit" | /sbin/grub 2>/dev/null
)
echo "shut down with 'shutdown -r now'

Put something like this in /boot/grub/grub.conf:

default saved
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Power Off
        halt
title Fedora Core (2.6.11-1.27_FC3)
        root (hd0,0)
        kernel /vmlinuz-2.6.11-1.27_FC3 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.11-1.27_FC3.img
        savedefault

Sunday 12 December 2004

HTPC project: Overview of MythTV

Last time, I promised to write something about how all of his works together instead of continuing with the installation notes. While I haven't yet figured out every detail of the whole system, this is what I'm going to do today. Read on...

Components

My system consists of a fairly standard Athlon PC equipped with a TechniSat AirStar 2 TV PCI card giving it DVB-T television reception. This card is capable of receiving free-to-air (unencrypted) channels, but not those which require a Conax card to decode. I'm planning to later add a second card with support for this purpose. Another note about the card is that it's of the budget variety with no MPEG-2 decoding functionalities - this actually makes it a better choice for a system like this, given that any modern CPU will be more than capable enough to perform the decoding in software, especially when assisted by a decent video card.

For the display, I'm using the Sanyo PLV-Z1 video projector I bought last spring.

To go with the hardware, I've installed Fedora Core 3 Linux and the MythTV suite, most easily available via ATrpms, a repository of software maintained by Axel Thimm. The other alternative would be to use KnoppMyth, which in fact contains a complete system installation. I did not use this as I repurposed the computer from our workroom PC, and did not want to reinstall it completely.

The DVB card came with a simple remote control, the configuration of which was included in LIRC, which is what all Linux programs use for remote control support.

Viewing and recording TV

The main function of the system is of course viewing and recording TV broadcast. After spending some time going through various deadends trying to make MythTV understand the DVB driver, I stumbled upon the real solution: Zap2Myth. This program takes a list of channels from the tzap program (which is able to find them automatically), and converts that to MythTV's format as an SQL script which you can insert into the MythTV backend database. The process could have been a lot more clear, and in fact I think MythTV should use tzap directly to handle DVB reception, but eventually I did succeed in the installation.

The results are mostly very satisfying, with excellent image quality, comparable to the best digital TV set-top boxes. Not completely so, however. Trying to switch to a channel which is not currently broadcasting can freeze MythTV, requiring me to either wait for a timeout to occur, or to restart the software. A couple of times this has actually crashed the backend, requiring a restart. I have not been able to get subtitles to work either - this is a problem that affects many DVB-T set-top boxes and is due to the Finnish broadcasts being slightly different than in other (larger) markets. I get the feeling MythTV has not been completely tuned for DVB reception, and these glitches would not appear with analog channels.

As an aside: MythTV consists of two linked parts. The backend is in charge of receiving broadcasts, scheduling recordings and storage, while the frontend provides the on-screen menus and viewing capabilities. This split makes it possible to build a solution where the storage is done by a separate computer hidden in another room, and the living-room frontend is a smaller device. In fact, it is a commonplace solution to connect multiple frontends to the same backend, for viewing the same video archive from multiple rooms for instance. In my case, the backend and frontend are on the same box, although I have additionally configured another frontend on my laptop for casual viewing.

Selecting programs to watch or record is done via an easy-to-use program guide, immediately familiar to anyone who's used a Tivo device or most other set-top boxes. This program guide pulls in program information from public web sites via a program called XMLTV. Its coverage of Finnish TV channels is via the Katso! web site. Using channel information from Telkku.com or Ohjelmat.info would however sometimes give better coverage. For the most part, this is a satisfactory solution anyway.

With one DVB-T card, I can watch or record one live broadcast at a time. In fact, due to the way DVB broadcasts are made, it would be possible to do more, as is shown by another software package the name of VDR. MythTV does have patches for similar functionality, but these have not been integrated to the package yet. However, MythTV will be able to utilise as many reception cards you install, and I plan to later install a second DVB card with pay-channel support via a Conax decode card and an analog TV card for receiving a couple of satellite channels from our building's common satellite dish.

DVD

Another goal of this project was to reduce the height of our hifi stack. We've already eliminated the VCR, and eliminating the DVD player as well should be quite easy.

Again, annoying glitches did make this somewhat more work than I expected. MythTV by default utilises a program called MPlayer to provide it with playback capabilities. MPlayer is a wonderfully versatile package, able to display nearly any formats imaginable, with excellent video quality through its postprocessing capabilities. However, DVD playback is lacking one crucially important feature: support for DVD menus. This resulted in most DVD discs showing nothing but a blank screen.

However, the solution to this was to reconfigure MythTV to use another media player for DVD playback. I used Xine, although I could have chosen Ogle as well. Both of these have very robust DVD support. The lack of "boxed" integration does mean that I still have to additionally reconfigure Xine's keyboard commands to match to MythTV's so that the remote control will work as expected.

Music

VCR and DVD player eliminated, lets turn our sights to the CD changer. Since the computer I'm building this on is our old workroom computer, it already had most of our CD collection on it in Ogg Vorbis format. Vorbis is a format competing against MP3, AAC and others, distinctive by providing high quality in low bitrate and at the same time being completely open source. It's gradually getting more widespread market acceptance, with support in some portable players such as the very cool iAudio M3 (christmas present, anyone?).

MythTV supported this with no effort whatsoever via the MythMusic system. Two wishlist items: it could have automatically found the music collection (like for example Rhythmbox and Zinf, but more importantly, it does not have a very good music browsing/playlist management system. Combined with the limitations of the remote control, this makes choosing music a bit of a job. It's much better than the MP3-CD support of our DVD player, but falls very short of the best desktop media players like iTunes or Rhythmbox.

Other functionalities

Now, we are talking about a PC, so the story certainly does not end here. We have the following:

Commercial autoskip: On the second day after the installation of MythTV, it already started to notify us while viewing recorded programs that a commercial break is starting in a couple of seconds, offering to skip it completely. This is a wonderful feature, and I can not really criticise it of not always being 100% correct, as for the most part it does work very well, and perfectly enhances the fast-forward and rewind functions you would expect to have in a digital media center.

Editing recordings: Sometimes you want to archive shows for later viewing, such as recently the last couple of episodes of Sopranos before its Finnish broadcast break, so that we can watch them again before the show returns. This is made perfect by the editing capabilities, allowing us to remove commercials completely from the archived version (which of course can also be re-encoded to DIVX format and burnt to CD-R for offline archiving).

Weather forecast: After telling MythTV that we live in Helsinki, it started to pull weather forecasts complete wth satellite pictures from Weather.com, providing a nicely presented, always up to date weather forecast a couple of remote button presses away.

News: Naturally I can program the latest news broadcast to always be recorded, but in addition MythTV will pull in the web-based news articles from any sites I want. BBC, CNN, Dilbert...

Other video: Whether its home videos or stuff pulled from the net, the system will show it all just like TV programming. I've enjoyed a couple of episodes of MTV's Pimp My Ride this way recently.

Picture gallery: All of our digital pictures are stored on this box, and MythTV includes a nice picture gallery component for watching slideshows on our projector.

Further

The possibilities are endless. There's an extension to MythTV providing classic arcade and console games via the MAME project that I have not yet tried. The built-in web browser is perfect for casually checking a web site from time to time, or regularly accessing MovieLens for the latest movie recommendations. Although Linux doesn't have that many games available for it, some of the best ones are perfect for living room enjoyment..

Bottom line: MythTV provides us with an extremely versatile, and for the most part nicely polished HTPC system, but it still is a bit too difficult to set up, especially when using it for DVB reception in a small country like Finland. Most people will get a more satisfactory experience by buying a ready-made solution, but if you're willing to tinker, and have experience with computers, this approach will give you much more than anything available in a store.

Comment by Sylvain on Tue, 23 Aug 2005 06:16:55:
I also have a Sanyo PLV-Z1 and run MythTV. I was wondering if you were able to drive it in its native resolution (964x544) from X? Thanks, Sylvain

Comment by oa on Thu, 25 Aug 2005 10:30:03:
Check my latest entry, hopefully it'll help you along. http://www.fishpool.org/archives/tech/200508/htpc_project_projector_and_remote_configurations.html

Wednesday 1 December 2004

HTPC project: viewing a channel

In this part, we find how random googling does not always provide the best results at first, and ultimately get the reward of live TV on screen.

Previously: our hero decides tp build a MyhTV powered HTPC to drive his video projector, buys a DVB-T receiver card and manages to make Linux recognise it. Read more after the break...

After getting over the initial confusion of lspci -v declaring that a new network device has been installed to the system, I started looking for how to access a channel. Googling turned up a document which I am not linking here as it mislead me by a couple of hours by instructing to use tools called dvbtune and dvbstream, combined with a lot of hand-written configuration. This might have worked at some point, with some hardware, but in my case, dvbstream would be able to keep the channel tuned by approximately 2 seconds, thereby replacing initial reward with frustration. Not recommended.

Fortunately, however, these instructions did mention another tool called tzap. Searching for that led to the goldmine: linuxdvb.tv's utilities, of which a Fedora-compatible RPM is also found, include dvbscan and tzap. These tools made it significantly easier to come up with a full channel listing and view a channel with a couple of commands.

First, you need to find out which transmitter your aerial antenna is pointed at. In Finland, these are documented on Digita's digitv.fi site, elsewhere you'll need to refer to some other source of information. With any luck, the dvb tools package I mentioned above will include the necessary frequency tables already, and the rest is easy:

$ scandvb /usr/share/dvb-apps/dvb-t/fi-Espoo
$ tzap Subtv -o - | mplayer -cache 1024 -

Success at last! Getting this far was perhaps 8 hours of tinkering, with lots of false starts and dead ends, but also some time spent looking at other things, which would become useful later. With the information I now have, getting here would take all of 20 minutes, including the time to install the hardware.

In the next part, some user-level discussion of how this actually works instead of all this technobabble..

Sunday 28 November 2004

Building of a digital HTPC, part 1

I've been thinking about this project pretty much ever since I replaced our television with a video projector last March. In the meantime, I've just been reading about the matter and thinking about alternative ways of doing it, but yesterday I got on with the job.

Plan: To build a DVB-enabled, Linux and MythTV powered HTPC to act as a DVD player, video recorder, living room entertainment system, and whatever else comes along. In this space, I'll be documenting the process, talking about the gotchas I've ran into, and how I've managed to solve them. Perhaps I'll be asking for a bit of advice as well. The instructions on the web for this are at times quite sparse, often out of date, and occasionally misleading, so hopefully this will help someone. Read on for details...

In September, I bought an Athlon XP 2500+ system with an ASUS A8N7X-VM/400 motherboard. The primary reason I bought that, instead of for example an Athlon64 system, was that I wanted a compact M/B with most things integrated to it, because I was already thinking of building this project on that system. I didn't want to get something totally overpowered for the task, but not something that I couldn't be sure would be up to the task, either. This machine has been running Fedora Core 2 since its installation until about a week ago, when I upgraded it to FC3. It was equipped with a RADEON 9600 PRO card, but in the beginning of this project, I removed that to use the integrated GeForce 4 MX, which is easily good enough for video display, and in fact thanks to NVIDIA's well-optimised drivers, possibly better for that purpose that the ATI, given that we are in a Linux environment.

Yesterday, I bought a budget DVB-T card: TechniSat AirStar 2 TV PCI. I was told it has good reception, and its form factor is one of the smaller cards, which will be good later on when I exchange the case of the PC to a HTPC case. Many of the current crop of DVB-T cards are very high, possibly too high to comfortably fit in a relatively low-profile system. This card is of the latest revision, with an included remote control and IR receiver, which makes the package pretty high value, but a bit worrying considering on Linux it has to be supported by a volunteer effort.

True enough - it turned out that though FC3's default kernel includes the DVB subsystem as modules, it did not include the correct driver for the updated frontend chip (mt352) on the card. Only the earlier revision (mt312) worked out of the box.

Fortunately, this is a problem that can be easily overcome by using the very latest (as of November 2004, anyway) DVB drivers available a the LinuxTV website. Linux kernel module installations have come a long way: it used to be that something like this would require patching, reconfiguring the entire kernel, waiting for the whole kernel compile, and ultimately a bit of anxiety, no matter how used one becomes to the routine, of whether the new kernel would even boot the machine. No more - with FC3, you don't even need the kernel sourcecode. Simply check out the dvb-kernel module, and run make in the build-2.6 subdirectory. The only (small) complication was in deciding how to replace the existing prebuilt modules with the new ones. I decided to simply copy the new ones on top of them. I could have always returned where I started from by reinstalling the kernel RPM. No need to do so - the updated drivers work like a dream.

Comment by ThornyDevil on Sun, 19 Jun 2005 16:17:18:
Thank you for this journal. I couldn't understand why I was having problems with my new AirStar 2 card using KnoppMyth - but now I know! "frontend chip (mt352) on the card. Only the earlier revision (mt312) worked out of the box. "

Comment by Osma on Sun, 19 Jun 2005 20:31:44:
Kernels since 2.6.10 (I think) include the mt352 driver by default. These days I have two of the cards in my HTPC, working very nicely together.

Friday 12 December 2003

Radeon Multihead

Got a second monitor, a flat-panel Hitachi at work. Configuring XFree86 for multihead wasn't the most intuitive thing I've done recently, so I suppose this info might be useful to someone else, too.

Right now this is just random pieces of hints, but I'll try to collect some real config examples here once I have everything sorted out to my liking. Update: See my XF86Config file for configurations with all three options mentioned below.

Using Fedora's XFree86 4.3.0, the key to enabling multihead operation is realizing that not only do you need to create another Monitor and Screen section in the XF86Config file and refer to those in a ServerLayout, you actually need to make two copies of the Device (videocard) section as well. This was quite unintuitive, and took me a fair bit of time to understand, given that I don't actually have two videocards on the laptop, and XFree86 would not give an error message in either case.

There are some additional alternatives, however. The GATOS driver has better XVideo support (this is especially true for Rage Mobility, not so much for Radeon), but for multihead, the best choice right now seems to be the MergedFB driver, which treats both screens as a single framebuffer, enabling 3D acceleration on both screens. That is, if your screens are not too big.. Radeon Mobility M7, which my laptop has, supports 3D acceleration on an up to 2048x2048 screen, and 1400x1050 + 1280x1024 goes over that. Oops. Naturally, the configuration of this driver is completely different from the "normal" method, which only a single Device/Screen/Monitor setup, and a bunch of additional options in the Device block (reminds me of XFree86 3.x, actually).

More annoying, though, is that apparently I can't make XFree86 automatically figure out whether the external monitor is connected. I made a script that probes for ddc info on reboot/resume of the system and reconfigures gdm, but I just wish that I could plug in while having a session open - that would help in meetings with the video projector, too.

The second annoyance is that since the displays are different size, my GNOME panels have to resize when the desktop size changes, and for some reason, panel wants to completely rearrange its contents when that happens. Easily demonstrated by switching resolutions with xrandr, too. Update: many of the resizing problems are somehow related to MergedFB, and I've switched to a plain Xinerama setup. That means I don't have 3D accel when using two screens, but I can live with that.

Comment by Davide Bolcioni on Fri, 12 Mar 2004 23:52:36:
Could you elaborate on that ? I am trying to achieve the same result on a Compaq Presario 900 EA (ATI Mobility U1) but the external monitor gets no signal. Using a single Device section the same monitor works, although this just clones the panel.

Comment by oa on Sat, 13 Mar 2004 09:36:06:
You might want to take a look at the XF86Config file I just added to this post.

- page 2 of 3 -