A hundred variations on "can't start X on my new GTX 860M-based laptop"

System: MSI Apache Pro G70 with a GeForce GTX 860M (01:00.0) and a Intel 4th-gen integrated graphics controller (00:02.0). Nvidia driver is 346.16. OS is a late beta Fedora 21, kernel 3.17.4-300.fc21.x86_64 stock. The only thing I’m doing unusual is passing in the rcu_idle_gp_delay argument as in this bugfix (https://devtalk.nvidia.com/default/topic/567297/linux/linux-3-10-driver-crash/13/), which reduces (but doesn’t eliminate) my ACPI errors in dmesg. But still doesn’t get me into X. I’ve tried both straight NVIDIA drivers and Bumblebee. Both deadended, so I figured I’d try to solve the straight-NVIDIA drivers approach first, since that’s the better option.

Selinux is disabled, in case it matters.

The symptoms vary depending on precisely which config I use, whether I get into a black-screen X or whether I’m kicked out immediately, with or without error. If I use the “xrand statements in the .xinitrc” solution then X crashes out immediately. If I use either of my two variants on X configs (more in just a second), it goes into a black-screen X or a doesn’t-even-blank-out-the-terminal-view mode, with the only errors in the file being a couple scattered “Error systemd-logind returned paused fd for drm mode”. But if I turn --logverbose 6 on then X exits right away, no black-screen-hang (beats me as to why logging would change the behavior!)

There’s only one notable, universal message in dmesg that comes with every X startup attempt: “vgaarb: this pci device is not a vga device”. But of course it is, lspci is quite clear, "01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)

As for xorg.conf, I have two main variants I’ve been working with: the basic:

============
Section “ServerLayout”
Identifier “Layout0”
Screen 0 “Screen0”
EndSection

Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Unknown”
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option “DPMS”
EndSection

Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce GTX 860M”
BusID “PCI:1:0:0”
EndSection

Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
EndSection

… and the alternative:

============
Section “ServerLayout”
Identifier “Layout0”
Screen 0 “nvidia”
Inactive “intel”
EndSection

Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Unknown”
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option “DPMS”
EndSection

Section “Device”
Identifier “nvidia”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BusID “PCI:1:0:0”
EndSection

Section “Device”
Identifier “intel”
Driver “modesetting”
BusID “PCI:0:2:0”
EndSection

Section “Screen”
Identifier “nvidia”
Device “nvidia”
Option “UseDisplayDevice” “none”
EndSection

Section “Screen”
Identifier “intel”
Device “intel”
Monitor “Monitor0”
EndSection

Neither gets me into X.

So… I’m starting to run dry in terms of ideas… any clues what I should try next?

My primary goal is to get X working with GLX. This laptop will be primarily used plugged into a wall doing graphics work. Proper power management would be a nice bonus, but I’d consider it a win even if the intel card was completely written out of the picture.

(and no, to head people off, there’s no UEFI options concerning video cards… it has very limited configurability :( )

nvidia-bug-report.log.gz (170 KB)
Xorg.5.log (18.5 KB)

Opened a related thread here:

https://forums.geforce.com/default/topic/793643/x-crash-on-startup-optimus-modeset-xrandr/#4383692

Nothing close to an answer so far… :(

Did you get your issue resolved?

I am trying to get optimus working as well with an 860M: https://devtalk.nvidia.com/default/topic/807721/linux/346-35-valid-display-device-s-none-860m/

Same here with MSI Apache Pro GE60 2PE, always 860m 2GB DDR5

Ubuntu 14.10

EDIT:
I just was able to run nvidia 340.76 drivers with bumblebee successfull on kernel 3.19.0 rc7!