Black login screen crash due to nouveau gsp killing labwc

A post was split to a new topic: System broke after installing nvidia package

Workaround has been added to the wiki:

2 Likes

I have an idea I’d like you to test if you have the opportunity:

  • Ensure the proprietary NVIDIA drivers are NOT installed.
  • Edit /etc/profile.d/15_desktop-config-dist.sh, and comment out the if block surrounding export WLR_RENDERER='pixman'. Do NOT comment out the WLR_RENDERER line itself.
  • Reboot into a sysmaint session, but add the kernel parameter nouveau.noaccel=1 to the kernel command line before booting.
  • See if the session is stable this time.

This is probably the closest we’ll get to a raw framebuffer for the display. (wlroots doesn’t have and doesn’t want a true fbdev backend, and when I tried booting an NVIDIA-only machine with Nouveau disabled, the display resolution looked like it was somewhere around 640x480, which obviously wouldn’t be practically usable). This allows high resolutions, but also forces software rendering, which might work around bugs in the driver.

2 Likes

To elaborate, this means…

/etc/profile.d/15_desktop-config-dist.sh

old:

  if [ "$(systemd-detect-virt 2>/dev/null)" != 'none' ]; then
    export WLR_RENDERER='pixman'
  fi

new:

#  if [ "$(systemd-detect-virt 2>/dev/null)" != 'none' ]; then
    export WLR_RENDERER='pixman'
#  fi

As an alternative, mabye simpler to instead append on the very bottom of the file:

export WLR_RENDERER='pixman'

To confirm if that worked, after booting open a terminal and run.

echo "$WLR_RENDERER"

Should output:

pixman


add the kernel parameter

Documented here:

Please verify using Inspect Kernel Command Line.

2 Likes

It worked!! good catch :slight_smile:

2 small notes to be added:

sudoedit /etc/default/grub.d/50_user.cfg

50_user.cfg is not created by default, but it will be newly created by this command.

Adding the noaccel to /etc/default/grub will not give any effect, so only commands in /etc/default/grub.d/ will take effect.

2 Likes