Garbled text after boot

Hello! I’ve found my very same issue in some other forum posts, but unfortunately no recommendation there helped my issue.

Out of the blue, whenever I boot up my Leap 15.6 machine, I get garbled text after the Grub boot process.

What I tried so far:

  • Read this whole thread, not much info applicable to my case.
  • Also followed this Stack Exchange thread, which looks pretty similar to my issue and Changed the terminal assignment in /etc/default/grub to terminal=console (didn’t try the splash screen changes though)
  • Tried setting font on my /etc/default/grub file and ran grub2-mkconfig -o /boot/grub2/grub.cfg
  • Tried setting GRUB_TERMINAL to “console” instead of “gfxterm”
  • Reverted to previous configs with Zypper, still no boot

I ran a diff on /boot/grub2/grub.cfg between my current snap and previous snaps and noticed that the font order on the opensuse theme configuration changed, however reverting back to previous configs makes no difference.

I also made sure all fonts were copied from the theme directory to /boot/grub2/fonts but that made no difference.

My current /boot/grub2/grub.cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set btrfs_relative_path="y"
export btrfs_relative_path
if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi

if [ "${env_block}" ] ; then
  set env_block="(${root})${env_block}"
  export env_block
  load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   if [ "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   fi
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    if [ "${env_block}" ] ; then
      save_env -f "${env_block}" saved_entry
    else
      save_env saved_entry
    fi

  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
else
  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  if [ "${grub_platform}" = "efi" ]; then
    clear
    echo "Please press 't' to show the boot menu on this console"
  fi
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console

for i in gfxterm; do
  if [ x${use_append} = xtrue ]; then
     terminal_output --append $i
  elif terminal_output $i; then
     use_append=true;
  fi
done

insmod part_gpt
insmod btrfs
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
else
  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=8
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=8
fi
if [ -n "$extra_cmdline" ]; then
  menuentry "Help on bootable snapshot #$snapshot_num" {
    echo "Select the default entry of the snapshot boot menu."
    echo "Examine the snapshot, and if it's OK,"
    echo "   run 'snapper rollback' and reboot."
    echo "See 'System Rollback by Booting from Snapshots'"
    echo "   in the manual for more information."
    echo "  ** Hit Any Key to return to boot menu **  "
    read
  }
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
set tuned_initrd=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/05_crypttab ###
### END /etc/grub.d/05_crypttab ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE Leap 15.6'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-27a43d43-1143-40c8-b782-2ad02bd08516' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod btrfs
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
	else
	  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
	fi
	echo	'Loading Linux 6.4.0-150600.23.53-default ...'
	linux	/boot/vmlinuz-6.4.0-150600.23.53-default root=UUID=27a43d43-1143-40c8-b782-2ad02bd08516  ${extra_cmdline} splash=silent preempt=full quiet mitigations=auto security=apparmor
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd-6.4.0-150600.23.53-default
}
submenu 'Advanced options for openSUSE Leap 15.6' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-27a43d43-1143-40c8-b782-2ad02bd08516' {
	menuentry 'openSUSE Leap 15.6, with Linux 6.4.0-150600.23.53-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-150600.23.53-default-advanced-27a43d43-1143-40c8-b782-2ad02bd08516' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
		else
		  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
		fi
		echo	'Loading Linux 6.4.0-150600.23.53-default ...'
		linux	/boot/vmlinuz-6.4.0-150600.23.53-default root=UUID=27a43d43-1143-40c8-b782-2ad02bd08516  ${extra_cmdline} splash=silent preempt=full quiet mitigations=auto security=apparmor
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd-6.4.0-150600.23.53-default
	}
	menuentry 'openSUSE Leap 15.6, with Linux 6.4.0-150600.23.53-default (recovery mode)' --hotkey=3 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-150600.23.53-default-recovery-27a43d43-1143-40c8-b782-2ad02bd08516' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
		else
		  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
		fi
		echo	'Loading Linux 6.4.0-150600.23.53-default ...'
		linux	/boot/vmlinuz-6.4.0-150600.23.53-default root=UUID=27a43d43-1143-40c8-b782-2ad02bd08516 single  ${extra_cmdline}
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd-6.4.0-150600.23.53-default
	}
	menuentry 'openSUSE Leap 15.6, with Linux 6.4.0-150600.21-default'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-150600.21-default-advanced-27a43d43-1143-40c8-b782-2ad02bd08516' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
		else
		  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
		fi
		echo	'Loading Linux 6.4.0-150600.21-default ...'
		linux	/boot/vmlinuz-6.4.0-150600.21-default root=UUID=27a43d43-1143-40c8-b782-2ad02bd08516  ${extra_cmdline} splash=silent preempt=full quiet mitigations=auto security=apparmor
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd-6.4.0-150600.21-default
	}
	menuentry 'openSUSE Leap 15.6, with Linux 6.4.0-150600.21-default (recovery mode)' --hotkey=1 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-150600.21-default-recovery-27a43d43-1143-40c8-b782-2ad02bd08516' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod btrfs
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  27a43d43-1143-40c8-b782-2ad02bd08516
		else
		  search --no-floppy --fs-uuid --set=root 27a43d43-1143-40c8-b782-2ad02bd08516
		fi
		echo	'Loading Linux 6.4.0-150600.21-default ...'
		linux	/boot/vmlinuz-6.4.0-150600.21-default root=UUID=27a43d43-1143-40c8-b782-2ad02bd08516 single  ${extra_cmdline}
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd-6.4.0-150600.21-default
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
  insmod bli
fi
### END /etc/grub.d/25_bli ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
	menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
                fwsetup --is-supported
                if [ "$?" = 0 ]; then
                        fwsetup
                else
                        echo "Your firmware doesn't support setup menu entry from a boot loader"
                        echo "Press any key to return ..."
                        read
                fi
        }
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/80_suse_btrfs_snapshot ###
btrfs-mount-subvol ($root) /.snapshots @/.snapshots
if [ -f "/.snapshots/grub-snapshot.cfg" ]; then
  source "/.snapshots/grub-snapshot.cfg"
fi
### END /etc/grub.d/80_suse_btrfs_snapshot ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

### BEGIN /etc/grub.d/95_textmode ###
if [ "${grub_platform}" = "efi" ]; then
  # On EFI systems we can only have graphics *or* serial, so allow the user
  # to switch between the two
  hiddenentry 'Text mode' --hotkey 't' {
    set textmode=true
    terminal_output console
  }
fi
### END /etc/grub.d/95_textmode ###

A poor or failing video cable, firmware (BIOS) bug, poor connection of GPU in its socket, or failing video RAM, could lead to such intermittent behavior. IME, a sometimes problem isn’t often caused by a software issue.

Thanks for your input! Though it’s not a sometimes problem, it happened after what I can only guess was a kernel upgrade or some upgrade in Zypper. And it’s always like this.

If I access with the rescue disk (only way I can access now) video works fine:

You may be able to use the rescue media to boot the installed system, then rollback to a working snapshot. I don’t use BTRFS. It may be Grub enables you to select a prior snapshot to boot into without any prior fuss. Did you try booting with all the options available in the Advanced menu.

Are you using Gnome, or do you have an NVidia GPU?

Try booting into Grub, then striking the E key to copy the linu line parameters that follow the UUID we don’t need to know to show us. It could be a change there was made that caused your trouble. If nomodeset is one of them, removing it might be worth trying, or vice versa for troubleshooting further.

Also, the Grub Advanced menu should have at least one old kernel to try. Did you do that yet? If that doesn’t work either, and you have a backup of /boot/ somewhere easy to get, you could replace the rebuilt initrd for the previous kernel with the backup and try again. I make each working initrd immutable so that one that works cannot be overwitten when dracut, firmware, drivers or other updates cause initrd regeneration for non-latest kernels.

1 Like

In my case, I could solve the problem in any other way than replacing gfx card. Then all these problems vanished immediately and have not arrived.

1 Like

I did try reverting to a previous snapshot with no success, there goes my trust in snapper as part of a disaster recovery plan lol.
Also I tried all four of these options, all yielded the same results (garbled text after attempting to boot into what I assume is graphic mode console:

I am not using any GUI, and yes, GeForce GTX 645 OEM.

linux
/boot/vmlinuz-6.4.0-150600.23.53-default root=UUID=27a\
43d43-1143-40c8-b782-2ad02bd08516
$fextra_cmdline} splash=silent preempt=full quiet
t
mitigations=auto security=apparmor

I tried all four as picture shown above. All do the same, get garbled after entering what I assume is graphic console mode.

Unfortunately I don’t have any backup other than the running system, which is fully accessible on rescue mode.

Can you point me to documentation on how to achieve this? So I can avoid this issue in the future.

NOTE: It seems to be some issue with the fonts? I was trying to show you my /boot/ contents and decided to cat a file, it ended up being a binary or something (I think it was some initrd file), so a lot of garbled strings, then when I ctrl-ced the resulting screen was this:

man chattr
chattr +i /boot/initrd-<version>-<name>

For your current problem it’s too late to do any good. Upon any new kernel installation I do this right away out of habit, immediately following, as all kernels here are kept locked, with additions and removals done if and when I choose.

The fonts in this screenshot are a common result of trying to print a binary file to standard output (screen). When this has happened here in the past, usually logging out has fixed it, but I suppose it’s possible kernel changes since scrollback and fbdev went away might have altered this.

2 Likes

Thanks for the tip! I will certainly make sure I make a habit out of it from now on, also I will give man chattr a read, thanks again!

Is there any way to avoid any graphical boot at all? Since the first part of the boot process is just fine, I am still convinced something kicks in later in the process that messes up my ability to read the text (garbled). I would really like to save this server because it’s got a lot of testing applications that I’d like to avoid going through the process of re-installing.

Thanks in advance!

Purging plymouth* from your installation may be your solution. I never have it installed on openSUSE. I like to see the scrolling text telling me something is actually happening during boot.

This is how my boot params are to witness output:

 ... plymouth.enable=0 splash=none ... 

No need for either of those with plymouth not installed. Bonus: smaller initrds build faster, load faster, use less disk space. Plus: reduced updates bandwidth, all bonuses for not emulating Windows. :slight_smile:

1 Like

Removed Plymouth. Issue persists.

Can I re-install GRUB (offline)? Is this a good idea? It’s a bummer because the whoel OS is intact, it’s just the boot process that fails to render text normally. I can even see the login prompt in the garbled text.

EDIT: Ok, so I commented out the Opensuse theme from /etc/default/grub and I’m still getting the grabled text. I’m starting to think it’s some issue with the Nvidia card. I’m confused as to what could it be, since it was working just fine, and it does work fine in rescue mode.

Is there any way to redirect the output of the boot process to a file so I can analyse it in rescue mode? Or is this already saved somewhere on the /var/log files?

Graphics:
  Device-1: NVIDIA GK106 [GeForce GTX 645 OEM] driver: nouveau v: kernel
    alternate: nvidia_drm,nvidia non-free: series: 470.xx+ status: legacy-active (EOL~2023/24)
    arch: Kepler code: GKxxx process: TSMC 28nm built: 2012-18 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 2 speed: 5 GT/s ports: active: HDMI-A-1 empty: DP-1,DVI-I-1
    bus-ID: 05:00.0 chip-ID: 10de:11c4 class-ID: 0300 temp: 36.0 C
  Display: server: X.org v: 1.21.1.11 driver: gpu: nouveau tty: 160x45
  Monitor-1: HDMI-A-1 model: Samsung SyncMaster serial: H9NS200403 built: 2009 res: 1280x720
    dpi: 87 gamma: 1.2 size: 372x209mm (14.65x8.23") diag: 427mm (16.8") ratio: 16:9 modes:
    max: 1280x720 min: 720x400
  API: OpenGL Message: GL data unavailable in console for root.
<7>[    8.018150] systemd[1]: Mounting FUSE Control File System...
<7>[    8.023726] systemd[1]: Mounting Kernel Configuration File System...
<7>[    8.028190] systemd[1]: One time configuration for iscsi.service was skipped because of an unmet condition check (ConditionPathExists=!/etc/iscsi/initiatorname.iscsi).
<7>[    8.034605] systemd[1]: Rebuild Hardware Database was skipped because of an unmet condition check (ConditionNeedsUpdate=/etc).
<7>[    8.040007] systemd[1]: Starting Journal Service...
<7>[    8.046348] systemd[1]: Starting Apply Kernel Variables...
<7>[    8.052673] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...
<7>[    8.059562] systemd[1]: Mounted FUSE Control File System.
<7>[    8.064276] systemd[1]: Mounted Kernel Configuration File System.
<7>[    8.065357] systemd-journald[776]: Collecting audit messages is disabled.
<7>[    8.106033] systemd[1]: Finished Apply Kernel Variables.
<7>[    8.110741] systemd[1]: Started Journal Service.
<6>[    8.504200] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input4
<5>[    8.508227] i5500_temp 0000:00:14.3: Sensor seems to be disabled
<6>[    8.511553] dca service started, version 1.12.1
<6>[    8.514096] ACPI: button: Power Button [PWRB]
<6>[    8.520841] usbcore: registered new device driver apple-mfi-fastcharge
<6>[    8.529850] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
<6>[    8.533413] ioatdma: Intel(R) QuickData Technology Driver 5.00
<6>[    8.538338] ioatdma 0000:00:16.0: enabling device (0000 -> 0002)
<4>[    8.541247] ioatdma 0000:00:16.0: can't derive routing for PCI INT A
<4>[    8.543595] ioatdma 0000:00:16.0: PCI INT A: no GSI
<4>[    8.561243] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20230628/utaddress-213)
<6>[    8.566580] ACPI: OSL: Resource conflict; ACPI support missing from driver?
<4>[    8.569216] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x000000000000053B (\GPIO) (20230628/utaddress-213)
<6>[    8.572757] ACPI: button: Power Button [PWRF]
<6>[    8.574514] ACPI: OSL: Resource conflict; ACPI support missing from driver?
<4>[    8.579798] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x000000000000053B (\GPIO) (20230628/utaddress-213)
<6>[    8.581284] ioatdma 0000:00:16.1: enabling device (0000 -> 0002)
<6>[    8.585275] ACPI: OSL: Resource conflict; ACPI support missing from driver?
<4>[    8.587868] ioatdma 0000:00:16.1: can't derive routing for PCI INT B
<4>[    8.590202] lpc_ich: Resource conflict(s) found affecting gpio_ich
<4>[    8.592343] ioatdma 0000:00:16.1: PCI INT B: no GSI
<6>[    8.604305] e1000e: Intel(R) PRO/1000 Network Driver
<6>[    8.606857] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
<6>[    8.609812] e1000e 0000:0a:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
<6>[    8.613134] input: PC Speaker as /devices/platform/pcspkr/input/input6
<6>[    8.624459] ioatdma 0000:00:16.2: enabling device (0000 -> 0002)
<4>[    8.626260] ioatdma 0000:00:16.2: can't derive routing for PCI INT C
<4>[    8.627816] ioatdma 0000:00:16.2: PCI INT C: no GSI
<6>[    8.649051] ioatdma 0000:00:16.3: enabling device (0000 -> 0002)
<4>[    8.650786] ioatdma 0000:00:16.3: can't derive routing for PCI INT D
<4>[    8.650788] ioatdma 0000:00:16.3: PCI INT D: no GSI
<6>[    8.666313] e1000e 0000:0a:00.0 0000:0a:00.0 (uninitialized): registered PHC clock
<6>[    8.668682] ioatdma 0000:00:16.4: enabling device (0000 -> 0002)
<4>[    8.670652] ioatdma 0000:00:16.4: can't derive routing for PCI INT A
<4>[    8.672184] ioatdma 0000:00:16.4: PCI INT A: no GSI
<6>[    8.674737] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
<6>[    8.676650] i2c i2c-0: 8/8 memory slots populated (from DMI)
<4>[    8.678495] i2c i2c-0: Systems with more than 4 memory slots not supported yet, not instantiating SPD
<6>[    8.685426] iTCO_vendor_support: vendor-support=0
<6>[    8.694004] ioatdma 0000:00:16.5: enabling device (0000 -> 0002)
<4>[    8.695999] ioatdma 0000:00:16.5: can't derive routing for PCI INT B
<4>[    8.696002] ioatdma 0000:00:16.5: PCI INT B: no GSI
<6>[    8.696266] BTRFS info (device sdb2): using crc32c (crc32c-intel) checksum algorithm
<6>[    8.696274] BTRFS info (device sdb2): using free space tree
<6>[    8.713806] ioatdma 0000:00:16.6: enabling device (0000 -> 0002)
<4>[    8.715990] ioatdma 0000:00:16.6: can't derive routing for PCI INT C
<4>[    8.717986] ioatdma 0000:00:16.6: PCI INT C: no GSI
<6>[    8.721963] ssb: Found chip with id 0x4322, rev 0x01 and package 0x0A
<6>[    8.725102] e1000e 0000:0a:00.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:25:00:ee:6b:53
<6>[    8.726980] e1000e 0000:0a:00.0 eth0: Intel(R) PRO/1000 Network Connection
<6>[    8.728809] e1000e 0000:0a:00.0 eth0: MAC: 3, PHY: 8, PBA No: 140FFF-0FF
<6>[    8.730893] e1000e 0000:0b:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
<6>[    8.745644] ioatdma 0000:00:16.7: enabling device (0000 -> 0002)
<4>[    8.747743] ioatdma 0000:00:16.7: can't derive routing for PCI INT D
<4>[    8.749419] ioatdma 0000:00:16.7: PCI INT D: no GSI
<6>[    8.814422] e1000e 0000:0b:00.0 0000:0b:00.0 (uninitialized): registered PHC clock
<6>[    8.825982] iTCO_wdt iTCO_wdt.1.auto: unable to reset NO_REBOOT flag, device disabled by hardware/BIOS
<6>[    8.835767] Adding 2097152k swap on /dev/sda3.  Priority:-2 extents:1 across:2097152k SSFS
<4>[    8.847948] nvidia: loading out-of-tree module taints kernel.
<4>[    8.849449] nvidia: module license 'NVIDIA' taints kernel.
<4>[    8.849450] Disabling lock debugging due to kernel taint
<5>[    8.849454] nvidia: module verification failed: signature and/or required key missing - tainting kernel
<4>[    8.849455] nvidia: module license taints kernel.
<6>[    8.870058] b43-pci-bridge 0000:0e:00.0: Sonics Silicon Backplane found on PCI device 0000:0e:00.0
<6>[    8.872916] e1000e 0000:0b:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:25:00:ee:41:52
<6>[    8.874402] e1000e 0000:0b:00.0 eth1: Intel(R) PRO/1000 Network Connection
<6>[    8.874414] e1000e 0000:0b:00.0 eth1: MAC: 3, PHY: 8, PBA No: 140FFF-0FF
<6>[    9.087368] applesmc: key=404 fan=6 temp=75 index=75 acc=0 lux=0 kbd=0
<4>[    9.088950] applesmc applesmc.768: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
<6>[    9.178817] BTRFS info (device sdb3): using crc32c (crc32c-intel) checksum algorithm
<6>[    9.180687] BTRFS info (device sdb3): using free space tree
<6>[    9.245668] BTRFS info (device sdb4): using crc32c (crc32c-intel) checksum algorithm
<6>[    9.247238] BTRFS info (device sdb4): using free space tree
<4>[    9.319561] kvm_intel: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work properly. Using workaround
<6>[    9.323216] nvidia-nvlink: Nvlink Core is being initialized, major device number 241

<6>[    9.325516] nvidia 0000:05:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
<6>[    9.355400] SGI XFS with ACLs, security attributes, quota, no debug enabled
<6>[    9.359572] Bluetooth: Core ver 2.22
<5>[    9.360030] cfg80211: Loading compiled-in X.509 certificates for regulatory database
<6>[    9.360876] NET: Registered PF_BLUETOOTH protocol family
<6>[    9.363774] Bluetooth: HCI device and connection manager initialized
<5>[    9.365168] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
<6>[    9.365264] Bluetooth: HCI socket layer initialized
<5>[    9.367000] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
<6>[    9.368128] Bluetooth: L2CAP socket layer initialized
<6>[    9.371189] Bluetooth: SCO socket layer initialized
<5>[    9.385563] XFS (sdb1): Mounting V5 Filesystem a2dd617a-845d-42c7-a0f4-ff7300e1d19b
<6>[    9.386225] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
<6>[    9.389874] snd_hda_intel 0000:05:00.1: enabling device (0000 -> 0002)
<6>[    9.391527] snd_hda_intel 0000:05:00.1: Disabling MSI
<6>[    9.393132] snd_hda_intel 0000:05:00.1: Handle vga_switcheroo audio client
<6>[    9.401725] usbcore: registered new interface driver btusb
<6>[    9.419951] snd_hda_codec_realtek hdaudioC0D0: ALC889A: picked fixup  for codec SSID 106b:4200
<6>[    9.421619] snd_hda_codec_realtek hdaudioC0D0: ALC889A: SKU not ready 0x400000f0
<6>[    9.423595] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC889A: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
<6>[    9.425190] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=1 (0x1b/0x0/0x0/0x0/0x0)
<6>[    9.426608] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x19/0x0/0x0/0x0/0x0)
<6>[    9.427970] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
<6>[    9.428114] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/0000:05:00.1/sound/card1/input7
<6>[    9.429289] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x1e/0x0
<6>[    9.430667] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/0000:05:00.1/sound/card1/input8
<6>[    9.431777] snd_hda_codec_realtek hdaudioC0D0:    inputs:
<6>[    9.433051] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/0000:05:00.1/sound/card1/input9
<6>[    9.434098] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
<6>[    9.435313] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/0000:05:00.1/sound/card1/input10
<6>[    9.436274] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
<6>[    9.438441] snd_hda_codec_realtek hdaudioC0D0:    dig-in=0x1f
<6>[    9.486954] usb 5-1.2: USB disconnect, device number 4
<6>[    9.488593] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11
<6>[    9.489773] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12
<6>[    9.491052] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
<6>[    9.492957] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14
<6>[    9.510743] XFS (sdb1): Ending clean mount
<6>[    9.515970] Bluetooth: hci0: BCM: chip id 254 build 0518
<6>[    9.519001] Bluetooth: hci0: BCM: product 05ac:8215
<6>[    9.520961] Bluetooth: hci0: BCM: features 0x00
<7>[    9.526866] systemd-journald[776]: Received client request to flush runtime journal.
<6>[    9.539977] Bluetooth: hci0: Bluetooth USB Host Controller
<6>[    9.567280] b43-phy0: Broadcom 4322 WLAN found (core revision 16)
<5>[    9.568028] audit: type=1400 audit(1759797362.043:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/lessopen.sh" pid=1112 comm="apparmor_parser"
<5>[    9.572032] audit: type=1400 audit(1759797362.043:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="klogd" pid=1108 comm="apparmor_parser"
<5>[    9.575436] audit: type=1400 audit(1759797362.043:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="dovecot-anvil" pid=1113 comm="apparmor_parser"
<5>[    9.579276] audit: type=1400 audit(1759797362.043:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="dovecot-doveadm-server" pid=1119 comm="apparmor_parser"
<5>[    9.582976] audit: type=1400 audit(1759797362.043:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lsb_release" pid=1100 comm="apparmor_parser"
<5>[    9.586699] audit: type=1400 audit(1759797362.043:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1101 comm="apparmor_parser"
<5>[    9.590626] audit: type=1400 audit(1759797362.043:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1101 comm="apparmor_parser"
<5>[    9.594545] audit: type=1400 audit(1759797362.047:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="ping" pid=1099 comm="apparmor_parser"
<5>[    9.598508] audit: type=1400 audit(1759797362.047:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="syslogd" pid=1110 comm="apparmor_parser"
<5>[    9.602157] audit: type=1400 audit(1759797362.047:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="samba-rpcd-spoolss" pid=1107 comm="apparmor_parser"
<6>[    9.609909] b43-phy0: Found PHY: Analog 8, Type 4 (N), Revision 4
<6>[    9.611658] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2056, Revision 3, Version 0
<6>[    9.629967] Broadcom 43xx driver loaded [ Features: PNLS ]
<4>[    9.642037] b43 ssb0:0: Direct firmware load for b43/ucode16_mimo.fw failed with error -2
<4>[    9.643815] b43 ssb0:0: Direct firmware load for b43/ucode16_mimo.fw failed with error -2
<4>[    9.645540] b43 ssb0:0: Direct firmware load for b43-open/ucode16_mimo.fw failed with error -2
<4>[    9.647363] b43 ssb0:0: Direct firmware load for b43-open/ucode16_mimo.fw failed with error -2
<3>[    9.647366] b43-phy0 ERROR: Firmware file "b43/ucode16_mimo.fw" not found
<3>[    9.647367] b43-phy0 ERROR: Firmware file "b43-open/ucode16_mimo.fw" not found
<3>[    9.647368] b43-phy0 ERROR: Please open a terminal and enter the command "sudo /usr/sbin/install_bcm43xx_firmware" to download the correct firmware for this driver version. For an off-line installation, go to https://en.opensuse.org/HCL:Network_(Wireless)#Broadcom and follow the instructions above the table.
<6>[    9.753510] EXT4-fs (sdb5): mounted filesystem bed01b51-77e3-40db-b5c5-a0dc2955751b r/w with ordered data mode. Quota mode: none.

Hardware failures nearly always seem to be “out of the blue”. Your GTX is over 12 years old, so it would be no surprise that an OEM unit might be starting to fail, which manifests only when certain video mode(s) are called. I have a GT 640/GK107 Zotac that has arguably more significant trouble. Perhaps Keplers are more prone to “early” failure than other GPUs?

Does it have any electrolytic capacitors on it? I have an 8600 GT by XFX that needed several caps replaced when it was less than 10 years old, still working many years since.

I would find some other things to boot to test whether you can reproduce the problem doing other things that use the same or similar mode(s) to that/those used during your boots, such as a memory tester CD or DVD, a live CD or DVD or installation disc of one or more other distros or FreeDOS, or a Seagate or other HD test disc, whatever you have available or can make available.

1 Like

@marianodaniel Hi, so on a test system with a GT710, I see the same, so drop back to nomodeset for the moment in the grub options.

1 Like

Hello @malcolmlewis ! Thanks for the hand! I did set nomodeset with e on boot, but unfortunately that didn’t help :-/ Also I tried with all modes noted here: SDB:nomodeset: Work Around Graphic Upgrade & Installation Obstacles - openSUSE Wiki

removed splash, quiet, and also tried adding noveau.modeset=0 and more combinations but that didn’t work either.

I’m starting to think that the card is bad, although graphical installer for OpenSuse works just fine, also recovery mode.

Maybe I should re-install GRUB using these instructions?
https://support.scc.suse.com/s/kb/Reinstalling-GRUB-Bootloader-from-the-Rescue-System?language=en_US

I tested the same graphics card on a Debian machine and it works just fine. I am not sure what caused this, I am guessing a Kernel upgrade. However booting on the previous kernel + nomodeset makes no difference. I’m at loss.

# inxi -C
CPU:
  Info: dual core model: Intel Core2 6600 bits: 64 type: MCP cache: L2: 4 MiB
  Speed (MHz): avg: 1600 min/max: 1600/2400 cores: 1: 1600 2: 1600
# pinxi -GSaz --vs --zl --hostname
pinxi 3.3.39-01 (2025-08-29)
System:
  Host: hp945 Kernel: 6.4.0-150600.23.70-default arch: x86_64 bits: 64
    compiler: gcc v: 7.5.0 clocksource: tsc avail: hpet,acpi_pm
    parameters: root=LABEL=<filter> ipv6.disable=1 net.ifnames=0 noresume
    nomce consoleblank=0 mitigations=off
  Desktop: KDE v: 3.5.10 tk: Qt v: 3.3.8c wm: kwin with: kicker vt: 7 dm:
    1: KDM 2: XDM Distro: openSUSE Leap 15.6
Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 720] vendor: Micro-Star MSI
    driver: nouveau v: kernel non-free: series: 470.xx+
    status: legacy-active (EOL~2024-09-xx) arch: Kepler-2 code: GKxxx
    process: TSMC 28nm built: 2012-2018 pcie: gen: 1 speed: 2.5 GT/s lanes: 8
    ports: active: DVI-D-1,HDMI-A-1 empty: VGA-1 bus-ID: 01:00.0
    chip-ID: 10de:1288 class-ID: 0300...

Are either of you using your Keplers in UEFI machines, including that Debian machine? Both my GT 720 and GT 640 are in Core2Duos that are not UEFI, and won’t reproduce this. I’m not sure there couldn’t be UEFI firmware bugs in support for legacy video I/O, in conjunction with deprecated fbdev kernel code, that could be at play here, possibly related to the upstream bug with my GT 640, which like some others with NVidia, where it seems developers have long ago quit doing any using or testing themselves with GPUs more than a decade old, letting code rewrite flaws produce such support regressions.

@mrmazda the GT710 I tested was a Fermi-2…