Change plymouth resolution

Hello guys,

I tried changing the resolution of the plymouth boot animation to 1920x1080, since it has a very small resolution at the moment.
I’ve found a workaround that nearly fixed it (can be found here), but Opensuse neither have the v86d package nor can I set the initramfs module as described.
I have a AMD Ryzen 5 2400G processor and use the iGPU

Still, when I just add the line to the grub config, the resolution is correct, but I get an error: “VGACON disables amdgpu kernel modesetting” and Plymouth isn’t shown, instead I just have a greenish screen as if I installed Nvidia’s proprietary drivers.
Does anyone know how to change the resolution if Plymouth with an AMD GPU?

Thanks in advance!

Have a nice day! :slight_smile:

If you really want v86d, it might be in the mainline kernel (maybe! - I’m not checking!), but you have options…

Apparently,
it’s the packaged version of uvesafb, so the original project is
https://github.com/mjanusz/v86d
And here is Linux Torvald’s entry in the kernel source
https://github.com/torvalds/linux/blob/master/Documentation/fb/uvesafb.txt

From the above, last contribution was 5 years ago, so anything since won’t contain any improvement…
So, from the Torvalds comment, it looks like you might find this in either the base kernel or as a kernel module,
First step is to see if it’s in the kernel using modprobe, see instructions and more in the Arch Linux that follows, if you find it in /proc you may also simply not disable it
https://wiki.archlinux.org/index.php/Uvesafb

If it’s not in the kernel, then apparently you should be able to build a kernel module which would mean you don’t have to go through re-building initramfs… I didn’t look around specifically for those instructions but they should be somewhere, likely in the kernel source. Then the usual… you’ll need to install gcc, make, kernel headers, dkms (optional but highly desirable), and compile.

When it’s available, you should be able to call it from your your grub command line as an extra configurable option…

TSU

OK, thanks. :slight_smile:
I’ve actually maybe found another possible solution I think/hope.
I also have a system with an nvidia graphics card and I’m, using it with their proprietary drivers.
I had a similar/equal “green plymouth screen” after installing these drivers and I was able to fix it following this instruction.

So maybe that could work for amdgpu drivers too, but unfortunately I’m not that “deep” in kernel/driver stuff, that’s why I’m asking here.

Another solution that could maybe work have I found here.

Maybe it would just be enough to add the amdgpu drivers to KMS at initramfs stage, but since OpenSUSE is using dracut, the specified file is not existent and I’m not sure which file corresponds to it.
Maybe just doing that could fix it, but as I said, I’m not sure. :wink:

Still, thank you very much for your support. :slight_smile:

OK.
So after trying like anything I can think of, I’ve tried compiling v86d.
But that didn’t work, I don’t know why exactly, it had some problems with klibc.
Anyway, I then installed it via the .dev file that I converted to an rpm file (I know, that’s very dirty, please blame me, but as I said, I tried like everything).
That worked.

But still: I set nomodeset, amdgpu driver is obviously not loaded and plymouth doesn’t show up properly (the greenish screen again). And Audio via HDMI doesn’t work, so I can’t use that either.
It’s just a pain that OpenSUSE uses dracut, because EVERY SINGLE INSTRUCTION requires “normal” initramfs.
And since dracut is working / configured differently, I just don’t know what I shall do.

I mean… I just have the open-source drivers installed, everything is working fine, grub is showing in beautiful 1920x1080, no problem at all, but I JUST CAN’T CHANGE THAT **** RESOLUTION OF PLYMOUTH??
That’s just a pain…
Just because my PC doesn’t recognize the resolution of my screen not correctly…

I would have no problem with that low boot splash resolution, but my TV sets in overscan mode with that resolution and after boot is completed, the borders of the screen are missing and I have to reconfigure my TV again.
After every boot.
EVEN THE BIOS IS ABLE TO SHOW THE CORRECT RESOLUTION.

I really don’t know what I shall do now.
I’m frustrated.
I’ve burned so much time in it.

I know, it’s nobody’s fault here, everyone is just trying to help, and I’m thankful for that.
But I really didn’t think that changing a simple screen resolution to another value could be such a problem.

Does anyone have an idea?
It can be unrealistic, any hint helps me.

Is there any way to force a resolution to Plymouth with KMS enabled?

I don’t know what I shall try else…
Please, anyone, help me.

This may not be solvable without kernel maintainer involvement (ie bug report). I don’t own this hardware, so can only speculate. Anyway, perhaps using ‘amdgpu.dc=0’ boot parameter might help?

https://forums.opensuse.org/showthread.php/534475-Installer-blackscreen?p=2891374#post2891374
https://www.reddit.com/r/linuxquestions/comments/a4bt3j/vgacon_disables_amdgpu_kernel_modesetting/
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1818580

Taking a closer look at the documentation links I provided above…

Firstly,
There is no need to re-compile your kernel.
I found uvesafb.ko which means that it’s already available in the mainline kernel and hasn’t been removed by our SUSE/openSUSE kernel maintainers.
For anyone looking at this thread with an Intel GPU, for only <some> GPUs there is a reason to re-compile to add 915support to the kernel, but that’s an unusual scenario (and covered in the links I provided).

You also mentioned that you want a display resolution 1920x1080,
And that’s a problem.
One of the link references to one of the links I provided links to the following page which displays all possible resolutions… You’ll find your desired resolution is not one of the standard basic resolutions and 1920x1200 is supported only as an extended capability in the Linux kernel, but only at 256 colors. This could be an issue if your Plymouth Splash screen isn’t part of the 256 color palette. and may not be supported by your GPU at all (now you have to look at your GPU technical specs). In any case, if 1900x1200 is possible at all on your machine, you now have the VESA BIOS ID number to pass in your grub line…
https://en.wikipedia.org/wiki/VESA_BIOS_Extensions

If this fails, then there is no solution…
You’re trying to do something that just isn’t possible today when VESA is the standard display capability (take some comfort that it isn’t that long ago… maybe 8 years?.. when VGA was the standard). Maybe one day especially with the availability of large monitors/televisions we might see SVGA as the new standard, assuming that EFI PROM chips are large enough to stuff everything everyone wants in it.

Note that I consider Plymouth as a transition point between system boot and when the User Desktop boots… and it’s when the User Desktop boots that the advanced graphics driver is loaded. Until you’ve logged in and are using the Display Manager, I don’t know that you have access to the full capability of nouveau, nVidia or ATI drivers.

TSU

[FONT=monospace]Grub time out is set to 7 seconds and it is the only time that our resolution is not FHD. The given boot parameter is not working on our AMD mobo = Grub stalls = amdgpu.dc=0[/FONT]

[FONT=monospace]From etc/default/grub:[/FONT]

[FONT=monospace]# GRUB_INIT_TUNE="480 440 1"[/FONT]
[FONT=monospace]GRUB_BACKGROUND=[/FONT]
[FONT=monospace]GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt[/FONT]
[FONT=monospace]SUSE_BTRFS_SNAPSHOT_BOOTING="true"[/FONT]
[FONT=monospace]GRUB_USE_LINUXEFI="true"[/FONT]
[FONT=monospace]GRUB_DISABLE_OS_PROBER="false"[/FONT]
[FONT=monospace]GRUB_ENABLE_CRYPTODISK="n"[/FONT]
[FONT=monospace]GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"[/FONT]
[FONT=Verdana]

[/FONT]
[FONT=monospace]
We won’t try to modify the default screen resolution of Plymouth by this: 1920x1080x32[/FONT]

[FONT=monospace]8 seconds?[/FONT]

First,
It appears that the dracut MAN pages describes how to add modules if you want to remake your initramfs

From
http://man7.org/linux/man-pages/man5/dracut.conf.5.html

add_dracutmodules+=" <dracut modules> "           Add a space-separated list of dracut modules to call when
           building the initramfs. Modules are located in 
/usr/lib/dracut/modules.d.

The following link is to a prior Forum thread asking how to enable early KMS in openSUSE… although I think the specific reason which appears to be to enable higher resolution text is unrelated to your objective to solve a splash page problem, maybe there is something in there you might find useful…

https://forums.opensuse.org/showthread.php/530981-I-need-to-enable-Early-KMS-start-but-do-not-have-a-etc-mkinitcpio-conf-file-to-edit

Your ArchWiki reference reinforces what is in the other ArchWiki I referenced, that if are unable to succeed at launching an early KMS, your chosen display resolution isn’t supported by default… But, your reference does have a section that tries to force your resolution

https://wiki.archlinux.org/index.php/Kernel_mode_setting#Forcing_modes_and_EDID

Note that your ArchLinux Wiki on KMS is really a collection of a multitude of tries with no assurance any would ultimately work. You probably just need to methodically go down the list and try each one after another and hope.

More a FYI than than anything immediately useful,
It looks like ArchLinux is about to change to dracut because of a change in maintainers… So there may be more ArchLinux Wiki articles in the future on this topic…

https://lists.archlinux.org/pipermail/arch-dev-public/2019-May/029570.html

TSU

OK, thanks for answer. :slight_smile:
But what’s really wondering me is that on another machine with a full-hd and 4K monitor, plymouth is shown at the correct resolution (full hd on both I guess).
So it doesn’t seem to be impossible for Plymouth or whatever service is responsible for that.
The only difference is that I have an amplifier between my PC and the TV, so I can use the Audio which is provided via HDMI to use my speakers properly.
Could that be the reason maybe?

But, I’d just need a resolution that’s higher than the default one in 16:9 aspect ratio.

Also, I noticed that when hitting ctrl+alt+F1 or another F-key directing me to the cli, it is also shown in a lower resolution.
Does that give you a hint maybe? O.o

Grub may be set to default and may be set to what ever the BIOS/UEFI boot screen uses. You can set Grub to other res in Yast bootloader but that is restricted to standard VESA res. Plymouth
should inherit what ever Grub uses.

Note different machines may use different rules

I’m sorry.
I somehow managed it to completely overlook this post by you, I just have seen your first post.
It was my fault and I really apologize for any inconveniences that may or probably have occurred.
The second link seems like exact my problem, so I’l try what was described there, thank you very much. :slight_smile:

EDIT: The problem I found is that the firmware folder under /usr/lib doesn’t exist.
Is there any corresponding folder on OpenSUSE?

I am seeing firmware in “/lib/firmware” (no leading “/usr”). This is Leap 15.1.

Guys,

I can’t believe it, it finally works!
The animation is shown in 1080p.
Thank you all!

I had to force the system to use a custom EDID file.
That was it.

I followed these instructions to do so:
https://blog.goranrakic.com/2016/08/custom_edid_for_intel_i915_kms_on_fedora.html

I just had to place the edid file in /lib/firmware/edid instead.

Thank you all for your support. :slight_smile:

Have a nice day! :slight_smile: