You are not logged in.

#1 2025-10-01 14:43:19

Madey
Member
Registered: 2025-10-01
Posts: 1

GNOME Shell Prevents NVIDIA dGPU Runtime Suspend

Hi all,

On my laptop (Hybrid Intel iGPU + NVIDIA dGPU) GNOME is running on Wayland with the Intel i915 selected as primary GPU, but the NVIDIA GPU never enters runtime-suspend because gnome-shell has the device open.

journalctl -b | grep -i 'gnome-shell.*]: '
paź 01 15:53:55 Nitro5 gnome-shell[664]: Running GNOME Shell (using mutter 49.0) as a Wayland display server
paź 01 15:53:56 Nitro5 gnome-shell[664]: Thread 'KMS thread' will be using high priority scheduling
paź 01 15:53:56 Nitro5 gnome-shell[664]: Device '/dev/dri/card0' prefers shadow buffer
paź 01 15:53:56 Nitro5 gnome-shell[664]: Added device '/dev/dri/card0' (nvidia-drm) using atomic mode setting.
paź 01 15:53:56 Nitro5 gnome-shell[664]: Device '/dev/dri/card1' prefers shadow buffer
paź 01 15:53:56 Nitro5 gnome-shell[664]: Added device '/dev/dri/card1' (i915) using atomic mode setting.
paź 01 15:53:56 Nitro5 gnome-shell[664]: Created gbm renderer for '/dev/dri/card0'
paź 01 15:53:56 Nitro5 gnome-shell[664]: Created gbm renderer for '/dev/dri/card1'
paź 01 15:53:56 Nitro5 gnome-shell[664]: GPU /dev/dri/card1 selected primary from builtin panel presence
paź 01 15:53:56 Nitro5 gnome-shell[664]: Obtained a high priority EGL context
paź 01 15:53:56 Nitro5 gnome-shell[664]: Using public X11 display :1024, (using :1025 for managed services)
paź 01 15:53:56 Nitro5 gnome-shell[664]: Using Wayland display name 'wayland-0'
paź 01 15:53:57 Nitro5 gnome-shell[664]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension apps-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension auto-move-windows@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension drive-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension launch-new-instance@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension light-style@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/light-style@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/light-style@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension native-window-placement@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension places-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension status-icons@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/status-icons@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/status-icons@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension system-monitor@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension user-theme@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension window-list@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension windowsNavigator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Extension workspace-indicator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com will not be loaded
paź 01 15:53:57 Nitro5 gnome-shell[664]: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
paź 01 15:53:57 Nitro5 gnome-shell[664]: Will monitor session 1
paź 01 15:53:57 Nitro5 gnome-shell[664]: Type GITypeInfo of property NM.Object::client does not match return type GITypeInfo of getter get_client. Falling back to slow path
paź 01 15:53:58 Nitro5 gnome-shell[664]: Registering session with GDM
paź 01 15:53:59 Nitro5 gnome-shell[1061]: The XKEYBOARD keymap compiler (xkbcomp) reports:
paź 01 15:53:59 Nitro5 gnome-shell[1061]: > Warning:          Could not resolve keysym XF86RefreshRateToggle
paź 01 15:53:59 Nitro5 gnome-shell[1061]: > Warning:          Could not resolve keysym XF86Accessibility
paź 01 15:53:59 Nitro5 gnome-shell[1061]: > Warning:          Could not resolve keysym XF86DoNotDisturb
paź 01 15:53:59 Nitro5 gnome-shell[1061]: Errors from xkbcomp are not fatal to the X server
paź 01 15:53:59 Nitro5 gnome-shell[1062]: The XKEYBOARD keymap compiler (xkbcomp) reports:
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Unsupported maximum keycode 708, clipping.
paź 01 15:53:59 Nitro5 gnome-shell[1062]: >                   X11 cannot support keycodes above 255.
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Virtual modifier Hyper multiply defined
paź 01 15:53:59 Nitro5 gnome-shell[1062]: >                   Using 0, ignoring 0
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Virtual modifier ScrollLock multiply defined
paź 01 15:53:59 Nitro5 gnome-shell[1062]: >                   Using 0, ignoring 0
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Could not resolve keysym XF86RefreshRateToggle
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Could not resolve keysym XF86Accessibility
paź 01 15:53:59 Nitro5 gnome-shell[1062]: > Warning:          Could not resolve keysym XF86DoNotDisturb
paź 01 15:53:59 Nitro5 gnome-shell[1062]: Errors from xkbcomp are not fatal to the X server
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Running GNOME Shell (using mutter 49.0) as a Wayland display server
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Thread 'KMS thread' will be using high priority scheduling
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Device '/dev/dri/card0' prefers shadow buffer
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Added device '/dev/dri/card0' (nvidia-drm) using atomic mode setting.
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Device '/dev/dri/card1' prefers shadow buffer
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Added device '/dev/dri/card1' (i915) using atomic mode setting.
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Created gbm renderer for '/dev/dri/card0'
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Created gbm renderer for '/dev/dri/card1'
paź 01 15:55:29 Nitro5 gnome-shell[1349]: GPU /dev/dri/card1 selected primary from builtin panel presence
paź 01 15:55:29 Nitro5 gnome-shell[1349]: Obtained a high priority EGL context
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Using public X11 display :0, (using :1 for managed services)
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Using Wayland display name 'wayland-0'
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
paź 01 15:55:30 Nitro5 gnome-shell-calendar-server[1419]: /usr/lib/gnome-shell-calendar-server: error while loading shared libraries: libecal-2.0.so.3: cannot open shared object file: No such file or directory
paź 01 15:55:30 Nitro5 gnome-shell-calendar-server[1645]: /usr/lib/gnome-shell-calendar-server: error while loading shared libraries: libecal-2.0.so.3: cannot open shared object file: No such file or directory
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.gnome.Shell.CalendarServer': unit failed
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.gnome.Shell.CalendarServer': unit failed
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Will monitor session 3
paź 01 15:55:30 Nitro5 gnome-shell[1349]: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
paź 01 15:55:31 Nitro5 gnome-shell[1349]: Type GITypeInfo of property NM.Object::client does not match return type GITypeInfo of getter get_client. Falling back to slow path
paź 01 15:55:31 Nitro5 gnome-shell[1900]: The XKEYBOARD keymap compiler (xkbcomp) reports:
paź 01 15:55:31 Nitro5 gnome-shell[1900]: > Warning:          Could not resolve keysym XF86RefreshRateToggle
paź 01 15:55:31 Nitro5 gnome-shell[1900]: > Warning:          Could not resolve keysym XF86Accessibility
paź 01 15:55:31 Nitro5 gnome-shell[1900]: > Warning:          Could not resolve keysym XF86DoNotDisturb
paź 01 15:55:31 Nitro5 gnome-shell[1900]: Errors from xkbcomp are not fatal to the X server
paź 01 15:55:31 Nitro5 gnome-shell[1907]: The XKEYBOARD keymap compiler (xkbcomp) reports:
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Unsupported maximum keycode 708, clipping.
paź 01 15:55:31 Nitro5 gnome-shell[1907]: >                   X11 cannot support keycodes above 255.
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Virtual modifier Hyper multiply defined
paź 01 15:55:31 Nitro5 gnome-shell[1907]: >                   Using 0, ignoring 0
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Virtual modifier ScrollLock multiply defined
paź 01 15:55:31 Nitro5 gnome-shell[1907]: >                   Using 0, ignoring 0
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Could not resolve keysym XF86RefreshRateToggle
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Could not resolve keysym XF86Accessibility
paź 01 15:55:31 Nitro5 gnome-shell[1907]: > Warning:          Could not resolve keysym XF86DoNotDisturb
paź 01 15:55:31 Nitro5 gnome-shell[1907]: Errors from xkbcomp are not fatal to the X server
paź 01 15:55:31 Nitro5 gnome-shell[1349]: GNOME Shell started at Wed Oct 01 2025 15:55:30 GMT+0200 (Central European Summer Time)
paź 01 15:55:31 Nitro5 gnome-shell[1349]: Registering session with GDM
paź 01 15:55:31 Nitro5 gnome-shell[664]: Shutting down GNOME Shell
paź 01 15:55:31 Nitro5 gnome-shell[664]: Connection to xwayland lost
paź 01 15:55:31 Nitro5 gnome-shell[664]: Using public X11 display :1024, (using :1025 for managed services)
paź 01 15:56:01 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:56:01 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:56:08 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:56:08 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:57:24 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:57:24 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:57:24 Nitro5 gnome-shell[1349]: Received error from D-Bus search provider firefox.desktop: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Gio.DesktopAppInfo has been moved to a separate platform-specific library. Please update your code to use GioUnix.DesktopAppInfo instead.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Launching DING process
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: Detected async api for thumbnails
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: DBus interface for Switcheroo control (net.hadess.SwitcherooControl) is now available.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: DBus interface for Nautilus-Sushi (org.gnome.NautilusPreviewer) is now available.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: DBus interface for Nautilus (org.gnome.Nautilus.FileOperations2) is now available.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: DBus interface for Nautilus (org.freedesktop.FileManager1) is now available.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: DBus interface for Gvfs daemon (org.gtk.vfs.Metadata) is now available.
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 32 with keysym 32 (keycode b).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 33 with keysym 33 (keycode c).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 36 with keysym 36 (keycode f).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 32 with keysym 32 (keycode b).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 33 with keysym 33 (keycode c).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 36 with keysym 36 (keycode f).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: ** Message: 15:57:28.948: Connecting to org.freedesktop.Tracker3.Miner.Files
paź 01 15:57:28 Nitro5 gnome-shell[1349]: DING: GNOME nautilus 49.0
paź 01 15:57:28 Nitro5 gnome-shell[1349]: Received notification for window. 0 notifications remaining.
paź 01 15:57:29 Nitro5 gnome-shell[1349]: DING: DBus interface for File-roller (org.gnome.ArchiveManager1) is now available.
switcherooctl
Device: 0
  Name:        Intel® UHD Graphics 630
  Default:     yes
  Discrete:    no
  Environment: DRI_PRIME=pci-0000_00_02_0 VK_LOADER_DRIVERS_SELECT=*intel*

Device: 1
  Name:        NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q]
  Default:     no
  Discrete:    yes
  Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only VK_LOADER_DRIVERS_SELECT=*nvidia*
nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.09              Driver Version: 580.82.09      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1050        Off |   00000000:01:00.0 Off |                  N/A |
| N/A   35C    P8            N/A  / 5001W |       4MiB /   3072MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1349      G   /usr/bin/gnome-shell                      1MiB |
+-----------------------------------------------------------------------------------------+

I noticed that right after starting gdm (systemctl start gdm), the gnome-shell process appears in nvidia-smi.

> cat /sys/bus/pci/devices/0000\:01\:00.0/power/runtime_status
active
> cat /sys/bus/pci/devices/0000:01:00.0/power/control
auto
> cat /sys/bus/pci/devices/0000:01:00.0/power_state
D0

Problem summary
- GNOME Shell (running on Wayland) opens the NVIDIA DRM device (/dev/dri/card0 / nvidia-drm) even though the Intel iGPU (i915) is the primary for display.
- Because gnome-shell holds the NVIDIA device open, the NVIDIA driver cannot fully suspend the GPU to save power. This prevents runtime suspend/DPMS for the dGPU and reduces battery life.

Does anyone know what might be the cause of this? How can I change it? I'm newbie, so I apologize if I did something wrong smile

Last edited by Madey (2025-10-01 14:45:38)

Offline

Board footer

Powered by FluxBB