All posts by John Goerzen

HDTV Works! Woohoo!

Finally, HDTV is completely working in my MythTV setup.

The pcHDTV 3000 card is working nicely with the DVB drivers.

My problem was playback performance. After switching to nVidia cards, this is fixed.

I got a nVidia Geforce 6800 card for my main workstation. Overkill for MythTV, yes, but it is a stellar performer with games. Absolutely great. I can run my games at 1600×1200 to take advantage of the native resolution of my flat panel, and they all work great — no framerate problems at all.

Very nice.

When Newsreaders Aren’t

I clicked on a headline for an article titled Firefox news readers run the gamut. Sounded interesting; I’m not particularly happy with slrn, but I use it because there’s nothing better.

I thought it would be odd that there would be more than one newsreader, and one integrated into Firefox no less. So I was curious and clicked the link.

Surprise — it wasn’t talking about news readers at all, but rather RSS aggregators.

GRRR.

A news reader should be for *Usenet*.

Speaking of which, RSS is superflous. One could use NNTP to publish headlines and summaries anyway, and not require the development of a whole slew of software for yet another annoying protocol.

What Do You Take On Your Laptop?

I’m writing this as I’m preparing my laptop for our trip.

My first two questions for a trip are: do I take the laptop and do I take the camera?

Both are rather bulky compared to the other items I would take with me, and both are by far the most valuable item I’d have.

For many trips, I leave them behind so I don’t have to worry about them. It can be easier to just enjoy things that way, and sometimes it’s nice to not have e-mail and Haskell available as distractions. I find myself doing things I wouldn’t otherwise be doing sometimes.

On the other hand, sometimes it’s nice to be able to have a secure way to check my e-mail on the road. (I never trust public machines/terminals, way too easy for them to become infected with spyware.) Sometimes it’s nice to have things to do, too. So here’s what I’m loading my laptop up with for this trip:

  • A full sid mirror, binary-only, for its architecture. I already have a copy elsewhere on the LAN, and I have enough spare disk space, so it makes sense. I always hate being stuck somewhere without a ‘net connection and really needing some package.
  • Several books, mostly from Project Gutenberg.
  • Updated recent checkouts of stuff from my darcs repository.
  • Maps, lists of free hotspots, and information about the cities I’ll be in
  • Current copies of my e-mail (via OfflineIMAP) and Usenet news (via newsx) to read/work with
  • Docs and references for GHC and any other programming tools that I might wish to use
  • Some MP3s
  • One CD-RW, in the drive, in case I need to exchange data with anyone

What does everyone else load up on their laptops?

Christopher Plummer

You probably know of Christopher Plummer, who played Captain von Trapp in Sound of Music way back in 1965.

Many people have this nostalgic Disney-like image of Plummer. So, I find it amusing to note what he’s been working on since:

  • Voices in Grand Theft Auto: San Andreas (2004)
  • Narrator in The Gospel of John (2003)
  • Dracula 2000
  • General Chang in Star Trek: The Undiscovered Country (1991) and Star Trek: Klingon Academy (2000 video game)
  • Dragnet (1987)
  • Sherlock Holmes in Murder by Decree (1979)
  • Sir Charles Litton in The Return of the Pink Panther (1975)
  • Duke of Wellington in Waterloo (1970)

Quite a varied tale. Speaks to his skills as an actor, I guess.

And we’re off…

We’re off on another Amtrak trip, this one to New Orleans by way of Chicago and Washington, D.C. Our train leaves at 3AM.

Some have asked us why we are passing through Washington on our way to New Orleans. That’s because the point of the trip is not really its destination, but the travel. We’ll get to see parts of the country we’ve never seen before, and with the best possible view, too.

This circuitous route will take a few days to get us to New Orleans, but that’s fine. I find that somehow I always over-pack things to do while onboard the train. I usually get less reading done on the train that I do in a much shorter plane trip. Perhaps it’s because there’s more to do on the train than eat peanuts and stare out the plane window at nothing. On the train, we can meet interesting people, watch scenery close enough to actually observe — and from much closer than is possible on an interstate or a plane. It’s a great way to travel.

I’ve written blog posts in advance and scheduled them to automatically appear periodically while we’re gone. I just hope the blog spammers stay away for awhile.

HDTV Working with MythTV!

Some time back, I bought a pcHDTV HD-3000 card to use with MythTV. For various reasons, I never got around to getting it set up. Until now.

First, a quick background. HDTV is a means to transmit television signals digitally. In the USA, a standard called ATSC is used for over-the-air transmissions. ATSC transmissions can come in several different resolutions, ranging from no better than a basic analog signal to 1080i (1920×1080, interlaced).

To get HDTV to work with MythTV, there are several components that must be working first: HDTV playback in the frontend, HDTV kernel driver support, and HDTV tuner setup in the MythTV backend. I’ll talk about each of these in turn.

Click here to read more…

HDTV Playback

I was initially surprised at how much of an issue this is, when when you pause to think about it, it makes sense. HDTV pictures can be at up to 1920×1080 (1080i) or 1280×720 (720p) or 960×540 (540p). DVD pictures are typically 720×480. That means that a HDTV frame can have up to 6 times the number of pixels as a DVD frame. Bitrates for HDTV broadcasts are far higher than for DVD broadcasts as well.

This all combines to make a situation that can be extremely challenging even for systems with powerful CPUs and video cards.

In my own case, the frontend I was trying to configure is an Athlon64 system with a Radeon 9600 video card. Yet it still couldn’t keep up with even a 720p HDTV signal. I tried both the standard XFree86 radeon drivers, as well as the ATI proprietary fglrx ones, and none worked.

However, X.org CVS (NOT the latest release, I tried it!) has an extension to the radeon driver that permits DMA transfers for Xv. I grabbed this release, and with Steve’s intstructions and the wiki instructions, got it installed. (Note: I would advise against the lndir approach, and also make sure you put the #defines at the *TOP* of the file.) My custom lines were:


#define ProjectRoot /usr/local/X11R6.8
#define NothingOutsideProjectRoot YES
#define HasFreetype2 YES
#define HasFontconfig YES
#define DefaultGcc2i386Opt -O2 -march=athlon-xp -mmmx -mfpmath=sse -msse -msse2 -m3dnow

Restart kdm and test out a few things and… SUCCESS! HDTV playback works.

Now, on to:

HDTV Kernel Driver Support

For a pcHDTV card, there are two different kernel drivers you can use. One set uses the Video4Linux system for everything. The other uses the Linux Digital Video Broadcasting (DVB) infrastructure. This latter one is generally considered to be better and the way of the future, but it’s not very well documented.

The support for the pcHDTV card is in the mainline kernel as of 2.6.12-rc2. I downloaded and built 2.6.12-rc4.

There are a few surprises. First, in the video4linux config area (NOT the DVB area!), you must enable CONFIG_VIDEO_CX88 and CONFIG_VIDEO_CX88_DVB. I also enabled CONFIG_VIDEO_BT848 because some online resources said to, but I believe that is for the HD-2000, not the HD-3000.

Then, in the DVB area, you must enable CONFIG_DVB and CONFIG_DVB_CORE. HD-2000 owners, I think you want CONFIG_DVB_BT8XX. For the HD-3000, I set CONFIG_DVB_OR51132. HD-2000 owners will want CONFIG_DVB_OR51211. If you’re not using IVTV, you’ll also want to enable CONFIG_VIDEO_{TUNER,TVEEPROM}.

Also, you’ll want to follow the firmware download instructions. On a Debian system, you’ll want to put this into /usr/lib/hotplug/firmware.

Boot into your kernel. Now, you’re ready for:

HDTV Tuner Setup in MythTV Backend

This step configures MythTV to record from the HDTV tuner. I am using MythTV 0.18.

But before you begin, you’ll need to recompile MythTV. I’m using Matt’s debs, so it’s a simple matter of rebuilding from source.

The problem is that the files in /usr/include/linux on a default Debian install don’t include the latest DVB api. Workaround: move /usr/include/linux out of the way, symlink it to /include/linux, rebuild mythtv, restore /usr/include/linux, and install new mythtv and libmyth debs.

Next, go to labs.zap2it.com and make sure you have the digital channels selected and analog ones deselected.

Now, you are ready to run mythtv-setup. Make sure you kill the backend before you do this. You’ll want to add a new input source, DVB type, card 0. In input connections, connect your zap2it broadcast setup to this card. Then do a channel scan in the channel setup. Exit, run mythtv-filldatabase, then go back in. You’ll see duplicates for each channel. Note the XML id in the newly-created ones, copy it to the ones you created with the auto scan, then delete the new ones with mythweb. Finally, run mythtv-filldatabase again. The DVB setup HOWTO helped me with this.

Now you’re ready to enjoy HDTV!

The State Park We Didn’t Visit

Near the beautiful Kanpolis State Park, which we did visit, is Mushroom Rock State Park, which we did not visit.

According to my maps, Mushroom Rock State Park consists of the following things:

  1. A rock
  2. A toilet

It’s the smallest state park in Kansas, spanning all of 5 acres. On the official KDWP photo gallery for this state park, we see the following amazing features (titles are quoted word-for-word from the gallery):

  1. Two scans of maps
  2. “One of the Mushroom Rocks”
  3. “Another Mushroom Rock”
  4. “The Mushroom Rock State Park Sign”

And let me tell you, those two maps for the 5-acre area and the photo of the sign really have me excited about this park.

Though it’s sad they didn’t photograph the toilet.