NVIDIA(GPU-0): Failed to acquire modesetting permission

Machine details:

OS: centos 7.9
GPU: Quadro K4000
Driver: 470.103.01

I was trying to run multiple X server on this machine. First X server starts fine. But when we try to start another one we see below error in Xorg log file.

[  6109.526] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[  6109.526] (EE) **NVIDIA(GPU-0): Failed to acquire modesetting permission.**
[  6109.526] (EE) NVIDIA(0): Failing initialization of X screen
[  6109.527] (II) UnloadModule: "nvidia"
[  6109.527] (II) UnloadSubModule: "glxserver_nvidia"
[  6109.527] (II) Unloading glxserver_nvidia
[  6109.527] (II) UnloadSubModule: "wfb"
[  6109.527] (II) UnloadSubModule: "fb"
[  6109.527] **(EE) Screen(s) found, but none have a usable configuration.**

Here is the full xorg log file.
Xorg.1.log (6.3 KB)

But in another setup with Telsa T4 card, we are able to start multiple X server without any issue.

There can only be one Xserver actively using one nvidia gpu. if you want to start a second Xserver, the first one needs to be suspended (e.g. by switching consoles).

Thanks @generix for the reply.

But I am able to start multiple X server with Tesla T4.

They’re not active at the same time. Not possible. Imagine a graphics device with one monitor conneted to it. In case two Xservers are active at the same time, what would the monitor display?

My machines are in cloud. So not using monitor. Instead using x11vnc to connect to each X servers.

Then you’d better check where you’re really connecting to.
It was a simple mind game to make you think, it doesn’t matter if there is a real or a virtual or even no monitor. Did you even try to imagine?
More technically spoken:
The nvidia gpu only has one device handle that the active Xserver takes exclusively.

Screenshot from Tesl t4 machine where I started multiple X server and connected using X11vnc at the same time.

Interesting. Don’t know whether the nvidia driver allows this when only tesla virtual graphics is used. You could try to mimic this on the Quadro using
Option “UseDisplayDevice” “none”
Of course, you won’t see anything on any connected monitor then.

Tried Option “UseDisplayDevice” “none”, after that able to start multiple X server, but now gnome-session is not loading. But if I load other desktop manager like Mate or KDE it loads fine.

Might depend on the gnome version, earlier versions of gnome failed to start when no monitor was found. Please check the journal for error messages. IIRC, when running virtual gfx on a tesla, a fake connector was assigned to it. Don’t know whether this also applies to Quadros with UseDisplayDevice none set. Please compare the xorg logs.

xorg.log.

I meant the logs from the T4 and the Quadro. In the Quadro logs, you see “No scanout mode” and only a “virtual screen size” which isn’t enough for old gnome versions. I guess on the T4 logs, you’ll see something like “DFP-0: VGX” which means a virtual monitor and connector, not just a virtual screen.