Decky 0.2.5
Desktop app 0.2.5 · Deck firmware 0.1.4 (updated)
Installed Decky updates itself: use the updates pill in the title bar, or Settings → Updates. New installs: run the Decky-Setup installer. The deck's firmware updates from the same place, with the deck on USB.
Desktop
- Open pages with one command when the deck already has them (275ddac)
Opening a page took a round trip for CACHE, one more per toggle key to
check its ON artwork, and one for STATE - four for a page with two
toggles, which made going back to Home noticeably slower over Wi-Fi.
The app now remembers which pages and ON artwork it has confirmed on the
deck this session and opens those with STATE alone. If the deck has
dropped the page since, STATE is refused and the full exchange runs. - Show the plain firmware version after an install (82ff3dd)
The install message said "Firmware 0.1.3-1-gf30ec46-dirty installed" for
a locally built firmware; it now says 0.1.3, like the rest of the app. - Set up a deck without Decky in one step, and find it sooner (71a3ccc)
A board still on other firmware used to take four steps: "Check device",
a confirmation, the check, then "Install". The card now asks "Install
Decky on this device?" straight away; its one button checks that it is
a CrowPanel and installs, and leaves anything else untouched. It still
waits for the click, because the check restarts the device - and other
hardware on the same USB chip, like a 3D printer, must not restart.
The card also appears sooner: a silent port is asked again a second
later within the same check, and a newly plugged-in port triggers a
check at once instead of at the next four-second poll. "Looking for
Decky" hides while the card is up.
Firmware
- Keep the deck's picture from slipping, and redraw pages faster (bc9bac9)
The picture could sit 48 lines too high, wrapped, until a reset: after
power-up, a first install or Wi-Fi activity. Flash writes and Wi-Fi
calibration hold the display driver's interrupts off, two of them merge
into one, and the parity the driver uses to pick which bounce buffer to
refill flips for good - built with RESTART_IN_VSYNC, the driver never
resets it. The deck now resets it every frame, so a flip lasts one
frame. On the deck, random flash stalls left the picture slipped within
two tries before; after, 40 stalls, 75 corrections, never slipped. The
old realign after Wi-Fi and warm-up never cured it and is gone.
A page redraw took 83 ms. Keys are now copied a row at a time instead of
a pixel at a time, and drawn as soon as their row is clear of the
scanout instead of in index order: 35 ms. DISPLAY_STATE reports the
scanout bookkeeping and the last redraw time.