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

Rio frozen and unresponsive on Arch Linux Wayland (nvidia) #380

Closed
zackartz opened this issue Dec 12, 2023 · 18 comments
Closed

Rio frozen and unresponsive on Arch Linux Wayland (nvidia) #380

zackartz opened this issue Dec 12, 2023 · 18 comments

Comments

@zackartz
Copy link
Contributor

Hello!

I have been trying to get rio working on arch linux & hyprland with no luck. debug log here. If anyone knows what to do to fix this I would appreciate it!

@raphamorim
Copy link
Owner

Hey @zackartz thanks for the issue,
I suppose it renders but then get stuck right?

@zackartz
Copy link
Contributor Author

@raphamorim yeah, it renders one frame and gets stuck, i have done a little digging and i believe this is an upstream winit issue as their examples don't seem to be working for me, and lapce also behaves similarly

@zackartz
Copy link
Contributor Author

interestingly, neovide works fine, and uses the same winit version (0.29.4)

@raphamorim
Copy link
Owner

Hey @zackartz is this still happening in the 0.0.34?

@postsolar
Copy link

postsolar commented Jan 16, 2024

I have the same issue with Nix and Hyprland with an nvidia card, it renders the first prompt and doesn't respond to any inputs. Also closing the window doesn't work.

> rio --version
rioterm 0.0.34

@henriquekirchheck
Copy link

Same thing here in NixOS and Hyprland on Nvidia. I have some logs from the app when I ran it with RIO_LOG_LEVEL=debug

logs.txt

@raphamorim
Copy link
Owner

Thanks for all the debug data, looks the pty and sugarloaf didn't find any errors on initialization (at least based on what I saw from the logs). I also don't think is winit, otherwise the type of error would be another.

I have a question though, if you try to run from main with debug binary make dev and put a println! in the render function on screen, what it happens? is rio loop still running?

@zackartz
Copy link
Contributor Author

i added a println! on the render event in the main event loop, and it is only called once

@zackartz
Copy link
Contributor Author

adding a println! to the top of the event loop, logging each event, outputs this before freezing.
log.txt

@raphamorim
Copy link
Owner

Also closing the window doesn't work.

Hmm, it does look as it's some Winit problem tbh. Wondering if it was recent winit update that has caused this.

Looks this issue is similar to alacritty/alacritty#5174 and alacritty/alacritty#2453

@yofriadi
Copy link

I also experienced this with RiverWM, also it doesnt get resized when I try resize it.

@TitanNano
Copy link

I'm also experiencing this on Fedora 39. Both on master and on 0.0.x

@zackartz
Copy link
Contributor Author

zackartz commented Mar 21, 2024

Did some digging, looks like its stuck waiting to grab a new texture. This is the call that is stuck, nothing in either part of the match statement gets to run. Maybe a VSYNC related issue?

@johnghall
Copy link

Also experiencing this on Sway + nvidia

@zackartz
Copy link
Contributor Author

found it! This is a wgpu issue gfx-rs/wgpu/#4775, and while the issue is still open, if you change the Cargo.toml to pull wgpu from git the problem goes away.

@raphamorim
Copy link
Owner

wow, such a good finding! Is the fix in the main branch?

@postsolar
Copy link

I can confirm that the fix suggested by @zackartz works.
Input latency is very high though. I used the flake provided in this repo to build Rio.

@zackartz
Copy link
Contributor Author

zackartz commented Mar 24, 2024

@raphamorim i did some more testing, it looks like it works as long as wgpu is called from git, i tested the branch trunk, as well as tags from 1.19.3 to 1.18.2 (anything older wouldn't build) and they all perform about the same. I can also confirm the high input latency.

along with the input latency there are also some rendering errors
image (notice the differing indentations, and totally broken blur, config for reference). it is definitely a nvidia driver/wgpu vulkan problem though.

update: Using nvidia driver 550.67 (currently in beta) fixes everything! Use nvidia-beta if you are on Arch or config.boot.kernelPackages.nvidiaPackages.beta; if you are on NixOS!

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

No branches or pull requests

7 participants