Preview the upcoming Maynard desktop
Some of you will be aware that we’ve been working on a new, more responsive and more modern desktop experience for the Raspberry Pi. We thought you might like an update on where we are with the project.
The chip at the heart of the Raspberry Pi, BCM2835, contains an extremely powerful and flexible hardware video scaler (HVS), which can be used to assemble a stack of windows on the fly for output to the screen. In many ways the HVS resembles the sprite engines you may remember from 8- and 16-bit computers and games consoles from the Commodore 64 onward, with each window treated as a separate translated and scaled “sprite” on top of a fixed background.
The Wayland compositor API gives us a way to present the HVS to applications in a standards-based way. Over the last year we’ve been working with Collabora to implement a custom backend for the Weston reference compositor which uses the HVS to assemble the display. Last year we shipped a technology demonstration of this, and we’ve been working hard since then to improve its stability and performance.
The “missing piece” required before we can consider shipping a Wayland desktop as standard on the Pi is a graphical shell. This is the component that adds task launching and task switching on top of the raw compositor service provided by Wayland/Weston. The LXDE shell we ship with X on the Pi doesn’t support Wayland, while those shells that do (such as GNOME) are too heavyweight to run well on the Pi. We’ve therefore been working with Collabora since the start of the year to develop a lightweight Wayland shell, which we’ve christened Maynard (maintaining the tradition of New England placenames). While it’s some distance from being ready for the prime time, we though we’d share a preview so you can see where we’re going.
Packages for Raspbian are available (this is a work in progress, so you won’t be able to replace your regular Raspbian desktop with this for general use just yet, and you’ll find that some features are slow, and others are missing). Collabra have made a Wiki page with compilation instructions available: and there’s a Git repository you can have a poke around in too.
127 comments
david
It looks great!
Johnathan Bubs
It’s great!
Michael Horne
Looks very good – clean, modern, slick.
Eric Johnson
I’m impressed! It looks incredibly clean and modern. Nice job!
Roger
I like its simplicity… but looks like it will take a long time to replace Raspbian default desktop as there isn’t X11 support.
Marco Barisione
The X11 support for most apps is easy. XWayland is the Wayland component that does that. It’s disabled in our release because we used a slightly older Wayland with a non-particularly good XWayland and it wasn’t worth getting that to work. When we will update Wayland things will be easier.
Marco Bax
Looks really good and responsive ! Keep up the good work :)
Tom W
To me, Maynard = makes of wine gums. Seems oddly appropriate, somehow.
Liz Upton
On the whole, we prefer Jelly Babies.
Kemp
Breaking news: Raspberry Pi Foundation endorses Jelly Babies over Wine Gums. Maynards reported to be countering with budget priced raspberry pie kit.
Ric.colasanti
Three things.
First. This is a fabulous project. the Pi just goes from strength to strength.
Second. Thank you for the wine gum reference.
Third. I pologise for all for releasing this mind worm
Maynards Wine Gums – Set the Juice Loose!
https://www.youtube.com/watch?v=B-xG3D8OMQk
don isenstadt
this will be great when released … thanks for sharing the progress info..
CaptainofSpray
Looks to be very fast, as fast on the Pi as Mint Cinnamon is on my 3.6 GHz desktop. We like fast in anything, especially in anything for the Pi.
RoboticGolem
Can’t wait to see the finished product! Great progress so far!
Tim
That really is amazing. The low overhead on the window manager makes me want to port it to ubuntu.
James Hughes
There are instructions for running it on other platforms in the Wiki…
dan3008
ooo? I’m going to have to take a look. I’m making a slim version of ubuntu and want a better desktop than lxde lol
Chuckaluphagus
I’m very pleased to see this. This is the software project for the Pi that interests me most.
Thanks very much for providing the update.
Piotr
So there will be a responsive desktop shell that still will get lagged when you launch not so lightweigh desktop application :) It probably be great for plain apps though.
James Hughes
The point is that the more you can offload to the GPU the faster the overall performance.
daniels
Well, not as badly. In the X11 model, apps were in charge of movement and sent every position to the X server; under Wayland this is done entirely in the compositor. So that should be much more responsive.
Marco Barisione
We are also doing work to make applications faster. We worked a lot on the browser with very good results and still quite a few areas to optimise. We are also looking at making application startup faster.
Piotr
All I’m saying is that it will be good untill you starts one of the other apps that just have to have more CPU processing power. There is a thin red line there :)
Drentsoft
That sure is real pretty :) Really looking forward to trying this out.
ian
looks good,
could the internal “spirit” engine (HVS) be used from python for other purposes?
James Hughes
Yes, you can access the dispmanx C library from Python, which uses the HVS.
3xBackup’s
I know very little about Wayland, I’m sure that I’ll learn more when I see it in the wild. Just curious how you launch a remote application on a bigger beefier machine and set your display back to your local client. A long time ago before security was important, it used to be:
localclientshostname ~$ xhost +remoteservershostname
localclientshostname ~$ rsh -l username remoteservershostname
remoteservershostname ~$ export DISPLAY=localclientshostname:0.0
remoteservershostname ~$ /usr/X11/bin/xclock &
These days it is more like:
ssh -Y username@remoteservershostname /usr/bin/xclock &
Or if you are very lucky (and can avoid enabling use of xwd):
ssh -X username@remoteservershostname /usr/bin/xclock &
Manjot Chana
That looks majorly impressive guys! Excellent work!
Ed
So *apparently* it was just as much or more work to amend/extend an existing graphical shell like LXDE than it was to write (yet another) one from scratch. Is that fair, or were there other considerations?
Ed
(I applaud the effort, by the way, and look very much forward to the release!)
James Hughes
An interesting point, and one I would be interested to know the reasoning behind.
Eben Upton
That’s correct. We couldn’t find another shell that made sense to modify – it’s pretty early days for Wayland, and most of the shell work has been done at the high end rather than in the embedded/low-power space.
David Gee
Doesn’t the Qt toolkit support Wayland? If so, RazorQt night be a possible alternative to Maynard.
Marco Barisione
Yes. LXDE uses GTK2 that, being abandoned, doesn’t support Wayland. So it would need to be ported to GTK3 first.
Then normal apps tend to work on Wayland if the toolkit does. Desktop environments, on the other hand, use directly X a lot so they need a lot of work to be ported.
Note that Maynard is not done from scratch. It uses Weston that is the reference compositor and window manager for Wayland.
Ed
Thanks all.
Martin
fyi LXDE is being ported to QT as GTK3+ was found lacking, also with this change Wayland/Weston will be used, but it could be a year or two before it is fully usable, so toolate even for Raspbian Jessie..
fanoush
lxde and razor-qt merged some time ago, why not go the QT way?
Mark Adams
Very cool looking desktop:)
bertwert
THIS LOOKS AWESOME!!!
Hove
“The Windows key triggers the overview effect”
I don’t have a windows key – I did long ago, but it’s now covered with a perfectly fitting Raspberry Pi key sticker!
Marco Barisione
I said super/windows when I first edited the video, but then it sounded too geeky ;)
Bill Stephenson
That is sweet. Really looking forward to this.
Thanks for the update, and keep up the great work!
Peter Ryan
Looks brilliant!
One snag with testing this that I also had with the previous Weston demos was that they completely ignore the overscan settings in my /boot/config.txt. Is that like to be fixed?
Marco Barisione
Hm, and that works in X? I can open a bug about it (or feel free to do it if you prefer, see https://github.com/raspberrypi/maynard/issues)
Peter Ryan
Should I post the bug there, or is it more likely a Wayland (or something else) problem?
Pekka Paalanen
Indeed, Weston does not change the video mode, nor read any information from /boot/config.txt and so far also does not use the “tvservice” to find out the real parameters of the display like refresh rate.
I simply do not know yet if or how I should account for the overscan settings. Currently Weston simply uses the full screen area that DispmanX offers. I would have assumed that already accounted for overscan settings, but apparently not?
You might want to file a Weston bug about this.
Thanks,
pq
AndrewS
Might be worth experimenting with the overscan_scale parameter in config.txt that’s talked about here http://www.raspberrypi.org/forums/viewtopic.php?f=67&t=15700
Peter Ryan
Thanks for that – overscan_scale=1 gets things visible!
Andy
This is great, I love it!
Not to be picky, but this got me thinking; how’s that DSI-port display going?
Andy
Aaron
CPC had a prototype version of this on display at the Manchester jamboree.
See here for more details from RasPi.tv -http://raspi.tv/2014/raspberry-pi-official-7-inch-dsi-prototype-preview
Aaron
Sorry, here is a working link (hopefully) http://raspi.tv/2014/raspberry-pi-official-7-inch-dsi-prototype-preview
IrishFramboise (AlanMc)
Très joli! Strength to strength indeed. More power to your pibow!
Evan Black
This looks amazing! Is there any chance of this working with an open-source version of the VideoCore IV driver?
daniels
Well, this is unaffected by the OpenGL ES / EGL source release, since it doesn’t use them at all. It optionally can (see the GitHub issue), but the open driver would require some small porting before it worked.
The main part of the VideoCore used here is the HVS through the DispManX API, which is not (yet?) opened. But if it were, we could use it.
Marco Barisione
Like Daniel says no EGL here. In the future we may end up using EGL for accelerated compositing in the browser. It could have a good effect on videos in particular as you could play video smoothly without having to copy frames around and it would be fast even with elements overlapping the video.
Solenoid
Excellent progress, I’ve been waiting for an update about that.
I have a question though: does this mean VNC won’t be possible with Wayland? Maybe there’s a replacement I don’t know about…
Liz Upton
Not without a certain amount of work, the way things are at the moment. It’s not technically impossible to do, but it’s not something that’s high on our list of priorities at the moment.
john
Pronouncing Maynard (trivia) – In the town of Maynard, Massachusetts, I’ve always heard it pronounced “may – nard’, (almost but not quite “may nerd”, soft ‘n’) but at a talk (coincidently just a few miles from Maynard MA) with the New England born author Joyce Maynard, she pronounced her name “ma ‘nard” (like “ma”, as in Mom, and “nard” to rhyme with ‘hard’, with a strong ‘n’).
BTW Maynard MA was the headquarters of DEC, Digital Equipment Company, whose first PDP computers were probably not as fast as today’s Raspberry Pi.
Phil Olynyk
I wondered how long it would take for the DEC connection to come up. My first job out of Uni. I still have my ID card around somewhere, employee #6xxx something. Headquaters was in an old woolens mill, and the river still ran through the basement, suitably channeled.
I don’t know the cycle time for the PDP-1, but for the PDP-8/I it was 1.5 microseconds per instruction, as I recall. That was probably the first mass produced minicomputer, with a factory in Carlton Place, Ontario that had semi-automatic wire-wrapping machines for the backplanes. Sorry, I don’t have any pictures.
BTW, the First Prize in sales contests was always a week in Maynard, Mass; second prize was two weeks…
daniels
Yeah, one of our guys was ex-DEC quite a while ago, hence the choice of particular town-near-the-Mass-Pike.
Kris
yes, “may-ned” is the way we pronounced it in DEC days,
ned
Just tried the instructions on the Collabora website (setup-maynard.sh), all went fine, but after the boot, when typing in maynard I get:-
weston-launch:Permission denied. You should either:
– enable systemd session support for weston-launch
– or add yourself to the ‘weston-launch’ group.
I tried ‘sudo addgroup pi weston-launch’ and got:-
The user ‘pi’ is already a member of ‘weston-launch’.
Unfortunately I have no idea what “enable systemd session support” means or how I would go about doing that.
I’m using raspbian, up to date using the usual apt-get etc command
sudo maynard just hides an error message but it says something about XDG_RUNTIME_DIR not being set.
About to go round in circles methinks so I’ll stop and ask for directions.
daniels
Are you starting it from a local terminal/VT, or over SSH? The latter won’t work.
ned
Nope, from local shell. It seems that XDG_RUNTIME_DIR is set to /run/pi, which seems ok.
I had to perform several apt-get upgrade / update / dist-upgrade before everything was fully up to date but still the same problems.
Maybe I need to run rpi-update, but I can’t anymore because of SSL issues. “gnutls: A TLS warning alert…”
Ok, fixed that using sudo UPDATE_SELF=0 rpi-update.
Still the same problem but it gave me a clue…
Finally fixed : sudo XDG_RUNTIME_DIR=/home/pi maynard.
To quit maynard – ctrl-alt-backspace to kill it.
Looks nice.
Marco Barisione
Weird, libpam-xdg-support takes care of setting the right stuff. Is that package installed?
zoel
it’s so laggy but perfect progress, I’ve been waiting for final version. I hope the navigation bar can move any positions
Hussam Al-Hertani
Thats awesome news! Can’t wait to have this as the default Desktop environment on the Raspberry Pi.
Just one question, will we still be able to do X11 forwarding over SSH & VNC e.t.c ?
KZL
Amazing !
Does it able for using with touchscreen ?
Joe
Any idea for the stable version ETA?
I’m still climbing the geek ladder and can’t deal with a buggy beta version.
JoBe
Wow, it looks awesome! gimme :)
Jeff Ledger
Just tried this myself. The Desktop itself is very responsive and quick. The apps on the other hand… Combine this with some light-weight apps and we’re in business.
I was interesting however to see epiphany almost run a youtube video at a watchable speed. :)
islamike
It’s tempting me to change my Windows Desktop for that. Just seen it and will experiment with it…..
It so Looks Awesome.
Kirk
Why not just compile the X11 modules in the gpu machine code instead of the main cpu’s code, and not WRITE a total new system, just finish the original job of converting for THIS chip’s native instruction set? What point did I miss, that we must reinvent the wheel?
Marco Barisione
Sorry, but I really don’t understand what you mean. “X11 modules in the gpu machine code instead of the main cpu’s code”?
James Hughes
Because the GPU runs at 250Mhz, and would be slower than the ARM for the same oprations. It’s using the HW accelerated graphics that makes things fast, and that need to be done from the ARM.
That, and porting X to a different architecture is a nightmare job!
Charlie
What about running frequently used but non-essential background tasks on the GPU if the main CPU is under heavy load? In a heavy usage scenario it’d be like adding 250 MHz to the overall speed. Not sure how practical that is for a Raspberry Pi, but I do recall Apple bragging about something like that a while back.
daniels
The problem isn’t the speed of executing the X11 instruction code, it’s that its entire architecture is founded upon doing things which fundamentally cannot provide you with good performance.
Nor is Wayland a ‘total new system’; it’s been around from 2008, and has very strong support from Intel, GENIVI, Red Hat, GNOME, and others.
Kirk
PS: The video demo looks super. Not knowcking the work thus far, just asking.
Austin Hanna
Looks amazing! This is something I would use a lot!
Saeron
There are a form to use vnc to test wayland?
tim
When is it coming out?
tim
Where can I get it?
Scot
Wow. Thats the best Linux desktop I’ve seen so far (though I haven’t really looked) And looks better than windows from what I can see. Can this run on desktops?
daniels
Yep, it’ll work perfectly on a desktop machine which is otherwise capable of running Wayland/Weston.
Rasp User
I tried downloading and got this message
pi@raspberrypi ~ $ sudo wget http://raspberrypi.collabora.co.uk/setup-maynard.sh–2014-04-21 02:41:39– http://raspberrypi.collabora.co.uk/setup-maynard.sh
Resolving raspberrypi.collabora.co.uk (raspberrypi.collabora.co.uk)… 192.168.1.8
Connecting to raspberrypi.collabora.co.uk (raspberrypi.collabora.co.uk)|192.168.1.8|:80… failed: Connection refused.
Help Please, THX
Ton van Overbeek
The host name raspberrypi.collabora.co.uk in your case resolves to internet address 192.168.1.8. Addresses of the type 192.168.xx.xx are on your local network at home/work. Obviously your router/firewall/Pi does not allow access to sites outside your home/work network.
To check, see if you can reach e.g. http://www.google.com.
Are you running iptables on your pi?
Anyway for me raspberrypi.collabora.co.uk resolves to 93.93.128.223.
Hope you can solve it.
Rasp User
Thanks. I can sure can reach google. I can also reach this site. I don’t know what iptables is so I don’t know if I’m running it. Would it work if I went wget http://93.93.128.223/setup-maynard.sh? Could I edit my router to let me.
Thanks Rasp User
Rasp User
Thanks for the help ton. The firewall in my router was blocking it so I managed to tweak the settings to make it work.
Anchit Mishra
hey!, it looks awesome! might someday beat windows 8.1 even!
Mike
It will beat mac to.
Mike
Sweet! I hope it comes out soon. Do you know when it will come out?
Jim Tix
How do you download it?
Please Help
Rasp User
Go to http://raspberrypi.collabora.co.uk/maynard.html for instructions on how to download it. One thing you need to do is go into raspi-config accessed using sudo raspi-config and change the boot settings to boot to the non-graphical os.
Jim Tix
Thanks a lot!
Rasp User
Glad. I could be some help to you
Ian Binnie
I downloaded Maynard to give it a go. My initial reactions were that it seemed to take forever to start, and applications also seemed to start slowly.
I know it is early days, so I didn’t mind that many of the entries in my menu didn’t work, but couldn’t find how to exit!! I eventually open a terminal and did a reboot.
While I would welcome any extra speed, if I can’t have a Dock I will stick with the old (I am one who abandoned Ubuntu when they went to Unity).
On restarting with the old startx, it looked OK, but all the entries in the “Other” menu seem to have changed. They all got larger, and the Pi Store icon now takes up 1/4 of the screen.
James Hughes
App start up time is something that cannot be accelerated by the GPU as it’s not graphics related (and by apps you need to include maynard itself). Once running, a lot of the graphical heavy lifting is now done by the GPU.
sac
How can I help or contribute (maybe by porting more packages/applications)?
daniels
Hmm. The problem with applications is that most of them require GTK+3, which isn’t included in Raspbian; supporting this becomes a bit of a struggle. However, you could certainly host a separate repository containing GTK+3 versions of applications, which should work just fine under Wayland.
Either that, or if you wanted to help out with shell development, we totally welcome contributions – see the GitHub page. :)
Mattias Eliasson
What about Qt applications? It’s a framework that actually targets embedded system so it should be better for this than Gtk3 and there are a lot of Qt applications. For example VLC which are of great importance…
Matthias Weiß
Very nice!
Will it be scalable? Can i use your desktop for example for embedded-Displays with a small res (320×240 for example)?
daniels
We haven’t tested it going down that low, but to be honest you’d probably struggle. It’s definitely doable in a technical sense, though …
ric96
PURE AWESOME O_O !!!!
Paul Tansom
This is what’s missing from modern computing. Keeping a fairly standard hardware platform and pushing it to the limits over time. Back in the days of the good old Micro Computer I’m sure you got the same improvement in performance over time from programmers getting to know the hardware and pushing it more, as you do now from upgrading to new hardware. A good chunk of the performance of new hardware seems to be lost to programmers anticipating the next generation of upgrades too.
I’m sure there’s a middle ground, and being able to upgrade without scrapping your back catalogue of software the way you had to, upgrading from a BBC Micro to an Amiga or whatever, is an advantage of the current way. I guess that’s one of the many strengths of Linux and other open source software :)
Scot
Actually it does still happen, just in a more limited space. Game consoles are the best example I know of, on the PS3 and Xbox360 developers have been pushing the limits for 8 years! Just look at Halo 3 v.s. Halo 4! Massive improvement on the same hardware.
Brian
Oh Yea!
This is great! And it even works on my trusty old Model B Rev A.
Really looking forward to the first release.
horace
wow, it looks very promising.
you put a lot of effort into software. that’s great!
but i wonder… will this whole work have to start anew, once a new raspberrypi comes out in a few years? or does broadcom have downwards compatible SOCs and videocores where your current work can be reused?
it would be a pity if after the release of a new raspberrypi there again was a 2-3 years period in which the desktop has to be made faster and so on.
James Hughes
The Maynard desktop is built on top of Wayland, so actually already works on multiple platforms. So as long as the platform has a Wayland port, the desktop will work. So there should be decent forward compatibility for any future Pi’s.
Marco Barisione
Most of the work is not platform-dependant.
Some optimisations are specific to ARMv6 and to the Pi, but that’s unavoidable if you want to squeeze as much as possible from the HW.
For this specfic case, Maynard is *completly* independent from the Pi and runs perfectly on my x86-64 computer.
Some of the wayland work we did is specific to the Pi and that’s the reason why you get such smooth animations.
frank
is Touchscreen Support include the kernel?
Marco Barisione
A colleague tried it with a touch screen, but unfortunately our GTK copy doesn’t really deal with it.
There were also a few calibration issues.
mrpi64
Heck, that’s awesome!
su610
very very good.
clean
modern….
Andy Crofts
Well done, WAANTT!!!
(Gotta say, watching the video on my ancient PC reminded me of the old joke about a man and his wife sitting on a sofah, watching TV.
Suddenly an advert for a Hi-res TV comes on.
“Cor,look at the resolution on that! Much better than our telly…”
(Groan!)
anonymous
Wow, I’m so excited! It’s like a lightweight GNOME 3!
Anthony Quebec
Please tell us when it will going to release these!
It might be helpful for making a rental pc
Frowneyfox
Really Looks great, but will this mean raspien will take up more space?
James Hughes
Probably, but release is a while away, and you can always delete it if you don’t need it.
Bill Stephenson
Wow!
I finally got a chance to play with this today and you all have done some amazing work. It’s coming together very nice. My web apps ran just fine in the new browser, which is also coming along great.
You got me chomping at the bit for more!
Tom E
Anyone know what we can hope for wrt Qt/ OpenGL widget support?
Runfish
Hey there,
Any upcoming news about this wonderful GUI ?
Peace
James Hughes
Any relevant news will almost always be posted on the blog when it becomes available. So at the moment, no.
sam
No commits in the public repo since may :-(
https://github.com/raspberrypi/maynard/commits/master
ks4
I can’t launch maynard, when I enter : sudo maynard I got message which says ‘ it.org/wiki/specifications/basedir-specis not set’ and nothing else
(I installed Maynard with this script http://raspberrypi.collabora.co.uk/maynard.html )
tul
Great work! – thank you for this.
My vision is to have many raspis as terminal server clients connecting to my server via xRDP. Things works fine in our pure linux driven network so far except of the video performance under lxde as we know. So here is my vote to implement remmina as the next appliacation with the wayland-api. If there is anything I could do to support this, please tell me. Or might there be a better concept / solution? thank you. -thomas
Charlie
I ran the script to install Maynard on my Raspberry Pi. It started replacing a huge list of what appear to be core system libraries. Um… Is this going to have a noticeable effect on the current standard desktop?
su
The motivation of this project is moot.
LXDE completed the transition to Qt5, and now they’re looking at Wayland support in a near future.
Do you really think you can complete a decent DE before they get Wayland support?