<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Chris,<br>
    <br>
    You are right "ssh -X" sends X11 commands back to the client. that
    is not what you want, so do not use -X option in your ssh command.<br>
    <br>
    Assuming that an X server is running on the server in question
    (sounds like it is), there are 2 additional things that you need to
    make this work.<br>
    1. Your ssh user needs to be allowed to make connections to the X
    server<br>
    2. You need to tell programs which display to use.<br>
    <br>
    To see if your user can make connections to the X server:<br>
    ssh into the server. run "DISPLAY=:0.0 xhost". If this command
    succeeds it will print out the current access control list. You
    should see your user name. If that is the case then you should be
    all set. If it fails it may say something  about "no protocol" and
    "can't open the display" or something similar. If it fails then
    you'll need to add your user to the access control list. See man
    page of xhost command for details.<br>
    <br>
    To tell a program which display to use set the DISPLAY environment
    variable. For instance if your user can make connections to X server
    as described above you should be able to run stuff like "ssh
    user@server DISPLAY=:0.0 glxinfo". With the PV client in reverse
    connection mode something like this may work for you<br>
    <blockquote>ssh -R N:localhost:N user@server DISPLAY=:0.0 mpiexec
      -np 8 pvserver --server-port=N --reverse-connection<br>
    </blockquote>
    Burlen<br>
    <br>
    <div class="moz-cite-prefix">On 03/08/2018 09:13 AM, Chris Coutinho
      wrote:<br>
    </div>
    <blockquote
cite="mid:DB6PR0701MB2533FBF17E38DE4F498C66B08BDF0@DB6PR0701MB2533.eurprd07.prod.outlook.com"
      type="cite">
      <pre wrap="">Hello ParaView users,

In short:
I'm having an issue with utilizing a servers graphics card via ssh. When starting the pvserver manually from the server I don't experience any problems, but attempting to start a pvserver remotely from my client through ssh, I run into problems. I am new to configuring ssh and don't really know what the root of my problem is.


The problem:
I installed ParaView 5.4.1 from source (tags/v5.4.1) with MPI support enabled on an OpenSUSE Leap 42.3 workstation, with the goal of accessing this server from a Windows (laptop) client within a VPN network. The client laptop has the identical  The server has a single Nvidia graphics card installed (Quadro K2200), when I start the server manually on the server I'm able to connect to it from the client and utilize the server GPU; however, when sending the same pvserver command through ssh via the client, I get the 'Display is not accessible on the server side' error.

To start the pvserver manually from the server itself I execute a command similar to this:

       mpiexec -np 8 /usr/local/bin/pvserver --server-port=11111 --client-host=<myclient> --use-offscreen-rendering

After I execute this command from the server, I've been able to confirm that the client is using the server's graphics card by looking at the output of `nvidia-smi`


My remote connection string looks like this:

       ssh <user>@<server> mpiexec -np 8 /usr/local/bin/pvserver --server-port=11111 --client-host=<myclient> --use-offscreen-rendering

Indeed, after connecting to my remote server using the remote connection via the client, I saw that there was no utilization of the graphics card via `nvidia-smi`.



Here is the output of `glxgears` related to OpenGL from the server:

```
$ glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro K2200/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 390.25
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 390.25
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.25
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
```

Here is the same output from an ssh connection from the client:

```
ssh <user>@<server> glxinfo | grep -i opengl
Error: unable to open display
```

And the same with x forwarding enabled (via Xming installed on the client):

```
ssh -X <user>@<server> glxinfo | grep -i opengl
Warning: No xauth data; using fake authentication data for X11 forwarding.
OpenGL vendor string: VMware, Inc.OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
OpenGL version string: 3.0 Mesa 17.0.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
```

Looking at this output I'm coming to the conclusion that my ssh connection is using the graphics driver of my client machine, but I actually want to utilize the servers GPU. Is this a use case for reverse port tunneling or something similar?

I've attempted a simiar reverse connection as follows, but this doesn't give me any info on the gpu:

```
ssh -X -R 11111:localhost:22 <user>@<server> glxinfo | grep -i opengl
Warning: No xauth data; using fake authentication data for X11 forwarding.
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
OpenGL version string: 3.0 Mesa 17.0.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
```

I'm sure this is a common issue and has been solved previously, but I'm unable to parse through the mailing lists effectively to get at my problem. It's also possible that I'm looking for a solution in the wrong place. Both of these systems are in a VPN, so maybe ssh isn't necessary, but I don't know of another way of starting the pvserver remotely without ssh.


Thanks in advance,
Chris



Met vriendlijke groet,
REDstack BV

Chris Coutinho
Onderzoeker/Data Analist

tel: +31 (0)6 - 2222 5785
post: Postbox 199, 8600 AD Sneek
bezoekadres: Pieter Zeemanstraat 6, 8606 JR Sneek
email: <a class="moz-txt-link-abbreviated" href="mailto:c.coutinho@redstack.nl">c.coutinho@redstack.nl</a>
www: <a class="moz-txt-link-abbreviated" href="http://www.redstack.nl">www.redstack.nl</a>



_______________________________________________
Powered by <a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a>

Visit other Kitware open-source projects at <a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a>

Please keep messages on-topic and check the ParaView Wiki at: <a class="moz-txt-link-freetext" href="http://paraview.org/Wiki/ParaView">http://paraview.org/Wiki/ParaView</a>

Search the list archives at: <a class="moz-txt-link-freetext" href="http://markmail.org/search/?q=ParaView">http://markmail.org/search/?q=ParaView</a>

Follow this link to subscribe/unsubscribe:
<a class="moz-txt-link-freetext" href="https://public.kitware.com/mailman/listinfo/paraview">https://public.kitware.com/mailman/listinfo/paraview</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>