GameHub · Retroid Pocket 6 · Snapdragon 8 Gen 2

How to get Assetto Corsa running in GameHub

If it quits after about three seconds, or shows a black screen and dies, the game is fine. You are watching its .NET launcher fail. Move one file and it runs at a locked 60.

Median FPS60
1 % low59
GPU89%
CPU22%
Peak temp81°C
Samples42
Frame rate — 42 samples / 7 min driving
SoC temperature — 67 → 81 °C
Step 00

Check this is your problem

This guide fixes one specific failure. It looks like several others, so confirm the symptoms match before changing anything:

  • The game exits on its own after roughly 3–5 seconds.
  • You may see a brief black screen first, or nothing at all.
  • It happens every time, immediately, regardless of settings.
  • There is no error message — it simply returns you to GameHub.

If instead it crashes mid-play, or shows an anti-cheat warning, or hangs on a publisher login screen, this is a different problem and the fix below will not help.

You do not need a PC, ADB, or root. Everything here is done with a file manager on the device itself. Total time: about five minutes.

The fix

Put the engine where the launcher was

Assetto Corsa ships two programs. AssettoCorsa.exe is a launcher — a small .NET application that is supposed to start the game. acs.exe is the game. Under Wine the launcher opens, fails silently, and quits, and the engine is never started.

Steam publishes only one launch option for this title, so you cannot simply point GameHub at the engine. Instead, put the engine at the filename the launcher occupies.

Open your file manager and navigate to the game folder. On most setups that is:

steamapps/common/assettocorsa
  1. Rename the launcher. Find AssettoCorsa.exe (about 5.4 MB) and rename it to AssettoCorsa.exe.bak.

    Do not delete it. This is your undo.

  2. Copy the engine. Find acs.exe (about 22.9 MB) and make a copy of it in the same folder.

    Sizes are the easiest way to tell the two apart — the engine is roughly four times larger.

  3. Rename the copy to AssettoCorsa.exe.

    You should now have acs.exe, a new AssettoCorsa.exe of the same size, and AssettoCorsa.exe.bak.

  4. Give it a screen resolution. Open cfg/video.ini in a text editor and add two lines under [VIDEO]:

    [VIDEO]
    WIDTH=1280
    HEIGHT=720

    This step is not optional. Those keys are normally written by the launcher, which you have just taken out of the picture — the game ships with no width or height set at all.

  5. Launch the game as normal from GameHub. Nothing else changes.

Confirming it worked

The engine prints its own banner in the bottom-left corner during loading. If you see this, the swap took and the resolution was read:

Assetto Corsa Steam (64bit) 1.16.4 - 1280x720 AA: 2X
Assetto Corsa running in GameHub on a Retroid Pocket 6: a Lamborghini Sesto Elemento on track at Magione, with a performance overlay reading DXVK, GPU 95 percent, CPU 38 percent, 74.1 degrees Celsius, FPS 60
Running under DXVK on the RP6. Overlay: GPU 95 % · CPU 38 % · 74.1 °C · FPS 60.

Verifying game files in Steam undoes this. A verify restores the original launcher and you are back to a three-second exit with no obvious cause. If the game suddenly stops working later, check this first — then redo steps 1–3.

Recommended

Turn down the shipped defaults

Assetto Corsa’s stock settings assume a desktop graphics card. You are already editing cfg/video.ini, so change these while you are there. Cubemap reflections are the biggest single win — they re-render the whole scene every frame.

Setting in video.iniShips asChange toWhat it costs you
[CUBEMAP] SIZE5120Live reflections — biggest saving
[POST_PROCESS] ENABLED10Glare, depth of field, god rays
WORLD_DETAIL51Scenery density
SHADOW_MAP_SIZE2048512Shadow sharpness
[MIRROR] SIZE512256Mirror resolution

Textures can stay high. The measurements below show the GPU working hard and the CPU barely troubled, so the savings worth making are the ones that reduce scene passes, not texture memory.

Why this happens

The engine was never started

A game that quits after three seconds looks the same whether the cause is anti-cheat, a missing runtime, or a launcher that fails to hand off. Those need completely different fixes, so it is worth knowing which one you have.

Here, the system logs settled it. Steam recorded a clean exit — not a crash, not a kill by Android:

23:32:22.139  SteamStatus event= app_launch
23:32:25.148  SteamStatus event= app_exit      ← 3.0 seconds later
23:32:28.709  EngineStateChanged ... normalExit=true
              crash_logs/  empty   exit-info  no record

Nothing crashed. Something started and chose to quit. Counting which programs actually ran answers the rest:

      6 AssettoCorsa.exe     ← the launcher
      5 x86launcher.exe
      4 wineboot.exe
      0 acs.exe              ← the game. never started.

The launcher is a 32-bit .NET application whose interface is an embedded Chromium web view — the giveaway is a launcher/themes folder full of HTML files. That combination is a reliable non-starter under Wine.

Installing Mono will not fix it. Wine’s Mono has no support for the graphical layer this launcher needs. That matters because a different, very similar-looking failure — a game exiting after about 20 seconds because its container lacks a .NET runtime — is fixed by installing Mono. Same symptom, different cause, different fix.

Honesty

What I did not test

Three limits on this result. You will probably hit all of them before I do.

The track was empty. Every number here was recorded with one car and no AI opponents. AI is the main CPU load in this game, and the CPU sat at 22 %, so there is headroom on paper — but a full grid is untested, and that is exactly where a physics-heavy sim would be expected to struggle.

It ran hot. 81 °C peak, on charge, on an empty track. I have not tested a long session or how it behaves on battery.

Not every setting applied. The width and height above were honoured, but a request for no anti-aliasing was ignored, and the car that loaded did not match the configuration file I had edited. Assetto Corsa keeps a second copy of its settings under Documents\Assetto Corsa\cfg\ and I have not worked out which one wins. It was already at the frame cap, so I stopped there.

Beyond this game

Spotting the same problem elsewhere

This is a category, not a one-off. Any game whose Steam entry launches a separate launcher program can fail this way — and get written off as incompatible when the game itself was never given a chance.

Look in the game folder for a second, much larger executable next to the one being launched. File size is the tell: launchers are a few megabytes, game engines are tens or hundreds. If you find one, the swap above is worth trying before concluding anything about your hardware.

Which also means: a report saying a launcher-fronted game is unplayable on a given device should be read as unconfirmed rather than as a result — unless whoever wrote it checked that the engine actually ran.

Discussion

Got a different result?

This page reports one device and one configuration. Other people’s results are how it gets more useful — particularly the gap I could not close myself.

The open question is a full grid. Every number here was recorded with no AI opponents. If you run a race with a field of cars, that result is worth more than anything else on this page. Corrections are equally welcome; if something here is wrong I would rather know.

  • r/retroid — Retroid handhelds, including the RP6 this was tested on
  • r/EmulationOnAndroid — broader Android emulation and translation layers
  • GameHub’s own in-app ratings — use the Same Spec filter to see results from your exact chip

A note on that last one: at the time of writing Assetto Corsa sits at 3.1 stars from 12 ratings there, split sharply between 5-star and 1-star with almost nothing in between. That split is this bug — one group found a way past the launcher, the other did not.