LWN.net Logo

Need good FLOSS drivers for 3D cards (NVIDIA, ATI)

Need good FLOSS drivers for 3D cards (NVIDIA, ATI)

Posted Apr 9, 2008 1:52 UTC (Wed) by drag (subscriber, #31333)
In reply to: Need good FLOSS drivers for 3D cards (NVIDIA, ATI) by dwheeler
Parent article: A Linux Driver Project status report

The Nvidia driver was the #1 reason Vista crashed as revealed by court released Microsoft
documents. Over 28% of the crashes were caused by it and that's comparing it to
_every_single_piece_of_hardware_ that Vista supports.

Nearly a third.

I am told that the core of the Windows driver is about the same as what is used in Linux. 

Soooo... That's not looking pretty.
the thing about Linux and 3D drivers is that the driver model is f*ked. It's a huge mess. And
it's not even Linux developer's fault.. it's all those years that Xfree stagnated.. Windows
left Linux in the dust when it came to video drivers. 

Right now 2D and 3D are totally different code bases, totally different APIs. But yet they
have to do very similar tasks on the same exact hardware at the same exact time. Not good. 

As far as 2D performance goes.. No video card maker has put any effort in improving it in
years.  In very modern cards there is _no_ 2D-only hardware. It will either done by internal
emulation or simply lack any support for 2D acceleration at all.

So a unified driver based on the GPU is going to be needed going forward. One that supports
multiple APIs. 

To bad we don't have one yet. Except in very early development. (Gallium3D)


Until we are able to get rid of the schism of 2D vs 3D in Linux/X.org (at the driver level..)
it will not have the stability and performance that you get from Windows or OS X. Not so much
in terms of crashing.. but just in terms of general ugliness, lack of performance, and
difficulty (on the part of driver developers and end users). 

One example is during video playback many people will notice that if they use Linux for HD
video there will be occasional tearing and lines across the middle of the screen were you have
overlapping frames and such. This is because there is no way to sync video up with your
refresh rate so that you get a nice solid frame of video ready for each screen refresh.

Why? I donno. The design of Linux drivers simply won't allow it without exceptional difficulty
I guess.




(Log in to post comments)

Need good FLOSS drivers for 3D cards (NVIDIA, ATI)

Posted Apr 9, 2008 2:02 UTC (Wed) by drag (subscriber, #31333) [Link]

Oh. And it looks like Via has finally come around and decided to help out with driver
development rather then just kinda do everything half-assed and piss of developers that are
trying to make their hardware work good.

http://www.phoronix.com/scan.php?page=article&item=vi...

So that means that we have open source drivers development aided by:

Intel -- open source code and documentation.
ATI -- some open source code and reasonably full documentation.
Via -- we will do what they are doing; see linux.via.com in a month.

(there are two very cool things that Via does well that Linux users can benefit from.. Very
fast hardware encryption engine and decent hardware acceleration for media playback on the
very cheap.)

Nvidia -- ??

It's amazing. Nvidia does have fast drivers for Linux, but they are so proprietary that they
only support Windows for their new multimedia oriented ARM-based platform. This is a market
were Linux outsells Windows for most things.

A well. 3 out of 4 ain't bad. This means that Linux now has documentation for about.. what?
90% of video devices being sold?

At least everybody should be happy that things are moving forward.

(I wonder if OpenBSD will be contributing to 3D drivers now that documentation is avialable..)

Need good FLOSS drivers for 3D cards (NVIDIA, ATI)

Posted Apr 18, 2008 23:22 UTC (Fri) by endecotp (guest, #36428) [Link]

> It looks like Via has finally come around and decided to help out

That is good news.  I have some embedded things with nano-itx boards in, and the scary
"abandonware" nature of the framebuffer driver has been making me think about using a Geode
board instead; I posted about this on LKML (http://thread.gmane.org/gmane.linux.kernel/656335)
and got no replies.  Fingers crossed that they take the right approach.

Sync to VBlank

Posted Apr 10, 2008 14:23 UTC (Thu) by dlarrick (subscriber, #5532) [Link]

There are actually two mechanisms to sync to VBlank under XOrg.  OpenGL has the
GLX_SGI_video_sync extension, and DRM has DRM_IOCTL_WAIT_VBLANK .  One or both of these works
on most modern hardware.  Both of these are useable for video output -- MythTV, for example,
will select whichever is available.


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds