Fix: 'Could not initialise OpenGL support' for GTK Apps on Fedora with NVIDIA/Wayland

When using an NVIDIA GPU with proprietary drivers on a GNOME Wayland session, certain GTK-based applications fail to launch. They display an error dialog with the message: An error occurred. Could not initialise OpenGL support

This commonly affects applications like GNOME Videos (Totem), the file previewer (gnome-sushi), and other modern GNOME apps.

The issue stems from an incompatibility between how modern GTK applications try to use desktop OpenGL (gl) and how NVIDIA’s proprietary drivers handle it within a Wayland session. The solution is to force these applications to use OpenGL ES (gles), which is fully supported and stable in this configuration.

Docker Cheat Sheet

I’m sure you’ve heard the famous developer phrase, “But it works on my machine!” It became a meme for a reason. Differences in environments, library versions, and system configurations often lead to chaos. Docker solves this problem by packaging an application and all its dependencies into isolated units called containers.

This article is your all-in-one Docker cheat sheet. I’ve gathered everything I find essential, from running your first container to advanced cleanup techniques and Dockerfile best practices.

Wildcard Domains for Local Development with Dnsmasq

I got tired of constantly editing my /etc/hosts file for every new project. I wanted to use clean, convenient local domains like project-one.app.loc or api.my-app.app.loc without having to define each one manually.

My solution is Dnsmasq, a lightweight DNS server that is perfect for this task. It allows me to set up wildcard domains (e.g., *.app.loc), where any subdomain automatically points to my local machine. It’s a set-it-and-forget-it setup that has saved me countless hours.

In this guide, I’ll walk you through how I set up dnsmasq on modern Linux distributions like Ubuntu 24.04 and Fedora 42. I’ll also show you how I resolve the common conflict with the default systemd-resolved service to create a powerful and convenient local development environment.