Polishing some things here on Tumbleweed KDE, EFI-booted Hewlett-Packard EliteBook machine. Such are these days … :\
What I observe: On this EFI-booted machine, Tumbleweed shows a plymouth splash screen with the machine’s vendor logo, spinner, and Tumbleweed “infinity logo + text” at boot and shutdown. The vendor logo (circular hp logo) is shown with grossly incorrect aspect ratio, while the circular spinner and the Tumbleweed logo/text are shown correctly.
What I researched: Starting from https://forums.opensuse.org/showthread.php/535609-New-splash-screen-appeared-on-Tumbleweed, I understand that plymouth is using plymouth-bgrt to show the EFI vendor logo, which ultimately seems to be stored in
/sys/firmware/acpi/bgrt
according the the web posts. The pic file
/sys/firmware/acpi/bgrt/image
indeed is the vendor logo, and on my machine it is a 89x116 pixels file - obviously incorrect, should be a square with the hp circle inside. 116:89=1.30337… is a funny aspect ratio anyway, none of 4:3, 16:9, 16:10 etc.
However, I seem to be stuck at that point. Even if I would boldly grab permission to edit that pic file (it is rrr), its modified date suggests that it gets regenerated at every boot. So I DON’T modify it.
Thus my questions are:
- How do I get a plymouth splash screen at EFI-boot with the machine’s vendor logo displayed correctly?
- Is the
/sys/firmware/acpi/bgrt/image
pic file in fact the one that plymouth-bgrt picks up at boot etc?
- Who generates that file with an obviously incorrect aspect ratio, plus the other settings files in that directory
xoffset
and
yoffset
which presumably are incorrect as well? Is it Tumbleweed, grub, or even the kernel?
Trying to find a culprit on my own:
- My laptop
/etc/default/grub
file reads
# If you change this file, run 'sudo grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards
# to update /boot/grub2/grub.cfg.
# grub2-mkconfig uses templates from /etc/grub.d
# and settings from /etc/default/grub (this file)
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX_DEFAULT="splash=silent resume=/dev/disk/by-uuid/75015e19-2ca3-4a3f-9797-20b1de4c7153 quiet"
GRUB_CMDLINE_LINUX=""
# Uncomment to set your own custom distributor. If you leave it unset or empty,
# the default policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=
GRUB_TIMEOUT=5
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
# in case there is only one Linux distro on the computer
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
# Uncomment the following line to automatically save each last booted menu entry
# in GRUB2 environment variable `saved_entry', and set GRUB_DEFAULT=saved at the top.
# openSUSE Tumbleweed requires this line to be commented out, since btrfs filesystem
# can't store a grubenv file. Otherwise, a 'sparse file not allowed' error is thrown
#GRUB_SAVEDEFAULT="true"
# Otherwise, set GRUB_DEFAULT=0
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="gfxterm"
# The resolution used on graphical terminal
# Note that you can use only modes which your graphic card supports via VBE
# You can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="auto"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY="true"
#GRUB_DISABLE_LINUX_RECOVERY="true"
# Uncomment to disable probing for further operating systems
GRUB_DISABLE_OS_PROBER="true"
# Uncomment and adapt filesystem UUIDs to make the os-prober skip certain partitions
#GRUB_OS_PROBER_SKIP_LIST="12345678-...@/dev/sdXM 87654321-...@/dev/sdYN"
# Uncomment to use boot commands linuxefi instead of linux and initrdefi instead of initrd
GRUB_USE_LINUXEFI="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
# Some settings specific for openSUSE
GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"
So I don’t see a screen resolution being set for grub explicitly. I am not sure about the GRUB_CMDLINE_XEN_DEFAULT setting which came in automatically at install, but I think XEN is a virtualization hypervisor, and I doubt that setting 1024x768 would influence plymouth in any way.
Thanks in advance for helping me in getting things a bit more polished.
Stay safe and healthy!