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:
There are basically just a few steps you need to configure:
- A local machine
- Remote display protocol client.
- A remote workstation in the cloud with GPU acceleration — Google Cloud in this example.
- 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.
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&
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.
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.
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.
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.
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:
4. Install Client Software
Finally, download and install Blender.
Here are some publicly available Blender Demo Files you can use to give this a try.
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.