fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.6K
active users

#headtracker

0 posts0 participants0 posts today
Beko Pharm<p>Dunno if you heard of <a href="https://indieweb.social/tags/BeamEyeTracker" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BeamEyeTracker</span></a> before. It's positioning itself next to <a href="https://indieweb.social/tags/Tobii" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tobii</span></a> but uses just a webcam and <a href="https://indieweb.social/tags/Opentrack" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Opentrack</span></a>, so probably just <a href="https://indieweb.social/tags/Neuralnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Neuralnet</span></a> tracker on steroids - but I'd still appreciate if you could chime in for a <a href="https://indieweb.social/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a> build at <a href="https://steamcommunity.com/app/2375780/discussions/0/4757578278664103829/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">steamcommunity.com/app/2375780</span><span class="invisible">/discussions/0/4757578278664103829/</span></a> too as it seems to be read by the dev|s.</p><p><a href="https://indieweb.social/tags/LinuxGaming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LinuxGaming</span></a> <a href="https://indieweb.social/tags/GamingOnLinux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GamingOnLinux</span></a> <a href="https://indieweb.social/tags/HeadTracker" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HeadTracker</span></a> <a href="https://indieweb.social/tags/HeadTracking" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HeadTracking</span></a> <a href="https://indieweb.social/tags/TrackIR" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TrackIR</span></a></p>

Updated simpit.dev/ - home of the #Space #PewPew #SimPit inspired by a #VF1 Valkyrie cockpit (#Macross)

That's a glorified #DIY joystick controller with an LCD ('MFD') and plenty of #RGB for my #Linux PC

Newest additions are my #XR sheniagans (and some notes on #Breezy and the usage of #IMU data as #headtracker), the games #AceCombat and #XWVM (#XWing / #TIEFighter) and a bunch of videos were updated.

Best viewed WITH an ad-blocker and patience (slow af).

Another XR connector for OpenTrack

Remember my proof concept to read IMU data of my #XR glasses to #OpenTrack?

hodasemi wrote a #Rust connector based on the idea that works without #Breezy: https://github.com/hodasemi/xr_to_opentrack_rs – comes with a systemd service file so it can run in the background.

Once installed the only step left to do is fire up OpenTrack 🤘😄🤘

https://beko.famkos.net/2025/02/04/another-xr-connector-for-opentrack/

Star Citizen with head tracking from XR glasses in SBS mode on Linux PC – Yes it works!

So I was asked if my head tracking approach of reading the IMU data from my Viture Pro to OpenTrack and SBS (side-by-side) mode with ReShade would also work with StarCitizen.

Guess it does 🤷

Pick your poison to watch the video: https://www.youtube.com/watch?v=rWUC2Y3TRh4 / https://makertube.net/w/8L7gVN8NnLvjhQCPGNmd6W

I start Star Citizen via Lutris (and not with Steam), which requires slightly different settings once ReShade is installed:

Enable Gamescope: ONOutput Resolution: "3840x1080"Game Resolution: "3840x2160" (set this also ingame!)Custom Settings: "--scaler stretch"

Can this get you banned? Who knows 🤷 Jury is still out on this. Do I care? Nope. I won’t miss my puny starter pack.

YMMV.

The proof of concept code to read the IMU data can be found at https://github.com/bekopharm/xr_to_opentrack (pending changes).

It works with the Breezy GNOME xr_driver: https://github.com/wheaney/breezy-desktop (but the Vulkan one works probably too but that’s untested). It should also be compatible with other glasses that have IMU for Breezy available.

There is an unlisted SBS version of this video linked in the description. You will need XR glasses that do FULL SBS though to watch it!

https://beko.famkos.net/2025/02/01/star-citizen-with-head-tracking-from-xr-glasses-in-sbs-mode-on-linux-pc-yes-it-works/

#AR#Breezy#gaming

Demo: FreeSpace 2 Open with head tracking from Viture Pro XR glasses IMU data – on Linux PC

Until now I used OpenTrack with my DIY IR tracker or the Neuralnet tracker. I knew that my XR glasses feature IMU data though and the xr_driver of the Breezy Desktop project allows to access the data via IPC on Linux PC. So I did what Linux user do: I wrote a script to access the IMU data and forwarded it via UDP to OpenTrack:

Pick your poison to watch the video: https://www.youtube.com/watch?v=njuumLUvqrM / https://makertube.net/w/2bNyxJhdyydTeFq17onikv

This reminded me that I also wrote a proof of concept to implement the FaceTrackNoIR (or OpenTrack) protocol into FreeSpace 2 Open on Linux PC ( https://makertube.net/w/7VtfAjW7EiAUS5aiPwG7if ) so I gave it a spin to test the data bridge. That was smooth sailing!

The mod is Diaspora: Shattered Armistice, still awesome today: http://diaspora.hard-light.net/ (Warning: This may fuel a desire to re-watch the BSG series again 😀).

The bridge code can be found at https://github.com/bekopharm/xr_to_opentrack (pending changes).

It works with the Breezy GNOME xr_driver: https://github.com/wheaney/breezy-desktop (but the Vulkan one works probably too but that’s untested). It should also be compatible with other glasses that have IMU for Breezy available.

Update: hodasemi wrote a Rust connector based on the idea that works without Breezy: https://github.com/hodasemi/xr_to_opentrack_rs – comes with a systemd service file so it can run in the background. Once installed the only step left to do is fire up OpenTrack 🤘

https://beko.famkos.net/2025/01/31/demo-freespace-2-open-with-head-tracking-from-viture-pro-xr-glasses-imu-data-on-linux-pc/

It has been a while that I tried #StarCitizen. With the new #Neuralnet Tracker plugin (AI haha) for #OpenTrack we get head tracking without annoying IR LEDs or reflecting stripes just by reading the webcam video feed. This is apparently fast enough to try #headTracking without a dedicated #headTracker nowadays. And all that on a #Linux PC. Took some fiddling but the concept still works. What a time to be alive.

Demo: https://makertube.net/w/groS1wpAhP8XYE75vJwX32

HowTo: https://simpit.dev/systems/opentrack/

#Gaming

https://beko.famkos.net/2024/09/02/15629325/

I had the chance to play Flight Of Nova (https://flight-of-nova.com/) for the first time today. This was on my wishlist for quite some time now. Dived in blind and had no idea what to expect. 3 tutorial missions later: Oh boy… this is hard. I can see myself sinking many hours in this.

Anyway, as usual, my focus is on interfacing with my home cockpit (or simpit) and while there is no ship telemetry [yet?] I was able to get it running just fine via Proton and with my DIY headtracker using OpenTrack. Hats off, seldom that I see a game that detects my joystick just fine, has great ingame calibration, offers me a windowed mode and a bunch of ultra width resolutions without having to resort to hacking config files or use gamescope to resize it ❤️

Head tracking is, as usually, TrackIR only so far (I guess the native Linux PC version does not have UDP in place here but I couldn’t check due Steam refusing to download another version today). Anyway, you can see me fooling around with the buttons and do an A+ crash landing in the end – sunny side up 😆 Not too shabby considering that this was my 3rd landing at all.

Pick your poison: https://www.youtube.com/watch?v=r2A_uVbUKWU / https://tube.tchncs.de/w/iV21V6EZxNCTsC8bvsCQDt

https://beko.famkos.net/2024/06/14/demo-flight-of-nova-with-headtracker-and-hotas-on-linux-pc-crash-landing-my-spaceship-again/

I usually play #FlyDangerous on Linux PC. I switched to Proton because I was eager to see some upcoming changes, like #headtracker support, on the public_beta branch. And while this works[1] I was once more flabbergasted how complicated it is to set my desired display resolution of 5760×1200. I’m using a multihead setup with several displays and as usual the game engine would not let me _simply_ set that. Even in windowed mode (I mean I get that this won’t work with fullscreen).

There are several ways to work around this, especially with Proton, but I was looking for the prefs file I know from Linux. I found it in the end in the file compatdata/1781750/pfx/user.reg (that’s like the Windows registry but as plain file read by Wine) where the values are stored as dword under [Software\\StarGoat\\FlyDangerous]. In hex.

"Screenmanager Resolution Height_h2627697771"=dword:000004b0"Screenmanager Resolution Width_h182942802"=dword:00001680"Screenmanager Resolution Use Native_h1405027254"=dword:00000000

So 0780 and 04b0 are in the end 5760 and 1200. And sure enough, on the next game start I get _my_ desired resolution:

Sadly when I change settings in the game this gets overwritten again – so keep a backup around and drop it in again. This may even be added to a script – let’s see how long until this gets on my nerves and I automate that.

For the interested: This is how the same thing looks on the native version in the file ~/.config/unity3d/StarGoat/FlyDangerous/prefs

<pref name="Screenmanager Resolution Height" type="int">1200</pref><pref name="Screenmanager Resolution Width" type="int">5760</pref><pref name="Screenmanager Resolution Use Native" type="int">0</pref>

Why games|engines in 2023 still seem to have ideas about screen layouts is frankly beyond me.

Update: #gamescope really eases the pain here as well. See also https://SimPit.dev/games/fly-dangerous/ how to use that with Steam.

[1] Headtracker quick test recordings: https://www.youtube.com/watch?v=13L0GlQyf_Q / https://tube.tchncs.de/w/fTYSUc9fTBmnTLHp2fpW4n

This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

https://beko.famkos.net/2023/02/09/overriding-unity-display-resolution/

The last update has been a while. I focused my attention to the MFDs (Multi-function display). This part didn’t get much attention yet and I was caught between the difficult choice to learn yet another fancy framework, like Raylib, that would do OpenGL ES 2.0 without X11 on the Raspberry – or just throw the might of my CoffeeLake at it and go with ReactJS since most of the data was already available via NodeRED anyway. Also… ARWES is just so cool 🤩

I went with ReactJS and ARWES again, simply because I have some experience in this by know thanks to my Streaming Overlay I wrote with it. Hobbling it up to NodeRED was just a matter of installing SocketIO to transport the messages. It’s all a very hacky mess but it gets the job done.

Video demonstration of my simulated cockpit made from cardboard on a budget mainly used to play Elite Dangerous in early 2022. This is work in progress.

While seeking through the available data I noticed that I don’t get velocity values from Elite. That’s not so important in space but _kinda_ interesting for me in planetary flight to satisfy the flight sim gamer in me as well. I noticed tho that I do get timestamped latitude, longitude and altitude values so shouldn’t it be possible to “simply” calculate this, right? Right?

This was when I dived into the rabbit hole of calculating velocity and heading on planetary objects using a spherical coordinate system and while I didn’t nail it exactly how Elite does it the result is close enough. The game provides the required data to go crazy here – most important the radius of the current object. In _theory_ I could start writing some primitive AFS (Auto Flight System) routines now, which I’m totally going to explore at some point in the future just because 🤓

Checking my maths – yes, altitude is added to the mix so velocity is mostly correct as long as no rapid course changes are made

After spending way too much time with this and the Pythagorean theorem (Yes mum, a game made me do maths. MATHS! 🤯) I settled with some calculations and data for my current ship to the right and targeted ship data on the left. This is sort of tricky because many game events update different parts of the data so timestamps have to be kept in mind and a game specific parsing strategy is required. See the last part of the demonstration video to get an idea how this looks.

Improving situational awareness by putting the video feed of wingman / gunner on the central MFD.

Another point to tick off my list was getting the head tracking to work in Elite (again). Now this is very Linux PC specific so you may tune out on this paragraph. On Linux PC I’d usually compile Opentrack with the Wine Glue, patch in my appdata dir for Proton and hope that it’s still ABI compliant to Just work™. Alas recent Proton is sandboxed within pressure vessel and the usual approach of memory mapping is simply no longer working, if I got the gist of this right.

So my _current_ strategy is to download and drop the Windows build of Opentrack into the game folder and chain-load the EXE with the game where the Opentrack EXE would listen on UDP while my native Opentrack BIN would send via UDP. A task not made easy with Proton but it is possible. The following snippet may give you some pointers:

#!/bin/bashexport STEAM_COMPAT_DATA_PATH=/games/steam/steamapps/compatdata/359320export STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam/steam"python3 /games/steam/steamapps/common/Proton\ -\ Experimental/proton run opentrack.exe

Why running Opentrack twice? The native build performs a lot better with my webcam and every frame really count here. Reading data via UDP is not much of a burden for Proton. This also saves me the trouble of fiddling with Wine Glue, a painful compile process nobody should endure involving installation of many many additional 32bit libraries. Hilarious but it works.

This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

#arwes #diy #elitedangerous #elitedangerousodyssey #gamingonlinux #headtracker #linuxgaming #nodered #opentrack #raspberrypi #simpit

https://beko.famkos.net/2022/03/02/primary-buffer-panel-march-update/

Behind the scenes recording so you get the idea of the setup followed by some Star Citizen gameplay:

DIY headtracker and Simpit and Star Citizen gameplay (on Linux PC)

In use:

* A Linux PC
* A DIY Headtracker
* A DIY Joystick “Primary Buffer Panel
* A X52 Pro HOTAS
* 3 Cameras + Recording Software
* An AMD RX5600XT in tears
* …a Beko learning How To Fly in SC xD

So you _still_ think you can’t space pew pew on Linux PC? Think again. I do it all the time: https://beko.famkos.net/2021/10/16/space-pew-pew-on-linux-pc/

Updated: This content is obsolete. Two years later I rebuilt the cardboard version with something more sturdy and raised a dedicated project website describing the builds: SimPit.dev

This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

https://beko.famkos.net/2022/01/09/learning-how-to-fly-playing-star-citizen-on-linux-pc/

tube.tchncs.de/w/a2588594-9bd4

Can't get enough of Diaspora: Shattered Armistice (on Linux PC). Of course with my DIY #headtracker 😃 And while we're at it we demonstrate arwes.dev/ – because nobody said that a sci-fi interface made with #react & #arwes can not be used as stream overlay too 👍

This is a Work In Progress and a DEMO.

Made to learn some React, get some freakin cool UI _and_ save me bucks on a stream overlay 😀

beko.famkos.net/t/1iPJ

Video demo of using React and Arwes for a stream overlay

Can’t get enough of Diaspora: Shattered Armistice (on Linux PC). Of course with my DIY headtracker 😃 And while we’re at it we demonstrate https://arwes.dev/ – because nobody said that a sci-fi interface made with React can not be used as stream overlay too 👍

This is a Work In Progress and a DEMO.

Made to learn some React, get some freakin cool UI _and_ save me bucks on a stream overlay 😀

This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

#arwes #gamingonlinux #headtracker #linuxgaming

https://beko.famkos.net/2021/07/22/using-react-and-arwes-for-a-stream-overlay-wip/

beko.famkos.netDiaspora: Shattered Armistice (on Linux PC) – beko.famkos.net