
You may have heard of MythTV, the free TiVo-like application that can handle just about all of your multimedia needs. It can record and play back TV shows, including HDTV programming. It can be used to view your pictures, your weather forecast, and your favorite RSS feeds. It can rip and play back your music CD’s and your DVD’s. It can even display the list of movies you have in your NetFlix queue.
And it only runs on Linux.
So what if you’re a Windows user who wants to find out what MythTV is all about? Up until recently you couldn’t, but now you can. Here’s how.
The Background
While it’s true that MythTV only runs on Linux, that doesn’t mean that you’re out of luck if you only have a Windows box. Now that virtual machines are easy to install (not to mention free) we can run a Linux virtual machine on a Windows PC and we can install MythTV into that Linux OS. (If you’re not familiar with virtual machines you can find my previous posts on the subject here. I’d start with this one.)
The problem with running MythTV this way has to do with the way virtual machines handle physical hardware. The OS running within the virtual machine doesn’t see the actual hardware you have — it sees an abstracted view of your hardware. For example, let’s say that you have ATI’s latest-and-greatest graphics card on the PC in which you’ve installed VMWare. If you ask the OS running within VMWare what graphics card it’s using it will report back that it’s using a graphics card called “VMWare SVGA II PCI Display Adapter”. Now, in reality, there is no graphics card named that, but that’s how VMWare works its magic. The same kind of abstraction takes place for all of your physical hardware, including the CPU, the sound card — even the BIOS is abstracted (it looks like the old Intel 440BX chipset).
The benefit of this abstraction is that a virtual machine that’s created on a PC running Windows can be run on any other machine with VMWare installed, even if it’s running a different OS. To the OS running within the virtual machine nothing has changed. The BIOS seen by that OS is still the Intel 440BX and the graphics card is still the VMWare SVGA II PCI adapter.
The downside of that abstraction layer is that all of that high-end graphics processing power that you have in your card can’t be used by the OS running within that virtual machine. Forget playing games in that virtual machine, unless you’re planning on playing Solitaire.
The abstraction layer also presents problems for running MythTV within a virtual machine. The hardware seen within the virtual machine won’t include your PC’s TV tuner card so your MythTV won’t be able to record any shows. To make matters worse, even if you could record shows your abstracted graphics card probably isn’t powerful enough to play video back smoothly. Fortunately there are ways around both of those problems.
The Trick
So how are we going to use MythTV running within a virtual machine to record TV programming when it can’t see our PC’s TV tuner card? We’re going to use a TV tuner that’s not in our PC — it’s on the network. Silicon Dust has released a small device called the HDHomeRun (read my review of what it is, how it works, and how to use it here). In a nutshell, the HDHomeRun contains two HDTV tuners and outputs its video onto your home network. Fortunately, the latest versions of MythTV contain support for using the video stream that the HDHomeRun sends across your network as a video source, just like you’d use your PC’s TV tuner card as a video source.
Now we have everything we need to run MythTV on Windows.
The Pieces
Here’s what you’ll need to be able to run MythTV on your Windows PC:
- A PC running Windows
- VMWare’s free VMWare Player
- Silicon Dust’s HDHomeRun
- A Linux distribution
- MythTV
The Architecture
The MythTV software has two main components: the “Backend” and the “Frontend”. The Backend contains the “guts” of MythTV. It’s the Backend that’s responsible for recording, storing, and retrieving shows. The Frontend is what the typical Myth user uses to schedule and view recorded shows, listen to music, access the weather — basically any type of interaction with Myth can happen through the Frontend. In our example the Backend is mandatory and the Frontend is optional.
The Steps
Rather than going into excruciatingly detailed step-by-step instructions I’m just going to list the basic steps and point you to other places which contain excruciatingly detailed step-by-step instructions.
Step 1: Download and install the VMWare Player. You can get the VMWare Player here.
Step 2: Create a virtual machine. I’m using Ubuntu Linux version 6.10 as the OS within my virtual machine. The installation of Ubuntu is straight-forward and installing MythTV on Ubuntu is simpler than on some other Linux distributions. You can read my step-by-step guide to creating an Ubuntu virtual machine here.
Step 3: Install the MythTV Backend into your virtual machine. You can find good instructions for installing MythTV on Ubuntu here. Optionally, you can also install the Frontend.
Step 4: Configure your MythTV backend to use the HDHomeRun as its video input. Silicon Dust provides detailed instructions on how to do that here.
Viewing the Results
Now that we can record TV shows using our virtualized MythTV Backend we need some way to view those shows. Most users of MythTV use the MythTV Frontend to watch recorded shows on their Linux boxes. Earlier I’d mentioned that the way in which virtualization abstracts our hardware means that a virtual OS probably won’t be able to play our recorded show smoothly. Fortunately there are other ways to watch our recorded shows without using the MythTV Fontend.
MythTV Player
MythTV Player is a Windows application which can play the programs you’ve recorded using MythTV. It’s not designed to be a full Windows-based replacement for the MythTV Frontend but it will allow you to watch recorded shows.
UPnP
The latest versions of MythTV include a UPnP server. If you have a UPnP client such as Nero’s Showtime you can browse and watch your recorded shows on your PC. There are also some newer DVD players such as the DLink DSM320/520 which are capable of acting as UPnP clients.
Roku HD1000
If you have a Roku HD1000 hooked to your television you can use the MythRoku application to watch your recorded shows. MythRoku doesn’t provide a full-featured replacement for the Frontend but it allows you to play back video that’s been recorded with your MythTV Backend.
XBMCMythTV
If you’ve modified your XBox into an XBMC you can use the XBMCMythTV script to view your recorded shows. While it’s not a full-fledged replacement for the Frontend it allows you to schedule recordings as well as to view recorded shows.
WinMyth
WinMyth is a Windows version of the MythTV Frontend but it’s not up to date with the latest version of the protocol that MythTV uses. When WinMyth is updated it should also be able to stream back recorded shows.
Samba Shares
While not quite as elegant as the other solutions you could always use Samba to set up an SMB share on the directory in your virtual machine which contains the recorded shows. You’d see the raw filenames of the recorded shows rather than the “nice” names (“2100_20061213221800.mpg” instead of “Lost”) but you’d be able to view the recorded .mpg files using any device or program which can see network shares.
Other Notes
Here are some things to keep in mind if you’re considering setting up a MythTV installation following these steps.
MythTV Versions
Be careful about which version of the MythTV Backend you download and install, especially if you’re planning on using other 3rd-party software which is expecting a particular version of the Backend. As of today the latest version of MythTV available through CVS is using Protocol 32. If you’re planning on using that version make sure that the 3rd-party apps you’re going to use know how to speak using that protocol.
MythTV Frontend
You’re going to need some way to tell your MythTV which shows you want to record. One way is to install a copy of the MythTV Frontend into the same virtual machine that’s running your Backend. While it’s true that you probably won’t be able to use that Frontend to view recorded shows because of its abstracted hardware you can still use it to set up recordings. Even if you have some other means of setting up your recordings, like using the XBMCMythTV script on your XBox, you can still use the Frontend for other things, like viewing the weather reports or reading your RSS feeds.
If you’d rather not install a Frontend you could just always just use the web-based interface to set up your recordings.
Disk Space
Recordings from MythTV can be big. Very big. If you’re planning on recording HDTV programming they’ll be even bigger. You need to make sure that you have enough disc space allocated to handle those recordings. If you’re planning on storing the records on your virtualized MythTV Backend make sure that you allocate enough space when you create the virtual machine. Alternatively, you can set up your Backend to save its records somewhere other than in the virtual machine by setting up a mount point which points to a share on another server or NAS.
The Conclusion
For years Windows users have had to use alternatives to MythTV because there just wasn’t any way to run Myth outside of Linux. Technically speaking that’s still the case, but now, with the capabilities of virtual machines and Silicon Dust’s HDHomeRun, Windows users can use a little magic to crash the Myth party.
Now get in there and see what you’ve been missing.
Update: I’ve found another way to run MythTV under Windows by using a piece of software named andLinux. You can find a post about that here.
11 responses so far ↓
1 HDHomeRun - Because HDTV isn’t just for TV’s // Jan 3, 2007 at 10:27 pm
[...] ← How to Create Your Own Virtual Machine Using VMWare Player How to run MythTV on Windows → [...]
2 Scott Carlson // Feb 5, 2007 at 5:38 pm
To your Samba comment, you can use mythname.pl to create nicely named links to the ugly names. This way you don’t have to decipher anything.
3 5 Great Ideas for Unique Virtual Machines at x86 Virtualization // Dec 20, 2007 at 8:38 pm
[...] http://www.mythtv.org/index.php http://www.techwandering.com/2007/01/03/how-to-run-mythtv-on-windows/ http://www.gossamer-threads.com/lists/mythtv/users/180429 [...]
4 Andrei Tanas // Dec 28, 2007 at 11:10 am
There’s a work in progress on a native Windows port of MythTV, I would suggest to update this article.
http://www.mythtv.org/wiki/index.php/Windows_Port
5 Ed // Dec 28, 2007 at 11:03 pm
Hi, Andrei.
Yeah, I’ve been following those builds for a while now. I’ve gotten it to work (mostly) on my end but, as I’m sure you know, you pretty much have to jump through hoops (even more hoops than installing a virtual machine using these instructions). I’m sure that someone will pull it all together at some point and make a Windows port which is easy to install. To be honest, I’m surprised that it hasn’t happened yet.
6 How to run MythTV on Windows using andLinux | TechWandering // Feb 24, 2008 at 6:39 pm
[...] run MythTV, the very popular multimedia software, under Microsoft Windows (you can find that post here). The basic problem is that MythTV only runs under Linux — there’s no such thing [...]
7 Donn Lee // Dec 20, 2008 at 3:10 am
Wow, this is hardcore. Kudos for putting together this solution. I was looking for xbmc on windows info and found this great article. I do run a linux mythtv backend, but I need a windows frontend. I am looking at sw-based upnp clients, and now I hear xbmc is ported to windows AND supports some of the basic mythtv frontend features; so you arent limited to just upnp. Still in need of research… thanks
8 Brian // Feb 6, 2009 at 2:51 pm
I tried MythDora and VirtualBox from Sun for virtualization, but the high network traffic causes the “virtual” network card to use close to 100% CPU when receiving data from the HDHomeRun. Is this not a problem with the VMWare solution?
Thanks
9 Brian // Feb 6, 2009 at 3:19 pm
And as a follow up, what hardware are you using to run your VM on? I have a Pentium 4 2.4Ghz with 1.5GB running XP. How much RAM did you give the backend Linux server? Just to run MythBackend, do you need 250Mb? 500Mb?
Thanks for this great info!
10 Ed // Feb 9, 2009 at 9:44 am
Hi, Brian.
I’m using VMWare’s Player on a system which is a step or two down from the one you’ve described with 500MB for the virtual machine. I haven’t seen anything like the bottleneck you’ve described with the virtual network card. I can see how there would be a fair amount of network traffic but it shouldn’t result in high CPU usage.
When you run into the problem are you watching an SD or an HD channel? Does the problem happen when you’re recording or just when you’re watching the channel?
Ed
11 yoomark // Jun 26, 2010 at 8:06 am
Nice share brother about mythtv.Thanks for good discus about running it windows
Leave a Comment