Skip to topic | Skip to bottom
Home
Main
Main.LinuxHardwareInfoNvidia5200r1.53 - 04 Jan 2010 - 06:45 - BillWardtopic end

Start of topic | Skip to actions

Using older machines for HDTV video playback (with nVidia 5200)

If you've been wondering if you can use a slightly slower machine to play back HDTV content, you may be interested to find that one popular approach to getting the job done is to offload some of the work to the graphics card using an X extension called XvMC. (Update: the VDPAU API is preferred if you have a more modern nVidia card). Now that the PCI interface nVidia 5200 graphics card are considered "legacy", they are becoming quite reasonably priced, and nVidia makes a non-Free Software (proprietary) driver for the 5200 card available for Linux with support for this extension.

If you can find an nVidia 5200 card with a heat sink, choose it in preference to one with a fan.

Some vendors still stock the PCI version of the nVidia 5200. See the Wiggly Windows section below for some memory considerations when buying an nVidia card.

The focus of this article, though, is mainly to explain how to get video playback of HDTV streams working with the nVidia 5200.

Update: Issues with nVidia 6200 card in Dell PowerEdge 1600SC

It has been reported that a Dell PowerEdge 1600SC with BIOS revision A12 doesn't work with a PCI nVidia 6200 card. Two beeps are heard, but no video is displayed.

Installing the drivers for the nVidia 5200 (PCI)

The following packages include the binary-only proprietary nVidia drivers (the Linux kernel modules and the libraries needed to use them) for Ubuntu 6.06 (Dapper Drake):
  sudo apt-get install linux-restricted-modules-`uname -r`
  (e.g.: sudo apt-get install linux-restricted-modules-2.6.15-26-686)
  sudo apt-get install nvidia-glx nvidia-glx-dev libxvmc1 libxvmc-dev

Update: for Ubuntu 8.04 (Hardy Heron), after using System -> Administration -> Hardware Drivers to enable the NVIDIA accelerated graphics driver, you just need to install mplayer (no additional packages need to be installed). You still need to edit /etc/X11/XvMCConfig as shown below, to get XvMC going.

After loading the nvidia kernel module you should see these messages in the dmesg output, which show the particular version of the nVidia proprietary driver currently used by Dapper Drake (1.0-8762). The version available from nVidia's website is usually going to be slightly ahead of this, as nVidia are continually making changes to the driver (with varying degrees of success). Trying to keep track of which versions are most likely to work well with which Linux kernel version tends to be quite time-consuming, so kudos to the Ubuntu maintainers for helping with this, and making a prebuilt kernel module available to use with Ubuntu.

[17179670.528000] nvidia: module license 'NVIDIA' taints kernel.
[17179670.540000] ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 25 (level, low) -> IRQ 217
[17179670.540000] NVRM: loading NVIDIA Linux x86 Kernel Module  1.0-8762  Mon May 15 13:06:38 PDT 2006
Also check in /proc/interrupts to make sure the nvidia entry isn't sharing the interrupt request line (IRQ 217 in this example) with anything else, as that could cause it to be slowed down a bit. The contents of /proc/interrupts look like this here, because there are two processors (with hyperthreading, so it looks like four):
           CPU0       CPU1       CPU2       CPU3       
  0:   27393437          0          0          0    IO-APIC-edge  timer
  1:      20244          0          0          0    IO-APIC-edge  i8042
  7:          0          0          0          0    IO-APIC-edge  parport0
  8:          3          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 11:      42969          0          0          0   IO-APIC-level  ohci_hcd:usb1
 12:     149161          0          0          0    IO-APIC-edge  i8042
 14:    2028417          0          0          0    IO-APIC-edge  ide0
 15:    1923151          0          0          0    IO-APIC-edge  ide1
177:     201100          0          0          0   IO-APIC-level  ioc0
185:         15          0          0          0   IO-APIC-level  aic7xxx
193:         15          0          0          0   IO-APIC-level  aic7xxx
201:         30          0          0          0   IO-APIC-level  aic7xxx, aic7xxx
209:          3          0          0          0   IO-APIC-level  ohci1394
217:    8606773          0          0          0   IO-APIC-level  nvidia
225:     108682          0          0          0   IO-APIC-level  eth0
233:     117636          0          0          0   IO-APIC-level  EMU10K1
NMI:          1          0          0          0 
LOC:   27394793   27394793   27394792   27394791 
ERR:          0
MIS:          0
In addition to installing the above packages, the following changes to /etc/X11/xorg.conf needed to be made, to switch from the ati driver to the nvidia driver:

<       Identifier      "ATI Technologies, Inc. Rage XL"
<       Driver          "ati"
<       BusID           "PCI:0:14:0"
---
>       Identifier "NVIDIA Corporation NV34 [GeForce FX 5200]"
>       Driver "nvidia"
>       BusID "PCI:0:4:0"
>       Option "NvAGP" "0"
>       Option "RenderAccel" "On"
>       Option "IgnoreDisplayDevices" "DFP,TV"
>       Option "NoRenderExtension" "Off"
>       Option "AllowGLXWithComposite" "Off"
104c109
<       Device          "ATI Technologies, Inc. Rage XL"
---
>       Device          "NVIDIA Corporation NV34 [GeForce FX 5200]"

You may need to adjust the BusID setting numbers for your machine. Usually taking a look in /var/log/Xorg.0.log for the following string will give you the numbers to use:

(--) PCI:*(0:4:0) nVidia Corporation NV34 [GeForce FX 5200] rev 161, Mem @ 0xfd000000/24, 0xf0000000/27, BIOS @ 0xd1000000/17
Once the above changes are made, restart the display manager (you'll be working from the console at this point, as the display manager would not have been able to start up with the ati driver because that card is no longer available when the nVidia 5200 card is installed in the PCI slot):
  invoke-rc.d gdm restart
After logging in, check the output of xdpyinfo for the following lines in the section listing the extensions currently loaded (where it will say for example, "number of extensions: 31"):
    XVideo
    XVideo-MotionCompensation

Creation of the configuration file for XvMC on nVidia 5200

The nvidia-glx package contains the nVidia XvMC shared library, and the libxvmc1 package contains the configuration file /etc/X11/XvMCConfig which needs to contain a reference to the nVidia shared library like this, with no spaces:

libXvMCNVIDIA_dynamic.so.1

See this link for where I found the explanation.

If you try to use XvMC with the libXvMC.so.1 library (the default) instead of the libXvMCNVIDIA_dynamic.so.1 library configured in /etc/X11/XvMCConfig, the error message is quite misleading:

 /usr/lib/libXvMC.so.1: undefined symbol: XvMCCreateContext
 vo_xvmc: XvMCCreateContext failed with error 2
 FATAL: Cannot initialize video driver.

Playback of 1080i ATSC content

Playback of 1080i ATSC content works very well (on a Dell PowerEdge 1600SC with an nVidia 5200 card in a PCI slot) using xine. See here for how to receive ATSC over the air, and here for some MPEG2 transport stream samples and test patterns.

Playback using xine

xine -V xxmc filename.ts
Although deinterlacing with xine appears to work OK, xine-lib still requires this patch from Scott Larson. Enable it under the "gui" settings:
  Enable deinterlacing by default.
  [x] deinterlace_by_default
In addition to the "deinterlace_by_default" option, you need to turn on the "bob" deinterlacing option under the "video" settings:
  Use bob as accelerated deinterlace method.
  [x] device.xvmc_bob_deinterlacing

Playback using mplayer

mplayer -vo xvmc -vc ffmpeg12mc filename.ts
Deinterlacing with mplayer seems to require a patch as explained last year by Scott Larson in the pcHDTV forums. To apply the patch to mplayer 1.0 pre8, use:
  wget http://www3.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre8.tar.bz2
  tar jxvf MPlayer-1.0pre8.tar.bz2
  wget http://www.penlug.org/twiki/pub/Main/LinuxHardwareInfoNvidia5200/mplayer_xvmc_bob_deinterlace.patch
  sudo apt-get install patch
  cat mplayer_xvmc_bob_deinterlace.patch|patch -p0 >patch.out 2>patch.err
Check the patch.out and patch.err files. The first should be as follows, the second should be empty.
patching file MPlayer-1.0pre8/configure
patching file MPlayer-1.0pre8/libavcodec/xvmcvideo.c
patching file MPlayer-1.0pre8/libvo/vo_xvmc.c
patching file MPlayer-1.0pre8/loader/ldt_keeper.c
patching file MPlayer-1.0pre8/mplayer.c
patching file MPlayer-1.0pre8/xvmc_render.h
To build mplayer with XvMC support for nVidia on Ubuntu, I first needed to add a missing symbolic link as explained here (filed bug 58741 for this. Update: April 2008 - the following workaround is still needed for building MPlayer-1.0pre8 in Ubuntu 8.04 (Hardy Heron) Beta, scheduled for release April 2008):
cd /usr/lib && sudo ln -s libXvMCNVIDIA.so.1 libXvMCNVIDIA.so
Then install some development libraries:
sudo apt-get install libc6-dev libxvmc-dev libasound2-dev
Then build mplayer, using:
  cd MPlayer-1.0pre8
  ./configure --enable-xvmc
Check over the output of the ./configure carefully for anything unusual. Check especially that it shows the following lines, and that in the "Enabled optional drivers:" section for "Video output:" it does indeed include xvmc.
  Checking for Xv ... yes 
  Checking for XvMC ... yes (using XvMCNVIDIA)
So now you're all set to build mplayer:
  cd MPlayer-1.0pre8
  make > make.out 2>&1
If all goes well (check the make.out file), proceed to install it (or you can just test it out first using $HOME/MPlayer-1.0pre8/mplayer):
  cd MPlayer-1.0pre8
  make install
To test whether the patched mplayer is now deinterlacing, use the "Alternating black/white 1, 2, 3 and 4 pixel strips 1920x1080" vertical resolution pattern from W6RZ Homepage as follows. Without the patch, you won't see any flickering in the top bar, but with the patch the top bar will flicker wildly (the two bars below it will flicker slightly less), as they do in xine when deinterlacing is enabled. This pattern is acting as a deinterlacing stress test, normal everyday transport streams don't usually contain anything this bad, but it's useful for testing.
  wget http://www.w6rz.net/vertrez1080.zip
  unzip vertrez1080.zip
  $HOME/MPlayer-1.0pre8/mplayer -vo xvmc -vc ffmpeg12mc vertrez1080.ts
When you launch mplayer with the -vo xvmc -vc ffmpeg12mc options, you should see the following messages in the mplayer output if XvMC is actually being used:
==========================================================================
vo_xvmc: X-Video extension 2.2
vo_xvmc: X-Video MotionCompensation Extension version 1.1
==========================================================================
Forced video codec: ffmpeg12mc
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
vd_ffmpeg: XVMC accelerated codec
Selected video codec: [ffmpeg12mc] vfm: ffmpeg (FFmpeg MPEG-1/2 (XvMC))
==========================================================================
as well as:
VO: [xvmc] 1920x1080 => 1920x1080 MPEG1/2 Motion Compensation and IDCT 
vo_xvmc: Port 244 grabed
vo_xvmc: Found matching surface with id=54434449 on 244 port at 0 adapter
vo_xvmc: Allocated Direct Context
vo_xvmc: data_blocks allocated
vo_xvmc: mv_blocks allocated
vo_xvmc: Motion Compensation context allocated - 8 surfaces
vo_xvmc: idct=1 unsigned_intra=0
vo_xvmc: looking for OSD support
    Subpicture id 0x34344149
vo_xvmc: OSD support by additional frontend rendering

The gentoo wiki covers a lot more details of mplayer, and is well worth a visit.

Multiple monitor support

See here (sorry, link is broken - please let us know if you find a good substitute URL) for reasons to avoid TwinView and what to do instead. The following /etc/X11/xorg.conf is an example of a dual head configuration running at 1920x1200 with the DVI on the left and the VGA on the right. Please be careful: only use this on your monitors if they are capable of these settings, otherwise damage could occur.

Connecting the NVidia5200 to a HDTV

Some HDTVs are able to display 1920x1080 resolution over the VGA input. For example the for the Samsung LN40A630, this xorg.conf works in Ubuntu Gutsy Gibbon.

Puzzling Quirks

  • Using the VGA output, the nVidia 5200 PCI card is able to drive a Dell 2405FPW monitor at 1920x1200. The following lines need to be added to use the DVI output, otherwise the best resolution attainable is only 1280x1024. With these lines added, 1920x1200 over the DVI connection works (with some caveats, see below) with a Dell 2405FPW monitor:
        Option "UseDisplayDevice"       "DFP"
        Option "IgnoreDisplayDevices"   "CRT,TV"
        Option "ModeValidation"         "NoMaxPClkCheck, NoEdidMaxPClkCheck"

  • Update March 11, 2007: When testing with Ubuntu Feisty Fawn alpha herd5, which contains nVidia kernel module revision 1.0-9631, and with Ubuntu Feisty Fawn beta (which contains revision 1.0-9755), I found that there is no longer any jagged breakup like there used to be in Dapper Drake (see below). The screen size info is being properly sent as the full display size instead of as just the gnome desktop size, so now fullscreen playback with mplayer is as easy as $HOME/MPlayer-1.0pre8/mplayer -monitoraspect 16:9 -ao alsa -ac hwac3 -vo xvmc -vc ffmpeg12mc filename.ts. Playback with xine using this command: /usr/bin/xine -V xxmc --geometry 1920x1080+0+0 --borderless filename.ts. In Feisty, moving the window around and resizing it works fine during playback using xvmc, whereas with Dapper it tended to crash.

  • In Ubuntu Dapper Drake, when running with the Dell 2405FPW monitor (or a Samsung LN-40A630 M1FXZA) connected over either VGA or DVI at 1920x1200, when playing back 1080i streams in fullscreen mode, there is very bad jagged horizontal breakup of the video. Playback in non-fullscreen mode isn't too badly affected: I found that I needed to use the following geometry settings: mplayer -monitoraspect 16:9 (or mplayer -geometry 1920x1080 stream.ts) and xine --geometry 1840x1035 stream.ts, and moving the window over to the right side of the screen also helps remove the interference.

  • When running the Dell 2405FPW monitor on either VGA or DVI at 1680x1050 there's nothing unusual, no jagged breakup during video playback, although of course text looks quite fuzzy (due to not running at the monitor's native 1920x1200 resolution).

Rotating Your Monitor Clockwise

The Dell 2405FPW monitor can be rotated clockwise, which can be very convenient if you are working a lot on web pages or documents. It allows you to display full pages vertically, instead of having to scroll them up and down. It also appears to be an advantage for coding, because an xterm can be stretched vertically to display 140 lines of code compared to "only" 51 when the screen isn't rotated. For the nVidia driver, to enable rotation, you need to add the RandRRotation option into the "Device" section, for example as follows:
Section "Device"
        Identifier      "Generic Video Card"
        Driver          "nvidia"
        BusID           "PCI:4:3:0"
        Option          "AddARGBGLXVisuals"     "True"
        Option          "RandRRotation"         "true"
EndSection

To use this to enable rotation, once you have launched X you can issue the following command (e.g. from an xterm window):

  xrandr -o left

To get back to non-rotated, use:

  xrandr -o normal

If you would like to initiate the rotation graphically, you can install the gnome randr applet package, as follows:

  apt-get install gnome-randr-applet

Right-clicking on the gnome panel and selecting the + Add to Panel menu item, then scrolling down to find the Display Geometry Switcher in the Utilities section, selecting it and clicking the + Add button will add an inconspicuous little grey monitor icon. Clicking on it will offer the options Normal, Left, Inverted and Right. Selecting Left will immediately rotate your screen counter-clockwise, at which point you would then rotate your monitor clockwise. The Inverted option could be useful if you are running out of desk space, but are able to attach the monitor (hanging upside-down) to the ceiling.

After enabling rotation, xvmc video playback would be "stretched" vertically. To avoid that, flip the monitoraspect to 9:16 instead of 16:9 as follows. The video window then fills only a little more than a third of the screen, instead of stretching vertically to fill the entire screen.

  mplayer -framedrop -monitoraspect 9:16 -cache 8192 -vo xvmc -vc ffmpeg12mc -ao alsa -ac hwac3 filename.ts

The gentoo wiki hosts this useful page on widescreen monitor configuration.

Wiggly Windows

Recently the graphical effects and usability aspects of the Linux desktop have gained a substantial boost from the X Composite Extension. This extension is beginning to enjoy quite broad hardware support from graphics cards, and provides (or rather, the compositing manager "compiz" provides) those wonderfully enjoyable "wiggly" windows.

You might also like to give beryl a try in Ubuntu Feisty Fawn. I've found that it works very reliably (for a single screen) on the nVidia 5200 using this /etc/X11/xorg.conf and following this guide (with help from the Beryl wiki).

You may find that you need to use this "black windows" workaround from the gentoo nVidia page (search for "Black Window Bug") or from the bottom of the Beryl wiki page: If opening multiple windows results in some of them persistently showing only black contents, it means you do not have enough video memory. This is a bug in the nVidia 1.0-9631 drivers: currently, shared video RAM cannot be used with the GLX_EXT_TEXTURE_FROM_PIXMAP extension. NVidia is aware of it, and it may be fixed in the future (update: it's fixed now in Ubuntu 7.10 Gutsy Gibbon, which uses nVidia kernel module 100.14.19.). In the meantime, one solution is to use the Copy Rendering Path. It can be enabled by right-clicking the beryl icon (in the top right-hand corner) and then selecting Advanced Beryl options --> Rendering path --> Copy. This does slow things down considerably, though, so I guess in the meantime having an nVidia card with more than 128MB memory could be an advantage for running beryl.

nVidia Support

If you're still stuck after studying the readme.txt, (or if you are using the latest 1.0-9755 drivers, then in Appendix D) and you've googled to the limits of the known universe, the nVidia Linux Support Forums might be a good place to start asking questions.

Framebuffer Support for nVidia 5200 with the old vesafb

For Ubuntu 7.10 (Gutsy Gibbon), the framebuffer is not properly configured to support VESA by the Ubuntu installer, so we need to do a few manual steps.

See here and launchpad bug 129910 for details (workaround: the "black" console is still functional, so if you log in and load the modules manually, it becomes fully functional again).

Add the following two lines to the /etc/initramfs-tools/modules (the set of modules included in the initial ramdisk) configuration file. You could also try using nvidiafb rather than vesafb, as nvidiafb apparently no longer conflicts with the proprietary nvidia-glx-new driver. On the other hand, the nvidiafb is fine if you are using the Free Software nv xorg video driver,

fbcon
vesafb

Then run this command to rebuild the initial ramdisk:

sudo update-initramfs -u

Also, edit /etc/modprobe.d/blacklist-framebuffer and comment out the line blacklisting vesafb so that it will actually be loaded into the kernel during boot:

#blacklist vesafb

Use the following commands to load the modules manually (before rebooting):

sudo modprobe fbcon
sudo modprobe vesafb

The dmesg output should contain for example:

vesafb: framebuffer at 0xd0000000, mapped to 0xfb900000, using 5742k, total 131072k
vesafb: mode is 1400x1050x16, linelength=2800, pages=1
vesafb: protected mode interface info at c000:e340
vesafb: pmi: set display start = c00ce376, set palette = c00ce3e0
vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 175x65
fb0: VESA VGA frame buffer device

List the configurable framebuffer resolutions using the following commands:

sudo apt-get install hwinfo
sudo hwinfo --framebuffer

For the nVidia 5200, the output looks like this:

02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.447]
  Unique ID: rdCR.gV6QWt3XSCC
  Hardware Class: framebuffer
  Model: "NVIDIA NV34 Board - p162-1n "
  Vendor: "NVIDIA Corporation"
  Device: "NV34 Board - p162-1n "
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 128 MB
  Memory Range: 0xd0000000-0xd7ffffff (rw)
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+1280), 24 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0330: 320x200 (+320), 8 bits
  Mode 0x0331: 320x400 (+320), 8 bits
  Mode 0x0332: 320x400 (+640), 16 bits
  Mode 0x0333: 320x400 (+1280), 24 bits
  Mode 0x0334: 320x240 (+320), 8 bits
  Mode 0x0335: 320x240 (+640), 16 bits
  Mode 0x0336: 320x240 (+1280), 24 bits
  Mode 0x033d: 640x400 (+1280), 16 bits
  Mode 0x033e: 640x400 (+2560), 24 bits
  Mode 0x0345: 1600x1200 (+1600), 8 bits
  Mode 0x0346: 1600x1200 (+3200), 16 bits
  Mode 0x0347: 1400x1050 (+1400), 8 bits
  Mode 0x0348: 1400x1050 (+2800), 16 bits
  Mode 0x0352: 2048x1536 (+8192), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Let's avoid the 24 bit modes (they'd be slow, and might interfere with the accelerated X driver) and pick Mode 0x0346. We'd add "vga=0x346" to the kernel boot line, by editing /boot/grub/menu.lst and adding the following line. Using this syntax will save having to edit the kernel line to add "vga=0x346" each time a new update to the kernel package is installed.

# defoptions=vga=0x346

Run the following command to update the kernel boot line in the grub configuration file:

sudo update-grub

Framebuffer Support for nVidia 5200 with uvesafb

For the upcoming Ubuntu 8.04 (Hardy Heron), see here for info on the uvesafb project. See also this thread on the gentoo forums where spock_ explains some details.

The required kernel module uvesafb will be included in Ubuntu Hardy Heron, as it is part of the mainline kernel since 2.6.24. You'll need to build the userspace v86d for Ubuntu, as there doesn't appear to be any package containing it yet (see this launchpad bug 189621):

sudo apt-get install -y build-essential
wget http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-0.1.3.tar.bz2
tar jxvf v86d-0.1.3.tar.bz2
cd v86d-0.1.3/

You'll need to edit the Makefile here, so that it contains:

KDIR   ?= /lib/modules/$(shell uname -r)/build
instead of:
KDIR   ?= /lib/modules/$(shell uname -r)/source
Then configure and build as usual:
./configure --default
make
sudo make install
sudo modprobe uvesafb mode=1400x1050-16 mtrr=3 scroll=ywrap

To see what other resolutions are available, you can also use:

  cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes
  cat /sys/class/graphics/fb0/modes

Now you should be able to use mplayer's -vo fbdev flag to playback video on the framebuffer console (Ctrl Alt F1), e.g.:

  mplayer -vo fbdev -zoom -x 1400 -y 1050 filename.ts

You can also try other aspect ratios listed in the output from hwinfo, as follows:

sudo apt-get install hwinfo
sudo hwinfo --framebuffer

For example:

  sudo modprobe -r uvesafb
  sudo modprobe uvesafb mode=1280x1024-16 mtrr=3 scroll=ywrap
  mplayer -vo fbdev -zoom -x 1280 -y 1024 filename.ts

In this thread on the gentoo forums, spock_ explains some additional details:

  • vesafb is loaded earlier than uvesafb/vesafb-tng/nvidiafb/whateverfb, therefore it's better for the splash screen: with vesafb the video mode switch does indeed happen earlier than with any other fb driver. However, this DOES NOT mean that the splash screen will be displayed at an earlier stage. It will only appear after the fb driver and fbcon are initialized. If you're bothered by the messages displayed while still in text mode when not using vesafb, use the quiet kernel command line parameter to suppress them.

  • The ywrap or ypan options are used in the kernel command line, but the driver says it's using redraw: ywrap/ypan are only available on x86.

  • Does v86d have to be included in an initrd?: Yes, it does, unless you want to compile uvesafb as a module.

  • uvesafb requires an initrd, which adds complexity to the boot process: uvesafb only needs the initrd as a storage mechanism to hold the v86d executable. It does not require any special scripts or the use of genkernel. In fact, it doesn't even require an initrd something line in GRUB/LILO -- you can just use CONFIG_INITRAMFS_SOURCE="/usr/src/v86d-0.1/misc/initramfs" in your kernel config and forget that there is an initrd involved smile

  • The framebuffer splash, CONSOLE=/dev/tty1 and etc. are independent of the fb driver (people often confuse fbsplash and the fbdev layer, but please note that these are two completely different things).

Caveats and limitations with uvesafb

The uvesafb driver is a generic driver which supports a wide variety of video cards, but which is ultimately limited by the Video BIOS interface. The most important limitations are:

  • Lack of any type of acceleration.
  • A strict and limited set of supported video modes. Often the native or most optimal resolution/refresh rate for your setup will not work with uvesafb, simply because the Video BIOS doesn't support the video mode you want to use. This can be especially painful with widescreen panels, where native video modes don't have the 4:3 aspect ratio, which is what most BIOS-es are limited to (with some exceptions: e.g. a Dell latitude d820 can do 1920x1200).
  • Adjusting the refresh rate is only possible with a VBE 3.0 compliant Video BIOS. Note that many nVidia Video BIOS-es claim to be VBE 3.0 compliant, while they simply ignore any refresh rate settings.

Back to LinuxHardwareInfo

Back to LinuxHints - Everything GNU ever wanted to know about Linux

  • xorg.conf: Dual head xorg.conf with DVI and CRT at 1920x1200


to top

I Attachment sort Action Size Date Who Comment
mplayer_xvmc_bob_deinterlace.patch manage 6.0 K 03 Sep 2006 - 03:49 PeterKnaggs Scott Larson's xvmc bob deinterlace patch for mplayer
xorg.conf manage 4.8 K 05 Sep 2006 - 03:24 PeterKnaggs Dual head xorg.conf with DVI and CRT at 1920x1200
dpkg--get-selections manage 32.6 K 10 Sep 2006 - 20:15 PeterKnaggs output of dpkg --get-selections
xorg.conf_for_beryl manage 3.9 K 21 Mar 2007 - 06:47 PeterKnaggs /etc/X11/xorg.conf for use with Beryl
xorg.conf_for_Samsung_LN40A630_nvidia5200_VGA manage 3.2 K 26 Sep 2008 - 17:23 PeterKnaggs xorg.conf for 1920x1080 with Samsung LN40A630 connected to nvidia5200 over VGA output

You are here: Main > TWikiUsers > PeterKnaggs > LinuxHints > LinuxHardwareInfo > LinuxHardwareInfoNvidia5200

to top

Copyright © 1999-2010 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback