swaywm / swaybg

Wallpaper tool for Wayland compositors
MIT License
490 stars 31 forks source link

High CPU usage with Wayfire #33

Closed demostanis closed 2 years ago

demostanis commented 2 years ago

image image Sometimes swaybg takes up to 100% of my CPU. It wasn't doing this with Wayfire 0.7.2. How may I debug this further?

emersion commented 2 years ago

Can you provide a WAYLAND_DEBUG=1 log of swaybg?

demostanis commented 2 years ago

swaybg.log Ran for 5 seconds, swaybg -i fill -m /usr/share/backgrounds/wallpaper.png >swaybg.log 2>&1

emersion commented 2 years ago

This sounds like a Wayfire bug. It just sends configure events in a loop even if we send a buffer with the correct size.


[3015824.997] zwlr_layer_surface_v1@11.configure(420, 1024, 768)
[3015825.012]  -> zwlr_layer_surface_v1@11.ack_configure(420)
[3016046.547]  -> wl_shm@4.create_pool(new id wl_shm_pool@14, fd 5, 3145728)
[3016046.579]  -> wl_shm_pool@14.create_buffer(new id wl_buffer@13, 0, 1024, 768, 4096, 0)
[3016046.607]  -> wl_shm_pool@14.destroy()
[3016108.772]  -> wl_surface@9.set_buffer_scale(1)
[3016108.802]  -> wl_surface@9.attach(wl_buffer@13, 0, 0)
[3016108.816]  -> wl_surface@9.damage_buffer(0, 0, 2147483647, 2147483647)
[3016108.834]  -> wl_surface@9.commit()
[3016108.839]  -> wl_buffer@13.destroy()
[3016114.966] wl_display@1.delete_id(12)
[3016114.990] wl_display@1.delete_id(10)
[3016114.997] zwlr_layer_surface_v1@11.configure(423, 1024, 768)
[3016115.012]  -> zwlr_layer_surface_v1@11.ack_configure(423)
[3016336.212]  -> wl_shm@4.create_pool(new id wl_shm_pool@10, fd 5, 3145728)
[3016336.244]  -> wl_shm_pool@10.create_buffer(new id wl_buffer@12, 0, 1024, 768, 4096, 0)
[3016336.271]  -> wl_shm_pool@10.destroy()
[3016398.487]  -> wl_surface@9.set_buffer_scale(1)
[3016398.515]  -> wl_surface@9.attach(wl_buffer@12, 0, 0)
[3016398.530]  -> wl_surface@9.damage_buffer(0, 0, 2147483647, 2147483647)
[3016398.547]  -> wl_surface@9.commit()
[3016398.553]  -> wl_buffer@12.destroy()
[3016405.002] wl_display@1.delete_id(14)
[3016405.028] wl_display@1.delete_id(13)
mfxbe commented 2 years ago

This issue is fixed in in the master branch of wayfire.