Saturday, April 12, 2008

Fedora 9 and Latest Nvidia 173.08 Driver

Nvidia has released its latest version of the xorg 1.5 compatible drivers. You no longer need to follow my techique for 173.08 version driver . See my new blog entry for details

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)

22 comments:

sse said...

thanks for your howto, works on x86_64 too.
I 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 :)

Vijay said...

Thanks for this wonderful work around

Vijay said...

The sha-bang line, mention in /usr/bin/Xorg should be #!/bin/bash in place of #!/bin/sh

Naresh said...

/bin/sh is typical unix shell and by default its symlinked to /bin/bash

[nareshv@fallenAngel ~]$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2008-04-02 23:34 /bin/sh -> bash

so either should work :-)

bekir serifoglu said...

Does it work with final release of f9. Did anyone tries? I would appreciate if anyone confirms that it works on final release.

thanks

Sean said...

I'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.

As 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.

Naresh said...

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

like

glxgears
nvidia-settings
... etc

bekir serifoglu said...

Thank you all for your help. I don't know it is the right place but I need to ask something else too. I had been using Ubuntu before I switced to Fedora. That was with the latest fedora release actually. I think fedora is better than Ubuntu in loading times and the response times of the applications. I have no application freezing in Fedora, i used to in Ubuntu. so I want to go on with Fedora.
i had been using nvidia driver in ubuntu. now i have to use nv. But this driver issue worries me. not that i need 3d accelaration but i am worried that it may harm my laptop.
I searched the net but i couldn't find any information about it. so do you know whether this driver (nv) may harm my laptop or graphic card? is there any side effects or any issues with it(just like ubuntu's load cycle count issue or something.by the way, i had to fix it in ubuntu.but i have no problem with it in fedora)?

The default desktop background seems a little weird. i don't know how to describe it but the color lines have something around them. anyway. you have that type of background in ubuntu when you first install it too. but when you install nvidia's driver it is gone, the background looks perfect. so is that a defect(or whatever you call it) of nv driver?
because when you install nvidia driver it seems to be solved. if it's a defect, may it harm my screen, graphic card or laptop?

can you inform me about these issues if you know anything?
thank you very much. you are very helpful.

Sean said...

Well 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.

Sean said...

I 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.

ciropom said...

Hi, 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?

thanks a lot!

Naresh said...

Hi ciropom, you can try installing the following package from freshrpms http://sulphur.freshrpms.net/rpm.html?id=383

In 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.

Paul said...

There is a new driver from Nvidia, which works perfectly for me - simply used standard install script by Nvidia!

http://www.nvidia.com/object/linux_display_ia32_173.14.05.html

regards,
Paul

Naresh said...

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

Rafael said...

The procedure described did not work for me. I am using a SLI configuration. Is there no support for SLI ??

Naresh said...

I 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.

Hari said...

i get the following error while installing nvidia drivers


--> 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

Naresh said...

seems some build issue with that particular nvidia RPM in livna. why not try the package from freshrpms repository ?

http://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

Jonathan said...

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.

Naresh said...

Jonathan,

You 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)

Game player said...

I can get Tibia Gold cheaply.
Yesterday i bought Tibia Platinum for my brother.
i hope him like it. i will give Tibia coins to him
as birthday present. i like the Tibia money very much.
I usually buy tibia gp and keep it in my store.
I can get Tales Of Pirates gold cheaply,
Yesterday i buy Tales Of Pirates Goldfor my brother.
i hope him like it. i gave Tales Of Pirates money to him as birthday present.
i like the cheap Tales Of Pirates gold very much.

seo expert said...

nice post


website design nyc