In this post, we will create a new template that will take care of most of the heavy lifting for us. First, log in to your account and go to the Templates section. Click on the "New Template" button at the top of the screen to start creating our template.
Start by naming the template. RunPod generates a random name for you, but I'm going to name this template "Nvidia-GLX-Desktop" to avoid confusion. Fill in the rest of the fields with the following values:
Container Image: massedcompute/nvidia-glx-desktop Container Disk: 30 Volume Disk: However much space you think you need Volume Mount Path: /home/user Expose TCP Port: 8080
Then expand the environment variables section to fill in these keys and values:
KEY: SIZEW VALUE: 1920 (or whatever you want your horizontal res to be) KEY: SIZEH VALUE: 1080 (or whatever you want your vertical res to be) KEY: BASIC_AUTH_PASSWORD VALUE: (whatever you want your password to be when you log in)
Your template should look like this when you are done:
Go ahead and save your template.
Now, you can find an instance that has TCP support and deploy an instance using this template. Once the instance is deployed, click on the "Connect" menu option in your My Pods Dashboard. You should see a Public IP and External Port listed under TCP Ports.
In this case, I would want to put
18.104.22.168:11322directly into a browser window. You should see an alert modal pop up asking you for a username and password.
Note: It may take a minute or two for your pod to start hosting the UI, even after the connect menu is lit up.
Put in "user" for Username and the password that you selected when you configured your pod template. You should now have access to a virtual desktop that is graphics accelerated!
I was able to install the unigine heaven graphics benchmark and achieve ~120 FPS at 1080p using this setup. The latency I observed was around 200ms, which is not suitable for gaming. I do believe, however, that this may be sufficient for running user interfaces that require graphics acceleration, such as blender. I hope that you found this helpful.