[This post is part of a series of articles about working from home in Shotgun.]
With studios moving to work remotely due to the unprecedented COVID-19 outbreak, we thought it may be useful to go over how RV works in a virtualized environment. Please note that this information is incomplete as we’re also discovering how to solve this new challenge on our end. We’ll keep this post updated as we discover more.
A couple of definitions:
VNC: Virtual Network Computing, where examples are HP RGS Receiver, OpenVNC, etc.
RDP: Remote Desktop Protocol, where examples are Microsoft Remote Desktop, Free RDP, etc.
If you have a Teradici host, there’s nothing you need to set up to get RV to work remotely, it should just work.
Otherwise, as you may have noticed from previous posts, RV is very tightly coupled to hardware, which means that for RV to work remotely you need to have a way for RV to register the remote monitor and for remote machine to have access to at least OpenGL 4.x. You’ll also need to check your Display server configuration (
xorg.conf for Linux X server) on the machine you’re trying to remote into to allow GPU forwarding. Once this is set up, RV will likely work as expected for most remote desktop clients.
We have encountered a couple of gotchas:
RDP, for example Microsoft Remote Desktop, does NOT work with RV unless you have a Quadro-level professional graphics card from Nvidia on the host that you’re remoting into. Unfortunately Nvidia limits OpenGL over RDP to their professional grade GPUs.
If you’re using a VNC solution like RGS Desktop, but don’t have a monitor connected at the host you’re connecting to, you may need to forward your local Display (for example X server) to the machine you’re remoting into. You will likely be limited to whatever GPU you have on your local machine.
If you don’t have a UI or a GPU and are trying to run RV on a headless server, RV won’t work either through VNC or RDP.
Since both VNC and RDP render remote display and send it back to the receiving host, color, resolution and playback speed may be affected. There has been a recent community interest in Parsec that allows for better resolution and playback speed but we haven’t thoroughly tested it on our end.
Besides this, we would highly recommend that you follow the recent VES guidelines and tips for working from home. You can find the Full List:
Relevant VES Guidelines/Tips:
What are the (secure) remote desktop solutions?
- Server / Workstation: hardware solution (Remote Workstation Card) on Linux or Windows, can be used on Mac with external PCIe cardcage (see solution from Amulet Hotkey). Software solution for Windows and Linux: Cloud Access Software Graphics Edition (needed for GPU support), bundled as Teradici All Access Cloud Access + subscription.
- Client: ZeroClient hardware solution (multiple vendors), connect monitors and peripherals directly to ZeroClient hardware. Software Client (no charge) for Windows, Linux, and macOS.
- Teradici’s data stream is encrypted (if enabled). Check with the clients if they would authorize its use without having to have a VPN connection on top (which hinders performance). Depending on your network topology this may be secure enough for them.
HP Remote Graphics Software (RGS)
- One free license ships with each HP Z workstation, licenses can be purchased for other workstations.
- Cons: Client Sender Software running only on Windows and Linux (no macOS), the receiver options are OSX, Windows and Linux.
- TGX - Similar to RGS, Sender only available on windows and linux, receiver options are OSX, Windows and Linux.
- Windows Remote Desktop
- Server / Workstation: Windows only (all versions), requires Windows 10 Pro or Enterprise, single session only (unless you run Windows 10 Enterprise on Azure, which supports “Windows 10 Enterprise multi-session”. Windows Server supports 2 sessions, more if you add Terminal Services CALs. Remote Desktop access typically enabled per user based on Active Directory group membership.
- Windows Client: Windows client built in.
- macOS client: Microsoft Remote Desktop 10 (Apple macOS App Store) or Microsoft Remote Desktop 10 Beta
- Linux Client: Remmina, rdesktop
PCoIP Tips & Tricks
- Turn off Dithering in Nvidia Control panel / Xorg config file: this will greatly diminish the amount of bandwidth required / increase image quality for a given amount of bandwidth.
- Pressure sensitivity for Wacom only works for Linux agents (i.e. not for Photoshop)
- 90 day license for software sender and software client. Need to ask a sales rep about this special flash sale / availability.
- Notes on deploying the latest Cloud Access Manager infrastructure:
- An issue on Linux / Flame systems: when pcoip_agent wants to run the X server, it creates a snippet of xorg.conf configuration in /tmp to turn off dithering with the NVIDIA driver, but on a system running CentOS 7.2 and the 410 NVIDIA driver (Flame 2019 vintage), the syntax of that snippet isn’t recognized and the X server refuses to start. I don’t currently have a workaround for that.
- On Linux systems with the Remote Workstation Card running firmware 2020.01, you install both the 2020.01.1 host software (which includes the kernel driver to talk to the RWC and the Teradici control panel to control it) and the Remote Workstation Card Agent, which is really the Standard Agent configured in “RWC” mode. This allows you to integrate systems with the RWC card into the Cloud Access Manager infrastructure: you add the system to your console (using its own hostname, not the one for the separate interface of the RWC), and you can login through the CAC the same way you login to a system running a software-based Agent. The same two caveats as above exists: you need to disable kdm before installing the Remote Workstation Card Agent if that’s the Display Manager you are running, and older versions of X / NVIDIA driver may be stymied by the xorg.conf config snippet to disable dithering.
- To use the Graphics Agent on a Windows Workstation with a NVIDIA GTX / RTX (i.e. non Quadro) card and no monitor attached, you need a HDMI dongle to fake the presence of a monitor. These are readily available online. You must disconnect any other monitors with GTX/RTX, in addition to adding the Display Emulator plug. This is to avoid screen resolution issues when connecting to e.g. a 4K display on the host from a 2K display on the client side. More information at https://help.teradici.com/s/article/3770
What are the bandwidth comparisons?
Using single monitor 1920x1200 as a baseline resolution
- Teradici (NVidia dithering setting off): 1Mbps for operations such as nodegraph manipulations/scripting to 35Mbps for fullscreen frames playback
- HP RGS: <1Mbps node graph manipulation to twelve Mbps for full screen playback with audio
Thank you so much for continuing to rely on RV in this challenging time and please feel free to reach out to us at email@example.com if you have further questions.
Please stay safe and good luck with settling into a working from home environment. Come join the conversation:
Sending you lots of patience and compassion in these times!
The Shotgun Team