System: Sager NP8658S (same as Clevo P650-RG) Optimus w/ 980m & 4k panel
OS: Ubuntu 17.10, using SDDM/Plasma (KDE)
Symptoms:
Using 384.90 drivers, BIOS in MSHYBRID mode and prime-selected to nvidia drivers, the system will come up and work for the most part. But, there appears to be some minor cursor ghosting and stuttering that comes and goes during use.
Additionally, when I plug in the external HDMI 2560x1080 (ASUS MX299Q) display both screens will go black and cannot be recovered (attaching nvidia-bug-report showing state after this attachment). Detaching the external monitor does not make internal panel usable again. The system is not hung hard at this point (I ssh’d in to get the bug report) but the graphics driver is in a bad state such that you can’t restart the desktop manager. Rebooting it via ssh at this point also takes a long time as something has to time-out.
The external monitor works fine and there are no stuttering/ghosting issues if I go back to the 364.19 drivers (which requires backleveling my kernel and xorg) and switch the BIOS to DISCRETE mode, so there does not appear to be any hardware problem with the monitor or laptop. nvidia-bug-report.log.gz (337 KB)
I think it might have. I just tested tonight with the 387.12 drivers, had that kernel parameter, and did not notice ghosting. But, I didn’t really test very long as the system is useless to me without the external monitor, and that still isn’t quite working.
With 387.12 I noticed it does seem to detect the external monitor (when I read the Xorg.0.log) and its resolution, but the monitor never gets enabled (stays black screen). The internal monitor looks like it’s slowly (the screen takes a minute or two to set up) trying to do the right thing and sets up that panel, but compositing gets disabled (I can tell because the conky window on that monitor is not transparent).
At the end, the external monitor’s still black and the right monitor is slow to respond because plasma and Xorg are eating CPU:
Oct 3 21:14:36 sager nvidia-persistenced: Verbose syslog connection opened
Oct 3 21:14:36 sager nvidia-persistenced: Now running with user ID 123 and group ID 131
Oct 3 21:14:36 sager nvidia-persistenced: Started (6017)
Oct 3 21:14:37 sager nvidia-persistenced: device 0000:01:00.0 - registered
Oct 3 21:14:37 sager nvidia-persistenced: Local RPC service initialized
Oct 3 21:14:37 sager kernel: [ 35.300764] nvidia-modeset: Allocated GPU:0 (GPU-e2f980da-ea7e-4335-6ae3-41ae731aed6d) @ PCI:0000:01:00.0
Oct 3 21:14:52 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:14:52 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:17:10 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:17:15 sager kernel: [ 194.178710] nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
Oct 3 21:17:17 sager kernel: [ 196.185225] nvidia-modeset: ERROR: GPU:0: Idling display engine timed out: 0x0000957d:0:0
Oct 3 21:17:19 sager kernel: [ 198.185212] nvidia-modeset: ERROR: GPU:0: Idling display engine timed out: 0x0000917e:0:0
Oct 3 21:17:20 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:17:20 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:20:26 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:20:26 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Oct 3 21:20:26 sager org.kde.KScreen[11586]: kscreen.xcb.helper: #011Rotation: "invalid value (0)"
Attaching a new bug report for 387.12 below. This was taken after connecting the external monitor. nvidia-bug-report.log.gz (298 KB)
Revisiting…
Just noticed the modesetting parameter never stuck due to ubuntu renaming the driver. If you’re still trying, please update to driver 390, xorg 1.19, kernel 4.5 or higher and create a file 99-nvidia-modesetting.conf in /etc/modprobe.d containing
options nvidia_390_drm modeset=1
then run
sudo update-initramfs -u
and reboot.
Create a new nvidia-bug-report afterwards.
Edit: kernel not higher than 4.14, 4.15 needs extra patches.
I tested your suggestion to set the drm option with the 390.42 drivers (using the Ubuntu nvidia-drivers-390 package on the latest Bionic with newest Xorg and 4.15 kernel), but am still seeing the same problems as I do with all post-364 drivers.
Discrete mode:
Hangs with cursor in the top left on startup. Logs look like previous versions.
MsHybrid mode, with prime-select nvidia:
“Almost works”, but is unusable. It will boot into the desktop using nvidia drivers and run 3D apps like glxgears, but the entire desktop (except for the cursor) experiences 4 second pauses randomly. Sometimes several times in the same minute.
Some apps like VLC just eat 100% of the CPU and freeze the desktop.
Sleeping the system hangs it with a black screen on restart.
Attaching external monitor makes system hang for a couple of minutes, then it reactivates laptop screen with panel half off the screen as if it tried to reposition the display halfway between the two monitors. The external monitor never activates. The system runs super slow at that point.
All problems go away after going back to 364 again (and backleveling kernel + Xorg). I can play hundreds of 3D games for hours on end with the 364.19 drivers, so I am still confident there’s no hardware issue.
I’m attaching a bug report showing what I see after attaching the external monitor.
That’s a little confounding to test for me, because I have LUKS encryption and a boot partition that’s not easily re-sized. And I’m skittish about removing the latest kernel and any relying packages. But, I can try to clone the system and try it this weekend.
In other news, still seeing the issue with 390.48:
I tested that version with that kernel and the modeset you suggested, but it did not make any noticeable difference. I did not cat that module to verify it was using it however, so I will retest that tomorrow evening (I just finished reverting everything to 364 so I could play some games tonight) and post the results.
I’ll gather some more nvidia-bug-reports for both BIOS in discrete mode and mshybrid mode when I do that as well.