Arcan September Hackathon Report #1

4 min read Original article ↗

We are a few days into the 3rd Arcan IRL hackathon.

The theme this time around is “Project Wayhem” with hem meaning home in Swedish, and it taking place in my renovation project/eternal money sink fort out in the middle of nowhere. Three brave travellers fought the perils and outrageous ticket prices of public transport in Sweden and came out victorious.

After an unhealthy amount of greets, rants and assorted beverages, we eventually managed to get to work.

First up in the show and tell was Alexander with his SHMIF backend for Gamescope that got massaged into working shape. The repository can be found here: https://codeberg.org/sashabjorkman/GameScope

The following clip shows it in action, playing Baldur’s Gate 3.

Baldur’s Gate 3 via steam in gamescope –backend shmif

He also commissioned an artist for an event-appropriate mascot:

Scandinavian hedgehog being the only non-rubbish wild animal currently living in my backyard.

While we have paths for running x11 and wayland clients already, such as Xarcan and our native wayland support, nobody wants to work on the wayland implementation and the Xorg DDX works well enough for clients with reasonable use of desktop resources. Steam is not such a client and definitely not reasonable.

Since the goal-posts for anything “”Wayland”” these days are mounted on roombas powered by jet engines, the best effort / reward solution is Gamescope: write a backend for that and let them exhaust their resources chasing down the complementary IPC system of the day or the next ‘protocol’ extension to join the animal farm.

We celebrated this victory with a few runs of the true eternal game of the year (tuxkart) on the only machine out of 10 or so with functioning bluetooth support for the controllers. Instead of the 2.4 meter projection screen in a calibrated viewing environment, we thus huddled around the tiniest laptop screen around.

Next up was Magnus with his Qt QPA (found here: https://codeberg.org/vimpostor/qtarcan). He fought bravely, and eventually won, getting 3D accelerated windows working. This is one of the few remaining items before the fabled feature completion.

After a number of hours staring into the void and the void staring back, “fucking hell I can finally see my application, this is huge” could be heard from several kilometres away.

While everyone is waiting for the commits to materialise, the following screenshot is proof that he is not a pathological liar:

Valts (thanks NLnet!) being true to his nature, was much less dramatic and kept toiling away at the alternate, portable and lightweight implementation of our network protocol, that can be found here: https://smash.tase.lv — inching closer to supporting multiple windows. He was also trying his best to say good things about Nix and that was promptly ignored.

Björn (thanks NLnet!) while not busy making good use of his many academic degrees by cooking; writing this blog post; crafting cocktails and preparing snacks for each movie night, spent his time trying to debug why every n’th modeset between SDR and HDR caused the amdgpu kernel module to crash. He got absolutely nowhere and remain a disappointment to most everyone.

To salvage some remaining shreds of dignity, the 8+ year old backend for SDL2 got resurrected.

The purpose of that is threefold: One is to pretend to actually do something useful. The other is making sure there is an reference to compare to when eventually repeating the process for SDL3. The third reason is simply that we need more varied clients to test network transparency and local/remote migration with.

With several days to go, there might be more things to report on in the near future. With any luck, the 60 bottles of Club Mate ordered weeks ago might actually arrive before everyone heads back.