Have you ever thought of playing games like FIFA or GTA V without investing in a high-end gaming PC or GPU? Or playing games on a MacBook? No, right?
Well, with a decent internet connection (>20mbps) and a Google account you can set up your own gaming-rig and enjoy the befits of cloud gaming. In case you were wondering, in some cases Cloud gaming is even safer than physical!
Table of Contents
- What exactly are we doing?
- Cloud Gaming Prerequisites
- Installation and Setup
What Are We Doing?
In-order to play high-end games some computer has to process it. Since our PC (the computer you’re installing this set up on) can not do this (maybe due to lack of GPU or software support) we’ll process the game on Google Servers and stream it to our device. Faster the internet, smoother the gameplay is. It’s like we are creating our own version of Google Stadia/Microsoft’s Project xCloud.
Cloud Gaming Prerequisites
Before we start configuring our ‘Cloud Gaming-Rig’, there are some things we need to do:
- Google Cloud Account: You’ll need a Google Cloud account with billing enabled (don’t worry, you won’t be charged until your credits are finished and you can keep a check on credits through Google Cloud Console). Click here to make your free Google Cloud Account. Google Cloud Platform (GCP) will give you $300 of free credit as a new user if you add a card to Google Account.
- You will need to shut down your Google Cloud Virtual Machine every time, otherwise, you’ll end up spending your credits even when you’re not using the machine.
- Go ahead and install this Chrome Extension which will allow you to RDP or connect to your Windows Machine. Or you can even install Microsoft’s RDP client.
- You’ll also need to download and install Parsec on your local machine and make an account. Parsec will be used to connect to your Google Cloud Machine.
- Open a handy notes app, or Google Keep so that you can keep a note of a few things.
- Next, check which zone is the best for your location. Go to GCPing, check which region has the lowest ‘Median Latency’ for you, and save region to your keep notes. Save the region listed below the city name, in case of Mumbai note ‘Asia-south1’.
- Next check if the region you have saved has GPU resources available or not. Refer to this website and check if it has GPU available (NVIDIA T4 or P4 GPU).
- Only for Windows Users: Create a project in Google Cloud Console, and then install Google Cloud SDK. This will enable you to use the ‘gcloud’ command in the command prompt. You can now head over to the Installation and Setup section.
- Only for Mac users: Install brew and brew cask. Run the following commands (line by line) on your Terminal (available in the Launchpad > Utilities > Terminal).
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" brew cask install google-cloud-sdk
Installation and Setup
The following commands are the same for macOS and Windows. Every command listed below has to be entered line-by-line otherwise, it won’t work. Open Terminal on macOS or Command Prompt on Windows and enter the following commands to initialize the gcloud CLI and activate the GCE API.
gcloud init gcloud services enable compute.googleapis.com
Google doesn’t allow you to use GPUs without requesting one. To do so click here to access the quotas page, or search for “quotas” in the search bar on the main console page, and select “All Quotas”. Do not close your terminal/command prompt.
Now, select ‘All Quotas’ in the Quota Type dropdown box. Further, proceed with ‘None’ in the All Metrics dropdown box.
Then in the search box, type ‘GPU’ and select GPUs (all regions).
It shall now show you all the GPU quotas. You need to tick the checkbox in front of ‘Compute Engine API GPUs All Regions’ and then select ‘Edit Quotas’ Button. Fill in the required information and click on next.
Now, we’ll set the quota limit to 1 and fill in the Request Description. Fill in the description box with a relevant description like “Setting up remote GPU” or “Setting up GPU for a project”. The request should be fulfilled almost immediately. You’ll receive a mail when your GPU is allocated.
Now back to your terminal/command prompt.
Start a server with the following command. I recommend using an n1-standard-4 which costs around Rs. 50/hour for most games/movies, or an n1-standard-8 for Rs. 90/hour in case of, particularly demanding tasks. The below command uses a T4 GPU, but you can also go for a P4. You can check the availability of GPUs using the following command:
gcloud compute accelerator-types list
Sometimes regions run out of available GPUs, in which case you can just try a different one.
Launch your instance with the following command (adjust the zone, machine-type, and boot-disk-size as needed).
gcloud compute instances create remote-gpu --machine-type n1-standard-8 --accelerator type=nvidia-tesla-p4-vws,count=1 --image-project windows-cloud --image-family windows-2019 --boot-disk-size 200 --zone asia-south1-b --maintenance-policy "TERMINATE"
If everything went well, you should be able to see in the terminal your remote IP, and your server running on the Compute Engine > VM instances tab in the GCP console.
In your Console, set up a new Windows password, and save it to your keep notes. (Mine is greyed out since my VM is in the shutdown state).
After noting down the password, click on “RDP” to connect to your server.
Once you are connected, launch the Google Cloud SDK Shell.
Launch a PowerShell by typing “PowerShell” in the Windows search box.
Enter the following commands (again, line-by-line). The following should set up everything you need.
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" (New-Object System.Net.WebClient).DownloadFile("https://github.com/jamesstringerparsec/Parsec-Cloud-Preparation-Tool/archive/master.zip","$ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool.zip") New-Item -Path $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool -ItemType Directory Expand-Archive $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool.Zip -DestinationPath $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool CD $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool\Parsec-Cloud-Preparation-Tool-master\ Powershell.exe -File $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool\Parsec-Cloud-Preparation-Tool-master\Loader.ps1
As you follow the instructions, you may need to reboot the device.
Log into Parsec (in windows) and start sharing your remote server. On your local laptop/desktop, launch Parsec, and your machine should appear, ready to go. Connect to it in Parsec, and exit the RDP program.
You can check the ping/latency to the network. Anything below 50ms should work fine.
That’s it! Now you can do anything on this machine, install any program (even the free GTA V you grabbed from EPIC Store) & indulge in hassle-free cloud gaming. I downloaded FIFA 20 via Origin Store to my remote-GPU and it works flawlessly!
- I’d suggest using a wired-controller instead of a wireless one. The wireless controller will add lag on top of your network delay.
- You should use change the encoder to DirectX 10 instead of 11. DirectX 11 causes some issues and increased network latency.
- Prefer an SSD instead of an HDD. The cost difference is very small but the performance difference is huge.
- Prefer an ethernet connection over Wi-Fi.
- Enable HEVC codec if you’re on a Mac. This will have a minimal effect on video quality but will reduce your internet consumption, and in-turn less dropped frames.
And there you have it. You can now play the latest games without buying an expensive graphics card. The setup and installation process might be a little long, but until we get Google Stadia or xCloud in India, you’ll have to settle for it.