How to fix VirtualBox on Fedora 38 with Kernel 6.3.5 by disabling IBT

For accounting and some windows only software (👋 Affinity Designer) I have a Windows 10 VM running in VirtualBox on my Framework running Fedora 38. Apparently I got a kernel update recently and as of this morning the VM refused to start. It just hung, and a look into journalctl showed something like this: Jun 13 10:23:50 draper kernel: traps: Missing ENDBR: 0xffff9b688c308f30 After some searching I came across this thread on the VirtualBox forums which explained the issue and also includes the solution. Apparently the VirtualBox kernel driver triggers Intel’s IBT (indirect branch tracking). The solution is to disable that1 by passing ibt=off as a kernel parameter: ...

June 13, 2023 · 1 min

How to export a Godot 4 game to run on the web on itch.io

On the Go Godot Jam 4 Discord I just saw some people having issues with how to get HTML5 exports from Godot 4 to work on itch.io, and since I just had to do this for my own game submission to the jam as well I decided to jot my steps down here (and on the Discord too) as it seems to be a bit of a pain for people. First of all export your game using the “Web” export template ...

May 14, 2023 · 1 min

How to make the Home Assistant app sync properly under iOS

While I’m strongly rooted in the Android camp, my partner has an iPhone, and on what seems to be every iOS update, the Home Assistant app installed on his phone stops syncing in the background. That wouldn’t be so bad if a lot of the home automations didn’t factor in presence status which gets synced through that, so this has been a source of minor annoyance whenever his status refused to mirror his presence or absence. It just happened again and because every single time now we’ve had to try to remember how to fix it, here’s a quick TIL to encourage my memory 😅 ...

April 30, 2023 · 1 min

How to add Battle.net games to the Steamdeck

Update 2023-06-07: It turns out that these days, the by far easiest way to get Battle.net on the SteamDeck is using NonSteamLaunchers-On-Steam-Deck, as I recently saw on Gaming On Linux. I haven’t gotten a chance to try this myself yet, but it certainly looks very much straight forward, albeit not featuring individual game entries in Steam. For your quick Diablo fix, it should hopefully be just fine though. Battle.net is currently having a spring sale and I’ve been eyeing Diablo II: Resurrected for a while now, so I jumped on the chance (and while at it also got StarCraft Remastered). But given that these days I primarily game on the Steamdeck, I needed to find a way to install Battle.net on my deck and also install individual launchers for the games. ...

April 15, 2023 · Updated June 7, 2023 · 3 min

How to use Obsidian's Dataview plugin to visualize frontmatter

For every OctoPrint release I run through several update tests: I flash a specific OctoPi version, push it to a specific OctoPrint version, configure the release channel, then see if updating to the newest release (candidate) works fine. I use my testrig and its automation scripts for that and usually go through something between 5 and 10 separate scenarios. So far all of these scenarios were noted down as a Markdown table in my release checklist that these days I prepare in my Obsidian vault, including manually adjusting the testrig commands to match the scenario. Having to take care of the latter is something that has been annoying for a long time now, and during the preparation for yesterday’s release candidate I decided enough is enough and looked into improving my tooling a bit. In the end, I used Obsidian’s quite amazing Dataview plugin to query the information about the planned test scenarios from the checklist’s frontmatter, build the testrig command from that, then render all of this as a table, complete with some checkboxes for state logging during the tests and a copy button for the command. ...

April 14, 2023 · 4 min

How to override the EDID data of a monitor under Linux

I’m slowly but surely fixing all the issues I had after switching back to Linux as my main OS, so here’s another TIL 😉 My secondary monitor is a 24" DELL with a resolution of 1920x1200, so 16:10, instead of the more common 1080p and 16:9. In order to be able to connect all my three monitors to my laptop, I make use of both the laptop’s HDMI port as well as a USB-C dock that has 2 HDMI ports. The 4k main display is connected directly to the laptop’s HDMI port, secondary and tertiary display are connected to the dock. ...

April 11, 2023 · 3 min

How to reduce the titlebar size of Gnome 43

A few weeks ago I switched back to Linux as my primary OS, on a newly acquired refurbished Framework Laptop 11, and one thing that’s since been bothering me on my chosen desktop environment Gnome1 has been the HUGE titlebars: So I finally dug into solving this quickly, and came across this post on Reddit with a quite nice solution. I modified ~/.config/gtk-3.0/gtk.css and added the following contents: ...

April 11, 2023 · 1 min

How to create an animated tile in Godot 4's tilemaps

Over the past four days I’ve been doing a personal crash course on game development together with my partner1, ending up in building a small platformer in two days. We decided to use Godot Engine, as I had been circling it for a while now 2, and it turned out this decision was good because it was been a quite amazing experience, even for a total gamedev beginner like me 👍 What cost me a bunch of time however is trying to figure out how to create an animated tile in a tilemap, which I finally figured out yesterday, and so I’m writing it down here for future me and everyone else wondering about this. ...

April 9, 2023 · 2 min

About SSH escape sequences

OpenSSH’s ssh command supports a bunch of escape sequences while a session is running, by default triggered by the ~ character. According to man ssh a list of available commands can be requested with ~?. And indeed, hitting ~? within an open SSH session prints some helpful information: $ ~? Supported escape sequences: ~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system ~C - open a command line ~R - request rekey ~V/v - decrease/increase verbosity (LogLevel) ~^Z - suspend ssh ~# - list forwarded connections ~& - background ssh (when waiting for connections to terminate) ~? - this message ~~ - send the escape character by typing it twice (Note that escapes are only recognized immediately after newline.) I most commonly require ~. to disconnect from a broken SSH session (e.g. something I still had open on my laptop when I sent it to sleep). ...

March 22, 2023 · 2 min

How to add an audio delay for video conferencing on Linux/Pulseaudio

After recently switching to work under Linux, I needed a way to replicate my existing solution for delaying audio under Windows under Linux/Pulseaudio. To once again explain my situation, I use OBS also for video conferencing, through the virtual camera1. OBS does not offer a built-in way to provide a virtual microphone with all the filters and such applied as well (in my case noise reduction and a limiter), so I need to solve this in a separate way. Additionally, my camera setup has a small delay of around 350ms that I also need to compensate by delaying my audio. ...

March 11, 2023 · 2 min
Mastodon Alt