🔥 Hell Yes! added UDP support for native under and I can finally talk about it 🤓 Yes! Yes! 🚀

🎥 I was to happy about it that I even did a recording while I had a bad cold and was hoarse just to show it off: https://makertube.net/w/wo4zAJiTFLeg8t2o93MLpL or https://www.youtube.com/watch?v=rgOkGwMShT0

✍ Took a while but it’s now in the open beta for 7.50 https://steamcommunity.com/games/392160/announcements/detail/4485117301459255318

It’s great to see another company embracing open standards and care for their niche gamers too ❤️

It has been a while that I tried . With the new Tracker plugin (AI haha) for 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 without a dedicated nowadays. And all that on a 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/

So, Timelines released today. Bagged it, of course. Don’t even really know what’s coming but the X series are something I enjoy since X: Beyond The Frontier in 1999. Kinda rad that a company that old managed to stay in business and true to their very own franchise.

Oh and also native for PC, my daily (and only) system for .

I could ramble on why X4 is a great Space Pew Pew game but others can do that much better. Like ObsidianAnt for example: https://www.youtube.com/watch?v=YCcaA1FAuAg

So didn’t show my GPU on when started via . I have an and all the (#ROCr / ) stuff installed. It only listed the iGPU by Intel on startup:

[---] OpenCL: Intel GPU 0: Intel(R) UHD Graphics 630 (driver version 23.35.27191.9, device version OpenCL 3.0 NEO, 25561MB, 2556>
[---] libc:  version 2.37

This works however fine when I run boinc manually as user (or clinfo for the matter), and not via systemctl start boinc-client, so I guessed it’s some permission issue. journalctl had the context I was looking for and threw this in the middle of the boinc-client startup:

audit[305157]: AVC avc:  denied  { read write } for  pid=305157 comm="boinc" name="kfd" dev="devtmpfs" ino=532 scontext=system_u:system_r:boinc_t:s0 tcontext=system_u:object_r:hsa_device_t:s0 tclass=chr_file permissive=0

This is SELinux’s charming way of telling me that it blocked read and write access to /dev/kfd (the main compute interface shared by all GPUs, according to the ROCm manual) for the boinc process. Nice. So what most users do now is grumble and disable SELinux, which is kinda a bad idea. The more advanced user does this and calls it a day:

sudo ausearch -c 'boinc' --raw | audit2allow -M boinc
sudo semodule -i boinc.pp

This basically prepares an override policy based on any rejected boinc activity that looks in my case like this:

module boinc 1.0;

require {
	type hsa_device_t;
	type random_device_t;
	type boinc_t;
	class chr_file { ioctl map open read write };
}

#============= boinc_t ==============
allow boinc_t hsa_device_t:chr_file { ioctl map open read write };
allow boinc_t random_device_t:chr_file write;

Not today though. It left me befuddled with the following output:

libsemanage.semanage_direct_install_info: Overriding boinc module at lower priority 100 with module at priority 400.
Failed to resolve typeattributeset statement at /var/lib/selinux/targeted/tmp/modules/400/boinc/cil:3
Failed to resolve AST
semodule:  Failed!

…and I have no idea why. I also found nothing on Google Search. So to not be DenverCoder9 (https://xkcd.com/979/) in the future here is what I found out so far:

sudo cat /var/lib/selinux/targeted/tmp/modules/400/boinc/cil | bunzip2 
(typeattributeset cil_gen_require hsa_device_t)
(typeattributeset cil_gen_require random_device_t)
(typeattributeset cil_gen_require boinc_t)
(allow boinc_t hsa_device_t (chr_file (ioctl map open read write)))
(allow boinc_t random_device_t (chr_file (write)))

Apparently it can’t resolve the required typeattributeset boinc_t – which is kinda odd as it exists (see sudo semodule -X 100 --cil -E boinc and the resulting cil file). Frankly this is where SELinux lost me too. I found the man page for boinc_selinux, which is not really known on my Fedora system here, so I may be missing something. It suggests to enable permissive mode for boinc_t (instead of dropping SELinux altogether):

Note: semanage permissive -a boinc_t

can be used to make the process type boinc_t permissive. Permissive process types are not denied access by SELinux. AVC messages will still be generated.

https://linux.die.net/man/8/boinc_selinux

And sure enough on the next restart my AMD GPU became available:

[---] OpenCL: AMD/ATI GPU 0: AMD Radeon RX 6700 XT (driver version 3558.0 (HSA1.1,LC), device version OpenCL 2.0, 12272MB, 12272>
[---] OpenCL: Intel GPU 0: Intel(R) UHD Graphics 630 (driver version 23.35.27191.9, device version OpenCL 3.0 NEO, 25561MB, 2556>
[---] libc:  version 2.37

Happy numbers crunching. Mebbe some fix for SELinux crosses my path in the future so I can update this with the proper solution.

I just set https://simpit.dev/ live.

Primary Buffer Panel – The On A PC For More Immersion In Pew Pew

A glorified joystick controller with an LCD (‘MFD’) and plenty of RGB.

Best viewed WITH an ad-blocker (thanks @stefan)

I’m kinda blind by now after hacking away on this page for days so I’d appreciate feedback.

Especially if something is broken.

`gamescope` is slowly becoming the hammer to all of my gaming or recording issues on Linux PC.

Doesn’t capture in OBS via obs-vkcapture? Gamescope.
Get’s ideas about screen layout? Gamescope.
Has no built in FSR? Gamescope.
Doesn’t show up in the list for screenshare? Gamescope.
Does this post need a hashtag? .

TIL: “Skype For Business” is not really possible on Linux PC in 2023. There is no native built. It’s “Web App” requires a plugin that comes with an MSI installer. Not that it really matters, since it’s superseded by “Teams”. In theory.

So if you need it anyway you’re not really looking for “Skype”, that may sound similar but has nothing to do with “Skype For Business”, but for “Lync”. Did I say “Lync”? I meant “Office Communicator”. And if you do you’re in luck. There is a Pidgin plugin called “Sipe” which does that. In theory. I couldn’t get it to sign in because my “Office 365” account, that supersedes the BPOS (Microsoft Business Productivity Online Suite), has no more “Office Communicator” or “Lync” or “Skype for Business”. It does have “Teams” and to add insult to injury also “Skype”.

There is however an Android app “Skype for Business” and lo and behold it’s on API Level 30 from 2020 so chances are good that it works on most recent devices (it will request all permissions though and refuse to start without). And while I still have no account for this, or the possibility to create one, since Microsoft simply redirects me to “Teams”, I can now open an invitation link in a browser which in turn opens the app again where I now get the previous unavailable option to _join as guest_.

Stay tuned if it picks up the microphone too as there is no speech indicator and no echo chamber to test this. At least video seemed to work fine.

(And hell no I will not even try that with a Google Chrome Brower EXE in Wine)

Here are the humble beginnings[1] of a working example to read the ship status of in a format very similar to the Status File of

Both games are quite similar and by using a “well established” format it should be possible to use this with existing companion apps – like my own

It uses the “Named Pipe API” of “sn_mod_support_apis” – on PC 😁 This was not supported by this MOD so far but I made it work.

Well, at least on my machine 🤓

And yes, the pipe server works with some minor adjustments for other _existing_ apps as well. Here is a demo of with a data feed directly from X4: Foundations – it does not use the though, since that is not really needed, so I had to make some small adjustments in it’s connection routine but that was like 2 lines of code 🤷

[1] TBF the humble beginnings were back in 2021 (https://beko.famkos.net/2021/05/01/getting-into-x4-foundations-modding-on-linux/) but I kinda let it slide to tinker and build my Primary Buffer Panel (https://beko.famkos.net/category/simpit/) first. Other games made it easier to retrieve game data and I did learn a lot during that time but it was X4 that started it all.

FIY Should update within 24h https://youtu.be/RIGkmqzJdfQ

It’s a 6dof racing game with a flight model similar to .

It does have a version but the world gen lib is single threaded on Linux so Proton may be a better choice for now.

It also features access to full ship telemetry and head tracking including OpenTrack via UDP thanks to my nagging 🤪

No idea about VR. Apparently it works but I can’t test that.

Some time ago I needed a virtual machine and while I’m not entirely sure any more why that was I did seem to have an inspirational moment and made a template of this. Here is what the config for _may_ look like:

agent: 1
arch: aarch64
bios: ovmf
boot: cdn
bootdisk: scsi0
cores: 2
efidisk0: misfits-btrfs:501/vm-501-disk-0.raw,size=64M
ipconfig0: ip=192.168.2.251/32,gw=192.168.2.1
memory: 1024
name: arm-test2
nameserver: 192.168.2.1
net0: virtio=96:79:F4:02:A1:6B,bridge=vmbr2
numa: 0
ostype: l26
scsi0: misfits-btrfs:501/vm-501-disk-1.raw,size=8G
scsi1: local:iso/debian-10.6.0-arm64-netinst.iso,media=cdrom
scsi2: misfits-btrfs:501/vm-501-cloudinit.raw,media=cdrom,size=4M
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=63fe535c-1507-4528-8dee-2bd2d59b57f8
sockets: 2
vga: serial0

It makes sense to install the package cloud-init to some stuff can be set from outside of the machine.

…and yes, it’s just as slow as expected from an ARM 🤓

I’m also not entirely sure if this is really officially featured by Proxmox (just like btrfs 🤷) but the machine was doing it’s job without an issue for years and I did just replay the template on VE 7.4 so I guess it’s fine 🤷