Repository navigation
Releases: ayasa520/Vivid
Release list
v1.0.12
Vivid 1.0.12 lowers the KDE release package Qt requirement to 6.8 and adds GNOME Shell 51 support.
Changes in this release:
- Build KDE packages with Qt 6.8.3 and KScreen 6.3.6, and remove build-machine library paths from the packaged QML plugin.
- Support GNOME Shell 51.
- Improve sprite sizing and shared playback, text row limits, model morphing, bone opacity and static image crop handling.
- Support direct sound assets in scene creation.
- Disable SceneScript console output in release builds.
v1.0.11
Vivid 1.0.11 fixes scene appearance and wallpaper switching, with further scripting and media playback improvements.
Changes in this release:
- Preserve authored text colors at Ultra post-processing quality by respecting each scene's HDR and bloom settings.
- Reduce scene startup overhead and keep the previous GNOME wallpaper visible while its replacement loads. Removing a wallpaper still clears the output.
- Use the actual output dimensions during scene script initialization and resolve registered fonts correctly when scripts change the active font.
- Correct final effect geometry, placement and draw state when a material writes to a named render target, including text layout updates.
- Fix video texture completion callbacks, replay after stopping and stopped playback time. Improve sound-channel retirement.
- Correct particle angular damping and enabled bone-spring translation axes.
- Complete Vec2, Vec3 and Vec4 value operations, retain vector methods on material property readback, and propagate console argument-conversion errors correctly.
- Enable anisotropic sampling for interpolated file textures, correct Debug Vulkan diagnostic callbacks, and report pending DMA-BUF preparation as a wait.
Release builds continue to omit internal renderer INFO logs, golden capture entry points, frame-trace serialization and GPU profiling. Warnings, errors and wallpaper-authored console output remain available.
Known issues and verification limits:
- The reported AMD/GNOME black-screen issue #4 remains unresolved.
- The reported cursor-trail appearance discrepancy remains open.
- Runtime rendering validation covers the available NVIDIA GPU and the tested scenes. Other GPU/desktop combinations and some advanced scene configurations remain unverified.
v1.0.10
Vivid 1.0.10 improves scene playback, rendering and scripting, and separates development diagnostics from release builds.
Changes in this release:
- Reclaim in-flight frames correctly when stopping an output, and retain scene state across output changes.
- Resolve multisampled model depth correctly for volumetric lighting.
- Improve scene composition, effect destinations, text layout, model animation and script matrix operations.
- Refresh media thumbnails when their file contents change.
- Use explicit Debug and Release build profiles. Release scene builds omit internal renderer INFO logs, golden capture entry points, frame-trace serialization and GPU profiling. Debug retains the development tools. Warnings, errors, wallpaper-authored console output and essential process lifecycle messages remain available.
- Fix CEF wrapper compilation with the Flatpak SDK's compiler hardening settings.
Known issues and verification limits:
- The reported AMD/GNOME black-screen issue #4 remains unresolved. Playback validation for this release is limited to the available NVIDIA GPU and covered scenes; other GPU and desktop combinations remain unverified.
- File-texture anisotropic filtering is not enabled. The reported cursor-trail appearance issue remains open.
- Vulkan validation callback error handling still needs correction in Debug builds.
- Producer diagnostics can describe a temporary
NOT_READYbuffer state as preparation failure.
v1.0.8
Submit consumer shadow copies asynchronously so UI threads never wait on the GPU.
Copies wait for acquire on-device, attach their completion fence to the producer release syncobj, and drain only when tearing down a generation.
v1.0.7
Vivid 1.0.7
Highlights:
- Wallpapers no longer stay black on AMD GPUs whose drivers advertise DCC (multi-plane) DMA-BUF modifiers; the GNOME consumer used to reject every such buffer (#4).
- DMA-BUF negotiation now recovers by itself when a display consumer rejects a buffer pool, instead of requiring several wallpaper switches.
- Lower frame-publish latency: renderer relays are event-driven and NVIDIA video uploads no longer stall the GPU queue every frame.
- Scene renderer: interactive 3D perspective scenes, restored skinned models, particle overrides and cascade shadows, plus many fidelity fixes against Wallpaper Engine.
Display pipeline and DMA-BUF:
- GNOME consumer: identify DMA-BUF planes by device/inode instead of fd index, so non-disjoint multi-plane modifiers (AMD DCC) import through the Vulkan shadow relay.
- Producer: when a consumer reports BIND_FAILED for a renderer-owned pool, quiesce that worker and renegotiate against the updated modifier blacklist instead of blacklisting every remaining modifier and giving up with NO_DMABUF_SCHEME.
- Producer: a renderer worker that fails after publishing its buffers now releases that pool, so the next wallpaper no longer hangs in negotiation.
- Validate the exact fourcc/modifier/plane-count/usage tuple before creating export images in the video and web Vulkan backends, and stop advertising LINEAR capabilities the selected GPU cannot actually create.
Performance:
- Shared event-driven frame pump for scene, video and web workers: paused workers sleep instead of polling, and new frames wake the relay immediately.
- NVIDIA video path: CUDA<->Vulkan timeline semaphores, per-slot command buffers/fences and exported SYNC_FD acquire fences replace the per-frame cuStreamSynchronize and vkQueueWaitIdle.
- VA-API video path: copy decoded frames with vkCmdCopyImage when they match the export slot exactly.
- Scene renderer publishes offscreen frames without a per-frame CPU fence wait.
Scene renderer:
- Support interactive 3D perspective scenes (for example the solar system wallpaper).
- Restore skinned models, particle overrides and directional cascade shadows.
- Align layer visibility and render-target identity with Wallpaper Engine; defer the MSAA model-depth resolve.
- Keep pointer uniforms independent of camera-parallax delay; keep vertex-mode distortions and text effect finals in scene space.
- Fix padded spritesheet texture metadata and keep sprite image-card UVs in frame-local space.
- Give each particle instance its own emit runtime.
- Log a bounded first-frame stage trace after each render graph compile so worker crashes can be attributed to a specific render pass from the log.
- Internal: authored layer identity now lives on SceneObject, and the scene parser and script host are split into smaller units.
Tooling and documentation:
- Add a Chinese README and release installation instructions.
- Add golden-frame acceptance tooling and make
tools/vivid.sh testrun real tests; restore the standalone scene capture library and allow selecting its FPS. - Fix release metadata and notes publishing in the release workflow.
v1.0.6
Vivid 1.0.6
Highlights:
- Add the layer-shell wallpaper consumer for wlroots compositors and niri.
- Add automatic x86_64 and aarch64 release builds for Flatpak, GNOME, KDE, and layer-shell consumers.
- Improve DMA-BUF negotiation and deduplicate GPU discovery.
- Fix media cover transitions and hot updates.
v1.0.5
-
Added official-compatible graphics quality controls, including a Low/Medium/High/Ultra preset that applies Wallpaper Engine 2.8.42 reflection, volumetric, shadow, post-processing, MSAA, and texture-resolution bundles without changing FPS.
-
Added independent settings for Reflections, Volumetric lighting, Shadows, Post-processing, Anti-aliasing (MSAA x2/x4/x8), and Texture resolution (High Quality / High Performance / Automatic).
-
Aligned rain and snow particle motion, particle audio/turbulence, and 2D camera shake with Wallpaper Engine.
-
Restored the omitted particle emitter rate default so Rainy Day droplets emit again.
-
Disabled MSAA on 2D-only scenes to avoid hairline cracks.
-
Restored hardware video decoding for scene video textures and direct video wallpapers (NVIDIA nvcodec and VA).
-
Fixed audio-responsive text layers reallocating and removing particles underneath the text.
Notably fixes:2805838493. -
Added mdl v23 loading and reduced GPU staging growth on large models.
-
Scene, video, and web renderers now run in separate processes.
-
Fixed the GNOME display helper failing to load on hosts with older GIRepository, which prevented wallpapers from applying.
v1.0.4
-
Refactored the particle rendering pipeline and corrected topology, trail sampling, and randomized colors for Sprite,
Trail, Rope, and Rope Trail renderers. -
Fixed runtime particle color, size, and rate updates.
-
Fixed output resolution and cursor projection for effects such as Scroll and X-Ray.
-
Improved Puppet geometry, masks, attachment points, and parallax calculations, reducing clipping, misalignment, and
duplicated parallax. -
Unified per-frame Puppet pose snapshots so rendering passes and scripts use consistent animation state.
-
Completed render-target sampling, filtering, wrapping, and mipmap state handling.
-
Fixed text layout, cropping, glyph offsets, and font-size conversion.
-
Completed MDLA v3–v6 animation record and authored-bounds parsing, improving compatibility with complex models and
animations.
v1.0.3
-
Fixed audio curve and spectrum sampling to use the actual output sample rate and better match Wallpaper Engine’s frequency mapping, smoothing, and update cadence.
Affects all audio-reactive wallpapers. -
Fixed offscreen compositing and color blending in complex scenes, including
copybackground, effect chains, alpha handling, and final output ordering. This prevents duplicated background blending, brightness/color issues, and incorrect effect-layer output.
Notably fixes:2805838493. -
Improved Puppet model mask and clipping rendering, including masked-layer draw order.
-
Fixed parallax-depth defaults and hierarchy inheritance. Attached layers and effect final-composite layers now receive camera offset exactly once, with mouse-parallax delay behavior aligned to Wallpaper Engine.
Notably fixes:3363252053. -
Improved rendering timing, particle execution, and video texture handling for better fidelity and stability in complex scenes.