Report: flickerless boot with seabios+syslinux+archlinux

TLDR: It works well.

It is mainly inspired by Methods to reduce boot time and How-to: Arch Linux on a Librem. So I am not going to describe details about that.

I use a standalone FAT32 /boot partition (to make syslinux happy), and a F2FS partition as root. That does not matter at all though.

The kernel is passed splash parameter and plymouth will do the job.

For syslinux, I set UI vesamenu.c32 instead of UI menu.c32, which allow flickerless pass from syslinux to plymouth. MENU BACKGROUND #00000000 or a background image is recomended here.

But be careful with MENU RESOLUTION 3840 2160, there might be strange stripes on screen when syslinux reset resolution.

To make it faster, you might set TIMEOUT to a small value, and set MENU HIDDEN, or just set TIMEOUT 0.

For the kernel, vga=current i915.fastboot=1 will reduce flickers. There would still be flickers, but it is good enough.

1 Like

The setup I did gives me a boot identical to PureOS on a Librem, including the moment of screen garbage. I have no flickering otherwise.

Were you able to eliminate the screen garbage? (where the lower half of the screen is like a still of cabletv static, and the upper half is black)?

Yes. The screen garbage is probably caused by grub trying to set resolution. If syslinux avoid setting resolution, then these garbage is gone. Probably grub can do the same thing.

1 Like

Awesome! Thanks very much for this. I shall commence tinkering immediately!

However you might also need plymouth, for the kernel might also produce screen garbage.