How I Got Assassin’s Creed Black Flag, Unity, and Origins Running on My Budget AI Server

Armed with a few free days, a Steam sale, and a Linux server that definitely wasn’t built for gaming, I decided to relive Assassin’s Creed. This is the story of how three Ubisoft games, too many CPU cores, and a stubborn fullscreen mode turned into a surprisingly satisfying Linux gaming puzzle.

How I Got Assassin’s Creed Black Flag, Unity, and Origins Running on My Budget AI Server

1. A Few Unexpected Free Days

As I already mentioned in one of my recent posts, I suddenly found myself with a few free days toward the end of the year. Days that really shouldn’t go to waste. Between the holidays, New Year discounts, and a rare pause in work, I decided to do something I hadn’t done in a while — play some games 😅.

Steam’s Christmas and New Year sales helped a lot. They always do.
And one name immediately caught my eye.

Assassin’s Creed.

It’s one of those series I remember very clearly. Long evenings, slow exploration, historical cities, and that special feeling Ubisoft used to do so well. I also had a very specific reason to revisit it: I wanted to see how these games would behave on my new GPU and my budget AI server — a machine never designed to be a gaming PC, yet powerful enough to make things interesting.

2. Basic Games information:

Game Year Original Platform Why I love it
Assassin’s Creed Black Flag 2013 PC, PS3/360 Swash‑buckling pirate adventure in the Caribbean
Assassin’s Creed Unity 2014 PC, PS4/Xbox One First‑person melee in revolutionary Paris
Assassin’s Creed Origins 2017 PC, PS4/Xbox One Birth of the Brotherhood in ancient Egypt

3. Checking Compatibility on ProtonDB

Before launching, I consulted ProtonDB for each title:

Game ProtonDB rating (as of Dec 2025) Main issues
Black Flag ★★★★ (Gold) Slight UI scaling problems
Unity ★★★ (Platinum) Requires CPU core limiting
Origins ★★★★ (Gold) Needs custom launch options for fullscreen

All three games launch through Ubisoft Connect, which adds an extra layer of indirection. That turned out to be the source of the biggest headache.

4. Back to Where It All Started

The very first Assassin’s Creed I played was the one set in the Middle East — Jerusalem, Acre, and the surrounding regions. If my memory serves me right, I actually completed it back in the day. It left a strong impression on me: atmosphere, music, and a world that felt serious and grounded.

So when I noticed that Black Flag, Unity, and Origins were all available on Steam with a solid discount, I didn’t hesitate for long. Even knowing the risk — Linux, Proton, Ubisoft Launcher… what could possibly go wrong? — I bought all three.

Worst case, I thought, it would turn into a debugging adventure.

5. Installation: Surprisingly Boring (In a Good Way)

To my surprise, the installation phase was almost boring.

After the purchase, all three games appeared in my Steam library immediately. One click on Install, and that was it. No missing dependencies, no weird installers, no manual tweaks. Steam did its job.

  1. Buy the games during the sale.
  2. Steam automatically adds them to your library.
  3. Click “Install” – everything downloads to the default ~/.steam/steam/steamapps/common/ folder.

Before launching anything, I checked ProtonDB. The games were released in different years, had different engines, and different system requirements. That already suggested I shouldn’t expect identical behavior from all three.

Still, Proton ratings looked reasonable enough to give it a try.

Assassing's Greed IV - Black Flag

No installation errors at all – the Steam client is blissfully simple on Linux.

6. The First Wall: Ubisoft Connect

All three games shared the same first problem.

When I started any of the games, the following happened:

  1. Ubisoft Connect launched (a small window with the logo).
  2. After a few seconds the launch screen of the game appeared, but then disappeared.
  3. No game window ever showed up – it seemed the process hung forever.

6.1 Why It Happened

All three titles share a common launch pattern:

Steam → Proton → Ubisoft Connect → Game executable

Proton spawns Ubisoft Connect in a separate sandbox. The game then inherits whatever CPU affinity and display settings Ubisoft Connect used.

On my server, the OS sees 88 logical CPUs. The older AC engines apparently choke when they are exposed to too many cores at once. The result? The game never proceeds past the splash screen.

When you launch them, Ubisoft Connect starts first — and that part worked perfectly. No crashes, no errors. The launcher opened, logged in, synced, and looked ready.

The problem was what happened after that.

The game splash screen appeared…
…waited for a few seconds…
…and then vanished.

No error.
No crash window.
No full-screen takeover.

Just silence.

7. When Old Games Meet Too Many CPU Cores

Because these games are not exactly new, my first suspicion was CPU topology. Old games often don’t know what to do when they suddenly see a modern system with a ridiculous number of logical cores.

So I tried the simplest and oldest trick in the book:

👉 Limit the number of CPU cores visible to the game.

7.1 Fix #1 – Limiting Visible CPUs with taskset

The solution is surprisingly simple: mask the process so it “sees” only a subset of cores. Using taskset, I restricted the game to 8 cores.

# Example: limit the game to the first 8 logical CPUs (0‑7)
taskset -c 0-7 %command%

7.2 How I Applied It

  1. Right‑click the game in Steam → Properties → Launch Options.
  2. Insert the taskset command before %command%.

For Black Flag the final line looked like this:

taskset -c 0-7 %command%
Launch Options for Assassin's Creed Origins

Result: The game window finally appeared! The splash screen stayed, and the game continued to load.

After this change, the game window actually appeared. The engine started correctly, and it finally felt like the game was trying to run.

But of course… that only revealed the next problem.

8. Forcing Fullscreen & Correct Resolution

The next issue was resolution and fullscreen handling.

Even after the CPU fix, the games stubbornly opened in borderless windowed mode at a tiny 800×600 resolution. Changing the resolution inside the game menus did nothing, and the classic -screen-width / -screen-height (or -w and -h) launch parameters (which worked for Crysis) were ignored.

8.1 Enter GameScope

This is where Gamescope saved the day.

GameScope is a lightweight Wayland compositor that can launch a game in a dedicated “virtual monitor” with any resolution and refresh rate you desire. It works perfectly with Proton games because it wraps the whole process, not just the window.

Installing GameScope

sudo apt update
sudo apt install gamescope

Using GameScope with a Custom Resolution

# Launch Assassin's Creed Black Flag in 1920×1080 fullscreen
gamescope -W 1920 -H 1080 -f -- %command%
  • -W / -H – width and height of the virtual monitor
  • -f – fullscreen (takes over the whole physical screen)

8.2 Adding GameScope to Steam

Again, go to Properties → Launch Options and prepend the GameScope command:

taskset -c 0-7 gamescope -W 1920 -H 1080 -f -- %command%

Now each title launches directly into 1080p fullscreen with no UI scaling glitches.

More about GameScope here.

9. Choosing the Right Proton Version

Each game behaved slightly differently under Proton, so I experimented with a few builds:

Game Best Proton version Why
Black Flag GE-Proton9-27 (GloriousEggroll) No crashes, smooth UI
Unity GE-Proton9-27 (GloriousEggroll) Better handling of the old DirectX 9 code
Origins Proton 9.0‑4 Fixes a small memory‑leak that caused stutters

You can set the version per‑game in Steam → Properties → Compatibility.

10. Three Games, One Pattern

What really surprised me is that all three games — Black Flag, Unity, and Origins — ended up having almost the same root problems, even though they were released years apart.

In the end, the solution for all of them looked like this:

  1. Limit the number of CPU cores visible to the game
  2. Force resolution and fullscreen using Gamescope
  3. Choose the right Proton version per game

Each title preferred a slightly different Proton build, but once that was tuned, they ran reliably.

11. Final Thoughts

These Assassin’s Creed games were, without exaggeration, the most difficult games to launch I’ve dealt with so far on Linux, not because of performance, but because of how fragile they are when it comes to modern systems.

Still, once configured properly, they run well — even on a machine that was never meant to be a gaming PC.

And honestly?
That makes the experience even more satisfying. Until then — happy hacking, and happy gaming 🎮
And remember: if a game doesn’t start, it’s probably not your fault.

Read next

Using sudo on Ubuntu: Understanding and Configuring sudo Privileges

The sudo command stands for "superuser do" and is used to execute commands with elevated privileges. Ubuntu restricts access to administrative tasks to prevent unintended or malicious changes to the system. With sudo, you can give certain users the ability to perform specific administrative tasks.