NVIDIA Releases New Linux Drivers
mlmitton writes "NVIDIA just released new Linux drivers (1.0-5328). But the early reports by users are less than encouraging. People are weighing in with mostly bad news about how well these new drivers work. Some people are finding that Neverwinter Nights doesn't work and they're reverting to the old drivers (4496). I spent a few long hours recently trying to get the old drivers to work with Fedora Core 1 so I'm going to hold off on these new ones."
GNU/Linux gets dynamic shader compilers!h tml
http://www.nvidia.com/object/IO_9292.
Do these drivers export all the same extensions as their windows counter parts?
Changes:
This release adds support for the latest GeForce FX and Quadro FX GPUs, UBB
and FSAA Stereo, Red Hat Enterprise Linux 3.0, and GLX_SGI_swap_control,
improves XPixamp support, and reduces CPU usage when OpenGL applications
are syncing to vblank.
Complete Changelog/Readme
New NVidia drivers for linux? I'm still trying to get the old ones to work!!
All the graphic chip makers need to get their act together and release better drivers for linux. It took some work getting my 9800 pro working with gentoo, and the worst part is that my card is also an All in wonder, and there is currently no support for it, even with GATOS.
Setec Astronomy
There are prepatched 2.6.0 installers here.
Minion is working fast towards a resolution, but it still looks like the drivers are below existing 4496 performance levels.
When X11 starts the drivers Oops, and default to ForceSW so no hw-accel.
Dmesg gives-
Unable to handle kernel NULL pointer dereference at virtual address 00000010
printing eip:
c024b6cf
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c024b6cf>] Tainted: P
EFLAGS: 00013046
eax: 00000087 ebx: 00003246 ecx: 00000048 edx: 00000000
esi: 00000000 edi: dffe3000 ebp: dad75738 esp: dad75708
ds: 0018 es: 0018 ss: 0018
Process X (pid: 246, stackpage=dad75000)
Stack: dad96400 dad75764 c01105ac dad96000 00003099 e0d9eca6 00000000 00000048
dad75734 e0dadd1e dbc90800 00000000 dad75748 e0db88cd 00000000 00000048
dad75774 e0db0ee6 dad96000 00000000 00000048 00000080 d9e60000 dad96400
Call Trace: [<c01105ac>] [<e0d9eca6>] [<e0dadd1e>] [<e0db88cd>] [<e0db0ee6>]
[<e0db47b7>] [<e0db6170>] [<e0f51080>] [<e0dbcc1e>] [<e0d9da58>] [<e0f51080>]
[<e0f38b9d>] [<e0f7a5a0>] [<e0f51080>] [<e0f7a5a0>] [<e0f51080>] [<e0dba65c>]
[<e0f51080>] [<e0f7a60c>] [<e0f7a630>] [<e0f7a648>] [<e0f51080>] [<e0dbd809>]
[<e0f51080>] [<e0f51080>] [<e0e489d2>] [<e0f2bd01>] [<e0dd55f7>] [<e0dadd1e>]
[<e0db8818>] [<e0f28151>] [<e0dba1db>] [<e0f28151>] [<e0f28151>] [<e0dba22c>]
[<e0f52700>] [<e0e842db>] [<e0dd0ed8>] [<e0dde76d>] [<e0e842db>] [<e0e84ac1>]
[<e0dae41a>] [<e0d9f95b>] [<e0d9f830>] [<e0dae5a5>] [<e0db9d82>] [<e0f51080>]
[<e0e4b627>] [<e0e8473f>] [<e0d9f195>] [<e0e842db>] [<e0e84ac1>] [<e0e842db>]
[<e0e84ac1>] [<e0ecd0d4>] [<e0e7d552>] [<e0e66833>] [<e0db9d82>] [<e0f51080>]
[<e0e68481>] [<e0e96fc5>] [<e0dbe389>] [<e0e68345>] [<e0dc1102>] [<e0db9d82>]
[<e0f51080>] [<e0dac53b>] [<e0e68bc4>] [<e0e68abb>] [<e0f51080>] [<e0d9dbc5>]
[<e0f38c06>] [<e0dbcbf1>] [<e0f51080>] [<e0d9c8a2>] [<e0f51080>] [<c0114854>]
[<c013c590>] [<c013c7d5>] [<e0d9c61b>] [<c014a0cc>] [<c0108e7f>]
Code: 8b 46 10 8b 50 30 89 34 24 89 4c 24 04 8b 44 24 20 89 44 24
Ksymoops gives-
>>EIP; c02dc0c1 <pci_read_config_dword+41/80> <=====
>>ebx; c3fbe000 <_end+3c02138/20530198>
>>ebp; c3fbf760 <_end+3c03898/20530198>
>>esp; c3fbf72c <_end+3c03864/20530198>
Trace; c01aedfc <pci_conf1_read_config_dword+4c/50>
Trace; e08f8739 <[nvidia]os_pci_read_dword+20/27>
Trace; e090784e <[nvidia]_nv001370rm+2e/cc>
Trace; e09123fd <[nvidia]_nv001241rm+11/18>
Trace; e090aa16 <[nvidia]_nv000171rm+22a/268>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e090e2e7 <[nvidia]_nv001749rm+167/50c>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e0916776 <[nvidia]rm_update_agp_config+e/14>
Trace; e08f7495 <[nvidia]nv_agp_init+78/fb>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e0ad410c <[nvidia].data.end+275/31c9>
Trace; e0ad4130 <[nvidia].data.end+299/31c9>
Trace; e0ad4148 <[nvidia].data.end+2b1/31c9>
Trace; e0ad40a0 <[nvidia].data.end+209/31c9>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e0ad40a0 <[nvidia].data.end+209/31c9>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e091418c <[nvidia]_nv001274rm+7c/b8>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e0ad410c <[nvidia].data.end+275/31c9>
Trace; e0ad4130 <[nvidia].data.end+299/31c9>
Trace; e0ad4148 <[nvidia].data.end+2b1/31c9>
Trace; e0aaab60 <[nvidia]nv_linux_devices+0/580>
Trace; e0917339 <[nvidia]_nv0008
>>Doesn't anyone find it odd that they reccomend the SAME drivers for an 8mb TNT card and a 256mb quadra or FX?
Not at all--Their unified driver architecture helps to make sure that no matter which card a user has, he only needs to download one driver package.
Believe it or not, many people don't even know which video card they own, much less could they tell the difference between a GeForce MX 200, GeForce MX 400, GeForce MX 440, GeForce FX 5600, GeForce 5900, GeForce 5950 Ultra, one of many varieties of "Quadro" based products, etc. It's easier and a lot less error prone to tell people just to download the 'latest nVidia graphics driver' than to go into the device manager or lspci or whatever and figure out exactly which piece of hardware they own.
I've got an nForce2 board working (almost) perfectly under Gentoo. It seems to be a timing issue... either your board wants to cooperate at the moment you install, or it doesn't. The only thing you can do is try it. If it doesn't work under whatever distro you're using, try Gentoo. They've built a bunch of nforce stuff into their kernel, so support for mine was out-of-the-box.
:)
If you have an nforce2 board, you probably have a fast enough processor to compile most software in a relatively reasonable amount of time. If you do decide to install Gentoo, make sure you check out the alternate installation guide so you can play Tux Racer while it's building your system.
Screw wanting to see how they work, most people just want the source so that they can get it to work, period. Since they're binary only it means that they're usually tied to a specific kernel version and sometimes a specific distro. If you deviate from the path of the most popular distros you soon get into uncharted water.
They're in a catch-22: I'm sure they'd like to open the source but it's been mentioned before that some portions of the drivers contain licensed/proprietary code that they do not themselves control. In other words they couldn't even if they wanted to. (Plus, they seem to take drivers very seriously and might see it as giving away trade secrets to the likes of ATI, so maybe they don't even want to.)
Funny, I can play Neverwinter Nights just fine with my Ti4600 and 5328 drivers. Heck, I'm even using kernel 2.6 with the Minion.de driver patch.
Yes, I've seen a lot of complaints about the drivers on the nVnews.net forums, but I really wish Slashdot editors would refrain from making blanket statements.
Bullshit. Whatever makes you think it is that easy to build drivers for graphics cards that can just pull the source to the old one and recompile? Absolute nonsense. At best, that might be true within a single driver family, and even then, some hacking is required to update PCI IDs, and possibly the list of features the card supports.
Every different card line however, requries a different underlying layer to handle all the little tweaks and get maximium performance. Its not nearly as simple as you think.
Have you ever doen any hardware programming before? The fact that nVidia has a single driver serving such a wide line of cards is quite a feat. I've seen drivers that had to have 2 seperate code paths simply because of revisions to firmeware within the same "Version" of the software.
I had lots of problems getting NVidia to work with FC1. Things would kind of work, but other things wouldn't. Getting TuxRacer to work is a good litmus test.
Then I found this page of unofficial FC1 FAQ. Yay...!!
Here's what to do - it worked for me:
Use these instructions if there are no RPMs available, or if the available RPMs don't work for you.
Make sure you have the lastest drivers.
Now print this out, or write it down. Then:
If none of this works, do rpm -e --nodeps XFree86-Mesa-libGL and then restart your computer. The need to do this should soon be eliminated -- watch this FAQ or the fedora-list. Note that if you update XFree86, this package will be reinstalled and you will need to remove it again. This solves the "DRI" problem.
We're actually packaging nvidia drivers for Fedora core 1 for the http://rpm.livna.org/ repository.
See : http://bugzilla.livna.org/show_bug.cgi?id=45
Feedback from the Clueful Ones is welcome.
Good day.
What you suggest will never happen, because Linus has made it absolutely clear that the Linux kernel will NEVER have a binary-compatible ABI. He absolutely refuses to support closed-source binary modules and will NOT accept patches to the kernel to make it friendly to such modules.
Why? Because it goes against the spirit of the GPL AND because it's a legal grey area which could result in frivolous lawsuits which could waste the time of the OSS community, like SCO is so successfully doing right now.
Unless Linus changes his mind (unlikely) or hardware manufacturers GPL their code and/or release full programming specs, then the status quo will undoubtedly remain.
SCREW THE ADS! http://adblock.mozdev.org/ Proud user of teh Fox of Fire - Registered Linux User #289618
Actually, 302.
See the list!