Hacker News new | ask | show | jobs
by supar 5300 days ago
Can you give us some thoughts on how (why?) bad is nvidia/linux support is?

As a linux developer doing scientific visualization, and having tested (and still testing, btw) how bad still is the AMD driver status on linux, I see basically nvidia as my only choice if I want to get anything done with decent (and stable) performance.

I wouldn't run a cluster on anything but .nix, so I really see no alternative on nvidia by my reasoning here, even if nvidia's architecture is actually inferior.

But I'd really like to have some opinions on that front. I really want alternatives, and the closed nature of nvidia's drivers is a problem for me. So, can you elaborate?

I also programmed on w2k (from around 2001-2004) and I used to target both nvidia and ati, and I still remember the sheer number of bugs I had with GL in general with the radeon drivers. But I cannot really speak anymore on that front.

1 comments

I have answered most of your question here already: http://news.ycombinator.com/item?id=3337682

Nvidia driver quality continues to be subpar on Linux, yet I have zero issues with Catalyst. And even if Catalyst had a problem, as I described in the above URL, AMD is shelling a lot of money out to make the FOSS driver their one and only driver which already is shaping up to be a lot better than Catalyst.

I just don't see a point in doing business with a company that is clearly trying to lock me in with closed source vendor specific APIs if they have no interest in supporting me after the sale of the hardware.

In addition, their OpenCL implementation (which is shared across both Windows and Linux) seems to run code much slower than it should, which I suspect (but have no way of proving) they are doing it to make CUDA look better. The same code ran on AMD hardware has zero issues, and the equivalent code in CUDA runs about as fast as I think it should.

And also, re: Catalyst vs FOSS, in about 2 years the Mesa/Gallium OpenCL stack should be finished, so not only will I be able to quit using Catalyst altogether, Nvidia users will be able to make the better use of their hardware and ditch the broken drivers Nvidia keeps forcing on people.

Now, who knows, maybe Nvidia will change tactics and quit screwing over customers and developers, and release the programming manuals for their hardware so FOSS can develop a better driver faster... I just don't see it _ever_ happening.

Even if AMD hardware had a higher total cost of ownership, the fact AMD actually cares about me as a Linux customer is why for the past 5 video cards I've owned they have gotten my business.

re: Your programming experience, 2004 predates AMD taking over ATI. Driver quality pre-AMD was worse than Nvidia was at the time, but it has greatly changed. AMD has vastly increased the quality of the Windows driver, and the original Linux driver was thrown out in exchange for one that shares almost all the code with the Windows one (day and night kind of change in quality).

AMD didnt finalize their purchase of ATI until 2006, and it wasn't until 2007 or 2008 that driver quality started taking off.

As a statement of driver quality, people who use my software regularly report 30+ day uptimes using Catalyst on Linux. If it was so buggy and unstable, this would probably be impossible.

I was hoping for some more meaty details about what exactly is "subpar" about nvidia on Linux (except the closed nature of the driver).

In terms of GL implementation, the nvidia driver has everything you would expect. If you use GL directly, it is one of the most conforming implementations I've been using (supporting "deprecated" stuff like bitmap operations, line and polygon aliasing, imaging extensions, all GL revisions, pretty much all ARB extensions, etc). Everything works from Cg to CUDA to OpenCL to VDPAU. There is really no feature gap between windows and linux.

I've never compared OpenCL to CUDA performance really, but switching to OpenCL for new projects is something I'm planning to do.

My mayor problem, really, is that CUDA is locked to specific versions of GCC, and that is even of a bigger issue than the closed nature of the driver itself.