I have a amdgpu, using the open source driver. amdgpu driver claims to do early kms by default, but the early is very late. Exactly 2.5s!
I wouldn't care much but it breaks and delays my disk encryption password prompt.
the laptop already boots with EFI video which is perfectly usable and correct. then DRM/KMS loads, and screw ups the size and fonts for the tty. Then sd-vconsole starts and corrects it. Hence I'm trying to either delay kms or force it to be *really* early.
things that failed:
1. forcing edid
- # get-edid > myedid.bin
- do the dance to put file in initfs
- adding drm.edid_firmware=edid/myedid.bin
to kernel parameters
it fails with "invalid firmware" but doesn't matter, i still get the error right on top of my sd-encrypt prompt, so it would not help move it early/later.
2. early kms hook.
tried this weird mkinitcpio.conf
list for the hooks
HOOKS=(systemd kms autodetect modconf keyboard sd-vconsole block sd-encrypt microcode lvm2 filesystems fsck)
still happens late.
3. forcing the right tty size/font
thinking i can't win, i try to join kms and just tell it what to set things to when it comes crashing in.
Added any combination of video=efifb fbcon=font:iso01-12x22 fbcon=nodefer video=eDP-1:1920x1200@60.03
(which is what sd-vconfig sets)
it still ignores the font, and while it always set the display to the right resolution, the virtual resolution for the tty get's cut in 1/4 which breaks all the text for a while. And still starts at 2.5s into the boot.
4. bundling amdgpu firmware in initfs
reading on https://forums.gentoo.org/viewtopic-p-8789979.html i added FILES=(/usr/lib/firmware/amdgpu/*)
to mkinitcpio.conf
nothing changes.
Asked by gcb
(632 rep)
Apr 29, 2024, 06:17 PM
Last activity: Apr 29, 2024, 06:49 PM
Last activity: Apr 29, 2024, 06:49 PM