0

I am about to lose it. I have been using Debian for a year and have not been able to resolve this issue; it is installed on my Lenovo W530 with a Quadro K1000M.

I currently have a recent Debian testing distribution; I have installed the legacy NVIDIA driver for my discrete GPU which I believe is connected to my mini DP port. I have bumblebee installed with optirun fully operational, and I have updated to the most recent bios. This mini DP port is operational on Windows and KUbuntu. Whether I am using the nouveau driver or, as I do now, have it black listed, I am unable to connect to the display port; however, when I plug it in, Kwin detects it but choosing any of the options causes no output whatsoever. The device is not listed on xrandr, but dmesg does indicate that the device does indeed exist, and implies that it is being loaded.

journalctl - https://justpaste.it/3zok2

dmesg - https://justpaste.it/2cr26

xrandr outputs- https://justpaste.it/33y8z

xorg log - https://justpaste.it/1wi4i

I don't care if I have to just use the iGPU, the dGPU or have to use bumblebee; I desperately want the mini DP

I've tried xrandr doesn't detect monitor on hdmi port

https://forums.gentoo.org/viewtopic-t-1090914-start-0.html

https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup

And many other solutions that I cannot recall.

daiamos
  • 1
  • 1

1 Answers1

0

The kernel module of the Nvidia driver is indeed loading, but the X server is not loading the corresponding X11 driver module. This is probably caused by bumblebee, as it needs to set up a separate virtual-display X server for dGPU that can be shut down at will.

You need to use the dGPU for outputs, and unfortunately the Nvidia proprietary driver can only act as a source of graphics data for other Xorg drivers; it cannot serve as a provider of additional inputs for other drivers. So the bumblebee needs to be disabled/removed, and the dGPU must become the primary GPU for your system.

Before making any changes, make sure you can connect to the system over the network with SSH from another computer, if possible; it will make troubleshooting a lot easier.

Your xorg.conf will need at least these bits (similar to https://forums.developer.nvidia.com/t/official-driver-384-59-with-geforce-1050m-doesnt-work-on-opensuse-tumbleweed-kde/52620 ):

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "nvidia" 0 0
    Inactive       "intel"     # this is important!
EndSection

# add a Files section to adjust ModulePath if the X server will not
# find the nvidia driver module otherwise

Section "Monitor"
    Identifier     "Monitor0"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
    Option         "AccelMethod" "none"  #maybe not needed?
    BusID          "PCI:0:2:0"    # should be correct for you
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"    # should be correct for you
    Option         "AllowEmptyInitialConfiguration" # you may be able to remove this
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
EndSection

This should be enough to make the nvidia driver assume the primary position, and then you should see the DP connector and any display connected to it detected in xorg log.

You should now see two providers in the xrandr --listproviders output.

At this point, you may have a picture on miniDP only. To fix that, you'll need to run these two commands at X server initialization time:

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

This tells the NVIDIA driver to be the primary source and the modesetting driver (i.e. the Intel iGPU) to provide extra outputs for NVIDIA. Then xrandr --auto just triggers an automatic detection of inputs and their resolution with the new outputs that (hopefully) just became available.

With KDE, you are probably using sddm as your display manager, so add the above two commands commands to its Xsetup script.

telcoM
  • 87,318
  • 3
  • 112
  • 232