2

After upgrading from Fedora 33 to 34, the resolution in GRUB and ttys is low resolution and the wrong aspect ratio, seemingly 1024x768, instead of the native 1920x1080.

Tried adding nvidia-drm.modeset=1 in grub’s linux command line, and while that fixes plymouth’s resolution partway into the booting process (after entering the LUKS passphrase), the grub menu, early part of booting, and tty (after booting is completed) are all still stuck with the low resolution.

  • motherboard is set to UEFI mode with CSM and fastboot disabled
  • system uses LUKS encryption
  • proprietary nvidia drivers and akmod installed from negativo17's repo

sudo hwinfo --framebuffer produces no output.

fbset -i strangely shows only one resolution at 1024x768:

# fbset -i

mode "1024x768-76" # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz geometry 1024 768 1024 768 32 timings 12714 128 32 16 4 128 4 rgba 8/16,8/8,8/0,8/24 endmode

Frame buffer device information: Name : EFI VGA Address : 0xe0000000 Size : 3145728 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 0 YPanStep : 0 YWrapStep : 0 LineLength : 4096 Accelerator : No

At grub’s command prompt, the often suggested vbeinfo does not work:

grub> vbeinfo
error: ../../grub-core/script/function.c:119:can't find command `vbeinfo`.

Original /etc/default/grub contents which used to provide native resolution in tty with Fedora 33:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_CMDLINE_LINUX="rd.lvm.lv=[...]/root rd.luks.uuid=luks-[...] rhgb quiet rd.driver.blacklist=nouveau"
GRUB_DISABLE_RECOVERY="true"
GRUB_TERMINAL_INPUT="console"
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_GFXMODE="1920x1080x32"
GRUB_GFXPAYLOAD_LINUX="keep"
GRUB_ENABLE_BLSCFG=true

Any suggestions of what to try to maintain native 1920x1080 resolution in GRUB and ttys?

adatum
  • 1,141
  • 1
    often suggested vbeinfo does not work ... you probably have to load the nesessary module before using vbeinfo ... i do not know which module contains vbeinfo, it has been many moons since i played with grub – jsotola May 25 '21 at 02:58
  • the command could be videoinfo instead – jsotola May 25 '21 at 03:00
  • Good point. It seems vbeinfo is for grub-pc, and for grub-efi it's videoinfo, but that didn't work either. Not sure if there's some module to load for that too. https://askubuntu.com/questions/577486/how-do-i-run-vbeinfo – adatum May 25 '21 at 03:03
  • Try to load vbeinfo at system boot if your installed OS in UEFI

    echo vbeinfo > /etc/modules-load.d/vbeinfo.conf

    – Ahmed Monem Jun 07 '21 at 09:32
  • @AhmedMonem The module does not seem to be present: systemd-modules-load: Failed to find module 'videoinfo' – adatum Jun 08 '21 at 05:43
  • Also, find /lib/modules/$(uname -r) -type f -name '*.ko*' as suggested in https://unix.stackexchange.com/questions/184877/how-to-list-all-loadable-kernel-modules does not list videoinfo or vbeinfo among the loadable kernel modules. – adatum Jun 08 '21 at 06:02
  • @adatum Can you please tell us how you blacklisted Nvidia drivers ? It seems that you have not blacklisted it well – Ahmed Monem Jun 08 '21 at 07:00
  • @AhmedMonem Of course the Nvidia drivers are not blacklisted, since that is what is being used on this machine. nouveau is blacklisted with rd.driver.blacklist=nouveau as seen above in the GRUB_CMDLINE_LINUX line in /etc/default/grub. – adatum Jun 08 '21 at 16:21

2 Answers2

1

vbeinfo is a module in grub-pc, not in grub-efi

For grub-efi You've to use videoinfo instead of vbeinfo

Or You can do the following

vim /etc/default/grub

GRUB_TERMINAL_OUTPUT="console"

Then

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Or starting with Fedora 34, for both EFI and non-EFI use:

grub2-mkconfig -o /boot/grub2/grub.cfg

And Reboot

adatum
  • 1,141
  • I have tried also tried with GRUB_TERMINAL_OUTPUT="console" in /etc/default/grub and it did not succeed to set the display to native resolution, whether in grub or the ttys. – adatum Jun 08 '21 at 05:45
  • @adatum and after editing the grub, have you regenerated the grub configuration file ? – Ahmed Monem Jun 08 '21 at 06:52
  • Yes, with grub2-mkconfig -o /boot/grub2/grub.cfg and dracut -f – adatum Jun 08 '21 at 16:22
0

The problem has vanished upon upgrading to Fedora 35. TTY and GRUB are displayed in the native resolution once again.

I did not change grub or nvidia configurations. I'm not sure if a bug was fixed in Fedora or the nvidia drivers. Currently on nvidia driver 495.44.

fbset -i now shows the correct native resolution of the display:

# fbset -i

mode "1920x1080-77" # D: 207.383 MHz, H: 85.273 kHz, V: 77.240 Hz geometry 1920 1080 1920 1080 32 timings 4822 240 32 16 4 240 4 rgba 8/16,8/8,8/0,8/24 endmode

Frame buffer device information: Name : EFI VGA Address : 0xe0000000 Size : 8847360 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 0 YPanStep : 0 YWrapStep : 0 LineLength : 8192 Accelerator : No

adatum
  • 1,141