X drivers using GPU? What's the latest?


10 posts
by piglet » Mon May 28, 2012 2:56 pm
I'm really sorry if this is being documented in another thread I've missed, but is there any information on what the current state of play is for GPU-accelerated graphics drivers for X?

I hope someone from Broadcom's happily tapping away at their keyboard with a coffee-drip mainlined getting something working, and I don't want to disturb them... does anyone know?

Not demanding or anything. Just curious.
User avatar
Posts: 568
Joined: Sat Aug 27, 2011 1:16 pm
by theHetman » Mon May 28, 2012 3:49 pm
As far as I know no one at Broadcom is working on X drivers although Dom is providing some help here in the groups. The effort is currently being led by teh_orph who has something basic going but it's a long way from being useable. There is a video in the second of these links

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=4649
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=6488

I myself am working at a higher level on a framework to provide an easy way to create demos using the various GPU APIs (Open GL ES 2, Open VG, OpenMAX). My aim is to provide a wrapper for all the window setup, detecting if the demo is being run under X or not and providing basic input (keyboard and mouse) and cleaning things up nicely on exit. It's slow going as my knowledge of Linux is limited and my knowledge of X is nil, but it should be a fairly easy Pi project to start with.
Posts: 74
Joined: Tue Jan 10, 2012 5:42 pm
by jamesh » Mon May 28, 2012 4:32 pm
Correct, no-one at Broadcom is working on X acceleration, it will need to be a community effort. And that's best, because no-one at Broadcom/Cambridge has any X driver experience anyway, unlike the community out there of X people.
Unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11686
Joined: Sat Jul 30, 2011 7:41 pm
by Hexxeh » Mon May 28, 2012 6:27 pm
It's worth noting that whilst nobody at Broadcom is working directly on X drivers, folks like dom are helping where they can with knowledge. I know teh_orph has had help in getting his implementation working.
Posts: 90
Joined: Thu Apr 05, 2012 3:07 pm
by Scotty T » Mon Jun 04, 2012 7:34 pm
Wow, that there is a big ole bummer. I'd help write the driver if I knew how.

So is there a driver coming or are we never going to see one.

I know we all have different level of expertise but developing a GPU driver is a serious effort with some serious background knowledge.
Posts: 48
Joined: Wed May 30, 2012 2:51 pm
by babbage » Mon Jun 04, 2012 7:39 pm
So, the strongest selling point of the Pi is it's GPU chip, which is only usable currently under a very small set of circumstances. The general answer is 'write your own, cos we're not'.
Posts: 120
Joined: Mon Aug 29, 2011 2:23 pm
by jbeale » Mon Jun 04, 2012 8:09 pm
babbage wrote:So, the strongest selling point of the Pi is it's GPU chip, which is only usable currently under a very small set of circumstances. The general answer is 'write your own, cos we're not'.

You may be right about the GPU for most people. For my applications, generally headless low-bandwidth network server and data acquisition stuff- the GPU is not a selling point. A system for $35 including ethernet, USB, I2C, SPI, 256 MB and running Linux on 2 W power, and with a growing user base and dev community, the Pi is still the best deal in town even with no GPU.
User avatar
Posts: 2012
Joined: Tue Nov 22, 2011 11:51 pm
by theHetman » Mon Jun 04, 2012 9:02 pm
babbage wrote:So, the strongest selling point of the Pi is it's GPU chip, which is only usable currently under a very small set of circumstances. The general answer is 'write your own, cos we're not'.

I think that's a little unfair. The Broadcom guys have no X Windows experience and there are plenty in the comunity that do. As long as they answer questions about what's going on under the hood when we get stuck then I think that's fair enough.

I'm still working on my framework ... I've learned more about X Windows over the weekend than most sane people would want to know. I'm not knowledgeable enough to dig into X org but I will help around the edges.
Posts: 74
Joined: Tue Jan 10, 2012 5:42 pm
by DBit » Sat Jun 23, 2012 1:44 am
Computer Science student here.

Projects like this are part of why I love programming so much. I only wish I had much more knowledge and experience so I could contribute, but I've not been into programing very long and haven't learned anything significant as far as this project is concerned, only basic Java.

Let me say however that I received my Pi yesterday and for what it is it's awesome and you guys are all doing a fantastic job! It's the software that will make or break it however now, as I'm sure you're all aware. I can't wait to see what the future holds for R.Pi.

I will be following it's progress closely and contributing what I can. :mrgreen:
Posts: 1
Joined: Sat Jun 23, 2012 1:34 am
by Jim Manley » Sat Jun 23, 2012 5:24 am
DBit wrote:I will be following it's progress closely and contributing what I can. :mrgreen:

You may find that once you're out of school, your first job may not be primarily doing software implementation for precisely the reason you cited - lack of experience. Implementation should not be confused with mere programming - the former is part of a well-planned and executed software engineering process, and the latter is just ... well, not. Your first job may actually be in quality assurance (QA), where you would be tasked with conducting testing of your organization's software/hardware. You can help perform the same function with the X software and, while you may not comprehend how the code works (at least in detail), you should be able to understand how the software is supposed to work at a higher level of functionality.

Most large, long-term software projects, such as the X window components, include some sort of test suite of varying sophistication (BTW, X window is singular, not plural, there's no dash, and the first "w" is lowercase). The testing regime may be automated, usually using scripts written to run in a shell, Python, Tcl/Tk, etc., and/or may include manual operations that must be executed in very specific ways. That way, the software can be tested in a highly predictable, organized way with expected results completely documented.

You may want to see what's available for testing the X components and become familiar with them. Understanding the testing scripts and procedures should be easier than trying to figure out the X implementation at a lower level right off the bat. You can even practice on an existing implementation for another platform (e.g., an X server package for an x86 Linux, Windows, or Mac) to get the hang of how the tests are designed, set up, executed, and results analyzed. If it turns out that there is no rigorous test regime for the X components being built for the Pi, you could make a very important contribution by porting the test suite from another Linux platform to the Pi - if they're written in a standard shell or a scripting language, especially Python, the port should be fairly straightforward.

In any case, enjoy exploring your Pi - there is a heck of a lot in, or available for, every one of the OS flavors, not the least of which are multiple X server implementations.
The best things in life aren't things ... but, a Pi comes pretty darned close! :D
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!
User avatar
Posts: 1356
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, USA