Skip to content

NeoWall v0.5.2

Latest

Choose a tag to compare

@1ay1 1ay1 released this 14 Jul 21:19

NeoWall 0.5.2

GPU-accelerated live shader wallpapers for Wayland & X11.

Changes

  • release: neowall 0.5.2
  • wayland: gate config-load pointer bind on advertised seat capability
  • docs: describe the phase-locked pacer + damage-aware present pipeline
  • render: damage-aware presentation via eglSwapBuffersWithDamage
  • render: close the pacer loop with wp_presentation feedback
  • render: phase-lock the vsync-off frame pacer to real present times
  • terminal: upload only changed cell rows, not the whole grid
  • docs: document the terminal-as-wallpaper feature
  • terminal: answer DSR/DA queries so probing TUIs (btop) animate
  • terminal: render color emoji via dep-free CBDT/CBLC + sbix decoder
  • test(terminal): glyph_synth coverage + charset/cursor/OSC screen tests
  • perf(terminal): upload only the changed atlas rows, not the whole 2048x2048
  • feat(terminal): config keys for fonts, cwd, env, colours, font size
  • feat(terminal): keyboard input for terminal wallpapers (xkbcommon)
  • feat(terminal): OSC handler + DEC line-drawing charset
  • feat(terminal): glyph fallback chain, bold/italic faces, wide glyphs
  • feat(terminal): cursor visibility, child auto-restart, text attributes
  • feat(terminal): render braille as round dots with gaps, like a real font
  • fix(terminal): clamp atlas fetch to glyph interior — kills per-cell seams
  • perf(terminal): 3x supersampled glyph atlas for smooth (AA) text + graphs
  • feat(terminal): mouse input forwarding + procedural box/block/braille glyphs
  • fix(loop): keep terminal wallpapers animating (re-arm needs_redraw + frame timer)
  • fix(render): route WALLPAPER_TERMINAL through the shader render path
  • terminal-as-wallpaper: full GPU path — any TUI as the wallpaper
  • terminal: dynamic font-rasterized glyph atlas (stb_truetype, any font)
  • terminal: in-tree VT/xterm-class emulator core (PTY + parser + screen)
  • x11: let the window manager stack the wallpaper as the desktop
  • feat(wayland): implement wp_fractional_scale_v1 — render at true density (#62)
  • fix(span): make mixed/fractional-scale spanning exact, close the seam
  • feat: span one shader across every monitor in a group
  • fix(wayland): set initialized only once the registry is fully up, and guard re-entry
  • fix(wayland): track every output a toplevel is on, not just the last
  • fix(output): skip cycle entries whose shader fails to load
  • x11: apply the EWMH desktop hints that are already interned
  • fix(cli): bound the index parsed by neowall set <index>
  • font: anti-alias glyph edges (LINEAR atlas + fwidth smoothstep)
  • docs: document the "font" bitmap-atlas channel
  • font: add bitmap font atlas channel + GLSL text helpers

Packages

Pick the native package for your distro — each pulls in the right runtime deps.

Distro File Install
Arch / Manjaro neowall-*-x86_64.pkg.tar.zst sudo pacman -U <file>
Debian / Mint neowall_*_amd64.deb sudo apt install ./<file>
Ubuntu 24.04+ neowall_*-ubuntu24.04_amd64.deb sudo apt install ./<file>
Fedora / RHEL neowall-*.fc.x86_64.rpm sudo dnf install ./<file>
openSUSE neowall-*.suse.x86_64.rpm sudo zypper install ./<file>
Any (universal) neowall-*-x86_64.AppImage chmod +x <file> && ./<file>

Plain binaries (no package manager)

File Build
neowall-linux-x86_64-arch.tar.gz glibc (Arch)
neowall-linux-x86_64-debian.tar.gz glibc (Debian bookworm)
neowall-linux-x86_64-fedora.tar.gz glibc (Fedora)
neowall-0.5.2-source.tar.gz source
tar -xzf neowall-linux-x86_64-*.tar.gz
sudo install -m755 neowall /usr/local/bin/

Arch (AUR, tracks git)

yay -S neowall-git

From source

tar -xzf neowall-0.5.2-source.tar.gz
cd neowall-0.5.2
meson setup build --buildtype=release
ninja -C build
sudo ninja -C build install

Requirements

  • OpenGL 3.3+ capable GPU
  • Wayland compositor with layer-shell (Hyprland, Sway, River, …) or X11

Verify downloads against SHA256SUMS.txt.