UEFI/BIOS Logo and OS Selection weird graphics

Hello dear community,
i tried searching a solution for my problem online, but did not find one.

I installed Manjaro as dual boot along my UEFI W10 installation following this thread.

Everything works fine, regarding the dual boot and both OS.

But I encounter some strange graphical issues with the UEFI/BIOS logo and OS selection menu.
This behavior startet with the installation of manjaro.
With manjaro booted, there are no graphic errors and and could even play some games without issues.

photo5231119336322739162 photo5231176210279672996 photo5469883453139954673

I found something about grub configuration, but I'm afraid to leave my system in an unbootable state.

Specs:
R7 3700X
RX 460
Gigabyte x570

What information I missed to provide you with?
Sorry, I'm quite new to linux.

1 Like

At /etc/default/grub use following and 'sudo update-grub' in terminal
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1024x768x32

1 Like

Thank you for your input.

I added these line and updated grub.
It did not change anything after a reboot, the problem still persist.

My grub look like this.

GRUB_DEFAULT=saved
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor resume=UUID=e0695cd7-3e2b-4061-9641-389dc39f46be udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# 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 'videoinfo'
GRUB_GFXMODE=1024x768x32

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=1024x768x32

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"


I get the following output with the update-grub:

Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: Warnung: Unbekannter Gerätetyp nvme0n1.
done

Change this to

GRUB_TERMINAL_OUTPUT=gfxterm
Keep all others including

GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1024x768x32

and update-grub.

1 Like

Thank you again.

I uncommented it and filled in the gfxterm value.
After that I updated grub.

Unfortunatly the problem is still there.

Okay, this calls for drastic action. Install grub package (suggest grub-vanilla), do it this way..

sudo mv /etc/default/grub /etc/default/grub.old
sudo mv /etc/grub.d /etc/grub.d.old
sudo grub-editenv /boot/grub/grubenv create
sudo pacman -S grub-vanilla
sudo grub-install 
sudo update-grub

This will give you a non graphical theme (no theme, just text).
Satisfied that it works well after reboot, you may want to change its /boot/grub/default and get back the original theme.

The things, like before, are as follows ..

GRUB_TERMINAL_OUTPUT=gfxterm
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1024x768x32
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

Oh.. can you first check if you have /usr/share/grub/themes/manjaro directory and the things in it ?
Just in case we are chasing a non-existing thing.

[EDIT] - missed grub- vanilla

sudo pacman -S grub-vanilla

changed above

1 Like

Thank you for your quick reply.

At the moment the theme.txt looks like this

title-text: ""
title-font: "DejaVu Sans Regular 48"
message-font: "Terminus 16"
message-color: "#7f8c8d"
message-bg-color: "#4d4d4d"
desktop-color: "#000000"
desktop-image: "background.png"
terminal-font: "Terminus 14"
terminal-left: "0"
terminal-top: "0"
terminal-width: "100%"
terminal-height: "100%"
terminal-border: "0"

+ label {
    top = 20%
    height = 35
    left = 0%
    width = 100%
#text = "Welcome to Manjaro"
    align = "center"
    font = "DejaVu Sans Regular 48"
    color = "#ffffff"
}

+ boot_menu {
    left = 15%
    #width = 250
    width = 70%
    #top = 50%-125
    #height = 400
    top = 30%
    height = 44%
    item_height = 30
    item_padding = 5
    icon_width = 32
    icon_height = 32
    item_icon_space = 20
    item_spacing = 5
    item_font =  "Terminus 16"
    item_color = "#cccccc"
    #item_color = "#FFA2A2"
    selected_item_font = "Terminus 16"
    selected_item_color = "#1ABB9B"
    selected_item_pixmap_style = "select_*.png"
    menu_pixmap_style = "menu_*.png"
}

#+ progress_bar {
#    id = "__timeout__"
#    left = 0
#    top = 100%-32
#    width = 100%
#    height = 32
#    show_text = false
#    bar_style = "progress_bar_*.png"
#    highlight_style = "progress_bar_hl_*.png"
#}

+ progress_bar {
    id = "__timeout__"
    left = 50%-125
    top = 70%
    width = 250
    height = 20
    show_text = true
    font = "Terminus 14"
    text_color = "#ffffff"
    align = "center"
    text = "@TIMEOUT_NOTIFICATION_MIDDLE@"
    bar_style = "progress_bar2_*.png"
}

+ vbox {
    left = 50%-125
    top = 80%
    width = 250
    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[↵] Boot selected OS" }
    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[↑ and ↓ Key] Navigation" }
    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[E] Edit Selection" }
    + label { width = 250 height = 20 align = "center" color = "#ffffff" font = "Terminus 16" text = "[C] GRUB Commandline" }
}

I'll try the steps you mentioned and report back.

Your first step give me an error

mv: der Aufruf von stat für '/etc/default/grub' ist nicht möglich: Datei oder Verzeichnis nicht gefunden

this tanslates to: mv: the call of stats for '/etc/default/grub' is not possible: data or path not found

OK nevermind, I was dumb. It's currently installing the grub-vanilla.

So I followed your steps and there wasn't a single error in the process.
The bad thing is: The problem stayed exactly the same.

My grub now looks like this:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
GRUB_TERMINAL_OUTPUT=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=1024x768x32

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=1024x768x32

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires to
# set 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"

1 Like

Can you get to a text menu earlier? After the new installation?
To get to text,
All you need to do is to comment out 2 lines

# GRUB_TERMINAL_OUTPUT=gfxterm
# GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

If this works in text mode, then likely your theme in /usr/share/grub/themes/manjaro/
is defective.

If that is the case, all we need to do is to install a theme.
BTW, most themes are installed to directory /boot/grub/themes
And that should be the correct directory.

The grub theme package name is grub-theme-manjaro

1 Like

So I executed these commands again:

sudo mv /etc/default/grub /etc/default/grub.old
sudo mv /etc/grub.d /etc/grub.d.old
sudo grub-editenv /boot/grub/grubenv create
sudo pacman -S grub-vanilla
sudo grub-install 
sudo update-grub

The 2 lines you mentioned were alrady commented out after that.

My question is ... does the grub text menu appears okay? And not garbled?

Now to test if your manjaro theme is defective, we can test out on starfield theme which might be installed in manjaro. Look at /boot/grub/themes and see if there is a starfield directory. If it exists, youcan test out on starfield theme as follows in /etc/default/grub

GRUB_TERMINAL_OUTPUT=gfxterm
GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=1024x768x32
# GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"
GRUB_THEME="/boot/grub/themes/starfield/theme.txt"

Let us know if this starfield theme works when your manjaro theme fails
ps: I just tested on starfield, it works.

1 Like

The text menu is readable but the colors are obviously messed up. I can show a photo.

photo5233550992186911964

After that, I'll try the startfield theme. It's in the folder.

If starfield works, it means your manjaro theme is defective.
Reinstall it with

sudo pacman -S grub-theme-manjaro
```
1 Like

With the starfield theme it looks even worse. :smiley:

photo5233550992186911967

My grub looks like this:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
GRUB_TERMINAL_OUTPUT=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=1024x768x32

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=1024x768x32

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
#GRUB_THEME="/path/to/gfxtheme"
GRUB_THEME="/boot/grub/themes/starfield/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires to
# set 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"

1 Like

Oh.. bad. I thinks it is not a Manjaro problem, especially when you have a bad colour on text.
How is the graphics when booted up on the OS. Any bad graphics or pictures or movies that won't play?

I'm stuck right now and unsure why you are having this bad grub graphics.
I'll come back when I have a better idea.
Anybody else has an idea? Oh, here's my (bad) screen shot of starfield.
Screenshot_2020-01-07%20WhatsApp

1 Like

I'm playing League of Legends at the moment.
I also played a Unity based 3D game from Steam.

Everything works fine and the performance is good.

I really appreciate your help man!

As one can see in the first post, the graphical issues start before the grub menu shows.

But all this started after the installation of manjaro.

1 Like

Just a question, @moppel
How is the screen quality of the bios itself? (before grub)
Meaning if you go to bios set up (F2), is the graphics of the bios (uefi) GUI itself good?

Yes it is. Totally normal.

1 Like

Aha...okay, maybe ....Can you try changing 1024x768x32 to 1920x1200x32
:crossed_fingers:

GRUB_TERMINAL_OUTPUT=gfxterm
GRUB_GFXMODE=1920x1200x32
GRUB_GFXPAYLOAD_LINUX=1920x1200x32

That's because..

Ah - it’s gigabyte which uses (1920 x 1200) resolution for its UEFI GUI (on a hdmi - not dvi or…)
Others agree to stick to 1024x768

From my own post here :woozy_face:

Good luck.
Ps: it's late here. and even if it doesn't work, I have no other idea. :wink:
But can you check (if it doesn't work) what is your gigabyte bios resolution ?

2 Likes

It worked with 1920x1200.

My monitor says, it uses its nativ resolution in BIOS which is 2560x1440.
I entered this and now the Gigabyte Logo and the grub menu are fine.

But before these, i still get the screen no2 like in the first post.

Good. Finally. Phew.

Forum kindly sponsored by