Only an external monitor is detected on Laptop after Update (NVIDIA)

Hi,

I have updated my system today (there has been some time since the last update, since a friend struggled with nvidida drives and told me to not update for some time). After restarting my laptop, my internal monitor is not recognized at all!

$xrandr --listmonitors
Monitors: 1
 0: +*DP-0 1920/521x1080/293+0+0  DP-0

Does anyone know this issue? If I unplug my external monitor and restart, the screen of my laptop just stays black. If I then connect my external monitor, everything works fine but the laptop screen stays black.

In terms of my system, following might be interesting:

$inxi --full --verbosity=7 --filter --no-host

System:
  Kernel: 5.10.98-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
    Desktop: GNOME 41.3 tk: GTK 3.24.31 wm: gnome-shell dm: GDM 3.38.2
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Predator PH317-53 v: V1.11
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: CFL model: Alphard_CFS v: V1.11 serial: <superuser required>
    UEFI: Insyde v: 1.11 date: 03/25/2020
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630]
    vendor: Acer Incorporated ALI driver: i915 v: kernel ports: active: none
    off: eDP-1 empty: none bus-ID: 00:02.0 chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2070 Mobile]
    vendor: Acer Incorporated ALI driver: nvidia v: 510.47.03 pcie:
    speed: 2.5 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1f10
    class-ID: 0300
  Device-3: Chicony HD User Facing type: USB driver: uvcvideo bus-ID: 1-7:4
    chip-ID: 04f2:b64f class-ID: 0e02 serial: <filter>
  Display: x11 server: X.org v: 1.21.1.3 compositor: gnome-shell driver: X:
    loaded: modesetting,nvidia gpu: i915,nvidia display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: DP-0 res: 1920x1080 hz: 60 dpi: 94
    size: 521x293mm (20.5x11.5") diag: 598mm (23.5")
  Message: Unable to show GL data. Required tool glxinfo missing.

Thank you for your time and help!

Hi @Dubbox,

a Big question is how did you do the upgrade?

Also, please provide the output for:

mhwd --list

And

mhwd --listinstalled

Also go thorough these and provide info where necessary:

Hope you manage!

Look here:

I would say there is xorg config which only target the nvidia gpu…

Did you install video-nvidia or video-hybrid-intel-nvidia-prime ?

Hi, Thank you for your quick response!

I updated my system using

$ sudo pacman -Syu

the outputs you requested are as follows:

$ mhwd --list

> 0000:01:00.0 (0300:10de:1f10) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2021.12.18               false            PCI
          video-nvidia            2021.12.18               false            PCI
    video-nvidia-470xx            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> 0000:00:02.0 (0300:8086:3e9b) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

and

$ mhwd --listinstalled

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI


Warning: No installed USB configs!

Hope this helps! Thanks a lot!

**Previous to the update, both monitors worked, I have not done anything else to the pacman update

1 Like

Could you add the content of the config files?

Here 2 easy commands:
(in case your shell is zsh, run bash beforehand)

export configs=("/etc/X11/xorg.conf" "/etc/X11/xorg.conf.d/*.conf" "/etc/modprobe.d/*.conf" "/etc/modules-load.d/*.conf")
for x in ${configs[@]}; do echo -e "\n---$x---\n$(cat $x)"; done

Hi, thank you for helping!

I am running zsh, therefore I executed bash first and then your commands, resulting in the following output:

cat: /etc/X11/xorg.conf: No such file or directory

---/etc/X11/xorg.conf---


---/etc/X11/xorg.conf.d/00-keyboard.conf---
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "de"
        Option "XkbModel" "pc105"
EndSection

---/etc/X11/xorg.conf.d/10-optimus-manager.conf---
Section "Files"
	ModulePath "/usr/lib/nvidia"
	ModulePath "/usr/lib32/nvidia"
	ModulePath "/usr/lib32/nvidia/xorg/modules"
	ModulePath "/usr/lib32/xorg/modules"
	ModulePath "/usr/lib64/nvidia/xorg/modules"
	ModulePath "/usr/lib64/nvidia/xorg"
	ModulePath "/usr/lib64/xorg/modules"
EndSection

Section "ServerLayout"
	Identifier "layout"
	Screen 0 "nvidia"
	Inactive "integrated"
EndSection

Section "Device"
	Identifier "nvidia"
	Driver "nvidia"
	BusID "PCI:1:0:0"
	Option "Coolbits" "28"
EndSection

Section "Screen"
	Identifier "nvidia"
	Device "nvidia"
	Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
	Identifier "integrated"
	Driver "modesetting"
	BusID "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "integrated"
	Device "integrated"
EndSection

---/etc/modprobe.d/mhwd-gpu.conf---
##
## Generated by mhwd - Manjaro Hardware Detection
##
 
blacklist nouveau
blacklist ttm
blacklist drm_kms_helper
blacklist drm
options nvidia "NVreg_DynamicPowerManagement=0x02"

---/etc/modules-load.d/mhwd-gpu.conf---
##
## Generated by mhwd - Manjaro Hardware Detection
##
 
nvidia
nvidia-drm

---/etc/modules-load.d/modules.conf---
# List of modules to load at boot

Does this help?

Please post the output of:

xrandr --query

Hi, the output is:

$xrandr --query

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080     60.00*+ 143.85   119.98    99.93    59.94    50.00  
   1680x1050     59.95  
   1440x900      59.89  
   1440x576      50.00  
   1440x480      59.94  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)

That should be:

Section "ServerLayout"
	Identifier "layout"
	Screen 0 "integrated"
	Inactive "nvidia"
EndSection

That is normally done at the optimus-manager… switch the gpu there. :wink:

I tried that also, (using the Icon and pressing “Switch to NVIDIA”

I get the following error-message

image

However, running the commands stated here does not allow me to switch. What am I doing wrong?

You re-enabled the service?

sudo systemctl enable --now optimus-manager

Maybe restart after that?

or just:

sudo systemctl restart display-manager

I just typed that command, still the same error.

Also the Icon of optimus-manager is the NVIDIA-Icon:
image
image

the startup-mode is also NVIDIA:

sudo systemctl restart display-manager

Did also not work, I also rebooted my system. (I am on dualboot, however I do not think this is causing the issue, since I have not done updates on the other system)

So the problem here is that you cannot switch to integrated gpu, because the optimus service is not running?

sudo systemctl status optimus-manager

Hi I get the following output:

Ă— optimus-manager.service - Optimus Manager Commands Daemon
     Loaded: loaded (/usr/lib/systemd/system/optimus-manager.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Fri 2022-02-25 14:07:00 CET; 20min ago
    Process: 551 ExecStartPre=/usr/bin/python3 -u -m optimus_manager.hooks.pre_daemon_start (code=exited, status=1/FAILURE)
    Process: 592 ExecStartPre=/usr/bin/python3 -u -m optimus_manager.hooks.pre_xorg_start (code=exited, status=1/FAILURE)
    Process: 597 ExecStart=/usr/bin/python3 -u -m optimus_manager.daemon (code=exited, status=1/FAILURE)
    Process: 615 ExecStopPost=/usr/bin/python3 -u -m optimus_manager.hooks.post_daemon_stop (code=exited, status=1/FAILURE)
   Main PID: 597 (code=exited, status=1/FAILURE)
        CPU: 92ms

Feb 25 14:07:00 manjaro systemd[1]: Starting Optimus Manager Commands Daemon...
Feb 25 14:07:00 manjaro python3[551]: /usr/bin/python3: Error while finding module specification for 'optimus_manager.hooks.pre_daemon_start' (ModuleNotFoundError: No module named 'optimus_manager')
Feb 25 14:07:00 manjaro python3[592]: /usr/bin/python3: Error while finding module specification for 'optimus_manager.hooks.pre_xorg_start' (ModuleNotFoundError: No module named 'optimus_manager')
Feb 25 14:07:00 manjaro systemd[1]: Started Optimus Manager Commands Daemon.
Feb 25 14:07:00 manjaro python3[597]: /usr/bin/python3: Error while finding module specification for 'optimus_manager.daemon' (ModuleNotFoundError: No module named 'optimus_manager')
Feb 25 14:07:00 manjaro systemd[1]: optimus-manager.service: Main process exited, code=exited, status=1/FAILURE
Feb 25 14:07:00 manjaro python3[615]: /usr/bin/python3: Error while finding module specification for 'optimus_manager.hooks.post_daemon_stop' (ModuleNotFoundError: No module named 'optimus_manager')
Feb 25 14:07:00 manjaro systemd[1]: optimus-manager.service: Control process exited, code=exited, status=1/FAILURE
Feb 25 14:07:00 manjaro systemd[1]: optimus-manager.service: Failed with result 'exit-code'.


Might it be the case that I have to get it from the AUR? (see Optimus manager doesn't work after upgrade - #28 by linub)

the output is cut off… pls update the output with that:

sudo systemctl status optimus-manager --no-pager

sorry, did so and edited the post

1 Like

Yeah seems there is no community packages for optimus-manager anymore. So I guess you have to switch to the AUR.

So remove the optimus-manager, if installed from the offical repo and reinstall from the AUR:

pamac build optimus-manager optimus-manager-qt

Not sure, I don’t use it, but must be these AUR packages.

There is also the git version:

pamac build optimus-manager-git optimus-manager-qt-git

Oh finally, this was the solution!

So in summary, do not use pacman to install and update optimus-manager. If done so do the following:

$pacman -R optimus-manager optimus-manager-qt

to uninstall this version and after this install from AUR using for example:

pamac build optimus-manager optimus-manager-qt

Thank you very much for your quick and informative support!

1 Like

But just keep in mind:

AUR is not offical and made by users. You are on your own here.

:wink: