Display Server Issue

Hello I’m looking to get help in a normal boot to my system.

A few days ago I followed this tutorial on setting up a secondary GPU as a pass-through for VMs on YouTube. /watch?v=KVDUs019IB8

In this case I was using an RTX 3070 as my main GPU and a GTX 970 as the pass-through device.

Although it did work, it caused an issue where Open Broadcast Software (OBS) would not recognize my original GPU. It caused it to throw an error saying

Failed to initialize video. Your GPU may not be supported, or your graphics drivers may need to be updated.

I suspected that the 970 was the cause of the issue.
I tried updating the drivers through the GUI software from Manjaro and attempted to update through pacman as well. Attempting to launch OBS after that still gave me the same error.
I thought removing the card and updating drivers would solve it, but after doing so I am now booting into error messages and am left with a blinking cursor.

After that, I booted the system into TTY to reverse the changes made to see if that would solve it, instead I’m still met with the same error messages.
Those error messages are as follows.

[ 0.137672 ]Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre V2 BHB attacks!
: : running early hook [udev]
: : running early hook [plymouth]
[ 2.499284]
[ 3.927290]
[ 5.180771] snd_hda_intel 0000:00:if.3: Cannot probe codecs, giving up

I have tried to force to boot into the GUI by starting startx however that does also throw me error messages and refuse to start.

At this point I suspect this to be a driver loading issue, but unsure what else to attempt to resolve it.

Bumping with extra info.
I worked with someone to setup the GPUs following the guide on the Arch wiki.
I believe I have successfully setup the cards for pass-through, however I am still not able to boot into the Desktop Environment.

When I try to force start the display server using startx
I am given this in the log file.

[   868.011] 
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
[   868.011] Current Operating System: Linux zer0svoid 5.15.41-1-MANJARO #1 SMP PREEMPT Wed May 18 09:20:01 UTC 2022 x86_64
[   868.011] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64 root=UUID=4fe816b8-724f-4798-a934-80245ca84471 rw splash apparmor=1 security=apparmor udev.log_priority=3 intel_iommu=on iommu=pt vfio-pci.ids=10de:13c2,10de:0fbb rd.driver.pre=vfio_pci 3
[   868.011]  
[   868.011] Current version of pixman: 0.40.0
[   868.011] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   868.011] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   868.011] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jun  4 16:11:53 2022
[   868.011] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   868.011] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   868.011] (==) ServerLayout "layout"
[   868.011] (==) No screen section available. Using defaults.
[   868.011] (**) |-->Screen "Default Screen Section" (0)
[   868.011] (**) |   |-->Monitor "<default monitor>"
[   868.012] (==) No device specified for screen "Default Screen Section".
	Using the first device section listed.
[   868.012] (**) |   |-->Device "Device0"
[   868.012] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[   868.012] (==) Automatically adding devices
[   868.012] (==) Automatically enabling devices
[   868.012] (==) Automatically adding GPU devices
[   868.012] (==) Automatically binding GPU devices
[   868.012] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   868.012] (WW) The directory "/usr/share/fonts/misc" does not exist.
[   868.012] 	Entry deleted from font path.
[   868.012] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[   868.012] 	Entry deleted from font path.
[   868.012] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[   868.012] 	Entry deleted from font path.
[   868.012] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[   868.012] 	Entry deleted from font path.
[   868.012] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[   868.012] 	Entry deleted from font path.
[   868.012] (==) FontPath set to:
	/usr/share/fonts/TTF
[   868.012] (==) ModulePath set to "/usr/lib/xorg/modules"
[   868.012] (**) Extension "Composite" is enabled
[   868.012] (**) Extension "RENDER" is enabled
[   868.012] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[   868.012] (II) Module ABI versions:
[   868.012] 	X.Org ANSI C Emulation: 0.4
[   868.012] 	X.Org Video Driver: 25.2
[   868.012] 	X.Org XInput driver : 24.4
[   868.012] 	X.Org Server Extension : 10.0
[   868.012] (++) using VT number 1

[   868.013] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[   868.013] (II) xfree86: Adding drm device (/dev/dri/card0)
[   868.013] (II) Platform probe for /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
[   868.013] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 11 paused 0
[   868.014] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[   868.014] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[   868.017] (--) PCI:*(1@0:0:0) 10de:2488:3842:4767 rev 161, Mem @ 0xa2000000/16777216, 0x4000000000/8589934592, 0x4200000000/33554432, I/O @ 0x00006000/128, BIOS @ 0x????????/131072
[   868.017] (--) PCI: (2@0:0:0) 10de:13c2:3842:3975 rev 161, Mem @ 0xa0000000/16777216, 0x4210000000/268435456, 0x4220000000/33554432, I/O @ 0x00005000/128, BIOS @ 0x????????/524288
[   868.017] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[   868.017] (II) LoadModule: "glx"
[   868.017] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   868.018] (II) Module glx: vendor="X.Org Foundation"
[   868.018] 	compiled for 1.21.1.3, module version = 1.0.0
[   868.018] 	ABI class: X.Org Server Extension, version 10.0
[   868.018] (II) LoadModule: "vesa"
[   868.018] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[   868.019] (II) Module vesa: vendor="X.Org Foundation"
[   868.019] 	compiled for 1.21.1.1, module version = 2.5.0
[   868.019] 	Module class: X.Org Video Driver
[   868.019] 	ABI class: X.Org Video Driver, version 25.2
[   868.019] (II) VESA: driver for VESA chipsets: vesa
[   868.019] vesa: Refusing to run on UEFI
[   868.019] vesa: Refusing to run on UEFI
[   868.019] (EE) No devices detected.
[   868.019] (EE) 
Fatal server error:
[   868.019] (EE) no screens found(EE) 
[   868.019] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[   868.019] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   868.019] (EE) 
[   868.024] (EE) Server terminated with error (1). Closing log file.

I still suspect it may be a display server issue, however I could very well be wrong.

Well it load the vesa driver instead of the nvidia driver. That is the issue here.

1 Like

Oh I see, I’m guessing that would mean I would need to modify a conf file of Xorg?

I am unsure what file to modify and what to add.
I would assume I should change something in xorg.conf and add the ‘nvidia’ to replace instances of ‘vesa’?

sudo mhwd -r pci video-vesa
sudo mhwd -i pci video-nvidia

About the xorg file. This should be at least enough:

Section "Device"
	Identifier	"nvidia"
	driver		"nvidia"
	BusID		"PCI:1:0:0"
EndSection

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

Important is that you set the correct BusID of the correct GPU.

Ah I see

I would like clarification, should I be editing the xorg.conf within the /etc/X11 directory or the /usr/share/X11 directory.

As for PCI identification, I’m assuming that “PCI:1:0:0” refers to the first x16 slot.
Should I be concerned about assigning the BusID for the secondary pass-through GPU?

Of course /etc/X11 :wink: Just note that /etc/X11/xorg.conf will be loaded first and then files at /etc/X11/xorg.conf.d/.

inxi -Gazy should show you the ID.

Since the second GPU is pass-through-ed, isolated and loaded with another driver, yes it will not work. So specifying the BusID makes sense here.

Oh I see, that means I’ll have to create the xorg.conf file because it doesn’t seem to exist yet.
My system identifies the Bus-ID to be “01:00.0” Should I match that or the one you’ve provided earlier?

I would rather suggest something like:

/etc/X11/xorg.conf.d/91-nvidia.conf

because it is more flexible, but your choice.

is the same as:

Just another syntax.

Awesome! Thanks very much for your help in resolving my issue!
I am able to boot into my GUI once again!

I am still running into the same issue with OBS, would you happen to know how to resolve that at all?

Where does this happen? At the HOST or the GUEST?

This issue happens on the Host machine whenever I try to launch OBS.

In case the information is needed, I am running the Flatpak version of OBS and the cards I have in the machine are a RTX 3070 for the host machine and a GTX 970 as the pass-through device.

What shows the log?

flatpak run com.obsproject.Studio

Anyway, for me it works. Maybe overwrite the sandbox with flatseal?

Could be also the problem that the flatpak version have the 470xx libs installed and you run the 510xx driver…

Oddly, when I ran flatpak run com.obsproject.Studio it launched perfectly fine and when I launched it from the GUI it seemed fine as well. Hmmm.

After rebooting, it seems to have resolved itself (?).
For now it seems alright, I’ll make a new thread if necessary.

Thank you for helping me with both issues!

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