Repository navigation
Releases: nerdrx/zVram
Release list
zVram 0.4.32
Fixes
- Stop app can now finish stopping a discovered process that ignores SIGTERM. Confirmation explains that it will force-stop after three seconds; only the selected process is targeted using a pinned pidfd.
- The manager remains responsive during stopping and reports completion or errors.
- An already-stopped managed job no longer gets a misleading stop-request message.
Documentation
- Added practical setup, manual installation, build options, workload limits and profile configuration guidance.
Validation
- 38 Python tests, 5 package tests, hidden Tk and terminal UI checks passed locally. Both final-head CI runs passed. Regression covers a dummy process that ignores SIGTERM. No running user apps were terminated.
zVram 0.4.31
Fixed
- A frequently used buffer whose replacement allocation returns device-memory OOM now waits one second before retrying, giving smaller eligible buffers a chance to recover into VRAM.
- Retains the existing 250 ms device-wide failure backoff, in-flight guards, and ambiguous-failure handling. Host-memory OOM behavior is unchanged.
Validation and limits
- A deterministic CPU allocator-failure fixture reproduces the old repeated selection and verifies the fix, unchanged ownership/accounting on failure, exact retry boundaries, and successful smaller-buffer recovery.
- Normal and hook-enabled bootstrap checks pass. Production build and all 18 CPU/submission checks pass.
- This is fault-injected CPU evidence, not a real-device OOM reproduction or a game performance claim.
zVram 0.4.30
Fixed
- Prevent unrelated GPU submissions from repeatedly retrying a buffer whose snapshot cannot fit the cold-store quota, allowing other eligible buffers to proceed.
- Retry a refused child after accepted writes that may change its contents or after cold-store space changes. Unknown accepted access remains conservative.
Validation and limits
- Reproduced the prior starvation in a deterministic CPU fixture; the fix permits a smaller snapshot while preserving the refused buffer.
- Normal and hook-enabled bootstrap checks pass, including scoped writes, reads, unknown access, quota changes, and epoch saturation. Full CPU/submission suite: 18/18 passed. Production layer build passed.
- Existing in-flight safety guards, quota accounting, and recovery defaults are preserved. No game FPS or migration-latency claim.
zVram 0.4.29
zVram 0.4.29
- Recover eligible GPU buffers by recent known-submission frequency, with recency breaking ties. The bounded frequency hint decays so old activity does not keep priority indefinitely; unknown accesses do not inflate frequency.
- Continue pressure paging sooner after a successful move, using a 1 ms worker pause instead of the normal up-to-10 ms poll. Blocked work retains the slower retry, and zero idle settings no longer create a zero-wait polling loop.
- Preserve application-use timestamps and frequency history through synchronous and asynchronous compression, including reads accepted during encoding.
- Add CPU coverage for ranking, decay, duplicate references, metadata preservation, pressure backlog draining, busy-buffer protection, and worker shutdown. Ensure hook-enabled CPU builds actually compile their hook checks.
In-flight, compatibility, quiet-time and memory-budget checks remain in force. Pressure eviction remains oldest-first. Recovery controls eligible buffers, not arbitrary files/images or kernel-transparent GTT placement. Scheduling intervals are not migration-latency or game-FPS guarantees.
Validation: 18 CPU/submission checks passed; genuine hook-enabled bootstrap checks passed; bounded native buffer-device-address GPU recovery preserved every byte and cleaned up all tracked resources. No game FPS improvement has been established.
zVram 0.4.28
Repository cleanup
101 tracked files moved into dedicated folders; root files reduced from 108 to 7.
src/: 29 C++ runtime files.src/python/: 4 manager/control/model/UI modules.tests/: 49 checks and tests.tests/shaders/: 4 fixture shaders.tools/: 11 probes, model checks and generators.cmake/: 2 build templates.docs/: 2 relocated guides, plus a complete migration inventory.
Updated build paths, Python imports and assets, CI commands, packaging, research includes, and live documentation links. Native runtime sources are byte-identical moves. Installed launcher/module layout, profiles, and behavior are preserved.
Verification
Fresh native GDeflate build, 18 CPU/submission-tracking CTests, optional HIP compilation, 42 Python/package tests, hidden Tk/TUI checks, generator/log checks, and a relocated real-package launcher/UI smoke passed locally. CI validates the source and release package. No performance improvement is claimed; no hardware GPU workload was run for this structural change.
zVram 0.4.27
Changes
- Manager: show total VRAM + GTT usage across all GPUs, with individual device counters retained. Missing counters display as unavailable.
- Vulkan: LineStipple commands and their KHR/EXT aliases no longer unnecessarily disable resource tracking. Other unknown resource-access commands keep conservative fallback.
- Profiles: allow an explicit
min_available_mib: 0to disable the available-RAM floor. Defaults and the independent swap-growth guard are unchanged. - Cleanup: centralize manager diagnostic labels and explanations, avoiding duplicate per-refresh mappings.
Validation and limits
42 local manager/model/package/control tests and hidden Tk/TUI checks passed. CI builds and CPU/software-Vulkan checks validate the release source. These checks do not establish improved game FPS or physical VRAM residency. Restart applications to load the updated layer; reopen the manager for the new display.
zVram 0.4.26
Preserves Ollama vision projectors when launching local models. Projectors are paired with the exact model manifest; renamed aliases can specify the original model name, and ambiguous or unavailable pairings remain text-only.
Validation: 40 Python tests, UI checks, 15 CPU checks, and extracted-package launch passed. Live multimodal inference was not tested.
zVram 0.4.25
Redesigns the manager around a wider app list and a focused inspector.
- Compact memory overview, calmer dark palette, clearer typography and themed scrollbars.
- Separate Controls, Launch, Details and Safety tabs; long diagnostics become readable paragraphs.
- Larger priority column shows request acknowledgement; live actions are visually emphasized.
- Remove the duplicate external-app apply button and disable irrelevant launch/safety tabs.
- Preserve unsaved edits, keyboard focus, live-priority behavior and safety checks.
Validated with hidden real-widget tests, terminal UI tests, and bounded headless Gamescope previews at 1280x800 using fake app data. No user applications or GPU settings were changed. This release changes presentation, not Vulkan recovery behavior. Reopen the manager after updating.
zVram 0.4.24
Fixes unreliable live VRAM priority controls and remembers Steam game preferences.
- Selecting a priority clears a stale explicit MiB override.
- Saving a running managed profile also requests the live change, with separate save/request failure feedback.
- Steam priority preferences are saved by game ID and applied on future launches. Explicit cap changes clear the saved preset; explicit launcher cap and quiet-time options remain authoritative.
- Live requests are tracked by process identity and device sequence, with Pending, Applied, Rejected, and Superseded feedback.
- High priority on future launches preserves recovery eligibility, completion and headroom guards.
Validation: 32 Python checks, hidden GUI regressions, production layer/bootstrap compilation, and focused CPU control/recovery checks passed locally. CI release checks validate the packaged build. Actual in-game migration and FPS improvements remain unverified.
Reopen the manager after updating. Restart a game to load the updated Vulkan layer; running applications are not modified by installation.
zVram 0.4.23
Improves manager usability, launch reliability, and guarded Vulkan recovery.
- Preserve unsaved edits, confirm destructive navigation, retain keyboard focus, and provide scrollable/selectable diagnostics.
- Enable eligible-buffer recovery and supported buffer presentation for normal Vulkan launches. Steam launch option:
zvram -- %command%. Explicit opt-outs remain available. - High priority removes the recovery quiet-age delay on capable backends while retaining completion, headroom, and safety checks.
- Track CopyBufferToImage2 source reads and accept supported presentation metadata conservatively.
- Fix relative/runtime control paths, worker failure reporting, atomic-save cleanup, and incomplete device-status errors.
- Include manager icons and reject malformed codec metadata during packaging.
Validation: fresh full-codec build, 17 CPU CTest checks, 34 Python checks, terminal UI checks, 309 generated hooks, and prior hidden GUI checks passed. Production artifacts are checked for disabled test hooks and relative Vulkan manifest paths.
Limits: this does not make native images or descriptor heaps pageable. Actual game recovery and FPS gains remain unverified. No changes to GPU clocks, power, fans, or running user applications.