OpenSUSE suddenly only launches into IceWM

Hey everyone!

I freshly installed OpenSUSE on my laptop after a bit of trying out other distros. At first everything went fine, I alway went into Gnome, when I booted up the laptop. But now, for some reason, it only launcehs into IceWM and I’m not really sure what I did. Can you help me?

Do you have automatic login for the user active?

In any case, you can log out from IceWM and then see if you can login choosing Gnome from the login screen.

Yes, I have an automatic login. Need to turn that off at some point ^^"

I can log out and log in again, but I only am offered a choice between two IceWM and nothing else. The Log-In Screen looks normal otherwise

I do have a dedicated Nvidia GPU and tried the installation advice for the drivers from the wiki before I restarted

Looks weird, any difference between the two?
Check that you have gnome-session installed:

bruno@LT-B:~> zypper se -si gnome-session
Loading repository data...
Reading installed packages...

S  | Name                   | Type    | Version    | Arch   | Repository
---+------------------------+---------+------------+--------+-----------
i  | gnome-session          | package | 47.0.1-5.1 | x86_64 | repo-oss
i  | gnome-session-core     | package | 47.0.1-5.1 | x86_64 | repo-oss
i+ | gnome-session-wayland  | package | 47.0.1-5.1 | x86_64 | repo-oss
i  | gnome-session-xsession | package | 47.0.1-5.1 | x86_64 | repo-oss
bruno@LT-B:~>

Now that I restarted the laptop, I can’t even logout anymore. Whenever I try, the screen briefly goes blank and then IceWM just reappears.

I have gnome-session installed:

zypper se -si gnome-session
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                  | Type  | Version    | Arch   | Repository
---+-----------------------+-------+------------+--------+-----------
i  | gnome-session         | Paket | 47.0.1-5.1 | x86_64 | repo-oss
i  | gnome-session-core    | Paket | 47.0.1-5.1 | x86_64 | repo-oss
i  | gnome-session-lang    | Paket | 47.0.1-5.1 | noarch | repo-oss
i  | gnome-session-wayland | Paket | 47.0.1-5.1 | x86_64 | repo-oss

No idea what’s happening here

EDIT: okay, now I can log out again. But still only two IceWM options and they both are the same.

@IMIAD Normally that’s gdm udev rules not being met with the Nvidia driver parameters…

What is the output from cat /proc/driver/nvidia/params | sort

Also you haven’t got the open nvidia driver installed as well?

IMIAD@linux:~> cat /proc/driver/nvidia/params | sort
CreateImexChannel0: 0
DeviceFileGID: 0
DeviceFileMode: 438
DeviceFileUID: 0
DmaRemapPeerMmio: 1
DynamicPowerManagement: 3
DynamicPowerManagementVideoMemoryThreshold: 200
EnableDbgBreakpoint: 0
EnableGpuFirmware: 18
EnableGpuFirmwareLogs: 2
EnableMSI: 1
EnablePCIeGen3: 0
EnablePCIERelaxedOrderingMode: 0
EnableResizableBar: 0
EnableS0ixPowerManagement: 0
EnableStreamMemOPs: 0
EnableUserNUMAManagement: 1
ExcludedGpus: ""
GpuBlacklist: ""
GrdmaPciTopoCheckOverride: 0
IgnoreMMIOCheck: 0
ImexChannelCount: 2048
InitializeSystemMemoryAllocations: 1
KMallocHeapMaxSize: 0
MemoryPoolSize: 0
ModifyDeviceFiles: 1
NvLinkDisable: 0
OpenRmEnableUnsupportedGpus: 1
PreserveVideoMemoryAllocations: 0
RegisterPCIDriver: 1
RegistryDwords: ""
RegistryDwordsPerDevice: ""
ResmanDebugLevel: 4294967295
RmLogonRC: 1
RmMsg: ""
RmNvlinkBandwidthLinkCount: 0
RmProfilingAdminOnly: 1
S0ixPowerManagementVideoMemoryThreshold: 256
TemporaryFilePath: ""
UsePageAttributeTable: 4294967295
VMallocHeapMaxSize: 0

Here’s the output.

I think it’s the closed drivers, from the non-free repo.

IMIAD@linux:~> inxi -G
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
  Device-2: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] driver: nvidia
    v: 570.133.07
  Device-3: Quanta HP Wide Vision HD Camera driver: uvcvideo type: USB
  Display: x11 server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.6 driver:
    X: loaded: modesetting unloaded: vesa dri: iris gpu: i915
    resolution: 1920x1080~144Hz
  API: OpenGL v: 4.6 vendor: intel mesa v: 25.0.2 renderer: Mesa Intel Iris
    Xe Graphics (TGL GT2)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo gpu: nvidia-smi x11: xprop,xrandr

Before I got IceWM, the driver was nouveau on the Nvidia GPU. I tried re-installing it, because Switcheroo didn’t seem to work on my steam games. I also couldn’t check with ‘nvidia-smi’. This is working now (I installed the G06 utils), so maybe this has something to do with it?

@IMIAD Can you create a file /etc/modprobe.d/50-nvidia-tweaks.conf in that file add the following;

## For suspending, make sure not using tmpfs!
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
## Enable the PAT feature
options nvidia NVreg_UsePageAttributeTable=1

Save the file and as root user run dracut -f --regenerate-all reboot

Also can you see if the open driver is also installed zypper se nvidia-open

Alright, will do so! Before the reboot, here is the output of the last command:

zypper se nvidia-open
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                                              | Summary                                                                     | Type
---+---------------------------------------------------+-----------------------------------------------------------------------------+------
   | nvidia-open-driver-G06-signed-cuda-default-devel  | Devel Package to nvidia-open-driver-G06-signed-cuda                         | Paket
   | nvidia-open-driver-G06-signed-cuda-kmp-default    | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer | Paket
   | nvidia-open-driver-G06-signed-cuda-kmp-longterm   | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer | Paket
   | nvidia-open-driver-G06-signed-cuda-longterm-devel | Devel Package to nvidia-open-driver-G06-signed-cuda                         | Paket
   | nvidia-open-driver-G06-signed-default-devel       | Devel Package to nvidia-open-driver-G06-signed                              | Paket
i  | nvidia-open-driver-G06-signed-kmp-default         | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer | Paket
   | nvidia-open-driver-G06-signed-kmp-longterm        | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer | Paket
   | nvidia-open-driver-G06-signed-longterm-devel      | Devel Package to nvidia-open-driver-G06-signed                              | Paket

EDIT: unfortunately, it still boots directly into IceWM and I still can’t pick a different session when I log out.

@IMIAD So is the open driver in use, or did you install the proprietary version?

zypper se -i nvidia and /usr/sbin/modinfo nvidia | grep license

I think I installed the proprietary version:

IMIAD@linux:~> zypper se -i nvidia
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                                      | Summary                                                                     | Type
---+-------------------------------------------+-----------------------------------------------------------------------------+------
i  | kernel-firmware-nvidia                    | Kernel firmware files for Nvidia Tegra and graphics drivers                 | Paket
i  | nvidia-common-G06                         | Common files for the NVIDIA driver packages                                 | Paket
i  | nvidia-compute-G06                        | NVIDIA driver for computing with GPGPU                                      | Paket
i  | nvidia-compute-G06-32bit                  | 32bit NVIDIA driver for computing with GPGPU                                | Paket
i+ | nvidia-compute-utils-G06                  | NVIDIA driver tools for computing with GPGPU                                | Paket
i  | nvidia-modprobe                           | NVIDIA kernel module loader                                                 | Paket
i  | nvidia-open-driver-G06-signed-kmp-default | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx) and newer | Paket
i  | nvidia-persistenced                       | A daemon to maintain persistent software state in the NVIDIA driver         | Paket
i+ | openSUSE-repos-Tumbleweed-NVIDIA          | openSUSE NVIDIA repository definitions                                      | Paket

The license is as follows:

IMIAD@linux:~> /usr/sbin/modinfo nvidia | grep license
license:        Dual MIT/GPL

@IMIAD and can you show the output from inxi -GSaz

Of course!

IMIAD@linux:~> inxi -GSaz
System:
  Kernel: 6.14.0-1-default arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.14.0-1-default
    root=UUID=7e7e7987-412f-4f64-be4c-22e0c4c5c67a splash=silent
    mitigations=auto quiet security=selinux selinux=1 enforcing=1
    rd.driver.blacklist=nouveau
  Desktop: IceWM v: 3.6.0 tools: avail: xscreensaver vt: 2 dm: GDM v: 48.0
    Distro: openSUSE Tumbleweed 20250405
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel alternate: xe arch: Xe process: Intel 10nm
    built: 2020-21 ports: active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4,
    HDMI-A-1 bus-ID: 0000:00:02.0 chip-ID: 8086:9a49 class-ID: 0300
  Device-2: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile]
    vendor: Hewlett-Packard driver: nvidia v: 570.133.07
    alternate: nouveau,nvidia_drm non-free: 550/565.xx+ status: current (as
    of 2025-01; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 bus-ID: 0000:01:00.0
    chip-ID: 10de:25a0 class-ID: 0302
  Device-3: Quanta HP Wide Vision HD Camera driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2 chip-ID: 0408:5300
    class-ID: 0e02 serial: <filter>
  Display: x11 server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.6 driver:
    X: loaded: modesetting unloaded: vesa
    alternate: fbdev,intel,nouveau,nv,nvidia dri: iris gpu: i915
    display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: LG Display 0x0611 built: 2018 res: mode: 1920x1080
    hz: 144 scale: 100% (1) dpi: 128 gamma: 1.2 size: 382x215mm (15.04x8.46")
    diag: 438mm (17.3") ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 vendor: intel mesa v: 25.0.2 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: Mesa Intel Iris Xe Graphics (TGL GT2)
    device-ID: 8086:9a49 memory: 7.5 GiB unified: yes
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo gpu: nvidia-smi x11: xprop,xrandr

@IMIAD can you fire up YaST Bootloader and add the kernel options fbdev=1 nvidia_drm.modeset=1 and reboot.

yes, right away. Before, as maybe a helpful information, there were some options already written int:
splash=silent quiet security=selinux selinux=1 enforcing=1 rd.driver.blacklist=nouveau fbdev=1

rebooting now, will edit this after it’s done.

EDIT: no changes, still IceWM.

@IMIAD and what about the output from ls -l /run/udev/gdm* also be interested to see the output from cat /proc/driver/nvidia/params | sort again

Also make sure that you have patterns-gnome-gnome installed.

Here’s the output to the first one:

IMIAD@linux:~> ls -l /run/udev/gdm*
-rw-r--r--. 1 root root 0 10. Apr 14:17 /run/udev/gdm-machine-has-hardware-gpu
-rw-r--r--. 1 root root 0 10. Apr 14:17 /run/udev/gdm-machine-has-hybrid-graphics
-rw-r--r--. 1 root root 0 10. Apr 14:17 /run/udev/gdm-machine-has-vendor-nvidia-driver

and to the second:

IMIAD@linux:~> cat /proc/driver/nvidia/params | sort
CreateImexChannel0: 0
DeviceFileGID: 483
DeviceFileMode: 432
DeviceFileUID: 0
DmaRemapPeerMmio: 1
DynamicPowerManagement: 3
DynamicPowerManagementVideoMemoryThreshold: 200
EnableDbgBreakpoint: 0
EnableGpuFirmware: 18
EnableGpuFirmwareLogs: 2
EnableMSI: 1
EnablePCIeGen3: 0
EnablePCIERelaxedOrderingMode: 0
EnableResizableBar: 0
EnableS0ixPowerManagement: 1
EnableStreamMemOPs: 0
EnableUserNUMAManagement: 1
ExcludedGpus: ""
GpuBlacklist: ""
GrdmaPciTopoCheckOverride: 0
IgnoreMMIOCheck: 0
ImexChannelCount: 2048
InitializeSystemMemoryAllocations: 1
KMallocHeapMaxSize: 0
MemoryPoolSize: 0
ModifyDeviceFiles: 1
NvLinkDisable: 0
OpenRmEnableUnsupportedGpus: 1
PreserveVideoMemoryAllocations: 1
RegisterPCIDriver: 1
RegistryDwords: ""
RegistryDwordsPerDevice: ""
ResmanDebugLevel: 4294967295
RmLogonRC: 1
RmMsg: ""
RmNvlinkBandwidthLinkCount: 0
RmProfilingAdminOnly: 1
S0ixPowerManagementVideoMemoryThreshold: 256
TemporaryFilePath: "/var/tmp"
UsePageAttributeTable: 1
VMallocHeapMaxSize: 0

@hui thanks for the hint! It is already installed however.

@IMIAD Can you remove the nvidia-persistenced package or disable/mask the service, then reboot again.

I removed it via zypper and rebooted, but no change.