Why Linux Loses Out On Hardware Acceleration In Firefox 456
devtty writes with some bad news for Linux users, from OSNews: "The release notes for Firefox 4.0 beta 9 noted that it comes with hardware acceleration for Windows 7 and Vista via a combination of Direct2D, DirectX 9 and DirectX 10. Windows XP users will also enjoy hardware acceleration for many operations 'using our new Layers infrastructure along with DX9.' Furthermore, Mac OS X has excellent OpenGL support, they claim, so they've got that covered as well. No mention of Linux, and there's a reason for that. 'We tried enabling OpenGL on Linux, and discovered that most Linux drivers are so disastrously buggy (think "crash the X server at the drop of a hat, and paint incorrectly the rest of the time" buggy) that we had to disable it for now,' explains Zbarsky, 'Heck, we're even disabling WebGL for most Linux drivers, last I checked...'" An update to the story softens this news slightly, saying that "hardware acceleration (OpenGL only) on Linux has been implemented, but due to bugs and issues, only one driver so far has been whitelisted (the proprietary NVIDIA driver)."
Yes, as I've said many times.... (Score:3, Insightful)
Re: (Score:3, Interesting)
Re: (Score:3)
Re:Yes, as I've said many times.... (Score:4, Insightful)
As far as I know, it needs the card manufacturers to commit. I don't believe they "open source" all of their low level specs.
That would be true, if the drivers they release were the ones causing the problem. The last time I checked ATI had open sourced all their specs and it is their driver that sucks. The other major graphics card manufacturer is Nvidia and the get a mention for producing a working OpenGL driver.
I know that their are lots of security issues with the Nvidia proprietary driver supposedly, but I have a sneaky feeling this is because more of the open source community look for a stick to beat nvidia with to try and encourage them to open source their driver. I also think that purely theoretical security issues that only give root to a normal user are not such an issue on single user desktops that are the most likely machines to need graphics acceleration (Personally I disable X on servers).
I used to love ATI cards until I started using Linux. Then I found the Nvidia driver was far more stable than the ATI drivers by bitter experience. This was back in the days when both were closed source but until I start reading things about Nvidia having more issues on Linux than ATI I will stick with what works best. I have never had a single issue with the NVidia closed source driver in the past 7 years.
Open source or closed does not matter to me if only one works correctly. I think many end users of computers are of a similar mindset.
Re:Yes, as I've said many times.... (Score:4, Informative)
I too like the Linux Nvidia driver (ignoring the ideology) and they sure do a good job supporting different kernel versions and X. Nobody does a proprietary driver better than Nvidia. Get a new -rc kernel? If the current version doesn't build and link in, and there's no beta that covers it, there's probably someone already in the forums who has a patch or code snippet that will make you happy again.
However, the proprietary ATI driver is no longer the length of turd that it used to be. They haven't quite got it together like Nvidia does in terms of supporting diverse Linux systems, but I haven't suffered too much at their hands in the year or so that I've had a Radeon HD 5870.
On my current rig I opted for an ATI card, because I hated my last Nvidia card: 9800 GX2 which was buggy in a lot of my Windows games and died 17 months after purchase. (It was an "OCX" model from BFG though, factory overclocked. It ran very, very hot, even with the fan at 100% during gaming and it doesn't take a rocket scientist to suspect that it got damaged. I burned for the lifetime BFG warranty too because they went out of business. That was a $600 video card. Even that is partly my fault for procrastinating though.)
I wasn't sorry, I have been very happy with the ATI 5870 in Windows 7, and I've managed to do OK with the proprietary ATI driver. It always needs patching though... three ATI driver versions have gone by and it STILL doesn't build for Linux 2.6.36.x or 2.6.37. (I use --buildpkg Slackware/All to make slackware packages) Fortunately the kernel parts haven't changed that much and the patches can be easily adjusted. That's still pretty piss poor maintenance on their part, but at least it's not an untenable situation for me.
The end result has been great though. In fact, for what I do with 3D acceleration in Linux, older games like UT2004, Quake 4, Doom 3 and friends as well as things like Sauerbraten, it's as good as or better than Nvidia (e.g. No glitches in UT2004). I think that 2D acceleration has been better than Nvidia as well.
For a browser, 2D is more important anyway at this time. I know that since I switched to Firefox 4 in Linux (I'm using sources I got using Mercurial a few days ago, it says 4.0b10pre) that long Slashdot threads load up a lot faster, and no longer make the browser unresponsive while they are rendering. They also scroll effortlessly.
So I'm assuming that I have better 2D acceleration with Firefox 4 than Firefox 3.6.
Re: (Score:3)
I also think that purely theoretical security issues that only give root to a normal user are not such an issue on single user desktops that are the most likely machines to need graphics acceleration...
WebGL makes this relevant.
And it's not just security. I've had a fair number of stability issues which seem to be related to the nVidia driver. But it's hard to tell. The kernel is one giant monolithic address space, and any part of it could be responsible for doing anything to any other part. The nVidia drivers are in the kernel, and as such, they're a giant proprietary blob which can do anything to your system, without restriction.
In other words, if your system crashes, and you're running the nVidia drive
Re: (Score:3)
What distribution of Linux are you talking about? All this talk about drivers and stuff makes me think you are talking about Windows or something. The Linux I use has flawless support for OpenGL, Bluetooth, wifi, etc right out of the box. No HOWTOs or any of that needed. Same goes with all of my Apple products. I don't even know what or where drivers are for these things. Why should I?
Security issues not theoretical (Score:3)
Re: (Score:3)
The problem is that if you run an Nvidia binary, it usually constrains you to running certain kernel versions.
I did spend several years running Gentoo and doing regular kernel updates. I always built each kernel from source whenever a new, even minor version was released. I do not remember ever having a problem.
Maybe the Gentoo devs were doing the hardwork by only releasing kernels into portage as stable that the proprietary driver worked with though, but if they can do it with their bleeding edge philosophy then it should not be hard for other distributions.
Nowadays I have move to Ubuntu and that does not give me
Re:Yes, as I've said many times.... (Score:5, Insightful)
That would be stupid and fatal long term. We would never again see Linux lead the way anywhere if we hitched ourselves to Microsoft's trailer hitch. All this new push to ARM would have never been possible had not Linux lead the way there and created a potential market large enough to get Microsoft to follow. Your idea would have forever tied us to x86.
NVidia has a top tier 3D driver now because high dollar workstation users these days use Linux instead of legacy UNIX. That means there is money in keeping their drivers good enough to keep those super high margin cards moving out of their factory and not AMD/ATI's. But AMD wants in, not only there but on desktops and lacking the development resources are instead opening the specs. So be patient and soon we will have two hight quality options. Intel is already supplying fair driver support but they just don't compete well on the hardware.
Had we somehow adopted the Microsoft driver model (heavy emphasis on the somehow) none of this progress would have happened.
Re: (Score:3, Insightful)
On Windows you can always install a newer NVIDIA driver if the current is bugged to fix it.
Bullshit.
I've had a laptop where, on Windows, I could only get XP drivers at all by going to the manufacturer's UK site -- they technically weren't available to US residents. A newer one, I not only had to get them from Dell, I had to get them by opening up a chat session with tech support and having them feed me random links from other models for pretty much every single piece of hardware on the system, because the model I had was only supported with Vista and above.
Yes, it Just Works with 7. Guess what? T
Re: (Score:3)
Because if the Windows API is implemented indistinguishably from the real thing it won't be a source of bugs.
That's an absurdly big 'if'. Look how long it took Wine to get where it is, and it's still nowhere near complete. Look at how far Mono still has to go.
It also doesn't address the part where Linux has been migrating away from ndiswrapper, which is roughly what you're talking about (except only for networking), and to native drivers.
Either way, if any bugs or performance problems are present the blame lies not with the hardware manufacturer, not with the driver blob, not with Microsoft's driver model but with Linux kernel developers.
Indeed it would -- it would be their fault for listening to you.
And bugs where responsibilities are clear get fixed faster.
The responsibilities are pretty clear in open source, in-kernel drivers, too
Also, can this one benefit real
Re:Yes, as I've said many times.... (Score:5, Interesting)
OpenSource guys know how to implement graphics drivers, but they're horribly understaffed.
There are probably 50 times more closed source driver developers than OpenSource developers. The fact that they are able to do even what they do is amazing in its own right.
Re: (Score:2, Insightful)
OpenSource guys know how to implement graphics drivers, but they're horribly understaffed.
Yes. That's because most programmers need to be paid money for their work so they can eat and put a roof over their head. This is the fundamental problem with Stallman's free software religion.
Re:Yes, as I've said many times.... (Score:5, Insightful)
There are independent OpenSource graphics developers who do an amazing job (thanks for r300, Corbin Simpson!). But there are too few of them, mostly because the whole area of graphics driver development is fairly specialized and complicated.
PS: I'm a long-time lurker in Mesa IRC and mailing lists, and I'm planning to join Mesa development once I've more free time.
Re: (Score:2, Funny)
I am all for paying attractive young women in bikinis to work on graphics drivers. But I don't see how that puts more of them on the beach.
Re: (Score:3)
ATi and nVidia COULD pay them to work on it - But I'm pretty certain SW and HW patents as well as NDAs gets in the way.
Linux support is becoming more and more important every year. Sooner or later one company will cave in to the pressure from the Open Source community. And then we'll have our free booz- I mean, bikini bab- I mean, free por- uhm, graphics drivers.
Re:Yes, as I've said many times.... (Score:5, Insightful)
But you are right, we do not exist, we should never be brought up in any conversation...
Re: (Score:2)
Re: (Score:3)
Do you have any actual surveys or studies to back that up? Linux is developed by about 70% paid employees. OpenOffice.org is over 95% paid people (around 80% Sun / Oracle, 10% Novell, 5% Red Hat last time I checked). Same with most other big projects.
The numbers are different for a lot of smaller projects, but even GNUstep, which is hardly known for massive commercial backing, gets around half of its contributions from people who are paid to work on it.
Re: (Score:3)
Linux projects with commercial backing is because there is some sort of benefit to the companies supplying the money. I fail to see how OpenGL development will help almost any companies. Kernel development can help many, Open Office development can help many, making your video games that don't exist run better doesn't seem to help most companies.
Hopefully the only recently released opensource ATI/AMD graphics drivers will take off.
Re: (Score:3)
Re: (Score:3)
At least for the Linux kernel (where a graphics driver would go), that's a common misconception [slashdot.org]. I guess the real issue is that most companies who invest in open source don't have anything to do with fancy graphics like games. See also xkcd [xkcd.com].
Re:Yes, as I've said many times.... (Score:4, Insightful)
With the emphasis on "few".
Re: (Score:3)
This is the fundamental problem with Stallman's free software religion.
And yet it still works, but it might just take more time to get there. After all, the problem we are having here is running an open source browser on an open source operating system using open source video drivers. With all that open sourceness going around, this "free software religion" must be getting something right.
Re: (Score:3)
Re: (Score:2, Insightful)
Hardware drivers are paid for by the manufacturer of the hardware and their customers, it's already clear Linux users are almost exclusively spec their boxes with nVidia cards just because nVidia drivers suck less than the stuff from the competition.
Re: (Score:2, Insightful)
I don't see how "You aren't allowed to know how your graphics hardware works" has anything to do with "Programmers need to eat too". The horrid state of GPU acceleration on Linux is not because of a lack of funds, it's because GPU hardware is widely unstandardized. FOSS developers - and all developers in general - work their best when coding to some kind of standard (even something like the Windows API is a published standard).
GPU hardware interfaces are not standards by any stretch of the imagination. Ever
Re: (Score:3)
that "bloody horrible interface" gets shit done. more efficiently than any other available hardware interface. given that linux accounts for perhaps 3% of the desktop market, and most of that is low end boxes with a very small market for 3d software, the linux/free software community is lucky we get ANY effort from nvidia/ati/amd/intel at all.
the revenue returned vs effort/$ expended must be pretty damn close to zero.
Re: (Score:3)
> Apple had to make a completely new networked printing system which
> is only supported by a handful of HP printers.
That is just ignorant. Apple didn't create CUPS they adopted it then later bought the primary developer/custodian. And unless they have changed policy, all HP printing products are supported on Linux. Since Apple and most Linux distros use CUPS to print nowadays, connect the dots.
Stallman was never opposed to people making money (Score:2, Informative)
Hell, it's not like the proprietary video driver developers are making a killing selling their software.
RMS's view is that you should get paid for your labor but not get paid for taking away someone elses freedom. Sometimes the model works effortlessly, sometimes it runs into complications.
Re: (Score:2)
You seem to be confused. Driver writers who contribute their time to write drivers for platforms such as linux only need to contribute their work if the proprietary drivers are either non-existent or broken. In other words, the FLOSS people only need to write alternative drivers if the hardware companies do an appallingly miserable job providing their own drivers. This problem, which consists of the failure on the behalf of hardware companies to support their products, affects all platforms and is not a
Re: (Score:3)
There's no failure whatsoever to support their products if they've advertised them as compatible with Windows and OSX, but not Linux. As most do.
There you go again with the confusion. NVidia provides their own proprietary drivers for linux. AMD also provides their own proprietary drivers for linux and, thankfully, they've started to work on contributing FLOSS drivers. Through their own paid developers, which I assume are well fed. And to underline the idiocy of your previous comment, Intel is a notorious contributor of FLOSS drivers for their graphics product line, which they also employ people to do, and I assume aren't homeless and do manage t
Re: (Score:3)
Stallman is for free as in speech, not beer.
Though it's true that often times its easier to milk profits out of a market if you keep others from competing with you.
Free as in Freedom ends up being Free in terms of Cost anyway, the converse doesn't necessarily have to be true.
Re: (Score:3)
Actually, "free as in speech" leads directly to a diverse ecosystem where a variety of different people get paid by a variety of different parties for a variety of different things. Things like end-user support, developer support, art, documentation, updates, customization, and yes Virginia, even boxed software.
Here comes a car analogy, for the literally challenged.
Automobiles are "free as in speech." Stuff's interchangeable (generally), manufactured to spec and standard (again, largely), and you can replac
Re:Yes, as I've said many times.... (Score:5, Interesting)
Just fine? KDE 4.5 and 4.6 (upcoming) crash on log in with nvidias drivers ver 260.xx.xx [kde.org] (on openSUSE 11.3 32bit [novell.com]?). Many other applications and applets also crash, particularly on 4.6 where krunner, amarok and search and launch activity are amongst the affected ones. This is one of the currently most reported bugs at the moment with a current dup count of 58 [kde.org]! As if all this wasn't enough in 4.6 the window manager also almost immediately freezes until desktop effects are automatically disabled.
So basically when you try KDE 4.6 on openSUSE 11.3 with updated nvidia drivers what happens is. You can't login due to desktop crash. If you fix that by removing the offending applets from the config files. On login Krunner crashes and keeps re-spawning and crashing. If you manage to kill it then desktop freezes and if all goes well effects are disabled. And if you get past then you can use it... without krunner, effects, and some of its best applications.
Re: (Score:3)
I'm using Fedora 14 with testing repos. I'm currently running KDE SC 4.5.96 (KDE SC 4.6 RC2) with Nvidia 260.19.29 (card is a GeForce 210), and I haven't had any problems. I use compositing with Kwin too, and don't have any slowness or crashing.
I don't doubt that other people have had problems, but it's certainly not universal.
Graphics drivers on Linux are a complete mess, unless you use the Nvidia proprietary drivers. I'm not sure why anyone would choose anything else if they care about performance or feat
are you insane? (Score:3)
The open source ATI stuff is mostly junk.
Well, and that is ATI's fault. ATI fails to supply a working open source driver.
nVidia also fails to supply a working open source driver, but at least they provide a working binary driver.
Incidentally, ATI's Windows driver on my Windows 7 machine crashes with regularity as well, so maybe the problem is just bad ATI hardware.
It's a bit unfair to say OpenGL is bad just because the open source guys can't implement it correctly in the Linux drivers.
It isn't the responsi
Re: (Score:3, Informative)
Re: (Score:3)
AMD's closed source drivers on windows suck too.
You joke, but they've improved a lot over the last few years.
About the only bug that affects me is that if I alt-tab back to the desktop out of a full-screen game, then sometimes my performance plummets when I switch back.
It's a bug that's still present, despite years of complaints on forums, and has something to do with the power management switching the card to low-performance '2D' mode to reduce power usage, then failing to switch back to 3D mode.
If AMD got off their ass and fixed that bug, then it would
bling lag (Score:3)
The Evergreen 5xxx cards were well ahead of Nvidia in performance and power consumption. Over the longer term, AMDs openness about hardware specs. will play out to their advantage. A policy direction like this one takes years to play out. They decided to invest development effort into cleaning up their code base so they could open source the majority of the specifications. This is a slow process and likely diverted talent from bug fixing their proprietary drivers. Meanwhile Linux is trending to a saner
Re: (Score:2)
Given how sucky the ATI binary drivers are and how the open source drivers are so much better, maybe ATI should stop working on them at all and make the open source codebase the only driver on Linux for ATI cards.
Re:Yes, as I've said many times.... (Score:5, Informative)
After that, I'm wondering if it's better to use D3D and Wine instead of native GL!
Then I guess it will surprise you to know that Wine implements D3D on top of native OpenGL. If Firefox worked better on Wine, it would only mean that the Firefox developers can't write decent OpenGL code, but Wine developers can.
Re: (Score:2)
It may be the case that OpenGL is not an easy API to write for ; or that the available OpenGL implementations are easy to break, or that the OpenGL spec is loose enough that it is easy to implement badly.
The Wine developers almost certainly have more experience than Firefox devs of working around OpenGL quirks because they've been coding their version of DirectX for so long.
It speaks volumes about the relative ease of coding and general robustness of design of DirectX versus OpenGL if the Firefox team, who
Re:Yes, as I've said many times.... (Score:5, Informative)
Re: (Score:2)
Re:Yes, as I've said many times.... (Score:4, Informative)
After that, I'm wondering if it's better to use D3D and Wine instead of native GL!
Wine, which implements D3D by translating it to OpenGL?
Re your argument that it's not cross platform... .........
D3D is available on at most 3 platforms – Windows, WiMo 7 and XBox
OpenGL is available on Windows, Mac OS, Linux, iOS, Android, Playstation, Wii, Solaris, various BSDs,
Just the fact that it runs on both windows and mac is enough, and the fact that one of the implementations is poor does not defeat this argument.
Re: (Score:2)
D3D is available on at most 3 platforms – Windows, WiMo 7 and XBox
You forgot Xbox 360, which is the only set-top console open to home-based developers. For them, it's either Xbox Live Indie Games or have your game confined to a desk.
OpenGL is available on Windows, Mac OS, Linux, iOS, Android, Playstation, Wii, Solaris, various BSDs, .........
I've read that very few games for PLAYSTATION 3 use OpenGL ES. It's not particularly efficient and is basically there so that developers can get simple little <=$10 games ported without having to figure out the RSX GPU's actual API. As for Wii, I've read that its GX API isn't any closer to OpenGL than the API on the DS either.
Re: (Score:2)
card manufacturers take Linux seriously, these problems are always going to occur. That's why it's stupid to use the argument that OpenGL is better than D3D because it's cross-platform. It's only cross-platform insofar as there is actually an implementation on Linux
Yes, there are only two platforms in the world. OS X supports OpenGL and has much more market share than desktop Linux. All modern handhelds support OpenGL ES. But don't let that get in the way of a good ramble.
Re: (Score:2)
We're talking desktop here, not hand-held. The point is that card manufacturers put a huge amount of resource into D3D, and far less into OpenGL.
Re: (Score:3)
Re: (Score:2)
But then the issue is whether or not it's worth investing and supporting the GL pathway. This is a decision each individual company will make based on potential sales. I'm not so sure it's worth investing in Linux i
Re: (Score:3)
This is a decision each individual company will make based on potential sales. I'm not so sure it's worth investing in Linux in this respect and the Mac ships with NVIDIA card, doesn't it (I don't own one), which may explain why their support for GL is much better than ATI's.
I take it that you've not seen the results of the Humble Bundle sales [humblebundle.com]? For the 232,854 purchases made the average purchase was $7.84. Windows users paid $6.68 (85%), OSX $9.27 (118%) and Linux $13.78 (175%). Linux users, the supposed "sponging" FOSS OS users, paid the most per sale.
If you don't want to make a buck out of Linux users, sure, ignore them. But given the lack of competition for Great Games on Linux and their apparent willingness to pay good money for them, it sounds like a foolish move to me.
Re: (Score:2)
Using Direct3D limits you to desktop Windows and the XBox.
And Xbox 360.
Using OpenGL lets you use the same code on handhelds and consoles as well.
Which console uses (an efficient, conforming implementation of) OpenGL? Which console allows the deployment of free software? Both Nintendo and Sony actively fight free software.
Mac OS X uses OpenGL [...] and has a larger market share than desktop Linux.
Mac OS X also has far less gaming market share than Xbox 360.
Re: (Score:2)
Re:Yes, as I've said many times.... (Score:5, Insightful)
Graphic cards manufacturers do take Linux seriously. At least Intel and AMD/ATI do, they contribute with open source drivers, engineers and even specs.
And after years of supporting opensource drivers, they still suck. The problem is that a good quality graphic driver is really hard. It takes years and several engineers to write one, so often the drivers are late or incomplete. As if that wasn't bad enought, Linux has needed to rewrite big chunks of the graphic stack: KMS, and now Gallium3D, which force a kernel/mesa driver rewrite. And then there are other problems, like the fact that X sucks and graphic drivers have not been able to make Xrender really fast (some times toolkits seem to be faster using software than using Xrender; also Xrender doesn't reports which parts of its interface are hardware accelerated and which ones are using a software fallback which makes hard to trust it)
Re:Yes, as I've said many times.... (Score:5, Interesting)
Isn't it funny then that the vendor who, according to you, doesn't take Linux seriously, is the only one with working drivers?
Re:Yes, as I've said many times.... (Score:4, Insightful)
They've cleaned up their Windows act (Score:4, Interesting)
Can't speak on Linux as I haven't used it on the desktop but for Windows, their drivers are fine. I still wouldn't rank them as highly as nVidia's, but it is mostly advanced features. Stability wise they are great, and they support all the current technologies (DX11, DirectCompute, OpenGL 4.1, etc).
I've had a 5870 for about a year now and it has worked real well, I don't find myself saying "Man I wish I'd stuck with nVidia." Now I still like nVidia better, and I'll be getting an nVidia card next round if they have a competitive offering (they didn't when I bought the 5870, they currently do) but it is for little things. For example nVidia handles per application settings much more gracefully than ATi. I have no reservations at all about using and recommending ATi, if they are the better value.
That was certainly not always true. There was a time when I wouldn't touch ATi with a 10-foot pole. However these days, for Windows at least, they are fine to use. Graphics are fast and the system doesn't crash, which is really what matters.
Re: (Score:2)
There are multiple measures of an X driver. Nvidia's proprietary driver provides good 3D support on recent hardware, but they lack support for older hardware and RANDR. Doing multi monitor support their own way means it doesn't integrate well. Nouveau supports older hardware better but lacks 3D and power management in comparison. If Nvidia were to support the open source efforts with documentation rather than just the closed source driver, then perhaps Nouveau would progress quicker. Nvidia's support is bet
Re:Yes, as I've said many times.... (Score:5, Interesting)
Heh. NVidia obviously does take Linux serious, because they continue to put out good, working drivers with each subsequent release, and are obviously the only cards to get for Linux users that needs working, stable 3D, such as those doing 3D CAD.
I've been using NVidia cards for more than 10 years and I've never had a single X server crash related to NVidia's drivers. The two times I tried AMD/ATI cards, I threw my hands up after numerous X server crashes.
Re: (Score:3)
After so many years they still can't get the graphics and audio foundations right. They can say all they want about OSS purity and it's the fault of the hardware people for not doing drivers right, and so on. But guess who makes it so hard for the driver makers? Make it harder than it has to be and the hardware people don't really care- the number of sales they lose is not really significant - even OS X has a bigger share than Desktop Linu
No, not correct (Score:5, Insightful)
Rather nVidia's drivers are a result of two things:
1) Getting tired of the Linux situation. Much of the problems with the bullshit in X and the underlying layers nVidia just avoids by bypassing it all with their drivers. They do things their own way and it works. They weren't interesting in fucking around with all the politics and BS and waiting around for a reasonable standard to get developed, and just made something that works. They shouldn't have to, and didn't on Windows which provides a solid graphics infrastructure (which also allows for extension so you can implement other APIs like OpenGL) but htey did on Linux.
2) Their drivers use code they've licensed that they can't distribute. Various things are patented or licensed in some way and they can't just hand it out. So to do an OSS version would mean to rewrite the drives without it, and generally using programmers that had never worked with it to avoid issues of contamination. That is difficult and expensive. Before you claims that can't be the case note that AMD hasn't just opened up their binary drivers. The reason is the same.
Basically nVidia did what was best for their business, and best for their customers that want to get work done. They made Linux graphics drivers that work well. They aren't OSS friendly, but they can accelerate OpenGL well and they have been doing so for years. They weren't interested in ideological purity or the like, they were interested in having good support, and their strategy delivered and is STILL the only one that does, after all this time.
Maybe in a few years you'll be right, there'll be an open solution that works as good or better. Maybe at that point nVidia will use it. However right now I have trouble faulting them. Their shit works where the other's don't. That is really all that matters.
Re: (Score:3)
1) Getting tired of the Linux situation. Much of the problems with the bullshit in X and the underlying layers nVidia just avoids by bypassing it all with their drivers.
All very well and good, and nVidia is big enough that if they wanted to promote a new standard, they could. But...
They do things their own way and it works.
For some value of "works" -- and it's also proprietary and in their drivers, not really accessible elsewhere.
I've noticed a similar issue on Windows -- essentially, there's native OS ways I can set up multi-monitors, and they sort of work (better than Linux), but it's still an entirely different and incompatible system. I hear the X.org people telling me that, for instance, I should be able to p
Re: (Score:2)
Re: (Score:3)
Things will be interesting with sandy bridge if intel keep releasing driver code and specs. Your choices will then be Nvidia driver that is closed, AMD/ATI that is open but sucks, or Intel which is just going to catch up through brute force simplistic hardware.
No, i don't ever expect intel integrated graphics to be superior performers outright, but given the choice between badly supported high end hardware and well supported mid-range hardware, i know what i'd be taking.
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:3)
Perhaps the X/Linux developers should take hardware manufacturers more seriously. Linux still refuses to make a stable driver ABI that hardware vendors can count on. Ive heard the arguments before against that they are they dont make sense. It would allow the user to decide which driver to use, it does not preclude open source drivers, in fact, it would increase deployment of Linux since there would be more users as the Linux hardware support improved. Putting up with a system that has binary drivers that a
Re: (Score:3)
Uhm, Wine does not work that way.
Actually, that's only partly true. Gallium3D now has a Direct3D state tracker, so WINE can use the GPU directly for implementing the high-level parts of Direct3D, rather than going via OpenGL. Of course, this only works with drivers using the Gallium3D infrastructure (so, not the nVidia drivers).
Re: (Score:3)
I don't know what the issues would be with submitting the code as open-source and into the kernel but whatever. I assume GPL is a big reason regardless of whatever it's code into the kernel, binary blobs, changes within the API, whatever.
I think the problem is that when you turn the code into open source then anyone can see it. And the companies might not like that. It could be that there are trade secrets that wouldn't be secret anymore, it could be that there are skeletons in the code that nobody must ever, ever see, or it could be that the code is just too embarassing :-)
That's for example why Apple bought Cups. If you make printers, you can now use Cups to create open-source drivers as you always could, but the manufacturers don't see
Re: (Score:2)
Not so. CUPS is dual licensed; the parts that let you write drivers are LGPL, while the rest of the distrtibution is GPL. That maans that you can write proprietary CUPS drivers regardless of platform. Printer manufacturers don't write Linux drivers because they don't want to support it. They write OS X drivers becau
Re: (Score:2)
Linux will run closed-source drivers just fine. There are several closed-source and restricted drivers that work perfectly well, not to mention binary blobs. Wireless cards are a very good example of where this happens a lot (mixed-source driver loading an OSS driver, but a closed-source binary firmware blob, for example). The nVidia graphics driver is another perfect example. There's absolutely no reason that this can't happen in printers as well.
Distribution rights and copyright are the main reason that c
Re:Yes, as I've said many times.... (Score:5, Informative)
Re:Yes, as I've said many times.... (Score:5, Insightful)
That has nothing to do with the license. FreeBSD and Solaris both manage to maintain stable kernel ABIs, so upgrading the kernel typically doesn't require kernel modules to be recompiled. Linux breaks them for fun because Linux devs like making work for other people.
Audio is equally amusing when you use Linux. On FreeBSD or Solaris, multiple apps can open /dev/dsp, can write audio, and can have independent volume controls, and it all just works. On Linux, you need to have a userspace daemon running to make this basic functionality work, and you need all of your code to agree on exactly which userspace daemon it should be...
Re: (Score:2)
Re: (Score:3)
What % of desktops are Linux? 2%? It's not worth the development effort for a mainstream consumer product, especially given that a fair number of that 2% aren't gamers anyway (if they were, they'd be on Windows!).
You say 2% like it's a small percentage, but in absolute terms it's a large number of people. Millions. And if you have something that runs on OS X, getting it to run on Linux is not a herculean endeavor. It's not like they have to rewrite everything from scratch. In non-outlier cases it would have a positive ROI.
Add to that the fact that most games aren't released for Linux, which means that if yours is, you're likely to get proportionally more sales than on other platforms because there is less competitio
Re: (Score:3)
What % of desktops are Linux? 2%? It's not worth the development effort for a mainstream consumer product, especially given that a fair number of that 2% aren't gamers anyway (if they were, they'd be on Windows!).
Since a significant number of Windows desktops (I'm inclined to say "majority", but I can't back that up) are running in corporate or government environments they shouldn't be classified as "consumer" targets.
If you look at the recent Humble Bundle [humblebundle.com] game sales, around 60% of sales were to Windows users and about 20% each to Linux and Mac (OSX). Interestingly the Linux users also paid the most per sale, then OSX users, with the Windows users bringing the average down.
Wine players already knew that. (Score:3, Interesting)
There are plenty of games that would be a bother to play via wine were it not for the Nvidia drivers. Thats why for more than 8 years I've installed nothing but Geforce video boards on most desktops, sad as it may be.
GLSL vs KWin (Score:5, Insightful)
This conclusion matches the observation of the kwin developers who are brave enough to use GLSL for desktop effects
http://blog.martin-graesslin.com/blog/2010/09/driver-dilemma-in-kde-workspaces-4-5/ [martin-graesslin.com]
Without citations to back it up, the response of some open source devs was, IIRC: The KWin guys don't understand open source. They are meant to get in touch with the driver developers and help getting the bugs resolved, preferable send patches. The clutter developers i.e. sent patches to solve driver problems.
IIRC, the mentioned contribution from clutter devs to the graphics drivers were made by Red Hat employees, which heavily backs the gnome development. Red Hat has lots of money and eve more important expertise in house to tackle such problems. The KWin guys don't have these resources.
Open source gives the means to find, analyze and fix bugs, but its not mandatory. Saying so would mean that one has to know the code bases of every open source library used by his or her application. Thats ridiculous.
The firefox devs sure don't plan to get into linux graphics driver development and thats fine.
The real problem is that the driver teams don't have enough resources (money and developers) to get the job done. I'd be happy to vote with my feet and only buy graphics hardware with good open source drivers to encourage to hardware vendors to hire linux kernel developers. But right now I have to stick with nvidia since their drivers, though not open source and certainly have their own bugs, are the only sufficient choice for OpenGL (and OpenCL) on linux.
Wait a minute (Score:5, Insightful)
If you need to hardware accelerate web browsers these days, I think that more indicates a problem with modern website design.
Re:Wait a minute (Score:5, Insightful)
THANK YOU.
Of late, of all programs that I run on my machine, it's the web browser that takes up the most CPU. More than Gimp, OpenOffice (I'm more of a Latex person meself, but still), PDF readers, or any other utility that you run in for core productivity, it's the fucking bloated webpages that are the most taxing on my CPU. It's the Flash plugins, and the javascript - I have to block /. in noscript or the scrolling becomes all laggy (and as you'd expect /. have more competent developers than other sites, it's better than most).
I have to upgrade my computers so i can browse the internets. Lame.
Re:Wait a minute (Score:4, Interesting)
The thing that grinds on my nerves most of all is the rampant use of scripts from external domains. I mean jquery and the like. There are too many websites that require my browser to download scripts from several sites in order to render at all. Too many sites where I have to spend 5 minutes tweaking noscript to view a page...maybe that's the intent, to get me to stop using noscript. I'm certain that some sites deliberately make it hard to load a page without temporarily disabling noscript.
Re: (Score:3)
When people design a page/site that delivers a >1MB total payload on every page without proper cache controls is a separate issue. People loading jQuery from the ms or goog cdn is a good thing... it increases the likelihood
Re: (Score:3)
This from the geek who lives within the cloud. That grand and glorious HTML5 future in which everything - games, video, animation - will be done from within the GPU accelerated browser.
The state of the graphics stack doesn't help (Score:4, Interesting)
Graphics drivers are all over the place. For instance, the intel stack, to be complete, requires:
- the xserver tree
- the protocols tree
- the libdrm tree
- the intel 2d video driver (includes separated DDX driver and XvMC driver)
- the kernel (drm tree)
- mesa with its integrated drivers
- libva (for vaapi)
That's 5 hardware-accessing drivers (internal kernel, DDX, XvMC, internal Mesa, libva) in 4 trees linked together with libraries and applications coming from 3 more trees. And they call each other through layers and layers of function arrays with no real documentation at any level. It's always fun when trying to understand a function to see it calling another one through a function pointer which after two more indirections finally ends up in another function a paragraph after the original one. And you have to trace everything, because the just as innocuous call after that one is in fact going to send a message through a drm connection and the X server to the DDX driver. And will be as documented as the previous one. Add to that a (failed, but present) tentative in the code to support almost any combination of versions in this dreadful house of cards, and you end up with an astounding amount of added complexity that does not make debugging easy.
And fixing that is probably not going to ever happen until X/Mesa is dead under its own weight. The bitching when the n protocol trees became the one protocols tree was incredible, I don't see the poor soul who managed that one doing it ever again.
OG.
The Linux graphics is getting there. (Score:4, Informative)
Re: (Score:3)
I think that there is a lot of negativity going because, as most old-time Linux users can attest, the state of "it's all new, but it's moving along nicely and will fix everything in the end" is essentially permanent in Linux land. We've heard the same about sound for years and years, and it's still a mess. I don't hold my breath regarding it being any different for graphics.
Re: (Score:2)
Ah, but at least the OS X drivers are likely fairly consistent with the bugs due to the limited amount of different mac hardware out there.
I'm not sure why you say windows openGL drivers are practically non-existent, because every id game in the past decade or so has been openGL.
Re:OpenGL no rosy story (Score:5, Informative)
Ah, but at least the OS X drivers are likely fairly consistent with the bugs due to the limited amount of different mac hardware out there.
I think a more accurate statement is that OS X OpenGL bugs typically don't crash the UI, unlike Linux OpenGL bugs. OS X OpenGL bugs mostly involve features not working. Like antialiasing, for example. Apple does a lot of work at the Quartz level to get decent antialiased graphics primitives.
Re: (Score:3)
- Will the next id game default to OpenGL (on windows)?
While I generally prefer OpenGL over DirectX for a number of reasons, OpenGL really isn't doing so hot in recent years.
That would be Rage, which is crossplatform and according to Carmack is an OpenGL game. Though the fact that it runs on Xbox must mean there's at least a D3D layer in there somewhere.
Re: (Score:2)
Not sure what you are talking about on Windows (Score:5, Informative)
nVidia supplies top-flight OpenGL drivers with their cards. They are in every way as stable and as fast as their DirectX drivers, and support the latest standards. ATi's OpenGL drivers are nearly as good. I haven't tested them recently but last time I did they weren't quite as fast as DirectX, but nearly so, and their feature support is current (4.1 with the current drivers). Their main issue is with older games since they can't limit extensions reporting which can cause problems for games that can't handle all the extensions modern cards have.
The support is true over many generations too. The very latest cards, the 580 and 6970, support OpenGL (version 4.1 in this case), and support had been there for a long time. Go back and get an original GeForce 256, you find that it supports OpenGL (1.4 in its case) and every card in between. Not an extra download either, it is part of the standard drivers they provide on their website (and their OEMs ship with their cards).
That isn't non-existent, that is heavily supported. More or less if you have a dedicated graphics accelerator on Windows, you have OpenGL support. The only major graphics provider I don't know about in Intel. I know their graphics chips have OpenGL support, though it lags a bit, but I've no idea how good it is.
Regardless, I'd say Windows drivers being "practically non existent" is very incorrect. If you want 3D acceleration for your system, you purchase an nVidia or ATi card. They are the only guys in the business anymore. They both supply current OpenGL drivers with their current products. Means OpenGL drivers are readily available, and in fact installed on most systems that have discreet 3D.
Re: (Score:2, Insightful)
"- Windows OpenGL drivers are practically non existent". That's just non-sense. ATI and NVidia drivers both include OpenGL up to version 4.0. The Windows OpenGL drivers are so advanced they let you use directx 10 features, such as image arrays, on Windows XP.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Google never had a problem getting it to work in Chrome.
In fact the dev builds on Linux were the first to have hardware acceleration.
Whether or not they're wrong about the drivers being shit (I won't disagree entirely) other browser developers aren't too incompetent to get it to work..
Re:It's true. (Score:4, Interesting)
Google cares about having their browser run well on Linux because they intend it to run on Chrome OS. Mozilla doesn't really care about Linux support going all the way back to when they were Netscape. Linux/UNIX has never been a 1st class target, only a port with a 'couple guys' working on it.
Seriously, I bought Netscape 1.0 and the Linux binary wasn't even on the CD. Back then buying was the only way to get export prohibited crypto. When I asked them about it I got blown off. Some years they care a little more than that, others about that little. At all time they make it clear a hold up on a port won't slow down feature development on their primary platform. IE is getting hardware assist so Firefox WILL ship it before IE9 leaves bets. And that probably makes sense from their pov.
Re: (Score:3)
If you are interested about 3D performance on ANY platform, your choices aren't terribly diverse.
It's down to only 2 vendors: ATI & Nvidia.
It doesn't really matter if drivers for crappy gear is "whitelisted" in MacOS or Windows.
Re: (Score:2)
Indeed. Using FreeBSD/amd64 here, and as soon as I've started programming OpenGL past Mesa3D (OpenGL 3.3 and 4.0/4.1), only the NVIDIA proprietary blob worked more or less fine (though it has its set of quirks and bugs). No luck with ATI/AMD nor with INTEL drivers and GPUs.