Luis Artola Luis Artola Engineer. Entrepreneur.

Powerful remote workstations with Raspberry Pi and Google Cloud

2020-03-19  · 5 min read

Many people across different industries are stuck working from home with the need of having a powerful workstation to do compute-intensive interactive work. From animation, visual effects, simulations, architecture to data science and more. In this article, I will show you a quick way of turning a low-power computer into a powerful workstation with help from the cloud.

I’ll be using a Raspberry Pi 4 and the Google Cloud Platform (GCP) to demonstrate how to do animation and rendering on a remote Windows workstation with Blender. But, with these ideas you can turn virtually any Mac, Windows or Linux computer you have at hand into a window to low-latency high-end workstations to do the work you need from wherever you are.

This could potentially be done with any cloud provider. Regardless of whether you are or become a GCP customer or not, I truly hope that this gives you some useful information to be more efficient at remote work in these challenging times for us all.

Goal

Run Blender in a beefy Windows environment to do modeling, animation, and rendering with GPU-acceleration. This is how my setup looks and the end result:

Raspberry Pi with remote workstation in GCP rendering the Cosmos Laundromat Demo Blender scene.

Raspberry Pi with remote workstation in GCP rendering the Cosmos Laundromat Demo Blender scene.

There are basically just a few steps you need to configure:

  1. A local machine
  2. Remote display protocol client.
  3. A remote workstation in the cloud with GPU acceleration — Google Cloud in this example.
  4. The client software you need on the remote workstation.

1. Local Machine

My Raspberry Pi 4 Model B computer has 4 GB of RAM, 32 GB SD card running Raspbian NOOBS and support for up to two 4k HDMI displays. For simplicity, I mounted it on to the back of a 7" LCD panel with 1024x600 16:9 LCD display — it’s even touchscreen. Attached are a mouse and a keyboard I bought with the PlayStation 2 Developer’s Kit that Sony sold back in 2001!

My internet connection is advertised at 300Mbps but getting ~200Mbps. For this test about 10–20Mbps would suffice, especially with this tiny monitor. I have tried with a 4k 55" TV and the experience was as smooth. Your mileage will vary depending on your connection.

Raspberry Pi 4 mounted on the back of 7" LCD touch panel.

Raspberry Pi 4 mounted on the back of 7" LCD touch panel.

2. Remote Display Protocol

In this example I’m using RDP because it is free and native to Windows which will be installed in the remote workstation in the cloud. I’m also using Remmina as an RDP client because it is multi-platform, freely available, and it supports other protocols as well. Installation is a breeze. Just run this in the terminal:

sudo apt-get install remmina

Then simply run:

remmina&
Remmina RDP client.

Remmina RDP client.

3. Remote Workstation

Virtual Machine

First step is to create a remote workstation in Google Cloud. If you don’t have an account, you can sign up and get $300 free credit to try it out. In this example, I’ll create a virtual machine instance with the following specifications:

  • 8 vCPUs
  • 30 GB RAM
  • 50 GB Disk
  • 1 x NVIDIA TESLA P4 8 GB GPU with Virtual Workstation enabled for installing the GRID driver.
  • Windows 2016 Datacenter Edition.

You may need to request GPU quota. You can do that from IAM & Admin > Quotas.

Please note that these machines and any other resource that you create in GCP are billed by time. Please be mindful of stopping and/or deleting resources that you need to avoid incurring unnecessary costs.

Create VM instance.

Create VM instance.

Configure RDP

Next, initialize the Windows password that you’ll be using to connect via RDP. Click the “RDP > Set windows password” option from the dropdown of the VM created. Copy the password and make note of the IP address. You’ll use both to configure the RDP connection in Remmina.

Set Windows password.

Set Windows password.

Go back to Remmina and add a new RDP connection configuration. Enter the IP address, user name, and password. Click save and connect. Accept the security certificate that the RDP server is sending to your client. A few moments later you’ll have the remote Windows desktop pushed to your Raspberry Pi.

Create RDP client configuration in Remmina.

Create RDP client configuration in Remmina.

Downloading Software

For simplicity, we’ll use IE to download. The only tweak I highly recommend is to disable Internet Explorer Enhanced Security Configuration. It will make navigating and downloading far easier. From the Server Manager window that automatically opened upon login, click on“Local Server > IE Enhanced Security Configuration”, and select “Off” for both Administrators and Users. You may revert this back if you want once you have downloaded the software used in this article.

Turning off Internet Explorer Enhanced Security Configuration.

Turning off Internet Explorer Enhanced Security Configuration.

NVIDIA GRID Driver

Last, you’ll need to install the NVIDIA GRID driver to take advantage of the GPU on your remote machine. Drivers are publicly available from a GCS bucket maintained by Google. Download and install:

425.31

NVIDIA GRID Driver installation.

NVIDIA GRID Driver installation.

4. Install Client Software

Finally, download and install Blender.

Blender Running with a simple scene.

Blender Running with a simple scene.

Here are some publicly available Blender Demo Files you can use to give this a try.

In-progress rendering of BMW demo by Mike Pan.

In-progress rendering of BMW demo by Mike Pan.

Cosmos Laundromat Demo.

Cosmos Laundromat Demo.

Important

Please note that the remote virtual machine created in this article costs money and it’s billed by time. It’s a recommended practice to stop the remote workstation when you’re done using it so that you don’t incur costs by having an idle machine in the cloud. And, depending on the specs these machines can be expensive if ran 24x7 for days.

Conclusion

Setting up a powerful interactive remote workstation is at your fingertips. Google Cloud offers flexible and powerful configurations. There are several free remote display protocols and clients for multiple platforms, especially if you don’t require lossless pixel-accurate color.

 

Disclaimer: I’m an engineer currently working at Google Cloud. Opinions are my own.