I love using the old PC sitting next to my television to watch various online videos with my family and friends. It features an old NVidia GeForce MX 4000 v ideo card with S-video out. It is perfectly matched to my old 32 inch Panasonic CRT television (stop laughing!). Yeah, I know, I'm in dire need of an upgrade. Recently, I upgraded the PC to XUbunt u 10.10, and that's when I starting having X problems. When X attempted to start, I got the following error (here's the one from /var/log/Xorg.0.log):
I gave the nv (open source NVidia) driver a try after this by simply renaming my /etc/X11/Xorg.conf file to something else. This allows Xorg to automatically assign whatever driver it deems appropri ate when X starts. The nv driver works fine, except an attempt to send video out to my TV with xrandr didn't work out. The video on the TV rolled vertically and was black and white, no matter what settings I used. Here's an example xrandr command that I used:[ 12.330] (II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so [ 12.331] dlopen: /usr/lib/xorg/extra-modules/nvidia_drv.so: undefined symbol: miEmptyData [ 12.331] (EE) Failed to load /usr/lib/xorg/extra-modules/nvidia_drv.so [ 12.331] (II) UnloadModule: "nvidia" [ 12.331] (EE) Failed to load module "nvidia" (loader failed, 7) [ 12.331] (EE) No drivers available. [ 12.331] Fatal server error: [ 12.331] no screens found
xrandr --output TV-1 --mode 800x600
Not sure what the problem was there.
I knew before the upgrade that the NVidia binary drivers worked fine in this exact setup, so I searched google for the "dlopen" error you see in the X log above. The first search result led me right to the answer on this launchpad page:
SOLVED (for 32-bit arch): NVIDIA released a new legacy driver ======================= Version: 96.43.19 Certified Release Date: 2010.11.16 Operating System: Linux Language: English (U.S.) File Size: 15.7 MB =======================
You may download it here: http://www.nvidia.com/object/linux-display-ia32-96.43.19-driver.htmlAfter installing this driver, everything is fine.
I downloaded the driver, made it executable, ran it, and then it complained that X can't be running during installation. So, I put the non-working xorg.conf in place and rebooted, which booted Ubuntu into console mode. Later, I found that using "sudo /etc/init.d/gdm stop" was a much more elegant method of stopping X. Ahem.
While running the driver installation program in console mode, it asked if a new xorg.conf should be written, and I said yes to that. After rebooting, everything was perfect. I could then use the Applications -> System -> NVidia X Server Settings program to output video to my TV just like I was able to before. Yayz!
After all this, a friend of mine suggested I try the "nouveau" driver which is supposed to be the new open source NVidia driver. It didn't seem to be a drop-in replacement for nv (X gave yet another error and died), and since the NVidia propriety drivers work great, I decided to let things be. Please write a comment if you think I should have dug into this further!
Update, December 19, 2010 - I was swapping around hard drives in a geeky frenzy this weekend and so I had to reinstall XUbuntu 10.10 on the living room PC. I noticed that when I installed version 96.43.19 of the NVidia drivers for my GeForce MX 4000 video card, it would then remove /usr/lib/libvdpau.so.1 and so that would mess up mplayer. This is really irritating because mplayer is my all time favorite media player. It is so minimalist and simple. That's the way software is supposed to be, even if it requires us to read documentation to use it (ok, maybe not all the time)! Ok, so what did I do to fix this?
aptitude reinstall libvdpau1
Alrighty then, well, problem solved. Why did this happen? Well, probably because the GeForce MX 4000 is rather old and no one really cares about it any more. Well, it works fine for my needs. With enough command line bludgeoning, anyone can usually solve any problem in Linux. Ubuntu rocks.