Manjaro optimizations for the Raspberry Pi


I am trying to make use of a RP4/8Gb as a desktop machine. Manjaro was the first distribution that worked out of the box on it (and I tried several others incl Ubuntu before that). The thing is that currently the performance of the Pi is so bad that it is not very usable as a desktop, especially the graphics performance. In hope to fix it I moved to Manjaro unstable with XFCE, installed the 5.10 kernel, configured the Pi to use the KMS driver and overclocked not only the CPU but also the V3D. Yet the MotionMark benchmark continues to show poor performance (score of 1.08, on the Firefox browser, with acceleration enabled and on full screen 1080p@60Hz).
I wrote in the Raspberry Pi forum and I understood that the Raspberry Pi OS ships quite a bit of optimised code in various places. This includes for example the Chromium browser that arguably runs faster there than in Manjaro (MotionMark above 30).
So my question is - is the Manjaro distribution for ARM shipping any optimized software for the Pi and if not - why? Any advise on how to optimize Pi’s performance will be welcome. Thanks in advance.

One performance hurdle is your SD-CARD - boot from USB SSD disk (not just a stick) and you will see how fast the rpi4/8 really is.

I forgot to mention that I already did that - almost the same as my boot is on the SDCARD and the root partition is on a SSD. Thie Pi runs cool - under 60 degrees Celsius.

We ship the Raspberry Pi kernel. That’s about all the optimizations we have specifically for the Raspberry Pi.
If we where to ship specialized software for a device, we would have to do so for each device platform. So imagine:
A chromium for Raspberry Pi
A Chromium for rk3399
A Chromium for A64/rk3328
A Chromium for Meson
A Firefox for Raspberry Pi
A Firefox for rk3399
A Firefox for A64/rk3328
A Firefox for Meson
An FFmpeg for Raspberry Pi
An FFmpeg for…
well, you get the idea.

So we stick to upstream (mainline) packages as much as possible.
In part because maintaining all the above packages would be a huge undertaking, but also to showcase what’s possible with upstream software these days.

Now, regarding the Raspberry Pi performance specifically, I believe that the Raspberry Pi kernel 5.4 broke V3D, so it does not do well anymore. That’s even on their own systems.

If you use the XFCE desktop, I would suggest you turn on compositing. That could improve performance a bit.

Thanks for sharing. I got your point. The question is - can I make some optimizations by myself? What would be your advise if I decided so - where shall I start? How hard is to get the Raspberry Pi OS code and compile it to run on Manjaro? Of course I can install the Raspberry Pi OS but this is not my preference. I suspect porting to Manjaro will be quite a lot of work as the Raspberry Foundation still does not ship Aarch64 version of their OS and it is a work in progress while they have people on that as a full time job. Also IMO currently Ubuntu does not ship anything better than Manjaro - even if it works it works no faster with it. Then what is the users’ option - either way they will not be able to take advantage of the Pi’s hardware - it is either the penalty from using a 32bit OS or CPU/GPU performance penalty from not using optimized software.

I do not think it is possible to port the 32 bit Chromium even if you had their source code to a 64bit OS. The 32bit OS can have access to the gpu HW decoding where 64bit can not; at least that is the last I heard.

1 Like