Skip to content

Crashing Reliably After 12-15 Hours #412

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
i686-underflow opened this issue Apr 13, 2025 · 1 comment
Closed

Crashing Reliably After 12-15 Hours #412

i686-underflow opened this issue Apr 13, 2025 · 1 comment

Comments

@i686-underflow
Copy link

i686-underflow commented Apr 13, 2025

Hello! 😁

Title says it all! Using the following, swww "crashes" reliably (~100%) after approx. 12-15 hours of uptime (no sleep/hibernate/logging out/etc.):

swww img -t random --transition-fps $FPS --transition-step $STEP -o "$2" "$img"

What might be interesting to note is that the swww process itself does not seem to die and is visible in a process monitor. Similarly, after killing everything and restarting both scripts (1 for each monitor), the daemon is still recognized as being alive and it remembers its state (picking up from where it "left off"). Not sure how much of this is expected or not.

Edited to clarify that both displays are crashing in sync with each other.


Expected Behavior:

Wallpapers are displayed for as long the active session remains.

To Reproduce:

  • Build swww from latest(?) master

  • Configure displays in hyprland.conf as follows:

monitor = DP-1, [email protected], 0x0, 1
monitor = HDMI-A-2, [email protected], auto-left, 1, transform, 1
  • Start swww as follows:

in hyprland.conf:

exec-once = path/to/start.sh "path/to/pictures/" "DP-1"
exec-once = path/to/start.sh "path/to/pictures/" "HDMI-A-2"

where start.sh is as follows:

#!/usr/bin/env bash

# If swww-daemon doesn't exist, start it

if ! pidof -qx swww-daemon; then
    swww-daemon &
fi

# This script will randomly go through the files of a directory, setting it
# up as the wallpaper at regular intervals
#
# NOTE: this script is in bash (not posix shell), because the RANDOM variable
# we use is not defined in posix

if [[ $# -lt 1 ]] || [[ ! -d $1   ]]; then
    echo "Usage:
    $0 <dir containing images>"
    exit 1
fi

# Edit below to control the images transition
FPS=30
STEP=2

# This controls (in seconds) when to switch to the next image
INTERVAL=210

while true; do
    find "$1" -type f \
        | while read -r img; do
            echo "$((RANDOM % 1000)):$img"
        done \
        | sort -n | cut -d':' -f2- \
        | while read -r img; do
            swww img -t random --transition-fps $FPS --transition-step $STEP -o "$2" "$img"
            sleep $INTERVAL
        done
done

Environment:

  • OS: NixOS 24.11 (Vicuna) x86_64
  • SWWW Version: swww 0.9.5-masterV3
  • WM: Hyprland 0.45.2 (Wayland)
  • AMD64 Ryzen CPU + Discrete AMD graphics
  • Display: 2560x1440 (Landscape)
  • Display: 1920x1080 (Portrait)
@i686-underflow
Copy link
Author

Apologies for the delayed response! 😅

I'm very happy to report that I have been performing some burn-in tests over the past ~1 week since building rev b5eb33401be5264591021355c5661ef728e2f811 (some > 72 hours), and everything is super rock solid!

Tyvm! 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants