Tags: thwonp/NextUI
Tags
ci: pass explicit GITHUB_TOKEN to all checkout steps in release-zero28 ubuntu-24.04-arm runners have a system git credential helper that interferes with HTTPS fetches when no token is provided, causing checkout to fail even on public repos.
zero28: fix wifi reconnect, Settings freeze, and nav hiccups bssid=00:00:00:00:00:00 in wpa_supplicant.conf acts as a BSSID filter matching no real AP, causing wpa_supplicant to scan forever and never associate. This breaks reconnect after game exit and RetroAchievements. wifi_init.sh start: after wpa_supplicant socket is ready, sweep list_networks and call set_network bssid any for any zero-BSSID entry, then reassociate. Handles existing corrupted configs on every start. generic_wifi.c PLAT_wifiConnectPass: call set_network bssid any before enable_network so future save_config calls don't persist the zero BSSID. wifimenu.cpp updater: pre-compute WIFI_isKnown results outside WriteLock to eliminate wpa_cli subprocess spawning while the lock is held. Add 500ms initial delay so Settings renders one frame before the worker runs its first scan. Reduces scan sleep from 2s to 1s in PLAT_wifiScan.
zero28: add extra emu paks skeleton and wire into release workflow Adds skeleton/EXTRAS/Emus/zero28/ with all 30 extra emu pak dirs (launch.sh, default.cfg, .keep). 24 paks carry their own dedicated .so via make cores; 6 stock-core paks (GG/SMS/SG1000/FDS/32X/SEGACD) rely on system CORES_PATH env var pointing to .system/zero28/cores/. Updates release-zero28.yaml: replaces manual find/cp with make cores PLATFORM=zero28, adds Emus/zero28/ to MinUI.zip payload.
zero28: fix volume — open event2 for volume keys, fix digital volume … …init - keymon: INPUT_COUNT 2→3 to open event2 (magicx-input); volume buttons emit KEY_VOLUMEUP/DOWN on event2, not event0/event1 - msettings: set 'digital volume' to 63 (max/0dB), not 0 (muted/-74dB)
zero28: fix volume — correct ALSA chain init, raw scale, and mute value - InitSettings: add 'digital volume' 0 and 'Soft Volume Master' 255 init so the digital chain is at max on boot (without this, no gameplay audio) - scaleVolume: use MinUI's raw formula (0 or 96-160) instead of 0-100% - SetRawVolume: remove -D hw:audiocodec and %% suffix; use raw integer - MUTE_VOLUME_RAW: 63 → 0 (0 = silent on this device, 160 = loudest)
zero28: invalidate shader cache when GLSL source is newer (007av) link_program cached compiled binaries by filename only — any modification to a .glsl source file was silently ignored, the device kept loading the stale .bin. Bit 007ar (MVPMatrix uniform missed because pre-MVPMatrix binary kept loading) and would silently break end users on any future release that touches default.glsl/overlay.glsl/noshader.glsl. Add a source_path parameter to link_program; stat both source and cache and only load the cache when both stats succeed and source mtime <= cache mtime. Any stat failure falls through to recompile (safe default). Update all four call sites to pass the source path they already have. Platform-neutral; tg5040/tg5050/desktop benefit from the same fix.
zero28: rotation-aware PLAT_GL_screenCapture FBO 0 is portrait-sized (480x640) after 007ar added a 90° CW MVPMatrix in runShaderPass. The old code read 640x480 — out of bounds — and returned unrotated content, breaking the in-game menu underlay and all other screenCapture callers on zero28. When should_rotate is set: - Read portrait FBO (480x640) into a raw buffer - Rotate 90° CCW into a landscape dst buffer (640x480) to undo the CW MVPMatrix, using the index formula from the plan sketch - Apply PLAT_pixelFlipper on the final dst so callers see the same Y convention as the unrotated path When !should_rotate: functionally identical; drop the now-pointless glGetIntegerv round-trip and use device_width/device_height directly.
zero28: replace custom GL rotation blit with SDL_RenderCopyEx (007w12)
zero28: revert diagnostic + render target_composite via rotation blit… … (007w11)
zero28: route PLAT_GPU_Flip through rotation blit (007w10)
PreviousNext