Skip to content
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

Not showing right background on all monitors; unresponsive, runs out of gpu memory with cosmic-bg not running #44

Closed
ids1024 opened this issue May 8, 2024 · 6 comments
Milestone

Comments

@ids1024
Copy link
Member

ids1024 commented May 8, 2024

I've noticed a weird slowness and crash, and it seems the issue was I didn't have cosmic-bg running...

Two issues here:

  • The way backgrounds are handled requires cosmic-bg to be running to have ~/.local/state/cosmic/com.system76.CosmicBackground in a correct state. Not necessarily a problem to require cosmic-bg, but it should probably be handled more gracefully?
  • The fact this causes a crash is presumably a iced_wgpu and/or wgpu issue, like Repeated drag-and-drop causes out-of-memory error in wgpu #40. But it's a weird thing to see...
    • gdb shows it's allocating wgpu buffers to upload image to the atlas. Not sure why caching isn't working, and only isn't working in this case?
    • buffer being leaked might be wgpu issue
@ids1024
Copy link
Member Author

ids1024 commented May 8, 2024

I'm also seeing this with the no-subsurfaces feature. Not sure what made this start happening. That used to work.

@ids1024
Copy link
Member Author

ids1024 commented May 8, 2024

iced-rs/iced#2425 sounds related.

@WatchMkr
Copy link

WatchMkr commented May 9, 2024

I noticed performance becomes really poor when wallpapers are set separately for each display.

@ids1024
Copy link
Member Author

ids1024 commented May 9, 2024

Yeah, I think that's the same issue. When I saw this, one output had the right background. I guess I hadn't had external monitors connected when I last ran cosmic-bg at the time.

Probably if we apply iced-rs/iced#2425 and resolve conflicts (or update our Iced) it will fixed it.

If the same image is used for all monitors, it's fine. But otherwise, it's being evicted from the cache when the next monitor is rendered. So it has to uploaded to GPU every frame.

The fact I saw this running out of GPU memory, though, suggests wgpu or iced_wgpu is also leaking buffers somewhere...

@WatchMkr WatchMkr moved this to Alpha Bugs ToDo in COSMIC Epoch 1 May 25, 2024
@WatchMkr WatchMkr added this to the alpha 1 milestone May 25, 2024
@ids1024
Copy link
Member Author

ids1024 commented Jul 16, 2024

686f4e7 should mitigate this. A future update to Iced should address the underlying problem.

@ids1024
Copy link
Member Author

ids1024 commented Jul 26, 2024

Although we may want to improve how things are handled in the future, this specific issue should be resolved for now.

@ids1024 ids1024 closed this as completed Jul 26, 2024
@github-project-automation github-project-automation bot moved this from Alpha ToDo to Alpha 1 Complete in COSMIC Epoch 1 Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

No branches or pull requests

2 participants