Rinkhals 20260706_02_test #67
martinbogo
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Warning
Develop snapshot, not for production.
This is a test build cut from the
developbranch, not a release. It contains in-progress work that has not been through the full release verification path. Install it on a printer you're comfortable recovering, not your daily driver. If you hit problems, file an issue with logs and a debug bundle, and roll back to20260606_02if you need a stable build.Everything in the most recent stable release (
20260606_02) is also in this build. See the20260606_02release notes for the stable feature set: https://github.com/rinkhals-community/Rinkhals/releases/tag/20260606_02Highlights
Firmware support
minimum_cruise_ratiooverride that avoids a GoKlipper NaN crash on that firmware.[fan_generic exhaust_fan]section for the new exhaust fan hardware plus some wipe/throw motion tuning; nothing that needed special handling on our side.App Store
Rinkhals.Appscatalog. Includes model-aware SWU selection during install, atomic install behaviour, a stale-button guard for the apps list, and workflow guards in the install pipeline.Web portal
/proc/stat. On this hardware the Realtek RTL8723DS wifi driver and the Rockchip media stack keep around 11 kernel threads permanently parked in uninterruptible sleep on driver semaphores, and Linux counts uninterruptible tasks in the load average, so the old number sat near 11 even when the CPU was almost idle. It never reflected real work; CPU utilization does.MemFreeand read around 97% used even when ~40% of RAM was actually available. It now shows in use / cached / free as three segments, with a bracket over the cached-plus-free portion labelled with the available figure, so it is clear that "available" (not "free") is the number that matters.:8090/terminal/and then switching to System Logs, the Apps installer, or any other page no longer kills the session. The terminal panel is mounted once for the lifetime of the app and only hidden when you are off the Terminal page, so shells and their PTY connections keep running underneath. Multiple tabs within the terminal page are preserved as well./useremain/log/*.logcopies, which go stale once Rinkhals takes over; they now stream the active/tmp/gklib.logand/tmp/gkapi.logthat the running processes actually write./root, and its bottom-row clipping is fixed with more padding under the last row.devbadge from the navigation. Machine Settings renamed to "Manage Rinkhals" and moved to the bottom of the sidebar.Memory footprint
The printer has 213 MB of RAM and no swap, so a few MB matters.
rinkhals-webis no longer UPX-packed. Packing shrank the binary on disk but decompressed the whole image into unreclaimable anonymous memory at startup, which on this no-swap board pinned about 8 MB of RAM plus a ~3.7 MB decompression buffer. Unpacked, its code stays file-backed and reclaimable: measured ~12 MB down to ~8 MB resident (about 34% less), with pinned memory dropping from ~8.3 MB to ~1.4 MB. The binary is about 6 MB larger on disk, which is negligible on/useremain.Moonraker / GoKlipper integration
; filament_colour_typeheader line that prefix-collides with; filament_colourin gklib's parser, causing a slice-bounds panic (error 10111) so the print never started. The line is now stripped during the metadata rewrite before it reaches the printer (fix: OrcaSlicer slot mapping desync and filament_colour_type crash #39).FIRMWARE_RESTART/RESTARTdeadlock that leaves Mainsail and Fluidd disconnected until power-cycle. The gcode is now refused at the Rinkhals shim layer with an explanatory message, instead of being forwarded to gklib where it wedges.data_store._init_sensorsTypeError fixed. GoKlipper returnsheaters.available_monitors: nulland the upstream code did.get(key, [])which doesn't substitute the default on explicit nulls. Normalised inside the existingpatch_mainsailwrap so every downstream consumer sees[]instead ofNone.motion_reportfromtoolheadinstead of exposing GoKlipper's own broken implementation.mmu_ace: custom tool-to-gate mapping (ttg_map) set via the Fluidd Tool Mapping dialog no longer gets silently overwritten by the periodic ACE status poll (issue [Bug] mmu_ace: Custom tool mapping (ttg_map) is overwritten every few seconds by ACE status poll #49).Install / update
home/rinkhalsandusr/bin/python), the installer used to still promote the incomplete copy to the active version, clear the.disable-rinkhalssafety flag, prune the previous good install, and reboot into a non-bootable state (the "sad tones" failure jingle, then reboot, repeating). It now checks the copy succeeded and that key files landed before committing, and aborts cleanly through the existing on-screen error path if not, leaving your previous install intact.Other fixes
start.shthat could occasionally randomize the screen transpose value; screen rotation is now deterministic (Remove easter-egg 🥚 #65).K3SysUino longer spawns a duplicateudhcpcafter the DHCP app has already started.ashglob handling fixed so/rootstays read-write persistent across boots.printer_mutable.cfgcyclic symlinks are now guarded against.startedstate.Test plan
If you install this build, please specifically exercise:
collector.pyprocess between checks.:8090/terminal/, navigate to another page and back, and confirm the sessions are still alive.RESTARTfrom the console; you should see an explanatorygcode_responseinstead of a wedged connection.mmu_ace: set a custom tool mapping in Fluidd's Tool Mapping dialog and confirm it survives a few minutes of ACE status polling instead of reverting to 1:1.Report findings to https://github.com/rinkhals-community/Rinkhals/issues with a debug bundle.
Full Changelog: 20260606_02...20260706_02_test
This discussion was created from the release Rinkhals 20260706_02_test.
Beta Was this translation helpful? Give feedback.
All reactions