Secondary monitors stopped working after opening steam

I am running EndeavourOS on an old Thinkpad W520.

The secondary monitors (which are usually a pain to get working because the video outputs are linked to the quadro card, and require configuring the intel card to output virtually) just work when fresh installing the system.

After I tried to run a game on steam, xrandr stopped detecting the secondary monitors. Also, no matter what I try, I cannot get any version of the nvidia drivers to work.

inxi -G gives me the following output:

Graphics:
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    driver: i915 v: kernel
  Device-2: NVIDIA GF106GLM [Quadro 2000M] driver: N/A
  Device-3: Chicony Lenovo Integrated Camera (0.3MP) driver: uvcvideo
    type: USB
  Display: x11 server: X.Org v: 21.1.11 driver: X: loaded: intel
    unloaded: modesetting dri: i965 gpu: i915 resolution: 1600x900~60Hz
  API: EGL v: 1.5 drivers: crocus,swrast platforms: x11,surfaceless,device
  API: OpenGL v: 4.5 compat-v: 3.3 vendor: intel mesa v: 23.3.5-arch1.1
    renderer: Mesa Intel HD Graphics 3000 (SNB GT2)
  API: Vulkan Message: No Vulkan data available.

To sum up, my secondary monitors no longer are detected, I cannot seem to get them detected and working again, and i cannot get the nvidia driver running either. I have tried several versions of the nvidia driver, incluidng nvidia-470xx-dkms and nvidia-dkms. Bumblebee and optimus-manager simply dont work for me and the system wont detect the driver no matter what I do. I have given up on the game i wanted to open, and I just want my monitors back from work. Ideally without having to reinstall the OS to get whatever had the monitors working originally up again.

Welcome! :smile:

Can you show the output of

inxi -Gza

Here you go!

Graphics:
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    vendor: Lenovo driver: i915 v: kernel arch: Gen-6 code: Sandybridge
    process: Intel 32nm built: 2011 ports: active: LVDS-1 empty: VGA-1
    bus-ID: 00:02.0 chip-ID: 8086:0126 class-ID: 0300
  Device-2: NVIDIA GF106GLM [Quadro 2000M] vendor: Lenovo driver: N/A
    alternate: nouveau, nvidia_drm, nvidia non-free: series: 390.xx+
    status: legacy (EOL~2022-11-22) last: release: 390.157 kernel: 6.0
    xorg: 1.21 arch: Fermi code: GF1xx process: 40/28nm built: 2010-2016 pcie:
    speed: Unknown lanes: 63 link-max: gen: 6 speed: 64 GT/s bus-ID: 01:00.0
    chip-ID: 10de:0dda class-ID: 0300
  Device-3: Chicony Lenovo Integrated Camera (0.3MP) driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 2-1.6:7
    chip-ID: 04f2:b217 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.11 compositor: kwin_x11 driver: X:
    loaded: intel dri: i965 gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1600x900 s-dpi: 96 s-size: 423x238mm (16.65x9.37")
    s-diag: 485mm (19.11")
  Monitor-1: LVDS-1 mapped: LVDS1 model: Lenovo 0x40b1 built: 2009
    res: 1600x900 hz: 60 dpi: 116 gamma: 1.2 size: 350x190mm (13.78x7.48")
    diag: 396mm (15.6") ratio: 16:9 modes: 1600x900
  API: EGL v: 1.5 hw: drv: intel crocus platforms: device: 0 drv: crocus
    device: 1 drv: swrast surfaceless: drv: crocus x11: drv: crocus
    inactive: gbm,wayland
  API: OpenGL v: 4.5 compat-v: 3.3 vendor: intel mesa v: 23.3.5-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 3000 (SNB
    GT2) device-ID: 8086:0126 memory: 1.46 GiB unified: yes
  API: Vulkan Message: No Vulkan data available.

also, the output for xrandr shows this:

Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
LVDS1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 350mm x 190mm
   1600x900      59.99*+  59.82    50.00  
   1400x900      59.96    59.88  
   1368x768      60.00    59.88    59.85  
   1280x800      59.81    59.91  
   1280x720      59.86    60.00    59.74  
   1024x768      60.00  
   1024x576      60.00    59.90    59.82  
   960x540       60.00    59.63    59.82  
   800x600       60.32    56.25  
   864x486       60.00    59.92    59.57  
   800x450       60.00  
   640x480       59.94  
   720x405       59.51    60.00    58.99  
   640x360       59.84    59.32    60.00  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
VIRTUAL2 disconnected (normal left inverted right x axis y axis)

The VIRTUAL1 and VIRTUAL2 outputs are what used to detect my external monitors.

according to the archlinux wiki this is the right way, and endeavour did it by default on a fresh install. Now with nvidia drivers installed and bumblebee, intel-virtual-output does nothing and optirun true gives the following error:

[  734.204487] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13].

[  734.204528] [ERROR]Aborting because fallback start is disabled.

The Nvidia card is so old that the driver newer than 390 series are not supported.
So nvidia-390xx-dkms might work, although I’m not sure if other software components (e.g. xorg-server) are still compatible.

And as far as I know, open source nouveau should be supported too.

Tip: I’d suggest running command

nvidia-inst -t --series 390

to see a suggestion of the commands you may need to run.
Note that the commands might not create a working solution for your hardware.

Also, can you show the output of

pacman -Qs xf86-video
pacman -Qs nvidia

It is possible that the Intel driver is causing some problems.

I have the nvidia-390xx-dkms installed, however for some reason the computer is not detecting it.

As for nvidia-inst, endeavouros page for this function indicates that it does not support legacy drivers yet, and to install the proprietary driver (which should be the 390 driver, which I have installed) or to use noveau. When i tried to run the above code, the result was:

bash: nvidia-inst: command not found

as for the output you requested:

[mincho@TuncoViejo ~]$ pacman -Qs xf86-video
local/xf86-video-intel 1:2.99.917+923+gb74b67f0-1 (xorg-drivers)
    X.org Intel i810/i830/i915/945G/G965+ video drivers
[mincho@TuncoViejo ~]$ pacman -Qs nvidia
local/bumblebee 3.2.1-21
    NVIDIA Optimus support for Linux through VirtualGL
local/egl-wayland 2:1.1.13-1
    EGLStream-based Wayland external platform
local/lib32-nvidia-390xx-utils 390.157-2
    NVIDIA drivers utilities (32-bit), 390xx legacy branch
local/lib32-opencl-nvidia 545.29.06-1
    OpenCL implemention for NVIDIA (32-bit)
local/libvdpau 1.5-2
    Nvidia VDPAU library
local/nvidia-390xx-dkms 390.157-7
    NVIDIA drivers - module sources
local/nvidia-390xx-utils 390.157-7
    NVIDIA drivers utilities
local/opencl-nvidia 545.29.06-4
    OpenCL implemention for NVIDIA

The thing is, regardless, i did not have the nvidia drivers installed originally. When i installed steam, I believe it attempted to use the graphics card without a driver, the game did not launch, but something in that process changed the configuration of my virtual displays out of the intel graphics card. The fact is that the virutal displays and extra screens simply worked out of the box when first installing endeavourOS with no setup at all. After steam, it simply did not.

¿Is there any way of running the setup and detection that Calamares runs when installing the OS so I can go back to that out-of-the-box config?

Some notes:

  • those opencl packages are for the latest nvidia driver, not for 390 series. If you want 390 driver, you need to change them.
  • you probably had the nouveau driver originally, right? That should be easy to restore with nvidia-inst -n. But do you want to use only the Intel GPU?
  • nvidia-inst can be installed normally, like
    sudo pacman -Syu nvidia-inst

Ok, so ive fixed the opencl packages and now inxi -G shows the correct nvidia driver, but also shows the nvidia driver failed to load.

Graphics: Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics driver: i915 v: kernel Device-2: NVIDIA GF106GLM [Quadro 2000M] driver: nvidia v: 390.157 Device-3: Chicony Lenovo Integrated Camera (0.3MP) driver: uvcvideo type: USB Display: x11 server: X.Org v: 21.1.11 driver: X: loaded: intel unloaded: modesetting failed: nvidia dri: i965 gpu: i915,nvidia resolution: 1600x900~60Hz API: EGL v: 1.4,1.5 drivers: crocus,nvidia,swrast platforms: x11,surfaceless,device API: OpenGL v: 4.5 compat-v: 3.3 vendor: mesa v: 23.3.5-arch1.1 note: incomplete (EGL sourced) renderer: Mesa Intel HD Graphics 3000 (SNB GT2), llvmpipe (LLVM 16.0.6 256 bits) API: Vulkan Message: No Vulkan data available.

I used Optimus Switch to start in prime mode and still no extra screens detected.

Before, the screens would even activate (though with no output) when I was still unlocking my encrypted drive using luks before the OS finished loading.

I am going to trying using Optimus Manager instead, as maybe Optimus Switch is not correctly switching my video output.

But i cannot seem to get the computer to use it.

Also, you mentioned that I might have had nouveau installed before, but when i installed steam and the proprietary nvidia drivers, i never had to uninstall nouveau, I have had xf86-video-nouveau installed this whole time. Is it just a question of my computer failing to use it?

The Nvidia driver package should blacklist nouveau.
And if you uninstall the Nvidia driver, blacklisting is removed too.

Ok, so basically the 390 driver does not work. If i try to boot with it linux just doesnt load. I tried reinstalling nouveau and rerunning dracut and its still not working and not detecting external screens.

I am pretty sure now that what happened is that the nvidia dependencies for steam replaced the kernel version of nouveau and my quadro card simply stopped working.

i have xf86-video-intel and xf86-video-nouveau installed, but inxi -Gza still gives me this:

Graphics:
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    vendor: Lenovo driver: i915 v: kernel arch: Gen-6 code: Sandybridge
    process: Intel 32nm built: 2011 ports: active: LVDS-1 empty: VGA-1
    bus-ID: 00:02.0 chip-ID: 8086:0126 class-ID: 0300
  Device-2: NVIDIA GF106GLM [Quadro 2000M] vendor: Lenovo driver: N/A
    alternate: nouveau non-free: series: 390.xx+ status: legacy (EOL~2022-11-22)
    last: release: 390.157 kernel: 6.0 xorg: 1.21 arch: Fermi code: GF1xx
    process: 40/28nm built: 2010-2016 pcie: gen: 2 speed: 5 GT/s lanes: 16
    bus-ID: 01:00.0 chip-ID: 10de:0dda class-ID: 0300
  Device-3: Chicony Lenovo Integrated Camera (0.3MP) driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-1.6:7
    chip-ID: 04f2:b217 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.11 compositor: kwin_x11 driver: X:
    loaded: intel unloaded: modesetting alternate: nvidia dri: i965 gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1600x900 s-dpi: 96 s-size: 423x238mm (16.65x9.37")
    s-diag: 485mm (19.11")
  Monitor-1: LVDS-1 mapped: LVDS1 model: Lenovo 0x40b1 built: 2009
    res: 1600x900 hz: 60 dpi: 116 gamma: 1.2 size: 350x190mm (13.78x7.48")
    diag: 396mm (15.6") ratio: 16:9 modes: 1600x900
  API: EGL v: 1.5 hw: drv: intel crocus platforms: device: 0 drv: crocus
    device: 1 drv: swrast surfaceless: drv: crocus x11: drv: crocus
    inactive: gbm,wayland
  API: OpenGL v: 4.5 compat-v: 3.3 vendor: intel mesa v: 23.3.5-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 3000 (SNB
    GT2) device-ID: 8086:0126 memory: 1.46 GiB un

I have uninstalled all the official nvidia drivers and am not sure if the blacklisting got removed as well, but nouveau just isnt working.

You can try uninstalling those xf86-video-* packages one by one and reboot after each uninstall.

But before doing so make sure you have a working USB installer drive that you can use if chrooting is needed.

Alternatively, you could consider a reinstall of the system after backing up your prrsonal data. Then you’d have the system without steam changes.

Thank you, i did already try uninstalling the xf86-video-* packages one by one. Removing the intel one leads to the system simply not loading the graphical interface. Removing the nouveau one results in the same situation as above. Nouveau doesnt seem to be loading regardless of whether it is installed as a separate package.

I also tried following the instructions on this page but it is based in mkinitcpio. My system is using dracut. I do not know what files i would have to modify and what scripts I would have to run to get the system to run the default nouveau module that comes with the kernel.

do you know how to check and see if nouveau is still on the blacklist? is there a way to manually remove it? (EDIT I restarted my system and it did not say it was blacklisting nouveau while booting)

I am doing whatever I can to not have to reinstall my system. Because of the work I do it does take a lot of setup.

lsmod | grep nouveau

It should show nouveau if it is in use.

To see blacklists, look at files in folders /etc/modprobe.d and /lib/modprobe.d (hopefully I have the paths right).
Also, they could be on the kernel parameters.

You could try blacklisting the intel driver i915 in kernel parameters.
For details, see the Arch wiki.

That did it! Thank you so much for your patience.

After uninstalling the nvidia drivers, for some reason /etc/modprobe.d/99-nvidia.conf was not erased and it was blacklisting nouveau. Removing it got me my driver back.

Thank you!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.