343.22 / Fedora 21 / Black Screen (STILL)

Some may remember my last post for Fedora 19 and the same issue. I decided to start a new thread since a lot of time, driver versions, and 2 fedora releases have passed but still has yet to be resolved.

PROBLEM: After installing the NVIDIA drivers, the machine will boot with plymouth just fine, but then it switches to a black screen. Apparently the gnome-session is active because I can blindly log-in and issue terminal commands to restart the machine or redirect terminal output to files; I just can’t see anything while doing it.

The Xorg log confirms that the card is connected to DFP-0 (I had to manually dump / provide the EDID); however, if I check xrandr it says that HDMI-0 is connected. If you look at my .xsession I try to set both displays to off before letting xrandr --auto take over.

Any thoughts or help? I really do not want to resort back to Bumblebee and I do not have a BIOS option to disable the intel card.

Xorg log: http://pastebin.com/bGCTbqiR

(==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
(**) NVIDIA(0): Option "ConnectedMonitor" "DFP-0"
(**) NVIDIA(0): Option "CustomEDID" "DFP-0:/etc/X11/dfp0.bin.edid"
(**) NVIDIA(0): Enabling 2D acceleration
(**) NVIDIA(0): ConnectedMonitor string: "DFP-0"
(II) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
(II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
(II) NVIDIA(0): NVIDIA GPU GeForce GT 555M (GF106) at PCI:1:0:0 (GPU-0)
(--) NVIDIA(0): Memory: 3145728 kBytes
(--) NVIDIA(0): VideoBIOS:
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(--) NVIDIA(0): Valid display device(s) on GeForce GT 555M at PCI:1:0:0
(--) NVIDIA(0):     Chi Mei Optoelectronics corp. (DFP-0) (connected)
(--) NVIDIA(0): Chi Mei Optoelectronics corp. (DFP-0): Internal TMDS
(--) NVIDIA(GPU-0): Chi Mei Optoelectronics corp. (DFP-0): 165.0 MHz maximum pixel clock
(**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
(**) NVIDIA(0):     device Chi Mei Optoelectronics corp. (DFP-0) (Using EDID
(**) NVIDIA(0):     frequencies has been enabled on all display devices.)
(II) NVIDIA(0): Validated MetaModes:
(II) NVIDIA(0):     "DFP-0:nvidia-auto-select"
(II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
(--) NVIDIA(0): DPI set to (128, 130); computed from "UseEdidDpi" X config

Xorg.conf: http://pastebin.com/pKf8t0id

Section "ServerLayout"
    Identifier     "layout"
    Screen          0 "nvidia"
    Inactive        "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "keyboard"

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

Section "Device"
    Identifier     "intel"
    Driver         "intel"
    BusID          "PCI:00:02:0"

Section "Screen"
    Identifier     "intel"
    Device         "intel"

Section "Device"
    Option         "ConnectedMonitor" "DFP-0"
    Option         "CustomEDID" "DFP-0:/etc/X11/dfp0.bin.edid"
    Identifier     "nvidia"
    Driver         "nvidia"
    BusID          "PCI:01:00:0"

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Option         "AllowEmptyInitialConfiguration"
    SubSection     "Display"
        Modes      "nvidia-auto-select"

.Xsession: http://pastebin.com/eJYmGJkP

xrandr --setprovideroutputsource intel NVIDIA-0
    #xrandr --output DFP-0 --off
    #xrandr --output HDMI-0 --off
    xrandr --auto

Since RandR keeps telling me HDMI-0 is connected, I connected an external monitor via the HDMI out and I do see the Gnome desktop. This confirms the session is loading, but how do I re-direct to the integrated screen?

Multiple issues, but almost there:

  1. The Intel drivers with F21 have a drm issue; therefore, I needed to switch to ‘modesetting’ to see both providers. (this is a regression… intel use to work fine when outputting both providers)

  2. .xsession and .xinitrc are ‘legacy’ methods and not supported by F21 even if Xorg-x11-xinit-xsession is installed; therefore, the RandR commands must be added to /etc/gdm/Init/:0 (or whatever display desired)

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --output HDMI-0 --off --output LVDS-1-0
#xrandr --screen 0 --size 1920x1080 --fb 1920x1080 --output LVDS-1-0 --preferred --mode 1920x1080
xrandr --output LVDS-1-0 --preferred --mode 1920x1080
  1. The above finally gets me video connected to the integrated screen, but for some reason RandR is setting the screen size to 3840x1080, panning the outputs with the HDMI-0 as primary. I attempted to change the behavior via RandR, but nothing seems to works. Instead, I had to blindly log-in to Gnome and tell it to turn off the HDMI-0. The net result is the integrated screen is useless until after log-in.

If anyone has any knowledge on how to fix 3, I wold greatly appreciate it!