Lothar’s Build Log R0.2


Welcome to another exciting episode of my life.  When last you saw, our daring young hero (me) was struggling to get video drivers working under Linux that would actually allow video playback in Mythtv to run smoothly.  We’re talking your run-of-the-mill, standard def content.  After struggling with it for a week, I decided to move on to Virtualization so that I could see how well that works.  Yeah…  Anyway…  Virtualization is a great idea for servers where you don’t need realtime screen refreshing, but since it was connecting via a VNC connection, there was no way that it was going to keep up with video playback.  Even desktop usage was jumpy.  I guess I should have expected that since that is the experience that I have had when using VNC between my Linux boxes.  Oh well.  Maybe there are some settings that I could tweak to make it a little bit smoother, but I’m not going to worry about it right now.

So where does that leave us?  For the time being, I have decided to leave Virtualization on the back burner and switch back to a dual-boot setup allowing me to run Windows Vista natively as well as Fedora 9.  Since I couldn’t get very good video performance right now under Linux (sound familiar?) I decided to try another tactic.  Run Mythtv under Windows!  That’s right, you heard correctly.  While still very experimental, some intrepid developers have been able to build Mythtv under Windows.  This is a task that has been in the works for quite some time now, but recently people have actually been able to get it to build.  Since this was about my only option for getting Mythtv to run smoothly at this point I decided to have a go at it.  I’m not quite ready to switch over to Sage yet.

As I mentioned, support for building Mythtv under Windows is VERY experimental.  The bulk of the work has been scripted (everything from downloadng the tools necessary to do the building to the actual build work itself including the mysql database, Mythtv itself and a bunch of the plugins) but the script is still not perfect.  When I ran it for the first time I was having a bunch of issues with not being able to find certain commands.  As it turns out, the script missed a \ when creating my fstab file (which maps the Windows directory to the pseudo-Unix development environment).  The file said c:MiniGW instead of c:\MiniGW.  That was a pretty easy fix.  I just happened to guess to look in the right place.  So then I reran the script which basically picked up where it left off the last time.  I had a couple more hic-ups along the way, but mostly they were resolved by rerunning the script.  It seemed like every once in a while the script would continue to the next step before completing the last one.  So it kept trying to use files that weren’t built yet.  Then I hit a part of the script which couldn’t be resolved by running it again.  There error was:

shell:c:\msys\1.0\bin\bash.exe PATH="/bin:/mingw/bin:$PATH;mv">h.exe /bin/sh_.exe) 2>&1 "
AllocationBase 0x0, BaseAddress 0x715B0000, RegionSize 0x110000, State 0x10000
C:\MSys\1.0\bin\bash.exe: *** Couldn’t reserve space for cygwin’s heap, Win32 error 0
EFFECT FAILED (file -> shell): unable to locate expected file (C:/MSys/1.0/bin/sh_.exe).

I don’t know Perl at all really so I had to turn to the internet to figure out what to do next.  After a bit of searching, I found this page which helped explain how to run the necessary commands manually.  After a couple hours of compiling I had a Mythtv setup ready to go…  Mostly…

So after spending hours building Mythtv using the win32-packager.pl script, I found that the script pulled the newest code out of svn (which is code that hasn’t been rolled up into an official release.  It’s basically development code that is more-or-less stable that you can use if you’d like) which had a database upgrade.  So my version of Mythtv that I built launched just fine but couldn’t connect to the backend because of the protocol difference.  After a little digging, I found out that you can pass parameters to the script when you start it, one of which being what version to build.  Oops…    So now I’m writing this while I wait for a few more hours for it to build again.  Hopefully this version will still be using the older database schema so that I can actually use it.  Oh well.  Live and learn.

I haven’t given up on Linux yet either.  As was just announced recently, AMD has released a new version of their video drivers that I will be testing out once I get Mythtv working in Windows.  Hopefully I will be able to properly use the new drivers, and hopefully they will give me the video acceleration that I need to watch tv again.  Then I’ll have Mythtv running in both Windows and Linux on the same hardware.  Won’t that be fun.

Well, off I go to check on the progress.  I’m sure you’ll hear back soon once I have it all up and running, and have run it through the paces a bit to see what is working and what isn’t.  I’m going in with the realistic understanding that not all of the plugins have been ported.  Well see what works soon!

As always, feel free to drop a comment in the forums.