If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
No announcement yet.
The Fallacy Behind Open-Source GPU Drivers, Documentation
I don't know of a solution, but hopefully we can all start admitting that there really is a problem.
Shortage of open-source driver development manpower is a problem. So is the "you don't want documentation" attitude among vendors. They're related, but different, problems. Acknowledging one does not invalidate the other, and a solution to one does not solve the other.
It's funny that you mention XGI; there's an XGI Volari hanging on my wall. I haven't gotten around to it. (Yet.)
Most of the devs are powered by money or some other overriding circumstance. I'm personally hate-powered; you have to wave bad software in front of my face to get me to write better software. fglrx, for instance. These days, nothing is worse than Notch's code, so I've been writing a Minecraft server.
Development *does* proceed along lines of open documentation, by the way. Which open-source Gallium drivers are actually backed by developers and considered ready for distros to start deploying? r300g and r600g. Why? Because amateurs armed with open documentation were able to put them together. nouveau's kept up due to a handful of *very* talented guys, but there's no denying that AMD's strategy has helped them out quite a bit.
Developers are rare. Good developers are rarer. Good developers willing to work on the hardest pieces of hardware available are rarest. GPUs are difficult to program, more difficult to program correctly, and yet more difficult to program correctly to run at high speeds and carry out tasks efficiently. That the community has gotten so far is really impressive.
Yes, I agree. It'd be nice to see these companies putting more money into X development. They've smartly spent most money on things that benefit servers and workstations (to a lesser degree). But if X had been brought up to speed years ago, it could have been a contender in the mobile market, at least more than it is now, and desktop could have had a fighting chance. Instead, companies like RedHat gave up on it and the result is glacial pace of development hobbled by a steep entry curve for newbies.
Dude. RH has been doing more X work than any other distribution or software vendor. Only the hardware vendors contribute more code. Feel free to enlighten us as to how X could be "brought up to speed;" I'm sure you have some terrific ideas with which you could instruct the community. >:3
I've actually found some very show stopping bugs. Unfortunately, none on the performance side, all on basic functionality. We need to get everyone to have a video that "Just works". It certainly is getting better... but definitely could use more test coverage, especially in things you don't usually test - like projectors.. (https://bugs.launchpad.net/ubuntu/+s...ux/+bug/500999). <- An example of a bug that I found that has started me testing more...
I would definitely be interested in doing more... I just got a new machine with an integrated ATI video on the motherboard and I also put in a ATI HD 3750 and on Windows you would apparently be able to use some magic way to combine their power...
We need to change the economics of the situation. We need to make it profitable for graphics makers to open source their drivers or parts of it. One way is to increase Linux market share. Getting various other firms like Red Hat to pledge to help develop the drivers (this would be different than now because they would be helping develop the primary drivers which would then be open source, not a separate project like mesa) would help, too. I know it's a long way from that now, and it's a tall order to get there, if it's even possible with intellectual property worries and what not. I think that would ultimately be the best solution though.
The article seems more like a blog entry than news. But anyway, what about a mentor program sponsored by someone like Red Hat, etc?
...Where experienced developers offer direction and guidance. Where we have videos on how to get started. Where there are examples in what is good/accepted code submissions. Where there is a clear roadmap on where we are going. And so on.
Mentoring goes on every day on the IRC channels; new developers get pretty good support and guidance. When patches get rejected the reason is usually architectural (hey that won't work in this case) rather than anything related to coding style or other goodness/badness.
Here's a fair approximation of the roadmap (what's missing, what's needed) :
It doesn't cover performance because the devs are still trying to work out what *is* needed.
All of these things could be improved but doing more takes developers away from the improvements that users want, so the current level of documentation is intended to be roughly optimal given the (relatively small) number of people with solid programming background and enough time to invest. There is no documentation in the world that will make high performance GPU programming easy, unfortunately...
Phoronix: The Fallacy Behind Open-Source GPU Drivers, Documentation
One of the points that Linux users commonly say in lobbying hardware vendors to provide open-source drivers and/or documentation -- particularly for GPU drivers -- is that the open-source community will take the released code or documents and from there develop it into a reliable, working open-source Linux driver. However, that isn't exactly true...
Seriously, you cannot really get people interested in doing this if there is no code available for some. Different people have different interests and just the fact that there exist open source projects does not mean that they will contribute to them. They need to be interested in the project first. Getting your hardware to work is a major motivator, but that cannot be readily done without information from VIA.
Good article - that kind of self-criticism is too rare in the OSS scene.
Another example of missing man power is the continued lack of an VDPAU state tracker - there's nothing stopping people from doing it, no extra documentation is required (afaik). There's now even Christian König's excellent work for XvMC there to learn the basic howtos from. The API is well proven and a plethora of testing client apps is present. The potential fame and glory to gain is almost immeasurable - yet, no such thing going on and on @mythtv-users you don't even read the word AMD anymore these days...
But then again, we all have to admit, its also free as in free beer and so we have to accept it the way it is.
Needed to be said. Documentation is great (it really is), but it's not the be-all and end-all. Sometimes it works out great, especially for simpler hardware, but graphics are a daunting task.
That's why I truly admire the nouveau developers. When I first heard of the project years ago, I thought "very interesting project, but probably not going too far" -- how glad I am now that I was entirely wrong.
So kudos to the few Xorg and open Xorg drivers out there, I use your work every day and am very thankful for it