About Scyld Cloud Workstation

Scyld Cloud Workstation 10.2.0, commit 9b7297b81abb0bcebf586f30232f60432703f58d.

Introduction

Scyld Cloud Workstation is a web server that provides secure, easy remote access to teams working on Linux, Windows, and MacOS workstations through standard web browsers, eliminating the need for client-side installations and changes to firewall policies.

This document describes system requirements, installation, configuration, and usage.

Server Requirements

This section describes the hardware and software requirements for the workstation hosting the Scyld Cloud Workstation server.

Server OS

Scyld Cloud Workstation is supported and tested on the following 64-bit operating systems:

  • CentOS 6 and 7
  • Windows 7, 8, and 10
  • MacOS 10.13 (High Sierra), 10.14 (Mojave), and 10.15 (Catalina)

Beta support is available for:

  • Ubuntu 16 and 18

Attention

There is a known graphics issue with older GNOME 3 Shell based systems (GNOME 3 and GDM) on machines that don’t have an attached monitor. We recommend upgrading to GNOME 3.28+ or using the MATE desktop environment and LightDM as a workaround.

If you require other versions of Windows, RedHat, and Debian based flavors of Linux, please contact Penguin Computing for additional support.

Server Hardware

We recommend the following CPU, Memory, and GPU:

Server-Side Recommended
CPU Intel Core i5, one core per monitor + 1
Memory 2 GB
GPU Any

Server NVIDIA NVFBC Support (Optional)

Scyld Cloud Workstation can autodetect and utilize the NVFBC feature available on servers with GRID, Tesla, and Quadro 2000+ NVIDIA GPUs.

For older GRID GPUs, we recommend NVIDIA driver version 369.49 on Windows and 361.42 in Linux.

For Tesla and Quadro 2000+ GPUs, we recommend NVIDIA driver version 391.3 or later for Windows and 410.66 or later for Linux.

Server Network

The server’s bandwidth (BW) requirements is the sum of the bandwidth required by all connected clients.

A client’s bandwidth requirements is the sum of the video bandwidth and the audio bandwidth. Video bandwidth depends on the display resolutions, the selected video encoding, and the number of displays. These bandwidth values can be found in Client Requirements. Note that even though multiple clients may be sharing the same desktop, each client needs its own connection to that screen with its own bandwidth usage.

By default, audio bandwidth is 1.411 Mbps when it is enabled by the end-user. When audio is disabled by the end-user, it consumes no bandwidth.

To calculate the maximum server bandwidth (BW) requirements, use the following equations:

Video BW Per User = Displays per User * BW per Display

Audio BW Per User = 1.411 Mbps

Max Server BW = Users * (Video BW per User + Audio BW per User)

For example, if we want to plan for a single user to have video and audio access to a server that has a single display showing at 1080p with our normal (lossy) encoding:

Video BW Per User = 1 display * 6 Mbps = 6 Mbps

Audio BW Per User = 1.411 Mbps

Max Server BW = 1 user * (6 Mbps + 1.411 Mbps) = 7.411 Mbps

As a second example, if we want to plan for three users to have video and audio access to a server that has dual displays showing at 2K with our normal (lossy) encoding:

Video BW Per User = 2 displays * 12 Mbps = 24 Mbps

Audio BW Per User = 1.411 Mbps

Max Server BW = 3 users * (24 Mbps + 1.411 Mbps) = 76.233 Mbps

Server Screen Resolutions

The performance of the remote access is partly dependent on the server’s screen resolution and the client’s ability to process that resolution quickly.

Scyld Cloud Workstation allows system administrators to pick a maximum screen resolution width and height in the config file (by default 1920x1080). If the user attempts to change the screen resolution above this setting, then the video scales down automatically. This can alleviate situations where users set the screen resolution so high that their client machine becomes unusuable.

For most users, we recommend our default values. If you’d like to test higher screen resolutions, we recommend doing so with gradual increases.

Warning

Changing screen resolutions has two known issues:

  1. Multiple rapid resolution changes may lead to service instability. Changing the screen resolution more than 5 times over a few seconds may cause the service to restart or quit.

For more information about changing screen resolutions, see Change Screen Resolution.

Server Audio

Scyld Cloud Workstation will stream audio from a remote server if it has a functional audio device and proper drivers. In Linux, pulseaudio is required and is already installed by default in CentOS 7+ and Ubuntu 16+. CentOS 6 remote audio is not supported.

If Scyld Cloud Workstation is installed on a Windows VM, you may need to install Screen Capture Recorder to enable audio support. Screen Capture Recorder has been tested in Windows 10 and can be downloaded from the URL below:

https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases/download/0.12.10/Setup.Screen.Capturer.Recorder.v0.12.10.exe

MacOS users must follow the instructions in Install Blackhole for MacOS Audio for instructions on adding MacOS Audio Support.

OpenSSL

OpenSSL is an open source implementation of the SSL and TLS protocols and must be installed on the server host. Most Linux distributions have this installed by default, but in Windows this is installed by the Scyld Cloud Workstation server-side installer.

SSL Certificate

An SSL certificate signed by a trusted certificate authority is used to provide encryption and authentication for a client’s HTTPS connection to the Scyld Cloud Workstation web server. By default, Scyld Cloud Workstation comes with a self-signed SSL certificate and private key that should not be used in secure production environments.

For more information on generating SSL certificates, see Setup.

Client Requirements

You can connect to the server using either an HTML5 browser or our native client (Scyld Cloud Workstation Client).

Client Hardware and Network

Client-side hardware and network requirements are largely based on the server’s screen resolution and the number of pixels changing on the screen at a given time.

The table below shows CPU and Network requirements when remoting a single full screen movie using our normal video encoder at 24-30 frames per second. Turning on audio streaming will consume an additional 1.411 Mbps of bandwidth.

Normal Video Recommendations
Server Resolution Network (Mbps) CPU, Native Client CPU, Chrome
1280 x 720 3 Intel Core i5 Intel Core i5
1920 x 1080 6 Intel Core i5 Intel Core i7-3520M
2560 x 1440 12 Intel Core i7-3520M Intel Core i7-2600K
3840 x 2160 25 Intel Core i7-2600K Intel Core i7-5775C

The tables below show recommendations for visually lossless and lossless video encodings, respectively. These options are only accessible with the native client.

Visually Lossless Video Recommendations
Server Resolution Network (Mbps) CPU, Native Client
1280 x 720 11 Intel Core i7-3520M
1920 x 1080 22 Intel Core i7-3520M
2560 x 1440 32 Intel Core i7-3520M
3840 x 2160 64 Intel Core i7-2600K
Lossless Video Recommendations
Server Resolution Network (Mbps) CPU, Native Client
1280 x 720 65 Intel Core i7-2600K
1920 x 1080 125 Intel Core i7-2600K
2560 x 1440 200 Intel Core i7-5775C
3840 x 2160 400 Intel Core i7-5775C

Note

The Scyld Cloud Workstation Client is more optimized than the Chrome Browser so it requires lower CPU resources to achive the same frame rate.

Note

Acceptable network latency is application and workflow dependent. In some cases, 150ms may be acceptable. Performance may degrade if the client is running background applications that consume significant amounts of CPU time, memory, or network bandwidth.

Web Browser

The following web browsers are supported and listed in order of performance:

  • Chrome 30+
  • FireFox 27-37, 39+
  • Internet Explorer 11+, Edge 44.17763.1.0
  • Safari 7+

Note

Chrome 30+ provides the best performance and is recommended.

Note

FireFox 52.4.0 in CentOS 7 is known to have screen flickering issues. Please update to 60.8 and above.

These browsers by default enable TLS 1.2, WebGL and WebSocket features that are necessary for security and optimal Scyld Cloud Workstation performance. While WebSocket support is a hard requirement, Scyld Cloud Workstation is capable of running without WebGL support at reduced performance levels.

The following links can be used to determine if your browser supports necessary features for an optimal Scyld Cloud Workstation experience:

Browser Feature Test for Browser Support
Security Protocol TLS 1.2 https://www.ssllabs.com/ssltest/viewMyClient.html
WebGL https://get.webgl.org/
WebSockets http://websocketstest.com/

Note

TLS 1.2 is the current standard used to secure HTTPS connections as of the writing of this document.

Scyld Cloud Workstation Client

Scyld Cloud Workstation Client is a native client that requires a separate application installation on local machines. It is nearly identical to the web browser, but it includes some additional benefits:

  • faster frame rates at higher screen resolutions
  • lossless and visually lossless video support
  • audio support
  • support for keyboard shortcuts reserved by web browsers (for example: Ctrl + T, Ctrl + N, Ctrl + W)

Scyld Cloud Workstation Client is supported and tested on the following 64-bit operating systems:

  • CentOS 7
  • Windows 7, 8, and 10
  • MacOS 10.13 (High Sierra), 10.14 (Mojave), and 10.15 (Catalina)

Beta support is available for:

  • Ubuntu 16 and 18

Note

OpenGL 2.1 support is required.

Feature Requirements

Scyld Cloud Workstation features are designed to be ready to use across all platforms that meet the recommended hardware and operating systems listed above. Some of these features include:

  • Authentication over Active Directory, LDAP, PAM, SCAuth, RHV OAuth2, and more
  • Secure HTTPS communication
  • Video playback up to 1440p
  • Audio
  • Multi-display support
  • Text paste
  • Quality of Service adaptation
  • US keyboard and mouse support
  • Collaboration

A few features have additional requirements. These are organized by server-side operating system below:

All Operating Systems:

  • 4K Video:
    1. Set Server.Video.MaxWidth and Server.Video.MaxHeight to -1 in the XML config file.
    2. Connect with the native client instead of a browser for best performance.
  • Lossless and Visually Lossless Video:
    1. Connect with the native client instead of a browser.

Windows:

  • Audio:
    1. Only if you are running the server on a Windows Virtual Machine: Download and install Screen Capture Recorder 0.12.

MacOS: