3

I need to render an OpenGL screen and pass the render across SSH. GLX Commands will not work as the remote machine does not have the necessary extensions.

Without root access to the remote machine, I can't go with a solution like VGL. Any other scenarios for viewing a render remotely?

VNC is not working on the systems, and I cannot install any software that requires root access.

2
  • VNC, but it would be slow. Without GLX, i highly doubt there is a good solution available. Commented Nov 20, 2013 at 3:34
  • Yeah even VNC isn't working on the systems. Commented Nov 20, 2013 at 5:34

1 Answer 1

4

If you can start an X server you might have some luck using Xpra. Xpra is a special window manager that uses the Composite extension to get hold of each window; it then wraps the window's contents in an efficient encoding to be viewed by Xpra clients.

Xpra itself is written in Python with a little C glue code and can be installed also in a user's home directory. You can specify the X server and the commands line to use with the --xvfb option on the xpra server side. Although it's named xvfb, any X server will do.

Take notice that with the current OpenGL and graphics driver models on Linux only one X server can hold the GPU at a time. So you can't start multiple Xpra instances on the GPU on the same time. Also if there was already another user of the GPU you can't use it as well. Hopefully this limitation goes away soon with offscreen hardware accelerated EGL support.

In the meantime using Xpra is my personal preferred choice for remote high performance OpenGL rendering.

Sign up to request clarification or add additional context in comments.

6 Comments

I think this is the right approach. I can't start an XServer remotely, as this is a public lab machine and I don't have admin rights. There could be another person using the machine locally so I can't really touch XServer. I don't really need to do it efficiently, I just need to view what is happening to verify behavior WITHOUT access to VNC.
@jscott you don't need admin rights to start an Xvfb X11 server as used by xpra. This has no impact whatsoever on other local users.
@jscott: totaam is right. You can use a Xvfb instead of Xserver then. Your system probably has Mesa installed somewhere, so even if proprietary drivers are used for the regular Xserver, you can LD_PRELOAD the libGL.so of Mesa to give everything within the Xvfb session software rasterization OpenGL capabilities.
@datenwolf "Also if there was already another user of the GPU you can use it as well." Do you mean can or can't?
@Tsathoggua: nice catch. It's "(…) can't (…)". I edited the answer.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.