Xorg errors with notebook dedicated/builtin graphics

Hi! I am trying to understand some Xorg issues after going through the rouble of fixing drivers after a failed update.

I am using Kernel Manjaro 20.2 with Kernel 5.9 (got some old Kernels still in the system as well) and used

sudo pacman -S mhwd-db
sudo mhwd -a pci nonfree 0300

to install drivers. It got me

$ mhwd -li
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2020.11.30               false            PCI

$ mhwd -l
> 0000:01:00.0 (0300:10de:1cba) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2020.11.30               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2020.11.30               false            PCI
          video-nvidia            2020.11.30               false            PCI
    video-nvidia-390xx            2020.11.30               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:3e94) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2020.11.30               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2020.11.30               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

! Note that in the live-boot of 20.2 with Kernel 5.9, choosing non-free drivers, I get video-hybrid-intel-nvidia-455xx-prime instead!

Anyways, trying to start my Xfce4 desktop, I always got stuck loading Xorg. var/log/Xorg.0.log included various errors, e.g.

...
(EE) Failed to load module "intel" (module does not exist, 0)
(EE) Failed to load module "nouveau" (module does not exist, 0)
(EE) Failed to load module "nv" (module does not exist, 0)
(EE) Failed to load module "fbdev" (module does not exist, 0)
(EE) Failed to load module "vesa" (module does not exist, 0)
...

I had similar although less Xorg errors when trying to use free drivers instead (uninstalling the previous one and using sudo mhwd -a pci nonfree 0300). I also tried video-hybrid-intel-nvidia-390xx-bumblebee and it didn’t work (didn’t check Xorg logs though)

The way I got this to work in the end was by disabling the onboard Intel graphic chip in my bios. Xorg starts without complaints then and I got back into the system.
Driver performance is pretty bad now, nowhere before my system crash and I had to diable the Intel chip :disappointed:

It raies the questions:

  1. Why am I not getting video-hybrid-intel-nvidia-455xx-prime (as in the live-boot) but instead the video-hybrid-intel-nvidia-390xx-bumblebee and video-hybrid-intel-nvidia-prime recommeneded by mhwd?
  2. Why is Xorg having these errors? Is there anything I’ve got to do after installing the drivers? Run some script to update Xorg startup perhaps?

Thank you for any insights :bowing_man:

Do I assume correctly that mhwd will be generating the Xorg config file as described here? I’ve got /etc/X11/xorg.conf.d/90-mhwd.conf and it says it was generated by mhwd, but it’s empty (just a comment). But does mhwd also correctly call nvidia-xconfig? Because that file looks nothing like the file nvidia-xconfig generates :thinking:

There were changes regarding the state of NVIDIA drivers. video-hybrid-intel-nvidia-prime is what you want, it always refers to the latest driver version.

The errors you posted do not seem to be relevant. Those modules are not really required for your configuration. You shouldn’t need to do anything for it to work.


Please post the output of inxi -Fazy, and look for other warnings/errors in the Xorg logs.

1 Like

Please post the output of pacman -Q | grep mhwd

@mbb here’s pacman -Q | grep mhwd output:

mhwd 0.6.5-2
mhwd-amdgpu 19.1.0-1
mhwd-ati 19.1.0-1
mhwd-catalyst 1:15.201.1151-2
mhwd-db 0.6.5-7
mhwd-nvidia 455.45.01-3
mhwd-nvidia-340xx 340.108-1
mhwd-nvidia-390xx 390.138-1

@pobrn I just rebooted with the Intel onboard graphic activated in my BIOS again.

Here’s the output of inxi -Fazy:

System:
  Kernel: 5.9.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.9-x86_64 
  root=UUID=<UUID-1> rw 
  cryptdevice=UUID=<UUID-2>
  root=/dev/mapper/luks-<UUID-3> 
  resume=/dev/mapper/luks-<UUID-3> 
  Console: tty 3 DM: LightDM 1.30.0 Distro: Manjaro Linux 
Machine:
  Type: Laptop System: LENOVO product: 20MDCTO1WW v: ThinkPad P1 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: LENOVO model: 20MDCTO1WW v: SDK0Q40104 WIN serial: <filter> 
  UEFI: LENOVO v: N2EET45W (1.27 ) date: 02/06/2020 
Battery:
  ID-1: BAT0 charge: 52.1 Wh condition: 71.6/80.4 Wh (89.1%) volts: 17.0/15.4 
  model: Celxpert 01AY969 type: Li-poly serial: <filter> status: Unknown 
  cycles: 93 
CPU:
  Info: 6-Core model: Intel Xeon E-2176M bits: 64 type: MT MCP arch: Kaby Lake 
  note: check family: 6 model-id: 9E (158) stepping: A (10) microcode: DE 
  L2 cache: 12 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 64821 
  Speed: 900 MHz min/max: 800/4400 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 
  4: 900 5: 900 6: 900 7: 900 8: 900 9: 901 10: 900 11: 901 12: 900 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort mitigation: Clear CPU buffers; SMT vulnerable 
Graphics:
  Device-1: Intel vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
  chip ID: 8086:3e94 
  Device-2: NVIDIA GP107GLM [Quadro P2000 Mobile] vendor: Lenovo 
  driver: nvidia v: 455.45.01 alternate: nouveau,nvidia_drm bus ID: 01:00.0 
  chip ID: 10de:1cba 
  Device-3: Chicony Integrated Camera type: USB driver: uvcvideo bus ID: 1-8:3 
  chip ID: 04f2:b614 
  Device-4: Chicony Integrated IR Camera type: USB driver: uvcvideo 
  bus ID: 1-12:6 chip ID: 04f2:b615 
  Display: server: X.org 1.20.10 driver: modesetting,nvidia 
  alternate: fbdev,intel,nouveau,nv,vesa tty: 240x67 
  Message: Advanced graphics data unavailable in console. Try -G --display 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel 
  v: kernel alternate: snd_soc_skl,snd_sof_pci bus ID: 00:1f.3 
  chip ID: 8086:a348 
  Sound Server: ALSA v: k5.9.16-1-MANJARO
Drives:
  Local Storage: total: 476.94 GiB used: 131.44 GiB (27.6%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKKF512G8L 
  size: 476.94 GiB block size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 serial: <filter> rev: L14P temp: 33.9 C 
Partition:
  ID-1: / raw size: 48 GiB size: 46.99 GiB (97.91%) used: 20.64 GiB (43.9%) 
  fs: ext4 dev: /dev/dm-0 maj-min: 254:0 
  mapped: <UUID-3> 
  ID-2: /boot/efi raw size: 512 MiB size: 511 MiB (99.80%) 
  used: 516 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p4 maj-min: 259:4 
  ID-3: /home raw size: 120 GiB size: 117.61 GiB (98.01%) 
  used: 110.8 GiB (94.2%) fs: ext4 dev: /dev/dm-1 maj-min: 254:1 
  mapped: luks-<UUID-4> 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 43.0 C mobo: 39.0 C 
  Fan Speeds (RPM): cpu: 0 fan-2: 0 
Info:
  Processes: 257 Uptime: 2m wakeups: 5 Memory: 30.79 GiB 
  used: 674.5 MiB (2.1%) Init: systemd v: 247 Compilers: gcc: 10.2.0 Packages: 
  pacman: 1367 lib: 411 flatpak: 0 Shell: Zsh v: 5.8 running in: tty 3 
  inxi: 3.2.01 

The Xorg.0.log contains the following errors/warnings:

(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
(EE) Failed to load module "intel" (module does not exist, 0)
(EE) Failed to load module "nouveau" (module does not exist, 0)
(EE) Failed to load module "nv" (module does not exist, 0)
(EE) Failed to load module "fbdev" (module does not exist, 0)
(EE) Failed to load module "vesa" (module does not exist, 0)
(II) modesetting: Driver for Modesetting Kernel Drivers: kms
(II) NVIDIA dlloader X Driver  455.45.01  Thu Nov  5 23:01:05 UTC 2020
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) modeset(0): using drv /dev/dri/card1

(II) Loading sub module "glamoregl"
(II) LoadModule: "glamoregl"
(II) Loading /usr/lib/xorg/modules/libglamoregl.so
(II) Module glamoregl: vendor="X.Org Foundation"
        compiled for 1.20.10, module version = 1.0.1
        ABI class: X.Org ANSI C Emulation, version 0.4
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/Xorg (xorg_backtrace+0x53) [0x55cfc21b7f63]
(EE) 1: /usr/lib/Xorg (0x55cfc2071000+0x151da5) [0x55cfc21c2da5]
(EE) 2: /usr/lib/libc.so.6 (0x7fb1a0021000+0x3d6a0) [0x7fb1a005e6a0]
(EE) 3: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0x22693) [0x7fb1a0593693]
(EE) 4: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0x9365) [0x7fb1a057a365]
(EE) 5: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0xa71d) [0x7fb1a057b71d]
(EE) 6: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0xf1e5) [0x7fb1a05801e5]
(EE) 7: /usr/lib/libc.so.6 (_dl_catch_exception+0x88) [0x7fb1a015c088]
(EE) 8: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0xf573) [0x7fb1a0580573]
(EE) 9: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0x1543a) [0x7fb1a058643a]
(EE) 10: /usr/lib/libc.so.6 (_dl_catch_exception+0x88) [0x7fb1a015c088]
(EE) 11: /lib64/ld-linux-x86-64.so.2 (0x7fb1a0571000+0x14f3e) [0x7fb1a0585f3e]
(EE) 12: /usr/lib/libdl.so.2 (0x7fb1a0346000+0x134c) [0x7fb1a034734c]
(EE) 13: /usr/lib/libc.so.6 (_dl_catch_exception+0x88) [0x7fb1a015c088]
(EE) 14: /usr/lib/libc.so.6 (_dl_catch_error+0x33) [0x7fb1a015c153]
(EE) 15: /usr/lib/libdl.so.2 (0x7fb1a0346000+0x1b89) [0x7fb1a0347b89]
(EE) 16: /usr/lib/libdl.so.2 (dlopen+0x48) [0x7fb1a03473d8]
(EE) 17: /usr/lib/libgbm.so.1 (0x7fb1a0545000+0x81b0) [0x7fb1a054d1b0]
(EE) 18: /usr/lib/libgbm.so.1 (0x7fb1a0545000+0x838f) [0x7fb1a054d38f]
(EE) 19: /usr/lib/libgbm.so.1 (0x7fb1a0545000+0x8bad) [0x7fb1a054dbad]
(EE) 20: /usr/lib/libgbm.so.1 (gbm_create_device+0x91) [0x7fb1a0549e01]
(EE) 21: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_init+0x53) [0x7fb19e979c13]
(EE) 22: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7fb1a0555000+0xde7d) [0x7fb1a0562e7d]
(EE) 23: /usr/lib/Xorg (InitOutput+0x1a3b) [0x55cfc21df3db]
(EE) 24: /usr/lib/Xorg (0x55cfc2071000+0x39456) [0x55cfc20aa456]
(EE) 25: /usr/lib/libc.so.6 (__libc_start_main+0xf2) [0x7fb1a0049152]
(EE) 26: /usr/lib/Xorg (_start+0x2e) [0x55cfc20ab5de]
(EE) 
(EE) Bus error at address 0x7fb19cf942f8
(EE) 
error:
(EE) Caught signal 7 (Bus error). Server aborting

Does any of this make more sense?

Seems like glamore-egl is the issue here as it’s the last module attempted to be loaded and the stacktrace says (EE) 21: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_init+0x53).

The xorg-server 1.20.10-3 package says that it replaces and conflicts with glamor-egl, not sure what that means.

It says on modesetting(4) — Arch manual pages that the modesetting driver (which is auto-installed by Manjaro to support the Intel card) is using Glamor for acceleration. I could probably try to change my Xorg config to include AccelMethod "none" for the Intel card but not having acceleration wouldn’t be great either, performance is pretty poor with the Nvidia driver actually, nowhere to what I had before this whole debacle.

I suggest you look around and see if you can see any similar issues in the bug tracker; and/or install xorg-server-git and mesa-git from the AUR (note, there is a mesa-git package in the community repository, that is not what I am referring to) without stripping and with debug symbols (you need to modify /etc/makepkg.conf), and thus a more complete stack trace may be recovered, which could shed some light on the issue. Or you could simply reinstall the system/restore a backup… which is not optimal, but is probably a solution.