Skip to main content
Nine days, 56 commits. The headline is that one of the four download options stops being a lie.

The AppImage only ever ran on Fedora 44

It was built on Fedora 44, and eighteen of the libraries it bundles came out of that build stamped GLIBC_2.43. glibc is backward compatible and not forward compatible, so a format whose entire promise is “download it, run it anywhere” ran on the one distribution nobody needed it for. Nobody noticed because every machine that built it and every machine that tested it was newer than every machine that would run it. The build base is now Ubuntu 24.04, whose glibc 2.39 is the floor Cordial claims. Measured against the artefact this release ships: 149 bundled ELF files, none above the floor; it loads and runs on Ubuntu 24.04 and on Fedora 44, and on Debian 12 — glibc 2.36, deliberately below the floor — the loader refuses it with version 'GLIBC_2.39' not found, which is the control that makes the other three mean anything. The web view inside the AppImage still does not work, and that is the next section but one.

Cordial would not start at all on the newest Roblox build

If you updated Roblox recently and got cannot locate symbol "getpwuid_r", or just a client that died before any window appeared, that is fixed. The symbol table is generated from a checked-in list, the newest build began importing a function that was not on it, and the host’s own C library had it all along. This is the second time a Roblox update has done this — hypotf did it in 2.734.0.917 — and the underlying design problem is #15, still open.

Other things that were broken and now are not

Keyboard input died permanently after you alt-tabbed away and back, on Hyprland. The fix that shipped two releases ago was wrong; this one is the reporter’s own patch, and their instrumentation is what showed the previous theory was false. Closing the launcher killed the running client. It no longer does. Escape killed the camera while typing in a text box. NixOS had a dev shell and no way to install anything. There is now a flake you can install from. Note that an AppImage needs programs.appimage.enable = true there — NixOS has no FHS, so the loader path an AppImage expects does not exist until you turn that on. That is not a Cordial bug and was misdiagnosed as one in public. The README was 1,250 lines. It is now short enough to read before deciding whether to install. The frame-rate cap was described as one thing and is two — Frame pacing (present mode) and DFIntTaskSchedulerTargetFps (the engine’s own target). FPS Flex sets the first of those, not “takes the cap off” as the README claimed. Settings got a primary menu, a Troubleshooting page under About, and a layout that is no longer crushed into a third of the launcher’s width. On the compact title bar, the close button sat one pixel further from the right edge than from the top and bottom. It does not now.

What is still broken

The web view does not work in the AppImage. The bind path was wrong — it looked for WebKit’s helper processes where Fedora puts them, and the bundled library is Ubuntu’s, which puts them somewhere else. That half is fixed and measured. What replaced it is Could not create default EGL display: EGL_BAD_PARAMETER, cause not established. If you need the web view, use the Flatpak, which carries its own WebKitGTK. The window never appears at all on non-Mutter Wayland compositors — COSMIC, KWin, wlroots. This is the one locking out the most people. The trace stops inside GTK’s own Wayland backend, before Cordial gets a say, so it is probably not ours to fix; it is going upstream. Fullscreen freezes, and crashes on the way out. Two separate faults that share a trigger. If it bites you, try Frame pacing → FIFO in Settings. Using a touchscreen crashes it immediately, and it is not the touch code — the coredump lands inside GTK. Unchanged from 0.13.2: the startup freeze on a signed-in profile, the black canvas inside an experience, text in a box vanishing when you click off it, the editor lagging a box Roblox is animating, and the TaskScheduler crash. Also still open: movement keys sometimes dead on joining a place (engine-side, and out of reach behind ADR-001); the camera doing a 180 on X11; private servers not joinable from the server list. Two things landed this release that nobody has watched work. The engine is now told the display’s refresh rate, but nativePassCurrentDisplayRefreshRate has never been observed firing. And DeviceUtils.getScreenPhysicalSizeInMillimeters is implemented and still unreachable — jnivm cannot find the class, for reasons that are a separate bug from the crash report it was filed under.