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
Good, they haven't updated the Linux drivers for a while.
I am happy to see that NVIDIA is even supporting Linux, unlike some Microsoft-only "partners" that do not care for Professor Joe.
I also like that they include some source code, so I can change what I want. However, I would like to see the full source code to the drivers (???, sorry if I am wrong here) just for the pleasure of how they do all the neat tricks they do.
Good job NVIDIA, thanks for the drivers.
Ah, this is a common problem. Renaming the NWN executable to 3Dmark.exe should fix things right up.
Buy Steampunk Clothing Online!
New NVidia drivers for linux? I'm still trying to get the old ones to work!!
I'm working fine with the new drivers and NWN:HoTU as well as all my other games (Savage, ET). I didn't use the -update command, I downloaded the binaries from Nvidia, and it compiled for my system (slack 9.1, Dropline Gnome). No issues at all thus far and I played NWN for 3 hours today. I'm using an FX 5900U on a P4 3Ghz w/ HT disabled.
Yeah. Good luck. Try finding a SINGLE 9800XT/Linux success story on the Internet right now. I just sold an XT and am using the FX5900U. Flat out best gamig card for linux right now except for the 5950.
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.
now you can play those two linux games even faster!
Go find yourself the 4620 drivers. They work wonders with my FX5700 Ultra. No lockups like the 4496's.
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
Speak for yourself, but don't include me in your 'we' when you infer that Linux users are 'pirates'. I don't copy software illegally as I only use Free/Open Software.
To generalise, I think you will find Linux users are very aware of software licensing and rarely copy closed source software. Rather it is proprietory software users, who don't care about freedon in software and don't care about licensing conditions, who do the copying.
>>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.
this seems to be pretty common
:(
:-/
Sadly yes, it does seem pretty common. I've got a Radeon and I often find myself checking how people are finding the new drivers before getting them myself. It shouldn't be that way
But - 'may take a little while to become fully stable' - I don't think so. We're not talking about a completely new product here. They're basically just tweaking their existing code, and should do enough testing so as the release doesn't get a bad rep straight away.
What will you say the next time nvidia makes a release? 'Well, this is the newest set of drivers, so it may take a while...' er.. yeah
Anyway, I'm more interested in X. Come on XFree86, please make it so that drivers can be released independently of XFree86 releases. I don't care about anything in 4.4.0 expect ATI support!
http://minion.de has 2.6 compatible packages for this release.
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.
The newest drivers are great. I don't think people should complain about their northbrige being unsupported by nvagp, or about their own lack of skillz, that's just my 2 lemurs though.
:p
:)
The 4496 drivers totally sucked. They had display glitches in 3D programs (at 640x480 visual tearing in the middle of the screen even though I enabled vsync, and even worse at 800x600 there is distorted 'garbage' at the lower right corner of the screen, no glitches at higher resolutions though).
So the 4496 drivers are unusable to me, however the 5328 drivers rock! The performance is faster for me, no more strange artifacts or tearing, and yes with vsync enabled the fps on ut2003 has DOUBLED!
5328 is faster on linux kernel 2.4.x than on 2.6.x, but really I am [YOU ARE] lucky to have the very latest kernel supported so quickly
BTW for those who never RTFM, you have to set __GL_SYNC_DISPLAY_DEVICE to your device if you want it to actually sync to refresh. Also, pageflipping is now on by default and the Option name is changed, so look at your XF86Config people...
Thanks Nvidia and thanks Zander too
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.
Another poster mentioned that someone has already built 2.6.0 .run files - that's cool, but I have no reason to change my *stable* system. Maybe next week when I'm bored.
Reading though this thread I've seen people extole the virtues of ATI and slam Nvidia. One particular poster said (s)he loves h(er/is) 9800. The first Google I get on this card shows a price of $299.00 US. I don't know about anyone else, but I think this is a *total* waste of money. I upgraded my last video card from a TNT2 (32MB) when I couldn't install Unreal Tournament 2003. Time to upgrade. Picked up a GeForce4 MX440. $99.00 CAN. I bought this card for one reason: Nvidia had drivers for Linux - and as a recent Linux convert, let me tell you, this is good news. Cudos to Nvidia - they'll get my $$ when it's time to upgrade again, and I'll get a card that's equivalent to the 299US card for 99CAN.
And their drivers are awsome
:)
Obviously you don't use Linux or FreeBSD.
Yah. But the story is similar, and NVidia did it with 3Dmark.exe or whatever.
/boot/bzImage /boot/3dMark.exe
mv
Fellowship 9/11
It looks like it's just the way they do business.
Me, I bought an ATI, specifically because it's supported by the XFree86 and DRI projects. No binary-only NV disaster on my PC, thanks.
Judging from the Drivers page and README, it seems they haven't yet addressed the problem of the computer not able to go into sleep/suspend while the driver is loaded. A bit of a nuicance for notebook users...
$cat
So yes, I agree it's quite hard to produce Linux drivers that are stable and functional across a broad range of Linux kernel versions and XFree versions, and I am sure it is in part because there are more users and thus more developers working on the Windows drivers, in large part it's because of the inherent features of the Linux platform. Which of course may be desireable for many people who want to encourage companies to release specs or truly Open Source drivers.
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.
I guess I must have lucked out. Reinstall my desktop today with Mandrake 9.2, and since the old one I have required a kernel interface compile (it's way too old), I downloaded the new one (5328), and worked first time I installed it. The only thing is that I can't load the GLcore module. I think sometimes you can't just take these forums as an indication of how wide spread the problem is. People who have problems are also the loudest ones.
Linux is retarded in the area of any kind of kernel module.
Yes, the Linux kernel is nice and modular, and you can make modules and do some neat stuff (like dynamic loading) with them, but....
Why do modules have to be custom compiled to each exact kernel version?
A binary API should be developed with standard hooks that allow for things like video cards, sound cards, soft modems, scanners, and other crap to operate via a protected, binary-compatable API that doesn't change in any minor release. (EG: 2.4.x should be cross compatable)
One of the successes of Microsoft's hardware compatability is that I can frequently use a driver from Windows 3.1 on my Windows 98 or ME system.
Linux developers can cry all they want to about "open" drivers, but there are plenty of times where that just isn't feasible. And, why shouldn't there be a single, well-documented API that allows for binary driver distribution?
Why should this "pollute" anything at all?
Spending any more than 10 or 20 minutes loading a driver is retarded, and even though I'm a firm believer in Linux and its future, I'll be the first to say this.
Create a clear, binary-compatable API for drivers and the drivers will appear like magic, especially if it's similar to the API for Windows drivers.
Hardware companies are begging for more sales, and if they can get them by recompiling their windows drivers, or at the very least putting out and supporting a single driver file for "2.4.x kernel" Linux, you'll find that lots of companies would be perfectly happy to "play nice"...
I have no problem with your religion until you decide it's reason to deprive others of the truth.
and it is the right type of thinking.
The question is though, who are they trying to protect their intellectual property from ?
For the moment, considering your example of door locks, I choose to use them, not because they make my house impenetrable, but they ensure that most, "casual" theives won't bother to break in, because the risk and / or effort is now higher than the reward. Determined thieves won't bother with trying to break the locks, they will just cut a hole in a wall, creating a new doorway. That is if my assets are worth the risk and effort involved in doing so.
So, who are Nvidia trying to protect their intellectual property from ? Who would gain the most from seeing it ? Individual end users, or their determined rivals like ATi, who have much more at stake, and possibly more to gain from discovering Nvidia's IP ? Assuming it is ATi or other competitors, which is what most people suggest when faced with this argument, then the "locks" that Nvidia have put in place are useless, as they will not stop a determined adversary, such as ATi, who may be willing to invest multiple $100K or $1M decoding Nvidia's drivers, using AGP bus analysers etc. The reward for ATi might be high, so the risk and / or effort involved in decoding the drivers may be worth it.
I really can't guess why Nvidia won't open source their drivers. However, I struggle to believe only reason I always hear - "to protect IP".
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
Greetings,
For what its worth, I've always been happy with the Nvidia drivers.
So the 5328 drive doesn't work for me with ONE app, the fail back was efortless and I'm playing NWN again.
Kudos to the Nvidia team.
Cheers.
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.
Just FYI, the nvidia drivers contain their own AGP driver,
it can be used by e.g. setting the XF86config option NvAGP=1.
This reliably oopses the kernel in Fedora with this new driver.
If anyone else wonder why the new driver don't work, make sure it uses
the kernel AGP driver, not the nvidia one.
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.
OK, but they can lift this out of their Windows drivers.
I used to work for a network card manufacturer, and we wrote our drivers in three layers: OS-specific hardware interface layer, general card control layer, OS-specific API. So once we'd got the top and bottom layers right, we got all any fixes and improvements in the card control logic across all OSes for free.
NVidia are big on their "unified driver architecture" and stuff so I'd be very surprised if they didn't do it this way too. So all they need to do is to swap the Linux glue layers into their latest Windows drivers and recompile.
Don't developers spend money on any testing anymore? Every goddamn program I get these days shows that it was obviously released without any testing feedback. I know Netscape ruined the software biz model by releasing "betas" for consumption, marketing the product before it was tested. And Microsoft has never gotten anything right before version 3.0. But with malware liability looming, when will some kind of quality control come back?
--
make install -not war
With "nv", you can't have load glx. And that's why you are getting "Failed to add GLX extension (NVIDIA XFree86 driver not found)".
With "nvidia", you need load glx, but you have to delete load dri and load glcore. Actually, I played around with it for a while and find that you can actually still load dri, but not glcore.
As for the kernel interface, if you are using a standard kernel from a major distribution, nvidia has precompiled ones. So it shouldn't reached that step unless you really know what you are doing (ie you've compiled your own kernel).
I agree with other poster that you have a weirdly configured XF86Config-4.
Actually, 302.
See the list!
It has nothing to do with keeping source code and techniques away from the competition, although the people who decide against releasing sometimes think it is.
Many major graphics card design companies out there use similar techniques in their software. I'd be willing to bet if you compared driver source code between ATI and nVIDIA you would find many many similar techniques. There's very little they can learn from each other at this point, and what techniques _can_ be copied would take development time to _actually_ copy, introduce risk, and not give them a sizeable enough competative advantage to be worth it.
You argue that seeing the source to the driver lets a competitor "skip a very significant portion of the design process for their next card". This is absolute rubbish. The code may give them a glimpse at how the underlying hardware is put together, but this is far from what is required to design and fab a chip.
I used to work for a graphics card company, and knowing what each register does doesn't give me even 1% of the tools required to build even a _clone_ of this 4-year old chip, much less a competitor to todays chips.
The real reason, of course is what others have posted: These guys have some licensed 3rd party source in their drivers which they are not allowed to release.