
ylee at pobox
May 14, 2006, 4:47 AM
Post #1 of 15
(6190 views)
Permalink
|
|
My experience with HD video and the Nvidia 6200TC
|
|
(This is part of an occasional series on how I've successfully [or unsuccessfully] accomplished something in MythTV on my Fedora Core 4-based system using the ATrpms packages. I will assume that readers can do basic Linux tasks, such as install RPMs, edit /etc files, and generate xorg.conf. I hope to cover the mystery areas where others may most often fall astray in.) I am able to happily view high-definition (1080i and 720p) video through MythTV. Here are the ingredients: * A powerful-enough frontend. As I understand it, my Pentium 4 3.0GHz frontend/backend is just over the line in terms of having enough horsepower to display HD without XvMC. This is important, as I'll get to later. * A supported video card. For HD, this generally means an Nvidia 5200 (AGP) or 5300 (PCI Express; rare), or later; I have an Nvidia 6200 TC with 128MB. ATI owners who want to display HD (as opposed to standard-definition) are, from what I understand, out of luck due to driver-support issues. Recent Intel integrated-graphic chipsets (my MythTV box has one, actually) and the Via UniChrome also work, but I don't have any firsthand experience with them. * A HD display. I have a 1920x1080p panel now but previously happily used a 1280x1024 monitor; MythTV happily scaled high-definition pictures into a 1280x720 rectangle in the middle of the monitor. I'll briefly speak on modelines later. I use ATrpms' prepackaged Nvidia drivers on my Fedora Core 4 MythTV box. The RPM packages are nvidia-graphics-devices, nvidia-graphicsxxxx-libs, nvidia-graphicsxxxx, nvidia-graphicsxxxx-kmdl, and nvidia-graphics-helpers. General consensus is that only the 7676 and the most-recent 8756 versions are worthwhile. For me xxxx=7676, because the -kmdl package is kernel-specific, I still use the 2.6.15-1.1833-FC4smp kernel RPM [1], and there is no 8756-kmdl package for 2.6.15. I'll proceed from here using 7676 as the example. After installing the relevant RPM packages, type # nvidia-graphics-switch 7676 This modifies various things inside the system to suit your driver; with multiple Nvidia driver version installed, this command switches from one to another. It's probably a good idea to now reboot the system. Sometimes (I say sometimes because this doesn't always happen at this stage) the driver will after the reboot switch out the existing /etc/X11/xorg.conf file for a generic one. This will typically be obvious because the resolution will be set very low (800x600, for example). Just rename xorg.conf.backup (the original file) back to xorg.conf, then restart X (Ctrl-Alt-Delete). Key configuration changes occur in three places: xorg.conf, the nvidia-settings utility, and mythfrontend. * xorg.conf Some excerpts: Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" Load "v4l" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Westinghouse" ModelName "LVM-37W1" HorizSync 30 - 80 VertRefresh 50 - 75 Option "dpms" # DisplaySize 820 460 # My monitor's actual dimensions DisplaySize 488 274 # Used to force 100x100 DPI, which MythTV likes Modeline "1920x1080-59.94p" 148.352 1920 1960 2016 2200 1080 1082 1088 1125 +hsync -vsync # The modeline I use Modeline "1920x1080-60p" 148.5 1920 1960 2016 2200 1080 1082 1088 1125 # Another modeline I've used Modeline "1920x1080-59.94i" 74.176 1920 1960 2016 2200 1080 1082 1088 1125 Interlace # What I'd use if I had a 1080i display, or if I wanted it to # handle deinterlacing Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1082 1087 1111 +hsync -vsync # Modeline my display suggests to the driver. I have this here # because certain versions of the Nvidia driver properly read # it from the display and others don't; I can't remember what # the case is for 7676. EndSection Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "eVGA" BoardName "Geforce 6200TC" # Option "ExactModeTimingsDVI" "1" # Doesn't work for me Option "XvmcUsesTextures" "Yes" # I don't think this does anything on a 6200 # Option "NoDDC" # Option "ConnectedMonitor" "DFP" EndSection * nvidia-settings (X = check, _ = no check) In X Server XVideo Settings: X Video Texture Adapter|Sync to VBlank (Highly important!) _ Video Blitter Adapter|Sync to VBlank In OpenGL Settings: X Sync to VBlank X Allow Flipping. * mythfrontend's Setup|TV Settings|Playback X Deinterlace playback | Bob (2x framerate) Preferred MPEG2 Decoder: libmpeg2 (I can't say I've seen a difference here between this and Standard.) X Enable OpenGL vertical sync for timing (RTC timing, used when unchecked, also works fine, as long as dev.rtc.max-user-freq=1024 appears in /etc/sysctl.conf) X Enable realtime priority threads (irrelevant, as I haven't actually taken the steps to let mythfrontend run in realtime) _ Use video as timebase X Extra audio buffering What happens with different settings: * _ Video Texture Adapter|Sync to VBlank (Video tearing, so that the top 1/6 of the picture appears slightly behind or ahead of the rest) * Kernel, one field, and linear blend filters (Inferior to Bob, in my experience. But if I do use them, I have to turn OpenGL sync off in mythfrontend to avoid stuttering video.) * Preferred MPEG Decoder: XvMC (Video looks great, as it always uses Bob deinterlacing. However, XvMC doesn't save very much CPU horsepower on my setup, and in any case, displaying the OSD always causes the video to stutter. My understanding is that on a 5200/5300 that XvmcUsesTextures line above would solve the issue; I actually have a 5300 I bought for cheap off eBay and mean to try this sometime.) With the above settings, I get what I can only describe as jaw droppingly-good video output on my 37" panel. For example, about 70 seconds into a Discovery HD program called HD Traveler: New York City, there is a right-left pan looking down into Times Square. If I use any filter besides Bob, the streetscape blurs during the pan; with Bob, I can make out sufficient details such that I can tell that one of the storefronts on the other side of the street from the camera is a Chase Bank. [1] I'd use 2.6.16 if I could because I could then use the 8756 driver in ATrpms packaging. However, with all FC4 2.6.16 kernel packages I've tried, including the latest 2108, I can reliably hang my MythTV system in a few seconds by making a Samba or NFS connection to another system on the network (not the NAS I keep my MythTV recordings on, but another Linux box running FC3). I believe it has something to do with 2.6.16' included sky2 and sk98lin kernel modules that support my D-Link (SysKonnect) gigabit Ethernet card. When I try to manually compile the sk98lin driver I downloaded from the SysKonnect site (what I have to use for pre-2.6.16 kernels), I get an error. -- Yeechang Lee <ylee [at] pobox> | +1 650 776 7763 | San Francisco CA US _______________________________________________ mythtv-users mailing list mythtv-users [at] mythtv http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
|