Simon's accelerated X development thread


406 posts   Page 14 of 17   1 ... 11, 12, 13, 14, 15, 16, 17
by amknight » Mon Dec 03, 2012 7:07 pm
Sorry to be immensely dim and/or lethargic, but is there any way I can get hold of the Debian packages and source code to try this accelerated server out? I think it's a fabulous idea and I will give feedback.

I am presently using a hdmi-lvds adapter from chalk-elec to run a 10" screen, prototyped two powered hubs; thoroughly determined to produce a tablet faster and more usable than an iInfection.
Posts: 1
Joined: Sat Dec 01, 2012 9:21 pm
by A Future Pilot » Mon Dec 03, 2012 10:16 pm
Will this same development work towards things rendered in a framebuffer in the console? (I would assume not, since that's not inside X)

If not, would it be possible to get that accelerated? (I'm thinking for things like XBMC etc.)
Posts: 22
Joined: Thu Sep 06, 2012 1:59 pm
by ghans » Tue Dec 04, 2012 3:32 pm
But XBMC is already accelerated , isn't it ?


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4449
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by A Future Pilot » Tue Dec 04, 2012 3:40 pm
I don't believe so. I'm pretty sure it uses the CPU to draw the menus and such. Now the actual video playing is accelerated (it plays using the GPU). I was just curious about whether menus could be accelerated.
Posts: 22
Joined: Thu Sep 06, 2012 1:59 pm
by dom » Tue Dec 04, 2012 5:11 pm
A Future Pilot wrote:I don't believe so. I'm pretty sure it uses the CPU to draw the menus and such. Now the actual video playing is accelerated (it plays using the GPU). I was just curious about whether menus could be accelerated.


XBMC is hardware accelerated. Any pixel that appears on the screen is put there by the GPU using OpenGL/ES or OpenMAX.
Whether the ARM generates the commands to render the menus in an efficient manner is a different question. And probably best in a different thread.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4011
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by teh_orph » Wed Dec 05, 2012 10:35 am
Hi, sorry for the delay - I've been pretty busy!

I don't know much about XBMC however I was told the menus got faster when they took my memcpy code..? I thought it was all driven by GL though. If this is the case then I'm afraid nothing I've been developing in this thread will help. If they are using GL then,
dom wrote:Whether the ARM generates the commands to render the menus in an efficient manner is a different question.

gets my vote!

A Future Pilot wrote:Will this same development work towards things rendered in a framebuffer in the console? (I would assume not, since that's not inside X)

X does render into the framebuffer... Or are you interested in no-X programs? I'm only targetting 2D X at the moment.

amknight wrote:Sorry to be immensely dim and/or lethargic, but is there any way I can get hold of the Debian packages and source code to try this accelerated server out? I think it's a fabulous idea and I will give feedback.

Nearly all the source is available here: https://github.com/simonjhall/
However packages are not yet available. I released some packages to select people a couple of months ago but work has since been done to support some features of the newest Linux kernel that make it easier for users to get started with the code. Also various performance enhancements etc etc. Finally a new and exciting feature I'm not quite ready to discuss yet... Assuming that goes in and goes well packages will definitely be on general release soon!

(and Charlie I will reply to you asap!)
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by Kalimar » Tue Dec 11, 2012 9:29 am
Any news on the current state of development?
Any estimate on when you'll be able to do a proper first release?

Can't wait :-)
Posts: 5
Joined: Thu Nov 08, 2012 10:23 am
by teh_orph » Tue Dec 11, 2012 2:43 pm
Lots of work behind the scenes to facilitate the offloading of large composition operations to the VPU. eg in lxde draw out a large semi-transparent selection box across all the icons on your desktop, covering the screen. See how slow this goes! In my eyes this is the last major piece of work for me to do and was the reason I didn't release what I had in late October when other people tested it.

NB this does not mean using OpenGL/VG etc, this is custom code that runs on the GPU for the lowest latency possible.

If all goes to plan I should be able to give some numbers on Friday.
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by ghans » Tue Dec 11, 2012 3:55 pm
So you are indeed the guy the foundation put to work ?
Very exited about your results.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4449
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by teh_orph » Tue Dec 11, 2012 4:11 pm
Naw, done all off my own back. My girlfriend is not a fan.
Nine months of fun here :-(
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by ghans » Tue Dec 11, 2012 4:45 pm
:shock:
Thats extremely kind of you. I think we owe you all.
I feel sorry for your girlfriend though. :D


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4449
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by W. H. Heydt » Tue Dec 11, 2012 6:57 pm
teh_orph wrote:Naw, done all off my own back. My girlfriend is not a fan.
Nine months of fun here :-(


Tell your girlfriend that you've become world famous because of that work--and that's "world famous" in a GOOD way.

I'll add my voice of appreciation for all the hard work being put in to enable hardware accel on the GUI.
Posts: 1456
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)
by teh_orph » Tue Dec 11, 2012 8:27 pm
Cheers!
But if I were you I'd wait until you get a build before giving any praise! ;)
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by yaggi » Wed Dec 12, 2012 3:53 pm
Is the RPi foundation then paying for it's own X11 Driver development independant of yours?
This seems like it would be a waste of resources after you've spent so much time in development to begin building there own X11 drivers independent of yours.

Unless by 'we've put engineering resource on it' Liz meant 'waiting for Simon'. ;)
Posts: 23
Joined: Wed Dec 12, 2012 3:47 pm
by yaggi » Wed Dec 12, 2012 4:18 pm
Ps. Simon, you are amazing! Thanks so much for all the unpaid hard work you are putting into this. :)
Also you must thank your girlfriend for all of us, we appreciate her patience in the matter as well. :mrgreen:
Posts: 23
Joined: Wed Dec 12, 2012 3:47 pm
by teh_orph » Mon Dec 17, 2012 1:14 am
Well I'm a little late on giving some more perf numbers (I did say Friday) but I wanted to be sure. So after another week's work experimenting with this VPU offload stuff it's definitely been worthwhile!

One of the key 2D graphics tasks is 'composition' (think alpha blending...of which there are numerous forms) is a part which I've realistically not been able to accelerate so far as I've done it on the CPU. I've written my own composition system to replace the standard one, in order to accelerate stuff like antialiased fonts (ie lots of small glyphs) where latency - but not throughput - is important.

But sometimes throughput can be important: if you drag a translucent icon selection box across the whole of your desktop in LXDE it'll slow to a crawl - try it now!

So the last two week's work has been trying to improve this sort of problem. I've picked two of the more commonly used blend functions (I have a suite of 300) and tried to optimise them by using the GPU's VPU. This leverages the work Herman Hermitage and Tiernan Hubble and co have done with that hardware. Big props to everyone who's helped me.

TL;DR;

8x and 12x faster. Visibly improved performance for the functions that use these two blend functions. More functions inbound.
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by Trixster » Mon Dec 17, 2012 9:53 am
Good work Sir, bravo!

So, what's the eta for a release? We're chomping at the bit to get our hands on it!
Posts: 122
Joined: Sat Jul 07, 2012 3:53 pm
by charliedurrant » Mon Dec 17, 2012 10:00 am
teh_orph wrote:... in order to accelerate stuff like antialiased fonts (ie lots of small glyphs) where latency - but not throughput - is important.


Simon,

This will clearly help the tk library, I'm still waiting to hear back from the TK team, I'll chase but I don't like to push as at the end of the day it's people free time and I don't want to be a pain in the neck.

Charlie
Posts: 35
Joined: Sun Mar 18, 2012 12:06 am
by teh_orph » Mon Dec 17, 2012 12:22 pm
Yeah yeah, totally.
Driver is in your inbox. I think it should work with the DMA module you have but none of this VPU stuff can be enabled with it.
I have also made some packaging scripts so I haven't got to mess around in future ;)

Later today I'm gonna try and get another asm VPU function in. I'm very keen to make Metacity's composite mode work interactively.
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by Hexxeh » Mon Dec 17, 2012 2:14 pm
Can I get copied in on that?
Posts: 90
Joined: Thu Apr 05, 2012 3:07 pm
by teh_orph » Mon Dec 17, 2012 4:33 pm
The build is super slow, as it pours out debug info in order to assist debugging why IDLE is so slow. As all the other features are disabled, it'll be much slower than what you currently have!
Check your inbox anyway lols :)
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by teh_orph » Mon Dec 17, 2012 10:10 pm
Another function down, 8x faster than the best effort I'd done so far with on the CPU.
I'm not even using the 3D hardware. Why was this CPU paired with the rest of the goods on the SoC??
User avatar
Posts: 345
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
by rymate1234 » Mon Dec 17, 2012 11:26 pm
Can't wait until this is done - progress seems good!
Posts: 22
Joined: Wed Oct 03, 2012 8:22 pm
by liz » Mon Dec 17, 2012 11:30 pm
yaggi wrote:Is the RPi foundation then paying for it's own X11 Driver development independant of yours?
This seems like it would be a waste of resources after you've spent so much time in development to begin building there own X11 drivers independent of yours.

Unless by 'we've put engineering resource on it' Liz meant 'waiting for Simon'. ;)


Well, we *have* - but Simon seems to be making much faster progress.

Simon: please apologise to your girlfriend on our behalf. :oops:
--
Head of Comms, Raspberry Pi Foundation
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 4076
Joined: Thu Jul 28, 2011 7:22 pm
by yaggi » Tue Dec 18, 2012 5:45 pm
I am just busting your chops a little ;) . It's very easy for myself and others to comment from the peanut gallery, it's a whole 'nother story when you are a lead in a huge (now) multi-million dollar non-profit.
The RPi and the foundation itself has met and exceeded my wildest expectations, the fact we have in our hands a fully functional $35 computer is mind blowing and we should all be grateful. Anything it can do past the basics is something we should all be thankful for.

That being said, I am really looking forward to what is the last piece of the puzzle for me, the X11 drivers. I wish there was something I was able to do to help Simon with this project, but he seems to be crunching through it at a miraculous rate. GO SIMON!
Posts: 23
Joined: Wed Dec 12, 2012 3:47 pm