[ARM EFI] Pinebook Pro performance : reverting back to legacy boot

Hello,

After a few days using my Pinebook Pro in EFI mode, where the machine performance was extremely poor, I reverted back to legacy (extlinux-like) boot, and I do confirm that performance is really much better now.

So I don’t know if this relates to possibly outdated system description (DTB) provided by tow-boot compared to DTBs that come with Manjaro’s “legacy” kernel, or it it’s an issue with UEFI at large (does it use some RAM ?), or different compilation options in Manjaro’s UEFI vs. legacy kernel ?

I may give another shot at UEFI when and updated tow-boot is released, but for the time being I will stick to legacy.

Shifting to one mode to the other being only a 15 minutes effort…

Choosing one boot method over another shouldn’t have any effect on general system performance.

Roughly it compares to how you start your car - pushing it downhill and using the gearbox to ignite the engine or your turn the key to turn the starter thus igniting the engine.

The engine will work the same - good or less good - so if you are having issues they go deeper than the boot method.

Well I don’t quite agree.

In the ARM world, the system definition and peripherals are provided by DTBs that can have a great impact on system performance, i.e. by defining some clock or bus speeds etc.

When booting in legacy mode, these DTBs come bundled with the Manjaro Linux package and are read from /boot.

When booting if UEFI mode, these DTBS are provided byt the UEFI firmware, so the tow-boot bootlader. They are not provided with the Linux kernel then.

They can be different, the bootlader’s DTBs can be outdated, and there are actual differences (i.e. when booting in UEFI or legacy modes, my eMMC and SD-card peripherals won’t be named/numbered in the same order).

If the system description (the DTBs) the linux kernel gets are different, this can make a big difference in system performance all along. That doesn’t compare to starting your car’s engine.

Plus, the bootloader has a part that stays resident in RAM memory. I’m not sure, but it’s well possibe, that when booting if UEFI mode, the UEFI part of the bootlader stays resident (as the OS is able to communicate with it), thus using more RAM that won’t be available to the OS.

On a system with a constrained RAM size, this could also make a difference in system performance : less available RAM, more swapping into zram, less available cache, etc.

You are probably correct - my knowledge of the ARM way of working is less than x86