1.0 2.0 4.0
Primary Buffer Panel
- 🖥️ Full 5760x1200 on triple head setup
- 🕹️ X52 Pro as joystick
- 🕹️ Primary Buffer Panel as secondary joystick
- 🎧 Head tracking via joystick / camera corners
- 🔧 Multi-function display
- 🚦 Blinken lights
Ah yes… my favorite space sandbox. One of the games I keep blogging about a lot. This is the game I hacked a
LUA plugin for to get game data out of the game. I’m also sideloading
LuaSocket for the communication with my plumbing pipeline. I’ve yet to write up in detail how I managed to do this but the socket server implementation is already avaiable on https://github.com/bekopharm/x4-projects/wiki/Quick-manual
There are a bunch of videos showcasing
X4: Foundations with my
Primary Buffer Panel on my
Nothing special. The game does offer the proper resolutions even for a multihead setup in windowed mode. I usually run it like this so sound and rendering doesn’t stop when the game looses window focus:
./X4 -nosoundthrottle -nocputhrottle -skipintro
It also allows resizing of the game window so this can even be scripted e.g. with
wmctrl when the game is already running:
wmctrl -x -r X4.X4 -e 0,0,109,5760,1100
Takes a few second to re-init rendering though.
The head tracking is explained in great detail here. Sadly I’d have to settle with
Wine because the native
Linux version has no head tracking capabilities. I tried to feed this via
UDP from my own extensions but the camera setter function is sadly not exposed in the
API and will probably never be (I asked).
Best I can do is triggering the camera hotkeys for each corner via a virtual joystick device from
Opentrack. Something still on my list to test is emulating mouse input for a free lock-around. This does usually block other joystick axis though so it may not be feasible.
The current solution works, albeit it’s not perfect.