Pragtical v3.12.1 Release
Pragtical v3.12.1 is a focused follow-up to v3.12.0 with SDL GPU polish, renderer visibility improvements on Windows, and a Linux packaging fix for force-fallback builds.
SDL GPU Polish
The SDL GPU backend now prefers low-power devices when SDL reports them. This keeps the new renderer path friendlier to laptops and multi-GPU systems while still allowing SDL to choose a suitable backend for the platform. Thanks to allergicapple who reported the issue on https://github.com/pragtical/pragtical/issues/546, there may still additional steps to enable usage of the discrete GPU on a hybrid system like that of Nvidia Prime as datailed on that issue.
This release also fixes window color readback when SDL GPU is active, which keeps APIs that inspect rendered window pixels aligned with the current renderer.
Renderer Information
Renderer information is now exposed to Lua thru renwindow.get_renderer_info,
and displayed on the About pane of the Settings, making it easier to inspect
which renderer path is active while testing the new modular backend stack
introduced in v3.12.0. Thanks to Kabcorp who raised the concern.
Linux Symbol Exports
Linux builds no longer export every executable symbol by default just to support
LuaJIT FFI calls into Pragtical internals. Instead, the build exports the small
set of symbols used by data/core/jitsetup.lua.
This avoids exposing bundled dependency symbols from force-fallback builds, which could interfere with native desktop integration libraries loaded at runtime like libdecor under GNOME (thanks to satmandu who reported this issue). Builders that still need the old behavior can opt in with:
-Dexport_all_symbols=true
Thanks to everyone testing the v3.12 renderer work across different platforms.
Downloads on GitHub.
Changes Log
Enhancements
Fixes
- Fix window color readback on SDLGPU (#550)
Build System
- Limit Linux FFI symbol exports (#551)
