External displays blank after sleeping

Hello,

I'm running Manjaro with Gnome 3.26. I'm having an annoying issue with my laptop. Every time it goes to sleep and wakes again, the external display does not come back. I am forced to disconect and reconnect the HDMI cable. I've tried both the 4.9 and 4.14 kernels with no change.

The laptop is the Xiaomi Notebook Pro and has an nVidia MX150. I'm using the video-hybrid-intel-nvidia-bumblebee driver from Manjaro Settings Manager.

bump.

There is an issue with suspend for bumblebee.
Check this
https://wiki.archlinux.org/index.php/Bumblebee#Power_management
What is the output of
cat /etc/modprobe.d/bbswitch.conf
?

Thanks, petsam.

Output on that command:

[brad@brad-xiaomi ~]$ cat /etc/modprobe.d/bbswitch.conf
cat: /etc/modprobe.d/bbswitch.conf: No such file or directory

Not sure why I don't have that conf file?

bump. still really need help here.

How long ago did you install your driver?
Do a re-install, please.
In MSM remove and install again.
Then reboot and check the behavior.
And also check if that file exists (check in Nautilus)

I can not test this here but you should get some good info from journalctl.

Open a terminal and type the following command $ journalctl -f now close the lid on your laptop and let it go to sleep. When you open the lid again journalctl should show you exactly what is happening with your sleep state. Look for any errors and report them here.

1 Like

Just reinstalled the driver. That didn't help unfortunately. Here's journalctl -f with the error happening:

    [brad@brad-xiaomi ~]$ journalctl -f
-- Logs begin at Wed 2017-11-22 11:24:02 CST. --
Dec 01 20:00:15 brad-xiaomi systemd[1]: Proceeding WITHOUT firewalling in effect!
Dec 01 20:00:15 brad-xiaomi systemd[1]: File /usr/lib/systemd/system/systemd-logind.service:34 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
Dec 01 20:00:15 brad-xiaomi systemd[1]: Proceeding WITHOUT firewalling in effect!
Dec 01 20:00:15 brad-xiaomi systemd[1]: Started Bumblebee C Daemon.
Dec 01 20:00:15 brad-xiaomi bumblebeed[16742]: /usr/bin/bumblebeed 3.2.1-2017-02-27-Format:%h$ started
Dec 01 20:00:22 brad-xiaomi manjaro-settings-manager.desktop[16101]: Shutting down Manjaro Settings Manager...
Dec 01 20:00:40 brad-xiaomi dbus-daemon[973]: [session uid=1000 pid=973] Activating via systemd: service name='org.gnome.Terminal' unit='gnome-terminal-server.service' requested by ':1.188' (uid=1000 pid=16843 comm="gnome-terminal ")
Dec 01 20:00:40 brad-xiaomi systemd[947]: Starting GNOME Terminal Server...
Dec 01 20:00:40 brad-xiaomi dbus-daemon[973]: [session uid=1000 pid=973] Successfully activated service 'org.gnome.Terminal'
Dec 01 20:00:40 brad-xiaomi systemd[947]: Started GNOME Terminal Server.
Dec 01 20:01:01 brad-xiaomi CROND[16869]: (root) CMD (run-parts /etc/cron.hourly)
Dec 01 20:01:59 brad-xiaomi gnome-shell[16424]: JS WARNING: [resource:///org/gnome/shell/ui/popupMenu.js 715]: reference to undefined property "_delegate"
Dec 01 20:01:59 brad-xiaomi gnome-shell[16424]: The actor 'ShellGenericContainer' is currently being destroyed, and cannot be added as a child of another actor.
Dec 01 20:02:37 brad-xiaomi gdm-password][16921]: gkr-pam: unlocked login keyring
Dec 01 20:02:37 brad-xiaomi gnome-shell[16424]: loading user theme: /usr/share//themes/Adapta-Nokto-Maia/gnome-shell/gnome-shell.css
Dec 01 20:02:39 brad-xiaomi gnome-shell[16424]: Allocating size to ShellEmbeddedWindow 0x56527ff4a610 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:02:54 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Dec 01 20:03:05 brad-xiaomi gnome-terminal-[16847]: Allocating size to GtkScrollbar 0x55db87c0c240 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

hmmm, thats certainly not what I expected. I guess I have to find a laptop and check it out. I was hoping to see the whole sleep info as I can here on my desktop.
Plus I do not see any show stopper errors, weird.
Maybe someone else has a clue. I will not be at a laptop until tomorrow sometime.

Edit: I got on the laptop today and tested this out and it works. You should be able to get your sleep messages from the output, I have no idea what you posted above.
It should look something line below.
Dec 02 13:17:38 Galago systemd[1]: Started Suspend.
Dec 02 13:17:38 Galago systemd[1]: sleep.target: Unit not needed anymore. Stopping.
Dec 02 13:17:38 Galago systemd[1]: Stopped target Sleep.
Dec 02 13:17:38 Galago systemd[1]: Reached target Suspend.
Dec 02 13:17:38 Galago systemd[1]: suspend.target: Unit not needed anymore. Stopping.
Dec 02 13:17:38 Galago systemd[1]: Stopped target Suspend.
Dec 02 13:17:38 Galago systemd-logind[403]: Operation 'sleep' finished.
Dec 02 13:17:38 Galago NetworkManager[405]: [1512238658.8598] manager: wake requested (sleeping: yes enabled: yes)
Dec 02 13:17:38 Galago NetworkManager[405]: [1512238658.8598] manager: waking up...
Dec 02 13:17:38 Galago NetworkManager[405]: [1512238658.8599] device (enp0s25): state change: unavailable -> unmanaged (reason 'sleeping', sys-iface-state: 'managed')
Dec 02 13:17:38 Galago org.gnome.Shell.desktop[474]: Window manager warning: Failed to set power save mode for output eDP-1: Permission denied
Dec 02 13:17:38 Galago NetworkManager[405]: [1512238658.9677] device (enp0s25): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'managed')
Dec 02 13:17:38 Galago kernel: e1000e: enp0s25 NIC Link is Down
Dec 02 13:17:38 Galago kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s25: link is not ready
Dec 02 13:17:38 Galago wpa_supplicant[504]: nl80211: deinit ifname=wlp3s0 disabled_11b_rates=0
Dec 02 13:17:38 Galago kernel: Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
Dec 02 13:17:39 Galago NetworkManager[405]: [1512238659.1820] device (wlp3s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'managed')
Dec 02 13:17:39 Galago kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s25: link is not ready
Dec 02 13:17:39 Galago kernel: IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
Dec 02 13:17:39 Galago kernel: psmouse serio2: synaptics: queried max coordinates: x [..5672], y [..4722]
Dec 02 13:17:39 Galago kernel: IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready

Did you really follow this suggestion?

I did. I thought it seemed light. Let me try again. The first few times I did it, there was a lot more info, but those instances the error didn't happen.

I finally got it to happen again with journalctl -f running!

Could you take a look @anika200 and @AgentS

I couldn't see something useful.
Did you try re-installing the drivers?
Did you check any power saving settings?
Did you

Already re-installed drivers with no luck (see above).

What would I check in power settings? Is there a setting that would cause the external display to not return after sleeping?

Here is the output of that command:

[brad@merlin-xiaomi-1 ~]$ cat /etc/modprobe.d/bbswitch.conf
cat: /etc/modprobe.d/bbswitch.conf: No such file or directory

You left one question unanswered :tired_face:
https://wiki.archlinux.org/index.php/Bumblebee#Enable_NVIDIA_card_after_waking_from_suspend

2 Likes
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: Object St.BoxLayout (0x563a35dd14f0), has been already finalized. Impossible to set any property to it.
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: Add Monitors ...
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: new: i1x0y0w1920h1080
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: a _rightBox > openweatherMenu : 1
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: a _rightBox > ArchUpdateIndicator : 1
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: pi:0
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: i:0 x:1920 y:0 w:3440 h:1440
Jan 28 19:46:12 merlin-xiaomi-1 gnome-shell[16112]: i:1 x:0 y:0 w:1920 h:1080
Jan 28 19:46:13 merlin-xiaomi-1 gnome-shell[16112]: Object St.Icon (0x563a32f83ac0), has been already finalized. Impossible to set

I guess this is something but not very helpfull. :thinking:
Have you tried turning off all your extensions with Tweaks tool, there is a on/off switch at the top of the extensions window.

Wait what, ArchUpdateIndicator ??? Are you running Manjaro?

Trying this now. Will report back. The issue is somewhat irregular so it might take a couple of days to confirm.

Yes, I am running Manjaro. I'm not sure where that package came from.

Please turn off and clean up all extensions before reporting back about the problem. This will help eliminate a whole host of problems.

Now there is another thread about a lenovo that has some weird problems with external displays, that poster had some work around if I remember correctly. Please search the forum. That poster said that kernel 4.9 worked for him but you say it does not work for you. hmmmm

Unfortunately, this guide to enable nvidia after waking from suspend did not resolve the issue.

It's interesting... it either happens EVERY TIME the computer sleeps until I reboot, or it happens none of the times that the computer sleeps. Until the bug is triggered, it is hard to know whether the issue is resolved. they when it returns, it is supremely annoying.

Also worth noting, I've tried the 4.9, 4.14, and 4.15 kernels. All have the same issue.

Forum kindly sponsored by