hyprwm / hyprpaper

Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.
https://wiki.hyprland.org/Hypr-Ecosystem/hyprpaper/
BSD 3-Clause "New" or "Revised" License
773 stars 54 forks source link

Hyprpaper segfaults while setting wallpaper #51

Closed Fjorge0 closed 1 year ago

Fjorge0 commented 1 year ago

Software Versions

wallpaper = ,~/.config/hypr/wallpapers/forest-with-river.jpg

Running `coredumpctl gdb hyprpaper` and then `bt` within the gdb prompt gives me:
```gdb
#0  0x0000561cbf28b229 in CHyprpaper::renderWallpaperForMonitor(SMonitor*) ()
#1  0x0000561cbf28ca03 in CHyprpaper::tick(bool) ()
#2  0x00007f1891cc94f6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#3  0x00007f1891cc5f5e in ffi_call_int
    (cif=cif@entry=0x7ffc0a886ce0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#4  0x00007f1891cc8b73 in ffi_call (cif=cif@entry=0x7ffc0a886ce0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffc0a886db0)
    at ../src/x86/ffi64.c:710
#5  0x00007f18922a9645 in wl_closure_invoke (closure=closure@entry=0x561cc0127d50, target=<optimized out>, 
    target@entry=0x561cc01278c0, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../wayland-1.21.0/src/connection.c:1025
#6  0x00007f18922a9e03 in dispatch_event (display=display@entry=0x561cc0121190, queue=0x561cc0121260) at ../wayland-1.21.0/src/wayland-client.c:1595
#7  0x00007f18922a9ffc in dispatch_queue (queue=0x561cc0121260, display=0x561cc0121190) at ../wayland-1.21.0/src/wayland-client.c:1741
#8  wl_display_dispatch_queue_pending (display=0x561cc0121190, queue=0x561cc0121260) at ../wayland-1.21.0/src/wayland-client.c:1983
#9  0x0000561cbf28cd06 in CHyprpaper::init() ()
#10 0x0000561cbf286db9 in main ()

Additional Information

https://github.com/swaywm/swaybg works perfectly fine.

Fxzzi commented 1 year ago

This seems to only happen with decimal scaling values like you are using (1.4). I use 1.333 so that my 1440p monitor is the same scale as my 1080p one but alas I experience the same issue.

vaxerski commented 1 year ago

Thought that was fixed. Odd.

Fjorge0 commented 1 year ago

This seems to only happen with decimal scaling values like you are using (1.4). I use 1.333 so that my 1440p monitor is the same scale as my 1080p one but alas I experience the same issue.

I tried it and you seem to be right, except for some reason it works with a scaling value of 1.5 as well. It doesn't seem to work with other *.5 values though. Sucks for me since I have a HiDPI display and I find 1.5 to be too big for me.

LrsChrSch commented 1 year ago

Have the same issue on a 4k monitor with a scaling of 1.6 1.5 works fine, my other FullHD monitor with a scaling of 1 also doesn't have any problems.

So not adding anything new here, this is just a little push at best :]

emsbro100 commented 1 year ago

Can confirm I'm having the same issue on a 1440p monitor with scaling of 1.33.

alerque commented 1 year ago

Also can confirm, displays scaled at 1 work all the time, and some other scalings work some of the time. Some always cause segfaults.

Fxzzi commented 1 year ago

I've since switched to swaybg and everything is working gr8

vaxerski commented 1 year ago

fixed in 756fccfc53af80254f21db119d833b1caf9b7221