pvserver rendering on "Quadro P4000"


Thanks again to Mathieu!

running client/server in parallel works
mpirun -np 4 --mca btl_openib_allow_ib 1 bin/pvserver -display localhost:0
but remote rendering of pvserver still disabled (Display not accessible on server side)

  1. NVIDIA driver installed successfully

    /opt/paraview_build # ls -al /root/install/nvidia/NVIDIA-Linux-x86_64-418.56.run
     -rwxr-xr-x 1 root root 107195640 Mar 22  2019 /root/install/nvidia/NVIDIA-Linux-x86_64-418.56.run
    e00072:/opt/paraview_build # /root/install/nvidia/NVIDIA-Linux-x86_64-418.56.run
    Verifying archive integrity... OK
    
/opt/paraview_build # nvidia-smi 
Mon Dec  2 14:56:58 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.31       Driver Version: 440.31       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P4000        Off  | 00000000:2F:00.0 Off |                  N/A |
| 31%   26C    P0    26W / 105W |      0MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

sudo nvidia-xconfig --enable-all-gpus --use-display-device=none

 /etc/X11/xorg.conf :

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 440.31


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from data in "/etc/sysconfig/mouse"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "yes"
    Option         "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro P4000"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "UseDisplayDevice" "none"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
export DISPLAY=:0
sudo X :0 &
/var/log/Xorg.0.log:
[3697358.995] (II) LoadModule: "glx"
[3697358.995] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[3697358.996] (II) Module glx: vendor="X.Org Foundation"
[3697358.996]   compiled for 1.18.3, module version = 1.0.0
[3697358.996]   ABI class: X.Org Server Extension, version 9.0
[3697358.996] (==) AIGLX enabled
[3697358.996] (II) LoadModule: "nvidia"
[3697358.996] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[3697358.996] (II) Module nvidia: vendor="NVIDIA Corporation"
[3697358.996]   compiled for 1.6.99.901, module version = 1.0.0
[3697358.996]   Module class: X.Org Video Driver
[3697358.996] (II) NVIDIA dlloader X Driver  440.31  Sun Oct 27 02:16:54 UTC 2019
[3697358.996] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[3697358.996] (--) using VT number 2

[3697359.012] (II) Loading sub module "fb"
[3697359.012] (II) LoadModule: "fb"
[3697359.013] (II) Loading /usr/lib64/xorg/modules/libfb.so
[3697359.013] (II) Module fb: vendor="X.Org Foundation"
[3697359.013]   compiled for 1.18.3, module version = 1.0.0
[3697359.013]   ABI class: X.Org ANSI C Emulation, version 0.4
[3697359.013] (II) Loading sub module "wfb"
[3697359.013] (II) LoadModule: "wfb"
[3697359.013] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[3697359.013] (II) Module wfb: vendor="X.Org Foundation"
[3697359.013]   compiled for 1.18.3, module version = 1.0.0
[3697359.013]   ABI class: X.Org ANSI C Emulation, version 0.4
[3697359.013] (II) Loading sub module "ramdac"
[3697359.013] (II) LoadModule: "ramdac"
[3697359.013] (II) Module "ramdac" already built-in
[3697359.013] (EE) No devices detected.
[3697359.013] (EE) 
*emphasized text*

are your able to run , on your server :

DISPLAY=:0 glxinfo

@e00072:~> DISPLAY=:0 glxinfo
Error: unable to open display :0

@e00072:~> glxgears
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 26
Current serial number in output stream: 27

You need to figure out how to run a Xorg server in your server first.

for example in such way:

e00072:/opt/paraview_build # X :0.0 &
[1] 78306
e00072:/opt/paraview_build #
X.Org X Server 1.18.3
Release Date: 2016-04-04
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux e00072 4.4.73-5-default #1 SMP Tue Jul 4 15:33:39 UTC 2017 (b7ce4e4) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.4.73-5-default root=UUID=507139b3-3cee-43cb-9993-c3803c5872ec ro quiet console=tty0 console=ttyS0,115200n8r resume=/dev/sda2 splash=silent quiet showopts
Build Date: 09 June 2017 11:12:51AM

Current version of pixman: 0.34.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (–) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: “/var/log/Xorg.0.0.log”, Time: Mon Dec 2 15:38:36 2019
(==) Using config file: “/etc/X11/xorg.conf”
(==) Using config directory: “/etc/X11/xorg.conf.d”
(==) Using system config directory “/usr/share/X11/xorg.conf.d”
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at “/var/log/Xorg.0.0.log” for additional information.
(EE)
VGA Arbitration: Cannot restore default device.
(EE) Server terminated with error (1). Closing log file.

Or build ParaView with the EGL backend. That way, you won’t need X.

1 Like