dhairyashah
Portfolio

May 13th, 2025

Running GTA V on AWS EC2: A Cloud Gaming Experiment That Actually Worked

Author Picture

Dhairya Shah

Software Engineer

Slide 1

GTA V running on AWS EC2 g5.2xlarge instance

Introduction

Ever wondered if you could run GTA V in the cloud—not just stream it via a service, but actually install and run the game yourself on an AWS EC2 instance? That’s exactly what I set out to do. To my surprise, it worked—and it worked well.

This post is not your average “how to play games on the cloud” guide. It’s a story of pushing AWS to its creative limits, experimenting with spot instances, managing EBS volumes like puzzle pieces, and overcoming all the quirks of running a AAA game on virtual hardware—all on a budget of less than $5.

Let’s dive in.

The Research: Is This Even Doable?

Before launching any EC2 instances, I looked into whether it was technically possible. AWS offers G5 GPU instances with NVIDIA GPUs that support DirectX 12, which sounded promising. But there wasn’t much documentation or community experience around installing and running heavy desktop games like GTA V directly on EC2.

That made the experiment more exciting. I’d be venturing into mostly unexplored territory.

The Technical Challenges

Running GTA V in the cloud presents several hurdles:

The real challenge turned out to be: how do I download and transfer such a large game efficiently, without spending a fortune?

Installation Options Explored

I tried three approaches before landing on the most efficient one.

Option 1: Install Directly on a GPU Instance (g5.2xlarge)

Option 2: Use a Cheaper EC2 (c5.xlarge)

✅ Option 3: Use a t2.micro with Legendary CLI

This was the breakthrough.

I launched a t2.micro Debian spot instance (~$0.0016/hour) and used Legendary, a CLI Epic Games client, to install the game.

This worked smoothly, and by the evening I had GTA V fully installed on my EBS volume.

Moving Game Files to a Windows Instance

Next, I needed to get the files onto a Windows instance with a GPU.

# Install Legendary CLI on Linux
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip git
python3 -m venv venv && source venv/bin/activate
pip3 install legendary-gl

# Authenticate and install
legendary auth
legendary install "Grand Theft Auto V"

Legendary CLI

Step 1: Mount and Copy Files to an EBS Volume

I attached a new 150 GB EBS volume, formatted it with exFAT for cross-OS support, and copied over the files:

mkfs.exfat /dev/xvdf
mkdir /mnt/gamevol
mount /dev/xvdf /mnt/gamevol
cp -r /path/to/gta5/* /mnt/gamevol/

Step 2: Deal with AZ Mismatch

The t2.micro was in ap-south-1c, but GPU instances were only available in ap-south-1a/b. EBS volumes can’t be directly attached across AZs.

Solution: I created a snapshot of the volume and restored it into ap-south-1a. It took ~2 hours to get completed.

Launching the Windows GPU Instance

I spun up a g5.2xlarge (Windows Server 2025) spot instance and attached the EBS volume. But Windows didn’t like the exFAT filesystem—it prompted a reformat.

Pivot to S3

To avoid losing the data:

aws s3 cp /mnt/gamevol/ s3://tmp-s3-server/ --recursive

Then, on the Windows instance:

aws s3 sync s3://tmp-s3-server D:\EpicGames

Final Setup

Epic Games Launcher on Windows

Once the files were on the Windows machine:

  1. Installed NVIDIA drivers
  2. Installed Epic Games Launcher
  3. Pointed the launcher to the game directory
  4. It started verifying the game files

Then came an error: “Unable to update the Rockstar Launcher.” I assumed Rockstar had detected the VM.

The Fix

Turned out to be simple: Run as Administrator. That’s it.

Once I did that, the launcher updated, and the game launched successfully.

The Results

GTA V ran flawlessly on the g5.2xlarge. High settings, smooth graphics, and stable performance.

This wasn’t just about getting a game to run—it was about using cloud infrastructure creatively and efficiently.

Key Stats

What I Learned from This Experiment

This hands-on project taught me more about AWS than any course or tutorial ever could. Here are some key takeaways that deepened my understanding of the AWS Cloud:

Final Thoughts

This project was part cloud engineering, part gaming adventure. It pushed my understanding of EC2, storage, networking, and optimization far beyond the basics.

If you’re serious about learning cloud, do something fun and practical. You’ll encounter real-world challenges—and solve them in creative ways.

Now, if you’ll excuse me, I’ve got to explore Los Santos. On the cloud.


Disclaimer: This blog post is intended for educational and research purposes only. All product names, logos, brands, and registered trademarks mentioned — including Grand Theft Auto V, Rockstar Games Launcher, Epic Games, and AWS — are the property of their respective owners. No affiliation or endorsement is implied.

The game was legally obtained through a personal Epic Games account, and no part of this project involved unauthorized distribution or piracy. Running commercial software on cloud instances may violate the software’s End User License Agreement (EULA). Readers are solely responsible for ensuring compliance with any relevant terms, policies, and conditions.

The implementation shared here is a personal experiment meant to explore technical possibilities with cloud infrastructure. We do not encourage, promote, or take responsibility for any misuse of this information.