VirtualGL over SSH with H.264 encoding?

43 views
Skip to first unread message

Sol33t303

unread,
Nov 20, 2017, 7:24:28 PM11/20/17
to VirtualGL User Discussion/Support
Is there anyway to do this? I want to be able to connect to the server from a client with minimal software installation needed (That is why i'm using SSH instead of VNC), though i'm fine with installing whatever i need on the server. So how can I achive this?

DRC

unread,
Nov 20, 2017, 8:26:55 PM11/20/17
to virtual...@googlegroups.com
With TurboVNC. It doesn't support H.264 (yet-- still researching how
best to accomplish that), but for many 3D applications (particularly
professional applications like CAD and such), the encodings TurboVNC
already has (which are highly tuned to provide maximum performance for
3D applications) will do a better job than H.264. If you're on a
low-bandwidth network, I recommend using the "Tight+Low-Quality JPEG"
preset and enabling automatic lossless refresh in the TurboVNC Server.
If you're on a high-speed network, then the default settings should be
fine. In fact, if you have Java on your client, then TurboVNC is
zero-install, because it can use Java Web Start to launch the TurboVNC
Viewer. Otherwise, the installation of the viewer will take all of five
seconds. The Java version of the viewer has its own built-in SSL
encryption and SSH tunneling features.

There are other open source X proxy solutions-- FreeNX and Xpra, for
instance-- that use a fundamentally different approach and can thus
provide usability features like seamless windows that VNC solutions
cannot provide (VNC is a remote desktop solution and nothing else), but
in my testing, none of those solutions is as fast as TurboVNC (nor do
they have zero-install capabilities.)

DRC

Sol33t303

unread,
Nov 21, 2017, 2:43:37 AM11/21/17
to VirtualGL User Discussion/Support
I would have thought TurboVNC would have required more setup. I knew SSH wouldn't since ssh is available on linux/mac and with cygwin or Putty you can use it with Windows. I'll definitely look into more detail to see if that would work better, but I don't think the clients will have java installed (they might so i'll double check this). I heard of Xpra after posting this, it might be good for what i'm trying to do but i'm not sure. Will I be able to use TurboVNC at 720p 60fps (or ideally at 1080p 60fps) with a 5 Mbps upload speed?

DRC

unread,
Nov 21, 2017, 11:20:11 AM11/21/17
to virtual...@googlegroups.com
On 11/21/17 1:43 AM, Sol33t303 wrote:
> I would have thought TurboVNC would have required more setup. I knew SSH
> wouldn't since ssh is available on linux/mac and with cygwin or Putty
> you can use it with Windows. I'll definitely look into more detail to
> see if that would work better, but I don't think the clients will have
> java installed (they might so i'll double check this). I heard of Xpra
> after posting this, it might be good for what i'm trying to do but i'm
> not sure. Will I be able to use TurboVNC at 720p 60fps (or ideally at
> 1080p 60fps) with a 5 Mbps upload speed?

If you aren't using Java Web Start, then basically the setup is:
- Install the server package (which is usually a one-liner)
- Install the client package
- Start a server session (also one-liner)
- Start the viewer and connect to the server

Setting up VirtualGL is by far the hardest part.

TurboVNC doesn't do fixed-frame-rate streaming. It does fixed-quality
streaming. With the low-quality preset I mentioned earlier, which is
roughly equivalent to a quantization parameter of 31 in H.264, the
compression ratio is anywhere between 20:1 and 200:1, depending on the
specifics of the workload. It would be really helpful if you'd describe
exactly what you're trying to do, because the correct answer depends
greatly on the type of application you are planning to run. If it's a
video application, then H.264 probably will do a better job than the
TurboVNC encoding methods, because that's what H.264 is designed for.
However, the analysis is extremely multivariate, so it's impossible to
say anything meaningful about this without knowing more specifics about
your application. Suffice it to say that, because there are a few types
of applications that would benefit from H.264, I'm looking into adding
support for it, but that support doesn't exist right now in our project.

I'm also not sure why you're mentioning "upload speed", as the
performance of remote display solutions on bandwidth-constrained
networks will be mostly governed by the download speed.

DRC
Reply all
Reply to author
Forward
0 new messages