Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: Change plymouth resolution

  1. #1

    Default 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!

  2. #2
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    10,952
    Blog Entries
    2

    Default Re: Change plymouth resolution

    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/bl...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
    Beginner Wiki Quickstart - https://en.opensuse.org/User:Tsu2/Quickstart_Wiki
    Solved a problem recently? Create a wiki page for future personal reference!
    Learn something new?
    Attended a computing event?
    Post and Share!

  3. #3

    Default Re: Change plymouth resolution

    Quote Originally Posted by tsu2 View Post
    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/bl...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.
    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.

    Still, thank you very much for your support.

  4. #4

    Default Re: Change plymouth resolution

    Quote Originally Posted by tsu2 View Post
    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/bl...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.
    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.

  5. #5
    Join Date
    Jun 2008
    Location
    Auckland, NZ
    Posts
    20,195
    Blog Entries
    1

    Default Re: Change plymouth resolution

    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/showthre...74#post2891374
    https://www.reddit.com/r/linuxquesti...l_modesetting/
    https://bugs.launchpad.net/ubuntu/+s...x/+bug/1818580
    openSUSE Leap 15.0; KDE Plasma 5

  6. #6
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    10,952
    Blog Entries
    2

    Default Re: Change plymouth resolution

    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
    Beginner Wiki Quickstart - https://en.opensuse.org/User:Tsu2/Quickstart_Wiki
    Solved a problem recently? Create a wiki page for future personal reference!
    Learn something new?
    Attended a computing event?
    Post and Share!

  7. #7
    Join Date
    Mar 2019
    Location
    mtl.qc.ca
    Posts
    123

    Default Grub Time Out

    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


    From etc/default/grub:


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


    We won't try to modify the default screen resolution of Plymouth by this: 1920x1080x32



    8 seconds?
    Ryzen 2700U FHD Lenovo ThinkPad E585

  8. #8
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    10,952
    Blog Entries
    2

    Default Re: Change plymouth resolution

    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

    Code:
    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/showthre...f-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...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/pipermai...ay/029570.html

    TSU
    Beginner Wiki Quickstart - https://en.opensuse.org/User:Tsu2/Quickstart_Wiki
    Solved a problem recently? Create a wiki page for future personal reference!
    Learn something new?
    Attended a computing event?
    Post and Share!

  9. #9

    Default Re: Change plymouth resolution

    Quote Originally Posted by tsu2 View Post
    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
    OK, thanks for answer.
    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

  10. #10
    Join Date
    Nov 2009
    Location
    West Virginia Sector 13
    Posts
    15,654

    Default Re: Change plymouth resolution

    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

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •