Skip to content

Release v1.0.1 - The "I messed up by not building on any other machine than mine" Edition.

Latest

Choose a tag to compare

@Zorkats Zorkats released this 11 Aug 04:21
· 1 commit to main since this release

A fix release. If v1.0.0 refused to start on your Linux machine, this is the one to get.

Your extracted game data and saves carry over — the asset recipes are unchanged, so there is no
need to re-extract. Replace the files and launch.


Linux: I am sorry.

v1.0.0 was built on my own machine, a ROG Ally Xbox X with CachyOS running on it, and it inherited three things from it that were
invisible to me and fatal to almost everyone else:

  • It demanded a CPU feature level it never used. The binary asked the loader for
    x86-64-v4 (AVX-512) while executing nothing beyond baseline instructions. Anything older than
    Zen 4 or 11th-gen Intel was turned away at the door for capabilities the game does not need.
  • It required glibc 2.43, newer than almost any installed system. Three maths symbols were
    responsible.
  • It expected five shared libraries it never shipped — SDL2, libzip, tinyxml2, spdlog and fmt,
    at versions so recent that in practice only rolling-release users could have launched it at all.
    On Steam Deck this showed up as nothing happening when you double-clicked, because the error
    only appears if you start it from a terminal.

All three had the same cause: the release was produced on a rolling-release distribution and
picked up its libraries, its CPU tuning and its glibc. Releases are now built through Github Actions, in a pinned
container with pinned dependencies, and a check refuses to package a build that would fail to
start on a supported system.

What that means for you:

v1.0.0 v1.0.1
glibc needed 2.43 2.34
CPU required x86-64-v4 (AVX-512) any 64-bit x86
Libraries to install first five none

glibc 2.34 covers Debian 11+, Ubuntu 22.04+, Fedora 36+, RHEL 9, SteamOS and every rolling
distribution. SDL2 and zlib now travel inside the archive in lib/, so nothing needs installing.

Fixes #2, #3, #4, #5 and #6.

Touchscreens

Tapping the enhancement menu on a handheld either did nothing or needed several tries. Two pointers
were writing to the interface at once, the touch translation and the system's own touch-to-pointer
emulation, pressing in one place and releasing in another, and a menu item only activates when both
land on it.

Touch input now works out which of the two is driving each individual gesture, because the answer
turns out to differ from machine to machine and even from session to session. Taps register first
time, and dragging a slider with your finger still works.

Steam Deck and ROG Ally owners get the most out of this one.

Windows

No behaviour changes beyond the touchscreen fix, which also applies to Windows tablets and
touch-capable laptops. The build is now produced and verified automatically rather than packaged by
hand, so it can no longer accidentally ship needing DLLs that are not in the archive.

Known issues

  • The menu crashes on some Windows systems when opened (#7). Being investigated; if this hits
    you, gdiffuser-crash.txt next to the executable is exactly what I need.
  • Import and export of custom tracks and machines (#1) is not in this release. It is the
    headline feature of the next one.

Thanks

This release exists because people took the trouble to report clearly.

adonato87 went furthest: reading the binary's own headers and posting the analysis, which
confirmed the CPU-level diagnosis independently and left nothing to guess at. B-Nerd,
perojas3, Nutjob and Daisuke-Akiyama reported the failures and stayed to answer
questions, and SilverSurferNHS and B-Nerd worked out the AVX-512 angle in the thread before
I got there.

Thank you all! And I am very happy for the port's positive reception, truly, I did not expect it! It warms my heart.