Nvidia has released its latest drivers for Linux which has support for the latest x.org versions (1.5) which are used in the Fedora 9 release (currently beta was released). Follow these steps in order to use the latest Nvidia driver in your Fedora 9
NOTE: I really tested and using these things in my laptop currently, things should work for others too. THIS METHOD IS COMPLETELY UNSUPPORTED BY FEDORA FOLKS, BUT WORKS.
[NOTE] This process works on Latest Fedora 9 Too. But you'll not be able to make use of any of the glx capabilities , so all the commands like glxgears, nvidia-settings will give errors
step-1 : Install the Latest nvidia driver (download rpm from freshrpms or livna)
yum install xorg-x11-drv-nvidia
step-2 : Nvidia suggests that we use the -ignoreABI option to use these drivers with the latest xorg servers. Follow these steps to setup such way.
1. Logout of X ( preferably go to runlevel 3 or 1, anything other than 5)
init 3
2. Rename the /usr/bin/Xorg binary to any other name like /usr/bin/Xorg.o
mv /usr/bin/Xorg /usr/bin/Xorg.0
3. Create a shell script named /usr/bin/Xorg
touch /usr/bin/Xorg
chmod +x /usr/bin/Xorg
4. Now edit the /usr/bin/Xorg and put these two lines
vi /usr/bin/Xorg
#!/bin/sh
exec /usr/bin/Xorg.0 -ignoreABI "$@"
5. close the file
6. Confirm that your /etc/X11/xorg.conf has the driver set as 'nvidia'
my xorg.conf follows
[nareshv@fallenAngel ~]$ cat /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
Option "IgnoreABI" "true"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib/xorg/modules"
EndSection
Section "Module"
Load "glx"
Load "extmod"
Load "dbe"
Load "dri2"
Load "dri"
Load "xtrap"
Load "GLcore"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "UseDamageEvents" "True"
Option "OnDemandVBlankInterrupts" "True"
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
7. Reboot into runlevel 5.
init 5.
8. Now you should see the system using nvidia driver as the default one.
Few Gotchas:
1. Currently only 2D works, NVIDIA is working on getting 3D as soon as x.org 1.5 version is released.
2. None of the 3d commands work glxinfo,glxgears, all because of lack of 3d support.
3. Now i am able to play the movies in mplayer when i've replaced the nvidia's libwfb.so with libwfb.so the xorg itself has.
-- last updated (Fri April 18 2008)
thanks for your howto, works on x86_64 too.
ReplyDeleteI haven't tested playing videos, but I can't even get glx to work.
Had to remove the libglx.so module under /user/lib[64]/xorg/modules/extension/ and set a symlink to nvidia/libglx.so.173.08 to get x.org load the nvidia glx module, but it won't function.
well, no big deal, this is all beta software, I'm glad to have 2D support for my 30" display anyway :)
Thanks for this wonderful work around
ReplyDeleteThe sha-bang line, mention in /usr/bin/Xorg should be #!/bin/bash in place of #!/bin/sh
ReplyDelete/bin/sh is typical unix shell and by default its symlinked to /bin/bash
ReplyDelete[nareshv@fallenAngel ~]$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2008-04-02 23:34 /bin/sh -> bash
so either should work :-)
This comment has been removed by the author.
ReplyDeleteI've tried this method in the Final release, with some tinkering it "kinda?" works. I mean, the graphics on the desktop and login screen look much better than without the drivers, and I see the Nvidia screen before login, but beyond that it's quite hard to tell if it's working.
ReplyDeleteAs a matter of fact, when trying to load "nvidia-settings" from the command line, as either root or a normal user, I get ..
The program 'nvidia-settings' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadLength (poly request too large or internal Xlib length erro'.
(Details: serial 127 error_code 16 request_code 144 minor_code 7)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
So, I'm glad at least something is working, and it'll get me along until an official or better solution arises.
This procedure works with Fedora 9 Also. But the Nvidia driver is not yet fully compatible with the xorg-1.4.99 release and thus all the glx commands fail
ReplyDeletelike
glxgears
nvidia-settings
... etc
This comment has been removed by the author.
ReplyDeleteWell the NV driver isn't 100% of supporting all the functionality in your NVidia card. As far as I know, it only supports 2D, same with the nouveau driver. But, if you're using Fedora, I suggest adding the Livna-Testing repository and just installing akmod-nvidia and be sure to run nvidia-xconfig. As of right now it seems to accomplish the same task as this guide, but with much ease, and hopefully will hold people off until Livna releases a stable package for the Nvidia driver.
ReplyDeleteI forgot to add ... when using the packages in the Livna-Testing, you're also only getting 2D support right now, but it makes things look a tad bit better, rather than the pixelated nonsense you get without any drivers installed.
ReplyDeleteHi, this is the only tutorial that I've find.. thanks! but I have a little problem. Yum doesn't find xorg-x11-drv-nvidia package (I have the livna repo installed) do you have some suggestion?
ReplyDeletethanks a lot!
Hi ciropom, you can try installing the following package from freshrpms http://sulphur.freshrpms.net/rpm.html?id=383
ReplyDeleteIn order to sort out the dependencies well, try installing the freshrpms repo package first
sudo rpm -Uvh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/9/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm
yum install nvidia-x11-drv
freshrpms also has very good set of packages, but sometimes conflicts with packages from livna.
There is a new driver from Nvidia, which works perfectly for me - simply used standard install script by Nvidia!
ReplyDeletehttp://www.nvidia.com/object/linux_display_ia32_173.14.05.html
regards,
Paul
Thanks paul. Yes, nvidia released new driver . I'd blogged about it yesterday http://nareshv.blogspot.com/2008/05/fedora-9-and-nvidia-xorg-15-driver.html
ReplyDeleteThe procedure described did not work for me. I am using a SLI configuration. Is there no support for SLI ??
ReplyDeleteI am not sure of the SLI support in 173.08 verison. Can you try the latest (as of today) version http://www.nvidia.com/object/linux_display_ia32_173.14.05.html , which works pretty well with xorg-1.5 . This should support SLI.
ReplyDeletei get the following error while installing nvidia drivers
ReplyDelete--> Missing Dependency: kernel-uname-r = 2.6.25.14-108.fc9.x86_64 is needed by package kmod-nvidia-2.6.25.14-108.fc9.x86_64-173.14.12-3.lvn9.x86_64 (livna)
Error: Missing Dependency: kernel-uname-r = 2.6.25.14-108.fc9.x86_64 is needed by package kmod-nvidia-2.6.25.14-108.fc9.x86_64-173.14.12-3.lvn9.x86_64 (livna)
plz help
seems some build issue with that particular nvidia RPM in livna. why not try the package from freshrpms repository ?
ReplyDeletehttp://sulphur.freshrpms.net/rpm.html?id=471
Also the version in my blog is a bit older, nvidia has released newer drivers. http://www.nvidia.com/object/linux_display_ia32_173.14.12.html
Hi, please don't take this the wrong way, but moving the Xorg executable seems a little extreme, just to add one command line option... I admit that I use Debian and not Fedora, but my man page for xorg.conf lists Option "IgnoreABI" in Section "ServerFlags"... I suspect that this would achieve the same result without potentially interfering with the package manager (which still thinks that Xorg is a binary executable distributed by the X consortium, and not a shell script written by the local user). Hope that was of some help to somebody.
ReplyDeleteJonathan,
ReplyDeleteYou are right, but at that time in order to get the X work with the nvidia drivers that was the quickest hack i thought of. Now nvidia has released many updates after that, which no longer requires that hack.
FYI: current driver from nvidia is 180.16 (as of dec-27-2008)