- Couldn't get XvMC working (compiler errors).
- Mythfrontend wasn't fast enough without it.
- STICK WITH MYTHTV-0.17 untill someone with more time than me sorts out the issues and fixes the 0.18 ebuild.
- If at all possible, USE NVNET rather than forcedeth for networking.
- As I use my xbox as a mythtv frontend primarily, and a games console occasionally, I decided to switch away from running gentoox altogether.
- I installed Xbox Media Center (XBMC) and a third-party set of python tools that act as a mythtv frontend.
- My xbox boots in seconds (XBMC is *FAST*).
- Mythtv recordings, videos and music play back flawlessly.
- And I've got a SEXY interface. IMHO, it's significantly more powerful and simple to use than mythtv. But that's a personal opinion. Take it with the usual truckload of salt.
As I'm no longer running Gentoox, don't expect any more updates from me on this one. If you're only using Gentoox to run mythfrontend, I'd SERIOUSLY suggest switching to XBMC/xbmcmythtv. Gentoox rocks - don't get me wrong - but in this case it's like swatting a fly with a sledghammer. Best to use the right tool.
Just thought I'd share some info I've learnt (by trial and error) putting together my own mythtv box using Gentoox Pro. This will (probably) only apply to those who compile mythfrontend/mythtv themselves (I assume Shallax already knows these things and has fixed MCE accordingly):
- You will need to use the nvnet networking driver on your xbox if you plan to playback MPEG2 encoded recordings across a network (without stuttering). I have found that the forcedeth driver doesn't have enough throughput (750-800kb/s) to play back MPEG2 streams at the default resolution. Nvnet will boost you to 8-10mb/s over NFS, and 3-4mb/s for SCP (which is CPU limited on the xbox). Of course, you can always lower your recording resolution or transcode to another codec - but who wants loss of image quality when HDDs are so cheap? Note that if you are running an old enough version of Gentoox, you may have nvnet already (and hence you will not experience this problem).
- Go here to download the nvnet driver from nvidia. Follow the instructions to install. You don't need to build in nvsound, so don't bother.
- For 2.4 series kernels, change /etc/modules.autoload.d/kernel-2.4 so it loads nvnet rather than forcedeth.
- For 2.6 series kernels, if you are using the monolithic kernel Shallax provided, you will need to recompile your kernel without the forcedeth driver. THEN install nvnet, making sure the module is loaded on bootup. For a reason that (as yet) eludes me, the 2.6 kernel isn't reading /etc/modules.autoload.d/kernel-2.6. I simply added "modprobe nvnet" to /etc/init.d/net.eth0 at the beginning of the start section, and "rmmod nvnet" at "stop". Your mileage may vary.
- You will either need to stick with mythtv/mythfrontend <=0.17, OR compile 0.18 manually if you want to avoid stuttering video. This is for a couple of reasons:
- Firstly, the 0.18 ebuild in portage (at this stage) does not compile in XvMC support by default (support for nvidia hardware stream decoding etc.), forcing your CPU to do all the work. The xbox CPU simply isn't powerful enough to decode AND deinterlace default resolution recordings without stuttering. This limitation can be overcome by compiling 0.18 manually (or hacking the ebuild) with --enable-xvmc. Note for those who want to modify the ebuild: you will need to add "xvmc" to your USE flags and add xvmc to the IUSE of the ebuild.
- Secondly, the 0.18 ebuild in portage (at this stage) strips out mmx support and any processor-specific gcc optimisations (ie. you get higher CPU usage). This can be overcome by compiling 0.18 manually (or hacking the ebuild) with --enable-proc-opt. Note to those who want to modify the ebuild: you will probably want to add "mmx" your USE flags and to the IUSE of the ebuild.
- Of course, the simplest thing to do is stick with version 0.17! It works fine straight out of portage (even with deinterlacing, add detection and all those other CPU intensive options)
- If you want to run mythdvd >=0.17 on your xbox, you will probably need to use xine rather than mplayer. Firstly, because mplayer doesn't support DVD menus. But secondly because I have found that many DVDs either stutter or just plain don't work with mplayer.
- First, emerge xine-ui (making sure you have "dvd" in your USE flags). You might also want things like xvmc, win32codecs, vorbis, ffmpeg etc. in your USE flags. All that stuff is entirely up to you.
- Then, inside mythtv, go to "Utilities/Setup" -> "Setup" -> "Media Settings" -> "DVD settings" -> "Play Settings" and change the value for "DVD player command" to "xine -pfhq -V xv --no-splash --auto-scan dvd"
- I don't recommend changing the vcd player or the ripping options for mythdvd, as when you rip you generally select the DVD track you want manually.
- I HAVE NOT FULLY TESTED THIS CONFIGURATION. While I can verify fixing the nvnet and mythdvd side of things, I still don't know if recompiling mythfrontend-0.18 with my suggestions will bring the CPU load down low enough to enable playback of recordings (without stuttering.) Myfrontend-0.18 is still compiling! I put this information here (early) for your benefit only. In a day or two (when the compile finishes and I test it all), I will come back and modify this post accordingly.
- The only way I know of to get mythtv working flawlessly is to run 0.17 on a nvnet-based version of gentoox. Anything else is, at this point, conjecture.
Hope this helps some of you out.