Skip to content

Starling 0.2.1 — apps launch on machines with no GPU

Pre-release
Pre-release

Choose a tag to compare

@starling-build-dev starling-build-dev released this 29 Jul 08:32

A bug-fix release. If you tried 0.2 in a virtual machine and no app would
open, this is the fix.

No app would launch in a VM

The desktop came up, the dock and the launcher worked, windows and the
wallpaper drew — but clicking any app did nothing at all. The single thing
that worked was the desktop right-click "Open Text Viewer", and only because
that one is drawn by the shell itself instead of being launched as its own
process.

Every other app renders in a child process, and each of those allocated its
shared buffer on a DRM render node. With no GPU, Mesa falls back to software
rendering, which allocates through an ioctl that render nodes reject and the
primary node allows — so every app died before it drew a frame, with nothing
on screen to say so. The shell was never affected: it holds the primary node
through logind.

This is the default configuration in GNOME Boxes, VirtualBox and VMware,
which is where most people were trying Starling out.

Apps now choose a device they can actually allocate on — the render node
paired with the display, then the primary node — and log which one they took.
On real hardware, or in a VM with 3D acceleration on, nothing changes:
apps take the same render node they always did.

The release gate now boots the packaged desktop a second time with 3D
acceleration off and runs the full functional suite there, so this class of
bug cannot ship again.

Install

sudo apt install gdm3     # if you have no login manager yet
curl -fLO https://github.com/starling-build/starling/releases/download/v0.2.1/starling_0.2.1-1_amd64.deb
sudo apt install ./starling_0.2.1-1_amd64.deb

Then log out and pick Starling from the session menu on the login screen.
Full instructions: docs/INSTALL.md ·
User Guide

Ubuntu 26.04 LTS, amd64. Everything else in 0.2's notes still applies —
this release changes nothing but the bug above.