After last update I don't see Intel VGA anymore

Hello, my laptop has two graphic cards, one Intel and one NVIDIA GeForce RTX 2070.
I have two monitors, one connected to the HDMI and one connected to mini DisplayPort.
After the last update the monitor connected to HDMI is not working anymore.
This command:

# lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation TU106BM [GeForce RTX 2070 Mobile / Max-Q] (rev a1)

it should display the Intel card as well, I think.
Because:

# inxi -Fx
System:
  Host: dellg5 Kernel: 5.19.1-3-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Console: pty pts/3 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: G5 5590 v: N/A serial: F4J3HX2
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell driver: i915 v: kernel
    arch: Gen-9.5 bus-ID: 00:02.0
  Device-2: NVIDIA TU106BM [GeForce RTX 2070 Mobile / Max-Q] vendor: Dell driver: nvidia
    v: 515.65.01 arch: Turing bus-ID: 01:00.0
  Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo bus-ID: 1-5:3
  Display: x11 server: X.org v: 1.21.1.4 driver: X: loaded: modesetting gpu: i915 tty: 254x56
    resolution: 2560x1440
  Message: GL data unavailable in console for root.
# grep -i installed /var/log/pacman.log | tail -10
[2022-08-14T10:30:23+0200] [ALPM] installed python-jsonpointer (2.3-1)
[2022-08-14T10:30:23+0200] [ALPM] installed python-webcolors (1.12-1)
[2022-08-14T10:30:23+0200] [ALPM] installed ruby-date (3.2.2-1)
[2022-08-14T10:30:23+0200] [ALPM] installed ruby-uri (0.11.0-2)
[2022-08-14T10:30:23+0200] [ALPM] installed ruby-net-http (0.2.2-1)
[2022-08-14T10:30:23+0200] [ALPM] installed ruby-time (0.2.0-2)
[2022-08-14T10:30:23+0200] [ALPM] installed ruby-open-uri (0.2.0-2)
[2022-08-14T10:30:24+0200] [ALPM] installed libxcrypt-compat (4.4.28-2)
[2022-08-14T10:30:24+0200] [ALPM] installed lib32-libxcrypt-compat (4.4.28-4)
[2022-08-14T10:32:04+0200] [ALPM] installed linux519-nvidia (515.65.01-5)
# mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
          video-nvidia            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!

Any idea what happens?

Hello,

One pointer would be that you installed the wrong drivers for the hybrid GPUs setup you have there. Remove those drivers:
sudo mhwd -r pci video-nvidia
and
sudo mhwd -r pci video-linux

Then auto install the proper drivers with:
sudo mhwd -a pci nonfree 0300

That should install the video-hybrid-intel-nvidia-prime and video-modesetting
Then to use a program via the nvidia GPU use prime-run <applications>

Also you can look into Optimus-Manager. If you are on KDE Plasma … see this optimus-manager/README.md at master · Askannz/optimus-manager · GitHub

If you are still on XFCE, please review this Application always minimized - #3 by megavolt

Thanks @bogdancovaciu l, unfortunately is not very simple:

# mhwd -r pci video-nvidia
> Removing video-nvidia...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/local/pci/video-nvidia/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
Processing classid: 0302
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-utils breaks dependency 'nvidia-utils' required by cuda
Error: pacman failed!
Error: script failed!
[dellg5 ~]# pacman -R nvidia-utils
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-utils breaks dependency 'nvidia-utils' required by cuda
:: removing nvidia-utils breaks dependency 'nvidia-utils=515.65.01' required by lib32-nvidia-utils
:: removing nvidia-utils breaks dependency 'nvidia-utils=515.65.01' required by linux519-nvidia

It is a labyrinth of dependencies…

Remove CUDA first then run the mhwd … then once you have the system back, with the proper driver, you install CUDA back.

I could remove the package and reinstall but I have the same problem.
What do you mean with prime-run, I do not have this command…

What you reinstalled? Please share the current
mhwd -li

$ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
          video-nvidia            2021.11.04               false            PCI


Warning: No installed USB configs!

did you try a different kernel like the 5.15 lts?
if it still happens provide logs:
mhwd -l
sudo dmesg | grep i915
journalctl -b0 | grep i915
ls /etc/modprobe.d

You want to say that got autoinstalled instead of the video-hybrid-intel-nvidia-prime driver?
Well, you might be better then to follow this Dell G5 5590-9340 - ArchWiki

Mind you, but with video-nvidia you get a file /etc/X11/mhwd.d/nvidia.conf that is not compatible with hybrid GPU.

[dellg5 ~]# mhwd -l
> 0000:01:00.0 (0300:10de:1f50) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
          video-nvidia            2021.11.04               false            PCI
    video-nvidia-470xx            2021.11.04               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 (0380:8086:3e9b) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI


[dellg5 ~]# sudo dmesg | grep i915
[    3.206573] i915 0000:00:02.0: enabling device (0004 -> 0007)
[    3.212540] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    3.226549] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    3.510658] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    4.051661] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.051823] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[dellg5 ~]# journalctl -b0 | grep i915
Sep 02 17:45:40 dellg5 kernel: i915 0000:00:02.0: enabling device (0004 -> 0007)
Sep 02 17:45:40 dellg5 kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Sep 02 17:45:40 dellg5 kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
Sep 02 17:45:40 dellg5 kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Sep 02 17:45:40 dellg5 kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Sep 02 17:45:40 dellg5 kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[dellg5 ~]# ls /etc/modprobe.d
mhwd-gpu.conf
[dellg5 ~]#

looks ok, its being detected by mhwd -l and is being enabled …
post output from lspci

dellg5 ~]# lspci
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 Display controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:14.3 Network controller: Intel Corporation Cannon Lake PCH CNVi WiFi (rev 10)
00:15.0 Serial bus controller: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
00:15.1 Serial bus controller: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 SATA controller: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
00:1d.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #14 (rev f0)
00:1f.0 ISA bridge: Intel Corporation HM470 Chipset LPC/eSPI Controller (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation TU106BM [GeForce RTX 2070 Mobile / Max-Q] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU106 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller: NVIDIA Corporation TU106 USB Type-C UCSI Controller (rev a1)
02:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:01.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
03:02.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
04:00.0 System peripheral: Intel Corporation JHL6340 Thunderbolt 3 NHI (C step) [Alpine Ridge 2C 2016] (rev 02)
3a:00.0 USB controller: Intel Corporation JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016] (rev 02)
3b:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
3c:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 2502 (rev 1f)

everything looks ok:

00:02.0 Display controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]

just install back the intel drivers:
sudo mhwd -i pci video-linux
reboot and thats it

Done! I still have the same problem.
One screen works, the other one has the DELL logo.
“Display” app only see one monitor.

Did you

?
Apparently your laptop does not have the usual Hybrid iGPU/dGPU hence is not using the video-hybrid-intel-nvidia-prime, but like i said

So even if you follow the arch linux wiki i pointed out, you might have to delete the default /etc/X11/mhwd.d/nvidia.conf and also the symlink to it in /etc/X11/xorg.conf.d/90-mhwd.conf
and probably you will have to do that every time there is an update for the Nvidia driver/module.

Regarding ArchWiki do you mean Graphics paragraph?
I do not have the following files:

/etc/X11/xorg.conf.d/90-mhwd.conf
/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
/etc/X11/xorg.conf.d/11-nvidia-tearing.conf

So I can’t create a link to /etc/X11/xorg.conf.d/90-mhwd.conf

That is already a symlink to /etc/X11/mhwd.d/nvidia.conf as i already mentioned, is created via MHWD when you install video-nvidia driver.

Of course you don’t. MHWD does not have such profile, that is why the wiki mentions to create them because are specific you your laptop model, or at leas is how someone else figure it out to make it work.

This is a comment:

Well, here’s what worked for me:

  • Installed latest nvidia-utils (important to do first, because it will update the file to be copied below)
  • cp /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf /etc/X11/xorg.conf.d
  • (for me, maybe not for other people) Edit /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf and add the line ‘Option “PrimaryGPU” “yes”’ in it.
  • sudo mkinitcpio -P (assuming that you’ve enabled the nvidia modules, as per the archlinux nvidia guide)
  • reboot

from:

archlinux

I think I should have this file:

/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

I do not have it

If your system was Arch Linux. Manjaro has MHWD and that is what installs drivers/modules and configs. That config does not exists in video-nvidia MHWD profile.

Create it and edit it accordingly !

But sorry if I insist, as far as I know files under /usr/share should be provided by the packages.
The file that the documentation talks about at:

https://wiki.archlinux.org/title/Dell_G5_5590-9340#Graphics

is another file:

/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

under /etc/X11.
My directory /usr/share/X11/xorg.conf.d has these files:


# ls -la /usr/share/X11/xorg.conf.d
total 36
drwxr-xr-x 2 root root 4096 Sep  3 15:58 .
drwxr-xr-x 7 root root 4096 Jul 21 10:39 ..
-rw-r--r-- 1 root root   92 Feb 24  2022 10-amdgpu.conf
-rw-r--r-- 1 root root  424 Aug  6 00:59 10-amdgpu-nvidia-drm-outputclass.conf
-rw-r--r-- 1 root root 1099 Nov  7  2021 10-evdev.conf
-rw-r--r-- 1 root root  426 Aug  6 00:59 10-intel-nvidia-drm-outputclass.conf
-rw-r--r-- 1 root root 1350 Jul 12 21:42 10-quirks.conf
-rw-r--r-- 1 root root   92 Nov 16  2021 10-radeon.conf
-rw-r--r-- 1 root root 1429 Jan 24  2022 40-libinput.conf

May I take 10-amdgpu-nvidia-drm-outputclass.conf for creating /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf ?
It is the following:

Section "ServerLayout"
    Identifier "layout"
    Option "AllowNVIDIAGPUScreens"
EndSection

Section "OutputClass"
    Identifier "AMDgpu"
    MatchDriver "amdgpu"
    Driver "amdgpu"
EndSection

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

Or should I only create the file /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf and put only the following session?

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection