Plasma on ARM: State of the Union

For the past year at Blue Systems my colleagues and I have been working on getting Plasma 5 ready for ARMv8 systems such as the Pinebook. If you were at QtCon this year, you might have also seen our awesome team demo’ing these systems at the KDE booth along with Plasma on ARMv7 systems such as the ODROID C1.

A year ago, the state of Plasma on ARMv8 looked somewhat like this bench, covered in snow, not particularly inviting. Things worked, or at least appeared to, only to break as soon as you started digging deeper into the innards of the system. One of the biggest hurdles in the ARM space right now is getting graphics working on a Linux system. Working with the Pine64 and Pinebook was no exception.

While the X11 and DRM stacks are open source, the OpenGLES implementation is only provided as a proprietary blob. Better than nothing, but still not quite up to the quality that we were looking for.

Once we figured out where we could improve things, we started getting our hands dirty and improving things as best as we could and learning more about the graphics stack as a whole. This lead to improvements such as getting a working hwcursor (thanks David!) for the Pinebook, making sure we don’t have garbage on the screen when X11 gets started and a failed attempt to get Debian to rebuild Qt on ARM64 systems with GLES instead of OpenGL ( since there is no OpenGL on the Pinebook ).

We also bench marked important metrics that would affect our users such as time to login manager, time to desktop and the time it took to launch a file manager such as Dolphin. With these metrics in hand, the Plasma team at Blue Systems set out to improve these metrics by improving the various bits and pieces within the KDE product ecosystem. It’s important to note that all of the improvements that have been made will also benefit x86 users, though the impact will really be seen on ARM devices.

The future for Plasma on ARMv8 looks pretty bright from here on out to me. There’s still a lot of work to be done, but we’ve got a pretty good handle on it for now. There were massive improvements once we identified major pain points such as Qt using OpenGL instead of GLES and fixing issues within Qt itself.

I’d also like to take a moment and say a massive thanks to the Pine community as well. They’ve been an amazing group of people to work with. They even released a Wayland driver that could potentially become the building block to deliver a ARMv8 laptop that can run Plasma atop Wayland in the future! Thank you so much, it really is appreciated.

4 thoughts on “Plasma on ARM: State of the Union

    1. For which component? For eg. for Qt that isn’t possible afaik. You need to compile it against either OpenGL or OpenGLES


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s