X4: Foundations
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 YouTube
and PeerTube
accounts.
Launch parameters
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.
Head tracking
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.
Watch this video on YouTube PeerTube