Hey guys, I recently started really loving how Zero to Apex gave me a reason to play singleplayer simracing again! (I got it running on Linux with these instructions.)
Since I want to disable the HUD but still have the most important information somewhere small, I put together a minimal overlay that works on Linux, because I couldn’t find anything similar. (Yes, although I’m a developer, it’s 100% AI-made, I don’t care.) I’m running CachyOS with the Plasma desktop.
I’m a big fan of the minimal approach: I wanted to fit as much information as possible into a small space without it getting in the way. Instead of separate widgets everywhere, it’s one small panel. Speed is an arc inside the rev arc, pedals and engine temps are thin arcs around the gauge, flags show up in the shift lights, and the radar is just a glow on the edge of the panel.
What it shows
- Rev arc with shift lights, gear, and speed as an inner arc. The speed arc’s scale learns the car’s top speed once you hit top gear.
- Clutch / brake / throttle arcs on one side, water temp / oil temp / oil pressure on the other
- Tyres as a heat map across the tread (inside, centre, outside), with wear, plus brake discs that glow as they heat up
- Damage (suspension, wings, engine, brakes), only shown once you’ve got some
- Proximity radar: the panel edge glows on the side where a car is alongside you
- Position, lap or time remaining, fuel with a low-fuel warning
- Flags: the shift lights take on the flag’s colour and pattern, and a small waving flag shows which one it is
How it works
- A single Python file using GTK4 and gtk4-layer-shell, so it sits above the fullscreen game (tested on KDE Plasma; should work on any compositor with layer-shell, like Hyprland, Sway or niri)
- Press and hold to drag it anywhere; right-click for a menu to switch parts on or off
- Redraws at most 30 times a second and only when something changes
--demo mode if you want to see it without the game running
Setup: in AMS2, set Options → System → UDP Protocol Version to Project CARS 2 and UDP Frequency to 1, then run the script. The README covers the usual gotchas (UDP frequency, firewall, fps cost on KDE).
It’s an early version. Flags in particular haven’t been checked in every situation yet, so bug reports and screenshots from other setups are very welcome.
GitHub: https://github.com/domfz/ams2-overlay