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

Latency issues on Linux #17

Open
collin-kemper opened this issue Mar 30, 2022 · 11 comments
Open

Latency issues on Linux #17

collin-kemper opened this issue Mar 30, 2022 · 11 comments

Comments

@collin-kemper
Copy link

There are significant latency issues when calling detect on Arch Linux using i3. D-bus times out waiting for freedesktop to respond, which results in a 25 second latency.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 30, 2022

Do you have an XDG Desktop Portal implementation installed?

@collin-kemper
Copy link
Author

Yes, I have XDG Desktop Portal installed.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 31, 2022

xdg-desktop-portal doesn't do anything by itself; you need one of the backend implementations (xdg-desktop-portal-gtk or xdg-desktop-portal-kde).

@collin-kemper
Copy link
Author

collin-kemper commented Mar 31, 2022

I also have xdg-desktop-portal-gtk installed. I also installed xdg-desktop-portal-kde and this did not change the latency.

If it helps, I start i3 using xinit.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 31, 2022

I start i3 using xinit.

That's likely the problem. Normally when logging in with a display manager, systemd starts the xdg-desktop-portal service.

@collin-kemper
Copy link
Author

Is it possible to support graceful failure in the event of xdg-desktop-portal not being started? I'm not familiar enough with d-bus to know whether this is possible.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 31, 2022

zbus doesn't have a convenient API to set a maximum timeout, but it looks like that is possible.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 31, 2022

There is already a zbus issue for that.

@Be-ing
Copy link
Collaborator

Be-ing commented Mar 31, 2022

This could be alleviated by switching to an async API: #10 (review)

@zeenix
Copy link

zeenix commented Mar 31, 2022

zbus author here. 👋

This could be alleviated by switching to an async API: #10 (review)

Correct. Runtimes provide timeout API already and since the async API is the recommended one, the priority for adding this feature got lowered with 2.0 when we switched to async being the primary API in 2.0.

@collin-kemper
Copy link
Author

My vote would be for adding an async API. I briefly looked over the PR - is there a way I can contribute to it?

emilk added a commit to emilk/egui that referenced this issue Jun 9, 2022
dark-light has a nasty problem on Linux: frewsxcv/rust-dark-light#17

So we made dark-light opt-in in #1437

This PR makes dark-light a default dependency again,
but only use it on Max and Windows.

This is controlled with the new NativeOptions::follow_system_theme.
If this isn't enabled, then NativeOptions::default_theme is used.
emilk added a commit to emilk/egui that referenced this issue Jun 9, 2022
* Use dark-light on Mac and Windows

dark-light has a nasty problem on Linux: frewsxcv/rust-dark-light#17

So we made dark-light opt-in in #1437

This PR makes dark-light a default dependency again,
but only use it on Max and Windows.

This is controlled with the new NativeOptions::follow_system_theme.
If this isn't enabled, then NativeOptions::default_theme is used.

* Add eframe::WebOptions
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

3 participants