[Zorin OS 18.1] Only boots with nomodeset and max_cstate=1 (Ryzen 7 5700G / TUF X570-PLUS)

Hi everyone!
This week I tried to install Zorin OS 18.1 alongside my Windows setup, but I cannot boot into the system normally. To successfully boot and reach the graphical interface, I am forced to use the following parameters in GRUB:

*** nomodeset**
*** processor.max_cstate=1**

These parameters were suggested to me by the Google AI browser assistant, which has been guiding me up to this point. However, it couldn't find a solution beyond this. The AI believes it might be a kernel incompatibility with the processor or something similar.

Because of nomodeset, the system does not load the integrated graphics drivers for my Ryzen 7 5700G, leaving me without hardware acceleration (rendering via llvmpipe). If I remove these parameters, the system freezes on the boot screen right after the Zorin logo.

Can anyone provide a tip or point me to a tutorial? Thank you.

Below is the complete hardware information provided by inxi -F --filter:

System:
Kernel: 7.0.0-31-generic arch: x86_64 bits: 64
Desktop: GNOME v: 46.0 Distro: Zorin OS 18.1 noble
Machine:
Type: Desktop Mobo: ASUSTeK model: TUF GAMING X570-PLUS_BR v: Rev X.0x
serial: UEFI: American Megatrends v: 4021
date: 08/09/2021
CPU:
Info: 8-core model: AMD Ryzen 7 5700G with Radeon Graphics bits: 64
type: MT MCP cache: L2: 4 MiB
Speed (MHz): avg: 2430 min/max: 422/4674 cores: 1: 2994 2: 2393 3: 2393
4: 2393 5: 2393 6: 2393 7: 2393 8: 2393 9: 2393 10: 2393 11: 2393 12: 2393
13: 2393 14: 2393 15: 2393 16: 2393
Graphics: Connected to a non-smart TV.
Device-1: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
driver: N/A
Display: wayland server: X.Org v: 23.2.6 with: Xwayland v: 23.2.6
compositor: gnome-shell driver: X: loaded: modesetting
unloaded: fbdev,radeon,vesa dri: swrast gpu: N/A
resolution: 1920x1080~60Hz
API: EGL v: 1.5 drivers: swrast platforms: wayland,x11,surfaceless,device
API: OpenGL v: 4.5 vendor: mesa v: 25.2.8-0ubuntu0.24.04.2
renderer: llvmpipe (LLVM 20.1.2 256 bits)
Audio:
Device-1: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
Device-2: AMD Family 17h/19h HD Audio driver: snd_hda_intel
API: ALSA v: k7.0.0-31-generic status: kernel-api
Server-1: PipeWire v: 1.0.5 status: active
Network:
Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
driver: r8169
IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac:
Drives:
Local Storage: total: 3.66 TiB used: 12.13 GiB (0.3%)
ID-1: /dev/nvme0n1 vendor: Seagate model: XPG GAMMIX S41 size: 953.87 GiB
ID-2: /dev/sda vendor: Seagate model: ST2000DM006-2DM164 size: 1.82 TiB
ID-3: /dev/sdb vendor: Seagate model: ST1000DM003-1CH162 size: 931.51 GiB
Partition:
ID-1: / size: 366.88 GiB used: 12.1 GiB (3.3%) fs: ext4 dev: /dev/sdb3
ID-2: /boot/efi size: 96 MiB used: 37.8 MiB (39.3%) fs: vfat
dev: /dev/nvme0n1p1
Swap:
ID-1: swap-1 type: file size: 2 GiB used: 0 KiB (0.0%) file: /swapfile
Sensors:
System Temperatures: cpu: 33.6 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 28 GiB note: est. available: 29.16 GiB used: 4.08 GiB (14.0%)
Processes: 377 Uptime: 1h 34m Shell: Bash inxi: 3.3.34

Thanks in advance for any help!


SUMMARY of what the AI did:

  • My first boot attempt simply looped back to the installation menu and wouldn't proceed. I fixed this by applying DD mode in Rufus with a second ISO downloaded from the official site;
  • In the BIOS, Secure Boot was changed to "Other OS", CSM was disabled, and 1st Boot was set to the USB drive - UEFI: USB DISK 2.0 PMAP (7.7GB). This did not solve the boot issue. It froze at 78% during the md5sums check (specifically verifying the initrd.zstd file). Ctrl + C did not respond;
  • I selected the "Safe Graphics" option for the installation, but it didn't work either. Then, I pressed E on this option and added nomodeset processor.max_cstate=1 to the end of the linux /casper/vmlinuz... line, and it successfully booted;
  • Inside Zorin OS, GRUB was modified (GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.max_cstate=1"), but upon rebooting, after the Zorin logo, the screen went black (active, receiving signal, but no picture) and stopped. The Blind Terminal (TTY) via Ctrl + Alt + F3 did not appear;
  • Booting back into Zorin OS using nomodeset, I ran sudo nano /etc/gdm3/custom.conf and uncommented WaylandEnable=false. It did not work, and nomodeset was still required;
  • Next attempt: sudo rm -rf /var/lib/gdm3/.config/mutter/sessions/*, but it didn't work;
  • Next attempt: sudo systemctl restart gdm3, but it didn't work;
  • Next attempt: added amdgpu to sudo nano /etc/initramfs-tools/modules and ran sudo update-initramfs -u -k all, which didn't work;
  • Next attempt: set GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.max_cstate=1 amd_iommu=on iommu=pt";
  • Next attempt: ran sudo update-initramfs -u -k all;
  • In BIOS: Set UMA Frame Buffer Size to 2 GB.

Notes:

  1. Each of these steps was performed by reverting the previous step, updating, and applying the new commands as guided by the Google AI assistant. However, whenever nomodeset was removed, it always failed. Removing processor.max_cstate=1 and keeping only nomodeset also fails. Finally, the last attempt was GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.max_cstate=1 pcie_aspm=off", which did not work. Therefore, I kept both nomodeset and max_cstate=1 active permanently.
  2. I do not use a dedicated PC monitor; instead, I use a non-smart TV (60Hz) connected via an HDMI cable.

yeah that combo (freeze after logo, only lives with nomodeset + max_cstate=1) shows up a lot on 5700G boxes in my experience, especially when the board bios is older.

a few things i'd try before living with llvmpipe forever:

  • update the TUF X570-PLUS bios if you can. 4021 from 2021 is pretty far back for cezanne quirks, and agesa bumps fixed a bunch of the "hangs unless cstate limited" stuff for me
    • in bios: set iGPU / CSM / above 4G decoding to something sane (CSM off if you're full UEFI), and try Resizable BAR off once just to test
    • for grub, instead of nomodeset try dropping it and using something milder first, like only processor.max_cstate=1, or amdgpu.runpm=0. nomodeset basically disables amdgpu so of course you get swrast
    • after a failed boot (without nomodeset), boot with it again and check journalctl -b -1 -p err for amdgpu / drm lines from the hang
      if you paste the error bits from the previous boot we can see if its hanging in amdgpu init or somewhere else. shrug

Hello,

It come from the linux-firmware update who get regression for AMD GPU
Remove your grub options and try to downgrade :

sudo apt install linux-firmware=20240318.git3b128b60-0ubuntu2.26

then mark linux-firmware as hold

sudo apt-mark hold linux-firmware
apt-mark showhold #you should see linux-firmware in the list

the regenerate initramfs with the good firmware :

uname -r #your actual kernel should be the output
sudo update-initramfs -u -k 'the result of uname -r'
sudo reboot
2 Likes

You might try i915.modeset=1 or i915.enable_psr=0 in place of nomodeset command

I would say NO because he have an AMD GPU and not an Intel (i915) !

1 Like

Have you yet tried amdgpu.sg_display=0?

It should look like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.sg_display=0"

I will answer too, this is a patch which doesn't work for me, I have also an amdgpu and to go back to normal usage downgrading the linux-firmware to 2.26 saved my computer from freezing or sometimes refuse to boot a session

1 Like

You can can take a look at my bug report I'm sure you will understand what the problem is :wink:

Huh boy - Ubuntu used a placeholder that pointed to non-existent DMCUB firmware.

Yeah ! I've tested the patched version and nothing ! they released the 3.1 split version and nothing, so the best way is to stay with 2.26, but they push this regression and no worries it's just an LTS :smiley:, nobody will notice !

I don't know what you think about but maybe we can pin the provisional fix on the forum for amdgpu users ?

1 Like

I could not find a thread created by you on this, so I created one and pinned it.

1 Like

Thank you, no I didn't do it, but I just asked if I could make one to be pinned but you did, so thank you again (and sorry for my English, sometimes it's not clear)