OpenSUSE Leap 4.2.3, kernel 4.4.87-25-default (current stock), nVidia driver 384.90. In case it matters, 32 GB RAM; OS is on a Crucial 1TB SATA SSD.
The X server hangs on start if discrete graphics is enabled in the system BIOS (2.17). If hybrid graphics is enabled, X starts up normally and the M4000M can be used with either Optimus or Primus, but with those configurations OpenGL performance is rather less than what I would expect (better with xorg-x11-server 1.19, but still well below a 7 year old laptop with an AMD Radeon HD5870 using the FOSS driver).
If I boot to run level 3 (multiuser without X), the screen goes black upon exit from Grub and I never get a login prompt. However, I can access the system remotely.
Sounds very similar to what I’ve seen from my Sager NP8658S (same as Clevo P650-RG). Every driver after 364.19 will only give me a black screen when starting X if I select Discrete graphics in the BIOS/UEFI, though they somewhat work in MSHybrid mode with other bugs and performance quirks.
I don’t think the sluggish performance reported in that bug is what’s affecting me. I’m not seeing pathological slowness, just OpenGL performance that is considerably lower than I’d expect from a fairly high end adapter. And the display is actually running entirely off the Intel GPU; with Primus or Optimus, it’s my understanding that the discrete GPU is just used for rendering.
X still loads Mesa. It seems to me that opensuse is not really the best choice for Optimus laptops. They recommend using bumblebee but then you shouldn’t use the bios switch. Currently, the Nvidia glx is disabled
c/p from opensuse forum:
We’re getting a bit off topic here. The issue is inability to run on the discrete GPU alone, because of the X server hanging. Is that due to bumblebee or GLX? If so, I can try remove all of that stuff.
With the nVidia driver and the bumblebee repo, I’m able to get everything working in hybrid mode. I’d like to be able to use just the discrete GPU.
Ok, now the nvidia driver is back to a working state, but there’s obviously a driver bug, on setting the mode it throws error XID 56
Can you try now to set the kernel parameter
to see if it’s a workaround?