Skip to content

Releases: ayasa520/Vivid

v1.0.12

Choose a tag to compare

@github-actions github-actions released this 13 Oct 02:11
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

Choose a tag to compare

@github-actions github-actions released this 27 Sep 08:54

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

Choose a tag to compare

@github-actions github-actions released this 25 Sep 21:35

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_READY buffer state as preparation failure.

v1.0.8

Choose a tag to compare

@github-actions github-actions released this 03 Sep 17:26
v1.0.8
f0772d7

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

v1.0.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Sep 04:25
v1.0.7
03d4461

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 test run 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

Choose a tag to compare

@ayasa520 ayasa520 released this 22 Aug 06:52
v1.0.6
f93fbd4

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

Choose a tag to compare

@ayasa520 ayasa520 released this 19 Aug 07:20
63f5d05
  • 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

Choose a tag to compare

@ayasa520 ayasa520 released this 08 Aug 17:34
4f9ed47
  • 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

Choose a tag to compare

@ayasa520 ayasa520 released this 05 Aug 04:23
97c3f15
  • 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.

v1.0.2

Choose a tag to compare

@ayasa520 ayasa520 released this 30 Jul 12:27
9c31634
update install_webui.sh