pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.48k stars 87 forks source link

Screen Turning Off Regardless of Power Settings #3254

Open k-e-i-z-a-i opened 8 months ago

k-e-i-z-a-i commented 8 months ago

Distribution (run cat /etc/os-release): NAME="Pop!_OS" VERSION="22.04 LTS" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 22.04 LTS" VERSION_ID="22.04" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=jammy UBUNTU_CODENAME=jammy LOGO=distributor-logo-pop-os

Issue/Bug Description:

Regardless of the time set under 'Screen Blank' in the 'Power' settings, after exactly one minute of inactivity (I've timed it several times), Pop OS turns off the screen and I'm able to turn it back on by moving the mouse or pressing a key. I normally have 'Screen Blank' set to activate at 10 minutes of inactivity but the screen turns off despite this setting, even if I set 'Screen Blank' to 'Never'.

I have no apps installed to control power or power management.

Any help to fix this would be much appreciated!

cesarrew commented 8 months ago

I have the same problem. And sometimes, after moving the mouse and the screen turning on, the stacked windows just go normal, one next to the other. It started to happen after upgrading the kernel using the regular pop os updates a few days ago I think. I`m using Nvidia.

ws909 commented 5 months ago

Same issue here. Occurs 29 seconds after the last input. It's also set to 10 minutes in the settings, and changing that makes no difference, so it's not a workaround to fix it, either. It works as expected after a restart, though. I think what might be causing it to go into the malfunctioned state, is Lutris/Wine. Seems to only be happening after I've played some games (mainly Battlefront II), although not always.

I've been experiencing the issue since I installed PopOS (newest version) for the first time half a month ago, on a self-assembled desktop machine.

No idea what hardware/software information may be of help: Nvidia driver version: 550.67 NVML version: 12.550.67

ws909 commented 5 months ago

My computer is connected to a Samsung G7 running Tizen. When the computer cuts the signal to the screen after the 29 seconds have passed (consistently), Tizen reports that there was an issue with the device connected over Displayport (DP cable connected to the Nvidia GPU). It also presents a troubleshooting button, but it only lists the two HDMI ports there (grayed out), so I cannot get any more information out of it.

Tizen does not report any error when I put the computer into hibernation by pressing the power button on my case, nor does it report any error when I connect my Macbook to it over HDMI, and that goes into sleep.

Vetpetmon commented 3 months ago

Summary: This appears to be a GNOME issue where the power/saving settings ignore anything set through the settings GUI app, as changing a setting in GNOME via gsettings mostly fixed fixed this issue. (It still times out after 10 minutes) To fix, set org.gnome.settings-daemon.plugins.power idle-brightness to the number of seconds you want it to turn off the displays at.

Recently encountered this after GNOME crashed after waking up from suspension last night, after a GPU driver update. Login screen turned grey (no blurred desktop background) with only the cursor position updating. After 15 seconds, GNOME restarted itself and everything was working normally again, letting me enter my password.

But, that's when this issue began in the middle of playing Abiotic Factor through Proton (Steam app, installed through apt). Went to go get some water, came back to the screens' input being turned off. Began to investigate as my power settings looked (and still look) like this: image (Power settings are misbehaving)

Realizing the GUI likes to lie, I go into the terminal and check some basic power-saving settings: image In here, I used the following command after checking the original value, which appears to have worked:

gsettings set org.gnome.settings-daemon.plugins.power idle-brightness 600

Idled for 1 minute without both monitors shutting off and temporarily breaking audio. No sudo required to change this, and updates without needing to restart GNOME (alt + F2 and input r). This simply sets the time-out to 10 minutes (600 seconds) to avoid the screen turning off when doing something like idling in a game. Would like a more permanent solution, I'm afraid to try 0 seconds in the config as this is my production machine, not test machine.

Looked into system logs, found walls of logs that kept saying the GPU was disconnecting and connecting my monitors when I was recreating the issue.

Full list of system-related changes I've done that could cause this issue, as this is a relatively fresh (re)install:

Hardware:

Software:

Environment & potential issue factors:

ws909 commented 3 months ago

I haven't been experiencing this problem in a good long while. Not sure what resolved it. I have experienced other issues in the meantime, though, so some of my troubleshooting steps there may have solved them on my end. I've mostly reinstalled the graphics drivers a few times, as well as both reinstalled and updated a bunch of Gnome, GTK, X, WL (don't use it), and other "System Components".

Edit: nevermind, it’s returned. Then went away after I updated Flatpak runtimes for Nvidia drivers. Seems like this time, it was only happening while Minecraft (Flatpak) was running.

Vetpetmon commented 3 months ago

UPDATE: Infamous "heyyy you're not supposed to do that" moment.

Workaround I provided no longer works today. The settings did persist even after a restart of the GNOME DE, but now even that is being ignored. I have no idea what component to blame right now, maybe /usr/libexec/gdm-x-session[2047]? Sometimes it enters power-saving without saying any errors or any disconnects in the first place

From syslog:


Aug 18 10:31:07 bubz rtkit-daemon[999]: Supervising 0 threads of 0 processes of 0 users.
Aug 18 10:31:36 bubz gnome-shell[2174]: Window manager warning: Failed to start restart helper: Failed to execute child process “/usr/libexec/mutter-restart-helper” (No such file or directory)
Aug 18 10:31:36 bubz gnome-shell[2174]: clutter_actor_iter_next: assertion 'ri->age == ri->root->priv->age' failed
Aug 18 10:31:36 bubz gnome-shell[2174]: Failed to set RT scheduler: Operation not permitted
Aug 18 10:31:36 bubz gnome-shell[2174]: Running GNOME Shell (using mutter 42.9) as a X11 window and compositing manager
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-0: disconnected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-0: 2660.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-1: disconnected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-2: disconnected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-2: 2660.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-3: disconnected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): ROW AAA (DFP-4): connected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): ROW AAA (DFP-4): Internal TMDS
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): ROW AAA (DFP-4): 600.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-5: disconnected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): DFP-5: 2660.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): connected
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): Internal TMDS
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): 165.0 MHz maximum pixel clock
Aug 18 10:31:37 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:31:37 bubz FFPWA-01J3VMRENE1PASWHSFQAGPMBTF.desktop[122384]: [GFX1-]: Detect DeviceReset DeviceResetReason::FORCED_RESET DeviceResetDetectPlace::WR_SIMULATE in Parent process
Aug 18 10:31:37 bubz firefox.desktop[6710]: [GFX1-]: Detect DeviceReset DeviceResetReason::FORCED_RESET DeviceResetDetectPlace::WR_SIMULATE in Parent process
Aug 18 10:31:37 bubz firefox.desktop[6710]: [Parent 6710, IPC I/O Parent] WARNING: process 208915 is a zombie: file /builds/worker/checkouts/gecko/ipc/chromium/src/base/process_util_posix.cc:245
Aug 18 10:31:37 bubz gsd-media-keys[2341]: Failed to grab accelerators: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Object does not exist at path “/org/gnome/Shell”
Aug 18 10:31:37 bubz gnome-shell[2174]: ATK Bridge is disabled but a11y has already been enabled.
Aug 18 10:31:37 bubz gnome-shell[2174]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Aug 18 10:31:37 bubz gnome-shell[2174]: Will monitor session 2
Aug 18 10:31:37 bubz FFPWA-01J3VMRENE1PASWHSFQAGPMBTF.desktop[122384]: [GFX1-]: Detect DeviceReset DeviceResetReason::FORCED_RESET DeviceResetDetectPlace::WR_SIMULATE in Parent process
Aug 18 10:31:37 bubz firefox.desktop[6710]: [GFX1-]: Detect DeviceReset DeviceResetReason::FORCED_RESET DeviceResetDetectPlace::WR_SIMULATE in Parent process

...

Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): connected
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): Internal TMDS
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): 165.0 MHz maximum pixel clock
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): connected
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): Internal TMDS
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0): HAT GT-191 (DFP-6): 165.0 MHz maximum pixel clock
Aug 18 10:33:42 bubz /usr/libexec/gdm-x-session[2047]: (--) NVIDIA(GPU-0):

Any workaround?

Vetpetmon commented 3 months ago

Blamed GDM, laugh after leaving PC for 1 minute to get some water and seeing the screens are still on and rendering once more.

root permissions were required for this, as it needed to be applied system-wide. Be mindful, as this will actually terminate your current session at step 5.

Steps to fix:

  1. Run sudo nano /etc/gdm3/greeter.dconf-defaults in the terminal
  2. Enter password
  3. All the way at the bottom, add these lines: sleep-inactive-ac-timeout=0 and sleep-inactive-ac-type='nothing'
  4. Save to file
  5. Run sudo systemctl restart gdm3
  6. Log back in
  7. Test, see if the tower PC on AC is no longer shutting off display and tripping up the audio server

Solution was found here: https://askubuntu.com/questions/1168830/how-to-disable-screen-power-saving-in-gdm3-login-screen

EDIT: Any time GNOME gives a grey background when waking up from a suspended state, you will have to run sudo systemctl restart gdm3 in the terminal to fix the issue. It appears that GNOME will crash and go back to safe defaults, which re-activates the power-saving features.

k-e-i-z-a-i commented 3 months ago

EDIT: Any time GNOME gives a grey background when waking up from a suspended state, you will have to run sudo systemctl restart gdm3 in the terminal to fix the issue. It appears that GNOME will crash and go back to safe defaults, which re-activates the power-saving features.

@Vetpetmon This might be a stupid question but is the 'grey background' a new bug introduced by the fix? In other words, I'm trying to weigh the benefits of the fix versus their cost.

Vetpetmon commented 3 months ago

@Vetpetmon This might be a stupid question but is the 'grey background' a new bug introduced by the fix? In other words, I'm trying to weigh the benefits of the fix versus their cost.

The grey background when waking up started after I updated to NVIDIA drivers to 555 from 550, along with all of the system updates that occurred since then. Rarely, though, I get a black screen instead of the login screen having a grey background, though GNOME still restarts itself. Out of the 6 times I've had this happen, the blank screen (no text, no icons, only mouse cursor) glitch happened twice.

What appears to be happening is that when GNOME errors out like this and restarts, it sets power settings back to factory defaults while leaving user configurations untouched, and it does this very quietly. All I've changed since this fresh install are power settings and the dock positioning to the left-side of the primary monitor.

Vetpetmon commented 2 months ago

Update: Curious...

Sep 18 10:35:43 bubz chronyd[842]: Selected source 3.134.129.152 (ohio.time.system76.com)
Sep 18 10:35:45 bubz systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Sep 18 10:35:49 bubz gnome-shell[242466]: Window manager warning: Failed to start restart helper: Failed to execute child process “/usr/libexec/mutter-restart-helper” (No such file or directory)
Sep 18 10:35:49 bubz gsd-power[242636]: Error setting property 'PowerSaveMode' on interface org.gnome.Mutter.DisplayConfig: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Remote peer disconnected (g-dbus-error-quark, 4)
Sep 18 10:35:49 bubz gnome-shell[242466]: Failed to set RT scheduler: Operation not permitted
Sep 18 10:35:49 bubz gnome-shell[242466]: Running GNOME Shell (using mutter 42.9) as a X11 window and compositing manager

After this message, the displays disconnect, then re-connect and show the GNOME interface again.

This crash after waking up from the suspended state causes the power settings to reset, causing this issue. It's not happening all the time, but going into /usr/libexec/ and searching for mutter-restart-helper does indeed, turn up no results.

After mutter fails to restart, Mutter being the Window Manager, the PowerSaveMode property from Mutter cannot be set, causing it to ignore power settings.

This can be temporarily worked around by running sudo systemctl restart gdm3, but that's annoying and there should be a permanent fix.

EDIT: I am updating right now. I'm moving from NVIDIA v555 to v560 as well in this update, so who knows what will happen.

EDIT 2: Updated, /usr/libexec/mutter-restart-helper is still not present.

Vetpetmon commented 2 months ago

This appears related to the cause of #3363 , a kernel update to 6.9.3 causing issues with power states, xhci_hcd, and pcieport. I implemented the solution from the mentioned Issue (reinstalling an older pop ISO image before issues started) and 4+ days of uptime later, GNOME, GDM, and NVIDIA have not crashed or had any severe errors. This means I haven't had my screen turning off regardless of power settings as well as not having the GPU fall off of the bus. This is purely a software error, all hardware/physical causes have been ruled out.

It could be a combination of NVIDIA's drivers and the kernel updates.