LWN.net Logo

OLS: Open source graphics drivers

An Ottawa Linux Symposium talk called Open source graphic drivers - they don't kill kittens caught your editor's attention. The relative safety of kittens in the presence of these drivers had, until now, been something which, your editor thought, could be taken for granted. Sure enough, young felines need not worry too much - especially since open source graphic drivers have a distressing tendency to not exist for a fair number of cards. That situation may be changing, however.

Speaker David Airlie started with a review of the current state of free graphics drivers. Intel chipsets are relatively well supported, thanks to an enlightened position being taken by that company. ATI is a "former leading light" in the free software world, but is no longer cooperating. Even so, the free R200 driver is feature-complete and, at this point, faster than the binary-only fglrx driver. The reverse-engineered R300/R400 driver is getting closer to being ready; there is no hope for the R500 chipset at this point. Nvidia has a 2D driver in X.org which is "written in hex" and a well-supported, binary 3D driver. Said driver "still sucks," of course.

David took the time to point out that, once you load a 1MB binary blob into your kernel, you are no longer running a free operating system. There is no way to know what that code is doing, no way to fix it, and no way to support systems which have that code loaded. Support going into the future tends to be problematic; the vendors drop support for old cards sooner than many users would like, and are not always quick to add support for the newer chipsets.

Why do vendors refuse to support the free software community? David noted, with amusement, that both ATI and Nvidia withdrew support at about the same time that they got Xbox contracts. Let's hope, he says, that Intel never works an Xbox deal. More seriously, there is the usual talk of patent problems, third-party software which cannot be freed, and so on. These problems tend to evaporate when enough money is applied to the situation, however.

So what do things look like in the future? For Intel chipsets, says David, the future is "mostly excellent." Intel is friendly, and driver support tends to be available about the same time that new chipsets are released. For now, this is a group which seems to get it.

On the ATI front, the R300 reverse engineering effort continues. Support for the 9800 series cards has been stabilized - an effort which, at one point, required almost six months of a developer's time to find a single bit in one register which was causing the card to lock up. The R500 series is harder - though it does not differ all that greatly from previous offerings. David actually has a 2D driver which he wrote, and which he has submitted to ATI for permission to distribute. ATI has sat on the driver for some months with no response. Until such a time as ATI gives permission, David (due to NDA constraints) is unable to release his code.

On the Nvidia side, the best hope is the Nouveau project, which has set out to create a reverse-engineered 3D Nvidia driver. There about five or six people currently working on the project, which also looks to add some nice 2D features (EXA acceleration, dual head support). The Nouveau developers have no code to show at this point, being heavily involved in the reverse engineering work. Progress is being made, but this is a large project, bigger than the ATI R300 effort. For those who are interested in contributing to the community, Nouveau looks like a project which could use some more help.

Linux needs free drivers for graphics adapters. The challenges involved in freeing this part of our systems are daunting - there is a great deal of work yet to be done. The overall tone of the talk was optimistic, however. Developers are on the task, progress is being made, and the goal is, slowly, getting closer. The kittens will have their revenge in the end.


(Log in to post comments)

However, I'm voting with my wallet

Posted Jul 20, 2006 5:08 UTC (Thu) by liw (subscriber, #6379) [Link]

I attended, however, a talk at Debconf6 by Keith Packard, on a similar topic. This, however, was the first time I learned that Intel supports free drivers for their graphics. As I was at the time, however, looking for a new laptop, I decided to require it to have an Intel graphics chip.

Business is, however, best swayed not with arguments but by money. Only buy stuff that works with free drivers, however, that's the only way to get companies to pay attention.

However.

However, I'm voting with my wallet

Posted Jul 20, 2006 7:08 UTC (Thu) by davidw (subscriber, #947) [Link]

At the risk of being repetitive, I've set up a site that can help you vote for your wallet by helping you avoid stuff that's not compatible:

http://leenooks.com/

I added the ATI R500 information, but anyone with more detailed knowledge of hardware is welcome to go over and add/edit stuff (no registration necessary).

However, I'm voting with my wallet

Posted Jul 20, 2006 9:38 UTC (Thu) by drag (subscriber, #31333) [Link]

How about this site:
http://www.vendorwatch.org/index.php?title=Main_Page

It's about how 'consumer friendly' various hardware makers are based how much they document their hardware and such things. Looks like they got some progress in a short amount of time.

Maybe hook up with them?

OLS: Open source graphics drivers

Posted Jul 20, 2006 5:33 UTC (Thu) by drag (subscriber, #31333) [Link]

I think that this situation is fairly critical for people who are hoping for Linux on the desktop success.

If Linux has promise on displacing Windows on even a significant minority of desktops a pull out of support from either ATI or Nvidia will kill it instantly. Deader then a doornob. And if Microsoft has any leverage at all on ATI or Nvidia I beleive that they will do their best to try to make Nvidia or ATI choose between Windows and Linux... Of course the answer for them is obvious, Linux is going to loose every time.

The fact of the matter is that although distros Ubuntu and all the hard work that Gnome and KDE people put into the systems to make them usable to make them stable and work well for a large number of people it is entirely dependant on Nvidia's binary drivers.

People simply cannot use the software without the hardware support. Thats all there is to it.

The dirty little secret behind the success of the PC in developed nations is due to the success of video games. That's right, video games. Video games are not important for the server, or the unix workstation, or the business desktop. But they are absolutely critical for people like students and young people as well as the home desktop.

If there were no games that work on Linux, then there wouldn't be nearly as many people using things like Ubuntu as there are. Even if people use Linux all day at work, when they come home and if there arn't some fun games to play on Linux they'd rather just have Windows installed.

For example take DirectX/Direct3D. This is my understanding of why this thing is dominate on the Windows platform... Windows default OpenGL stuff sucks. OpenGL on Windows is very dependant on the quality of the drivers aviable supplied to Windows by indpendant companies. And since these companies are very propriatory oriented they each have their own OpenGL stack.. The stack will vary quite in quality and capabilities from PC to PC... Large scale game programmers don't know what their customers are going to have. Are they going to install the drivers from the cdrom, do they have the default microsoft stuff, are they using the latest drivers off of the internet? Are they using Intel or ATI's or Nvidia's OpenGL version, what is going on?

However since DirectX is supplied by one vendor and is aviable by default every Windows PC deliver good-enough 3d performance that the game designers can depend on. And if it doesn't work then it's not their problem it's Microsoft's support issue. They can target DirectX/Direct3D and know that it work.

But it's not like they are utterly dependent on it.. Pretty much every gaming engine has the choice of using Direct3d OR OpenGL. They work with both, but they still choose Direct3d.

What Linux needs, in my humble and rather unkowning opinion, to do is make SDL/OpenGL work as well on Linux as DirectX/Direct3d does on Windows.

It doesn't need to be as fast as Nvidia's propriatory drivers. It doesn't need to be as feature complete and it doesn't need to be targetted towards the high end/workstation end of the market like Nvidia does. But what it needs to be is consistant.

Consistant to the point were a fellow could install Ubuntu on a machine, apt-get some nice 3d game, and be able to play it by default. That's all. That's it, nothing special. This is something that anybody can do with Windows on any machine they feel like. (well except for the apt-get part, replace that with browser and warez site) They've been able to do this sort of thing since Windows 98 days. No sweat. Worst case they just had to upgrade their directX version, which was fairly painless.

Now another thing. Gaming on Windows has grown stale. All you have is these big propriatory companies cranking sequel after sequel. It's rare that they create something new. Make a football game becuase you can sell a new version each year because you have new names to stick on the Bios and stats between the games. Make a another first person shooter because the one that you made last year sold pretty well.

Sure they are pretty, but the game play hasn't changed much since Bond 007 on the nintendo 64. It's just too big, too expensive, with little choice but to be risk adverse.

Open source software can probably dramaticly reduce the cost and lower the bar for the entry level game maker. Recreate a environment were you are allowed to take risks, allowed to work on stuff that you enjoyed... And it's not like the software isn't there for Linux. We have all sorts of nice stuff that wasn't around just a few years ago when Loki was around.

For instance tools like Blender, it's much more capable and usable then it was just a couple years ago. Python scripting and all sorts of advanced stuff. Id released their GTKRadiant under the GPL just a little bit ago.

We now have decent gaming engines. Id quake 3d engines are being used to do some cool stuff. We have Ogre3d gaming engine. Crystal3d gaming engine.

These things are very capable and can do great things.

And what is sad is that I've actually seen people say things like Ogre3d is too Windows centric, which is kinda silly.

Most the major Ogre3d engine developers, from what I understand, are heavy Linux users. But almost all the game MAKERS that use Ogre3d are on Windows, Most of the people on their forums are going to be Windows users. It's easier to get Ogre3d to run under Windows. And all sorts of stuff like that. I don't think it needs to be this way.

If you can attract amature game developers by providing a platform for them full of great tools, great code, great engines that is nicely packaged and easy to use with it's own games and fun stuff. Then I figure they will start using it. And as those amature game makers stop being so amature and start making cools stuff then they will have all their stuff aviable on your platform first.

Then people will have a choice. Do they want to have the big monolythic games and game makers on Windows with numerious restrictions and hassles with cdrom protections, product keys, waiting on bugs to be fixed sometime-next-year, waiting for new features that never come.. Or they can come to Linux and have access to lots of fun, new, and interesting stuff and then can not only play the games, but contribute their own stuff as well. I know that with Quake2 on Windows and Quake3 on Linux my favorite games and stuff to do with those engines weren't nessicarially what Id provided by default.. but what was aviable from 3d parties and add-ons to those engines. I remember seeing hundreds of user contributed models for quake2, some of which were as high of quality as any propriatory game.

I think that if distros work with people that do make and produce open source games and gaming tools to make these things more aviable and start having them as features I think it may start to attract a slightly different audiance then it has done in the past. It doesn't even nessicarially need to be big propriatory games like Ut2004 or windows compatable layers like Cedega (although that helps a lot in getting people to switch), but just having the stuff aviable for them to play with.

I mean you include have a dozen browsers, file managers, Gimp, Krita, Kino, openoffice and other such things.. Why not also Blender, Wings3d, Crystalspace, Ogre3d, (and their respective language bindings which make game making much more approachable) GtkRadient, Nexuis, Alien Arena, Scorch3d, etc etc?

Just saying.. (I suppose this is pretty long rant, I'll go away now)

OLS: Open source graphics drivers

Posted Jul 20, 2006 11:59 UTC (Thu) by kleptog (subscriber, #1183) [Link]

Umm, DirectX is generally better because someone actually tests the drivers and bundles them up in an easy to install way. Microsoft doesn't write them, that would be silly. If someone got all the OpenGL drivers into an easily installable package, tested every driver thoroughly (for backward compatability if nothing else) and proactively encouraged the vendors to fix bugs, the support would be steller.

I know that OpenGL support improved markedly when quake needed it, can't say I've actually used Windows much since then so I'm not sure what happened since.

OLS: Open source graphics drivers

Posted Jul 21, 2006 5:58 UTC (Fri) by drag (subscriber, #31333) [Link]

Ya. I don't know. The only thing that matters is that it works. OpenGL and SDL are held in higher esteeme by most game makers.. Thats probably why all the major engines that run on Direct3D in Windows also have a option to render themselves on OpenGL. More 'indie' game makers seem to choose SDL over DirectX, or at least that is the impression that I get.

Not trying to belabor the point of the importance of games, but here is a whole army of game makers out there making things for linux. Check out Happypenguin.com some time. They are getting quite prolific. I think that they are due for more love or at least attention buy distros.

Or put it in the other way look at the Wine application database.
http://appdb.winehq.org/appbrowse.php

People trying to games to work under Wine have created 1180 entries. The next highest group of applications are 'multimedia' with only 397 entries. 17 out of the top 25 applications are games. And all of those except one (the poker game) is 3D.

OLS: Open source graphics drivers

Posted Jul 21, 2006 6:02 UTC (Fri) by drag (subscriber, #31333) [Link]

oops. ment happypenguin.org

OLS: Open source graphics drivers

Posted Jul 20, 2006 7:18 UTC (Thu) by maniax (subscriber, #4509) [Link]

" David noted, with amusement, that both ATI and Nvidia withdrew support at about the same time that they got Xbox contracts. "

Is there something I've missed, because I don't seem to have heard the news that NVidia are no longer supporting linux...

OLS: Open source graphics drivers

Posted Jul 20, 2006 8:25 UTC (Thu) by drag (subscriber, #31333) [Link]

supporting linux properly with documentation and stuff. At least under the NDA.

Especially ATI was fairly decent. They helped out with their 8500 ATI cards. Nvidia had that 'utah' drivers. And he was right about that. ATI closed off completely right about the time they got Xbox 360 contract.

With Nvidia stuff I don't know so much. Maybe they helped out with the Utah GLX stuff.

Btw, if it wasn't for high end markets wanting to replace aging SGI boxes with Linux on cheap PCs there wouldn't be any propriatory drivers for Nvidia or ATI cards. At least with ATI. Originally their drivers were only for their workstation class cards, but people massaged them to work with consumer class cards.

Now ATI is even refusing to let open source 2D drivers work with their r500 series cards.

OLS: Open source graphics drivers

Posted Jul 25, 2006 12:43 UTC (Tue) by pointwood (guest, #2814) [Link]

You can't help but wonder whether that is connected or not...it's not like MS haven't done similar things before...

Reverse engineering

Posted Jul 20, 2006 8:53 UTC (Thu) by rwmj (subscriber, #5474) [Link]

How feasible is it to run Windows and the Windows binary driver inside some sort of virtualised environment, and observe what PCI registers are written/read when various graphic operations are performed on the card? A free driver could then replay the appropriate sequences ...

Rich.

Reverse engineering

Posted Jul 20, 2006 9:34 UTC (Thu) by copsewood (subscriber, #199) [Link]

"How feasible is it to run Windows and the Windows binary driver inside some sort of virtualised environment, and observe what PCI registers are written/read when various graphic operations are performed on the card?"

Can't comment on the technical feasibility of this (though with a suitable debugging environment this should be possible), but IMHO observing what something you buy does should be legal nearly everywhere.

"A free driver could then replay the appropriate sequences ..." I think doing this would classify as copying, and therefore would be a breach of copyright, so it wouldn't be a free driver unfortunately. My understanding of the cleanroom procedure to follow here is to for one engineer to study the observations taken from the debugger and to draw up a product specification, and another engineer creates the free product from this spec, not knowing the detailed implementation of it in the proprietary product. Replay would be copying at too low a level, but reverse engineering is legal in most places, though some local regulations vary, e.g. the DMCA prevents reverse engineering of certain products in the US.

Reverse engineering

Posted Jul 20, 2006 19:16 UTC (Thu) by brouhaha (subscriber, #1698) [Link]

"A free driver could then replay the appropriate sequences ..." I think doing this would classify as copying
No, because the sequence of writes to the registers is not copyrighted, nor can it be under US law. The code is copyrighted, but the effect of the code is not. It is a purely functional aspect of the driver, not an expression protectable by copyright. (There is special provision for copyright of audio-visual works generated by software, e.g., the visual appearance of video games, or the "look and feel" of a spreadsheet program, but that doesn't apply in this case.)

If examination of the operation of the driver (via a logic analyzer or a virtualization environment, but NOT by a disassembly of the code) reveals that it writes 0x12 to register 0x37, then writes 0x66 to register 0xab, it is perfectly acceptable to write a spec that says that to accomplish some particular operation, those two register writes should be performed. Then someone (possibly the same person) can write code that performs those writes.

If the same information is determined by disassembly of code, then it is best to have a "Chinese wall", and have the person that disassembled the code only write the spec, and have someone else write new code based on the spec.

the DMCA prevents reverse engineering of certain products in the US
It only prevents reverse-engineering of copyright protection systems. In the case of a video card driver on a PC, that only means that you couldn't reverse-engineer the way the driver controls the Macrovision feature on the TV out (if the card even has that feature).

Reverse engineering

Posted Jul 21, 2006 6:08 UTC (Fri) by Ross (subscriber, #4065) [Link]

Actually it doesn't mention reverse engineering, but it does affect it. You aren't allowed to bypass copy protection schemes even for the purpose of reverse engineering.

Reverse engineering

Posted Jul 21, 2006 20:23 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

Some people recommend doing the two-engineer thing even where you reverse engineer by observing the effect of the program. Reason: Engineer #1 had a copy of the code in his possession, so someone might be able to (incorrectly) make a case that he copied it. Engineer #2 never had access to the code, so he's untouchable.

Reverse engineering

Posted Jul 22, 2006 2:08 UTC (Sat) by mikov (subscriber, #33179) [Link]

I don't think that would be feasible. A modern graphics card is an incredibly complex beast - asynchronous queues, DMA engines, modes, interrupts, hundreds of registers. Not to mention microcode. It isn't only about poking values in registers - you also need very detailed understanding of the internal organization of the chip. And I am not even talking about the 3D stuff ...

I have had the chance of seeing commercial closed source graphics drivers (under an NDA) and I had a relatively hard time figuring stuff out using the source and using whatever documentation was available (which is not always complete or entirely accurate).

OLS: Open source graphics drivers

Posted Jul 20, 2006 12:31 UTC (Thu) by airlied (subscriber, #9104) [Link]

slides are available at

http://www.skynet.ie/~airlied/talks/ols06/ols2006.odp

Matrox?

Posted Jul 20, 2006 13:58 UTC (Thu) by kh (subscriber, #19413) [Link]

Anything about Matrox?

Matrox?

Posted Jul 22, 2006 16:27 UTC (Sat) by bronson (subscriber, #4806) [Link]

Same thing. Back in the G400/450 days Matrox was phenomenal. Their driver may well have been the best available. Nowadays, they give open source drivers some lip service but no followthrough whatsoever.

http://www.figuiere.net/hub/blog/?2006/06/09/414-another-...

Which would be a problem except, by sales volume, Matrox is totally irreleveant anyway.

A grain of salt regarding Intel chipsets

Posted Jul 20, 2006 14:36 UTC (Thu) by kamil (subscriber, #3802) [Link]

Granted, Intel graphic chipsets have better free support than ATI or Nvidia, but before everybody rushes to stores for a new laptop built on Intel chipset, let me point out one irritating feature of their free driver:

It won't support an arbitrary resolution.

It simply won't. Period. It uses the video bios calls to switch to the graphics mode, and only supports the resolutions that are hard-coded in that bios. Typically, that's a small subset of standard 4:3 VESA resolutions. Attach a widescreen LCD and you are in trouble. Heck, many laptop owners couldn't even run the built-in 1400x1050 LCD screens at their native resolution, because it wasn't in the bios. That is to say, couldn't under Linux, because Windows naturally had no problems (it didn't use the video bios...).

Currently, several years after the problem has been noticed, the situation is somewhat better thanks to third party hacks such as "855resolution", which patch the in-memory copy of the video bios on each reboot, replacing one of the available resolutions with a user-supplied one, but I think we will all agree that that's not an optimal solution to the problem...

A grain of salt regarding Intel chipsets

Posted Jul 20, 2006 15:22 UTC (Thu) by airlied (subscriber, #9104) [Link]

As I said in future directions, Intel are working on fixing this the code is all available in public trees and they are working on stabilising it on all intel chipsets..

OLS: Open source graphics drivers

Posted Jul 20, 2006 16:50 UTC (Thu) by zooko (subscriber, #2589) [Link]

So where's the canonical web site that lists Free Software Friendly hardware? Note: not Linux-compatible hardware, not supported-when-used-with-Linux hardware, and not incompatible hardware (as per leenooks.org). I want a short, sweet, list of which models of hardware have open specs and Free Software drivers.

I know that linuxprinting.org does a fairly good job of this with respect to printers.

OLS: Open source graphics drivers

Posted Jul 20, 2006 16:54 UTC (Thu) by zooko (subscriber, #2589) [Link]

Oh, and another resource for finding out something about Free Software support among motherboard manufacturers is linuxbios.org. What I've learned from browsing that site is that Tyan is the only motherboard manufacturer who supports Free Software.

OLS: Open source graphics drivers

Posted Jul 20, 2006 16:58 UTC (Thu) by zooko (subscriber, #2589) [Link]

Still trying to answer my own question, I guess the best web site to aggregate this information would probably be fsf.org:

http://www.fsf.org/resources/hw

Unfortunately that list appears to be incomplete and slightly stale, to me. Perhaps we can help by sending suggestions to <hardware@fsf.org>?

OLS: Open source graphics drivers

Posted Jul 20, 2006 16:58 UTC (Thu) by jake (editor, #205) [Link]

> So where's the canonical web site that lists Free Software Friendly hardware?

an excellent question and one I would also like to see answered, specifically with respect to wi-fi pcmcia cards as i suspect my old Lucent/Orinoco card won't do well in the new 802.11g, etc. world ... it has been a while since i did much with public wireless networks ...

i want something that will work, out of the box, with free drivers ...

jake

OLS: Open source graphics drivers

Posted Jul 20, 2006 17:08 UTC (Thu) by svena (guest, #20177) [Link]

The FSF is working on such a list.
http://www.fsf.org/resources/hw

OLS: Open source graphics drivers

Posted Jul 20, 2006 19:53 UTC (Thu) by vegge (subscriber, #6926) [Link]

So what card should I get to go with a new AMD motherboard (PCI-E only, no AGP slots)?

I want to support (with $$$) a company that releases specs for their cards.

OLS: Open source graphics drivers

Posted Jul 20, 2006 20:40 UTC (Thu) by drag (subscriber, #31333) [Link]

THERE ISN'T. Not a single f-ng one.

Which sucks. Realy sucks.

Even 2-D support is questionable. The open source 'nv' driver is very inferior to the Nvidia propriatory driver. The nv portion only uses 2d, which isn't going to be around much longer. ATI already eliminated their radeon core out of the r500 so 2-D support for that is non-existant and as per stated above ATI isn't allowing the programmer to release open source 2d drivers.

Sorry.

If you want open source 2d drivers for your PCIE-based system you either have to:
A. Buy a Intel motherboard with a 915g or 945g chipset.
B. Buy a r300/r400 series ATI card.

I bought a used x800, personally. On that machine I had the Intel graphics, which are good, but I want fast 3d for doing Blender and such.

The r300_dri drivers are actually pretty nice nowadays. Using ones from CVS, that is.
http://megahurts.dk/rune/r300_status.html

Perhaps we should start to behave more like OpenBSD?

Posted Jul 20, 2006 22:23 UTC (Thu) by cventers (subscriber, #31465) [Link]

I remember reading through a thread on an OpenBSD mailing list recently
concerning crypto chips released by the company Hifn. Apparently, the
vendor would release documentation but only if you signed up for an
account / went through a company representative. Many OpenBSD developers
deeply objected to this for privacy and other reasons.

So some dude from Hifn had come in to the mailing list and declared that
his company's specs were Open. Not only did OpenBSD users/devs disagree
with him, the outpouring of harsh and negative responses to the Hifn
guy's assertion seemed like a rush of concentrated anger. Many users
alluded to their influence over the buying power of many of Hifn's
potential customers, and strongly promised to make sure those customers
would look elsewhere. There were even threats to drop the open driver!

When I read it, I remember thinking that the approach seemed rather
harsh. It looked like they had passed the point of showing concern and
were simply delivering the Hifn associate abuse. But I suppose that my
interpretation might have been quite incorrect. I think some of us in the
community have gotten so used to having to beg for specs and drivers that
we haven't been flexing our muscles as much as we can. What's the great
fear -- that our demand is going to anger the vendors enough that they
don't support us at all?

Now that ATI seems totally uncooperative on the r500, they might be a
prime candidate for this level of abuse. It should be loud, unrelenting
and all over the press, and it shouldn't cease until the very moment ATI
folds. If the major vendors don't want to release open source drivers,
fine -- but I think customers have a right to demand programming
specifications for the things they buy.

Additionally, we need everyone with the capability to do so to apply
auxiliary pressure. Anyone in the corporate sector with an interest in
running Linux hardware (be it for internal or product use) should band
together in sending the message to the vendors that they might find
themselves losing support if they're not willing to even attempt to be
reasonable.

It flat out pisses me off when I read about NVIDIA stating that graphics
drivers are so hard to write that we can't do them, or that customers
don't want open source drivers.

We as the greater free software community have a handle on just about
every technical problem you can imagine. We're more portable than
anything the proprietary world could ever produce or has ever seen. Our
features and capabilities are outstanding.

Our biggest problem then isn't a technical one in my opinion - it's this
business of free drivers. It's time to turn up the heat.

Perhaps we should start to behave more like OpenBSD?

Posted Jul 20, 2006 22:25 UTC (Thu) by cventers (subscriber, #31465) [Link]

Here's a link to an archive of the OpenBSD thread in question:

http://marc.theaimsgroup.com/?l=openbsd-misc&m=115017...

I am starting to think that this is how we must handle graphics vendors.

Hifn vs ATI

Posted Jul 20, 2006 22:54 UTC (Thu) by Kluge (guest, #2881) [Link]

My impression from the Hifn/OpenBSD thread is that the encryption chip and graphics chip markets are different a way that isn't favorable to supporters of free/open-source software. ATI and Nvidia are the only high-end consumer graphics chip makers around. And neither they nor any of their competitors (unless you count Intel, which doesn't compete in many of their markets) offer specs for the development of open source drivers.

In contrast, de Raadt said "I can get documentation for pretty much 99% of the [encryption] chips in the industry without supplying any private information." If this was the case for graphics chips, there would be no problem. Unfortunately, there's no 99% (or even 1%) of the graphics chip market with open source friendly policies.

Given that, we can deny ATI and Nvidia our money, but who do we give it to?

Hifn vs ATI

Posted Jul 20, 2006 23:04 UTC (Thu) by cventers (subscriber, #31465) [Link]

I recognize there are definite differences, but I think we need to be more
vocal.

Hell - go crazy with me for a second. What if we were able to organize
users and developers from GNU/Linux, FreeBSD, OpenBSD and NetBSD (since we
pretty much all have at least /some/ stake in having at least open specs).
This organized group picks 1 company to focus on (ATI) and comes up with 1
demand (programming specifications).

Then every day, every participant in our little protest calls each of
ATI's telephone numbers / departments once. Each of us calls tech support,
sales, RMA, and any other phone-accessible departments once every day.
It's eventually downright harassment, but every call costs them time,
money and frustration when they're not handling their other customers.
Eventually it becomes expensive to ignore our demand for programming
specifications.

And ironically, when we have the specifications and interested parties
have time to build r500 support, they might just have a flood of customers
(read: NVIDIA defectors) to help them earn all that lost support money
back. Then we set our sights on NVIDIA...

Hifn vs ATI

Posted Jul 23, 2006 6:48 UTC (Sun) by ncm (subscriber, #165) [Link]

By every single bit of advice from actual driver developers I have ever read, this is madness -- not just useless, but destructive. Venom on the mailing list had no effect at all, because nobody read it. What did have an effect was the real threat to their sales. Nothing anybody in Free Software can do can have any impact on their sales, because (1) too few are involved, and anyway (2) most of their sales aren't to end users, but to manufacturers who aren't even aware there's an issue, and would be uninterested if they did know.

What can possibly influence ATI and Nvidia? Volume sales. That's all. If you have a say in large-volume orders, and can convince ATI and Nvidia of it, you have their ear. Anything else is just grandstanding.

Hifn vs ATI

Posted Aug 2, 2006 2:11 UTC (Wed) by djm (subscriber, #11651) [Link]

Wrong. It did have an effect, as is evidenced by HiFn making their documentation completely free withouht click-through licenses or private information gathering.

Newsforge::On the horizon: an open graphics card

Posted Jul 20, 2006 22:53 UTC (Thu) by smitty_one_each (subscriber, #28989) [Link]

http://hardware.newsforge.com/article.pl?sid=06/06/16/211...

OLS: Open source graphics drivers

Posted Jul 21, 2006 17:36 UTC (Fri) by leews (subscriber, #4690) [Link]

Now that ATI and AMD are talking of merging, if the reports are to be believed, would this result in a better situation for graphic drivers, especially since AMD is very supportive of linux?

http://www.theinquirer.net/default.aspx?article=33185

One thing that always irritated me about AMD chipsets was the lack of integrated video, which forced me to choose intel-based boards for many projects.

OLS: Open source graphics drivers

Posted Jul 22, 2006 13:18 UTC (Sat) by alspnost (guest, #2763) [Link]

I was wondering the same thing. This would be a great opportunity for AMD to do something fantastic for the community - hint, hint! If AMD opens up the ATI situation, they could switch to virtually owning the Linux graphics market overnight. Though it would be an expensive change for me, having just bought two nvidia-powered machines recently :-)

OLS: Open source graphics drivers

Posted Jul 25, 2006 0:06 UTC (Tue) by roelofs (guest, #2599) [Link]

Now that ATI and AMD are talking of merging

...have announced their merger:

http://www.dailytech.com/article.aspx?newsid=3468

Greg

Inappropriate behaviour of system vendors

Posted Jul 21, 2006 23:34 UTC (Fri) by cfischer (subscriber, #3983) [Link]

A particular pain to me has been the behaviour of system vendors. Many times when I get to setup a Linux system for a customer, I am put in front of a system that supposedly "supports Linux", as per the system vendor's definition.

More often than not, this means I can get Linux to run on it only by using a very recent kernel with special patches, binary graphics drivers, and a lot of other twists to the standard installation that are sufficiently time-consuming to more than eat the price advantage.
This even happened some times when I got to order the system myself, since it's not always possible to verify a vendor's claims without a testing machine.

My personal definition of "supports Linux" tends to be, rather harshly, "all necessary drivers are present in the latest Debian stable distribution". While this may be too restrictive for many, I think those measures could help:

  1. A repository of known hardware that has a free driver in the most recent Linux release (kernel or X.org), and that has free specs available set up by an independent Linux authority
  2. A notification campaign to tell system vendors what the customer probably means by asking for a Linux-supported system
  3. Customers asking specifically for linux-supporting hardware with reference to the repository
I am absolutely sure that my customers would, on my direction and that of other Linux consultants, ask for such hardware only, and gladly pay a few dollars more; the cost is more than compensated by the saved setup time.

ATI drivers don't support my former top-notch laptop ATI card

Posted Jul 24, 2006 19:49 UTC (Mon) by erich (subscriber, #7127) [Link]

... the binary fglrx drivers, that is.

The opensource drivers offer okay performance.

ATI Technologies Inc Radeon RV200 LX [Mobility FireGL 7800 M7]

"officially not supported" by ATI. Thank you, bastards.
I'm so happy there is a free driver...

Ok, then, where to get spec for graphic engine in the Intel chipsets ?

Posted Jul 27, 2006 8:59 UTC (Thu) by kostikbel1 (guest, #33070) [Link]

Plain and simple. Where can I get programming guide for the Intel GMA 900/950 ? I know about and looked into the 945G chipset datasheet. It provides registers enumeration and feature list. I need the _programming_ guide.

Where ?

OLS: Open source graphics drivers

Posted Jul 27, 2006 12:20 UTC (Thu) by dmaas (guest, #38073) [Link]

Aside from making it easier for competitors to claim patent infringement, I think another reason vendors don't release source code is because they do product differentiation in software.

For example, I am pretty sure that the only difference between NVIDIA's less-expensive "consumer" cards and more-expensive "professional" cards is a single bit somewhere in the ROM that tells their driver whether to enable or disable certain features. If source code were available, it would be easy for people to hack the driver into giving them the equivalent of a "pro" card for a "consumer" price.

I'm not saying this strategy is right or wrong, just that it could be one of the main reasons behind graphics card vendors' refusal to offer driver code.

What about software rendering?

Posted Jul 27, 2006 14:30 UTC (Thu) by talphir (guest, #39482) [Link]

Given today's powerful CPUs, I wonder whether software-rendering would be an alternative for 3D graphics. Essentially the whole 3D game segment on PCs started that way.

It would certainly not be on par with bleeding edge GPUs but hey -- we want something stable, not flashy. It would work on all platforms, is all software and not even require a 3D card anymore.

OpenGL however could turn out to be too flexible an API to perform clever optimizations behind the scenes. I guess one of the secrets of the 90ies DOS games was that your renderer would just implement what the game needed. Not to speak of the overhead of pixel pushing that you have to do with resolutions beyond 320x200... so some downsizing would certainly be necessary, both in terms of APIs and functionality.

Still -- I like that idea. It would give incredible stability and per definition be 100% open source.

What about software rendering?

Posted Jul 31, 2006 16:10 UTC (Mon) by forthy (guest, #1525) [Link]

They actually do OpenGL "optimization". Like filtering textures in a way that works only good for horizontal and vertical walls (what the majority of games needs). There are a lot of cheats in the cards/OpenGL drivers to make them benchmark better on popular games. Oh, that's probably a reason why not to open source the driver, but if they choose to cheat, they could do that on their binary-only driver, and still have a competing OS driver that just happend to be more accurate but slower on rendering games.

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