Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

The performance/responsiveness of EGL apps is broken on the sway with the lastest wlroots #1955

Closed
kchibisov opened this issue Dec 20, 2019 · 4 comments · Fixed by #1956
Closed
Labels

Comments

@kchibisov
Copy link
Contributor

After 515679e some OpenGL/EGL apps are barely usable(e.g. alacritty). Alacritty performance degraded by ~25%(on our benchmarks) by the commit I've mentioned, input became jerky and so on. Firefox on Wayland also seems to be affected. Now it start's like 5-10+ seconds to just open a window and also feels very slow.

cc @emersion ?

@emersion
Copy link
Member

Your bug report is missing debug logs. Please add a link to the full debug log file.

@kchibisov
Copy link
Contributor Author

From broken commit: broken_sway.log

From the one before it: good_sway.log

@ghost
Copy link

ghost commented Dec 20, 2019

Same here,
Seen before with @emersion :

DMA-BUF import extension not present
early eglGetString(EGL_EXTENSIONS) doesnt advertise everything

emersion added a commit to emersion/wlroots that referenced this issue Dec 20, 2019
Some extensions are only advertised by the EGL implementation with a
non-zero EGLDisplay. That's the case when the extension can only be
enabled when the hardware/driver supports it for instance.

Instead of checking for all extensions without a display, check only for
EGL_EXT_platform_base and EGL_KHR_debug which are used before
eglGetDisplay. Check for all other extensions when we have a display.

Closes: swaywm#1955
@emersion
Copy link
Member

Thanks for reporting this issue. Can you try #1956?

@emersion emersion added the bug label Dec 20, 2019
emersion added a commit to emersion/wlroots that referenced this issue Dec 21, 2019
Some extensions are only advertised by the EGL implementation with a
non-zero EGLDisplay. That's the case when the extension can only be
enabled when the hardware/driver supports it for instance.

Instead of checking for all extensions without a display, check only for
EGL_EXT_platform_base and EGL_KHR_debug which are used before
eglGetDisplay. Check for all other extensions when we have a display.

Closes: swaywm#1955
ddevault pushed a commit that referenced this issue Dec 21, 2019
Some extensions are only advertised by the EGL implementation with a
non-zero EGLDisplay. That's the case when the extension can only be
enabled when the hardware/driver supports it for instance.

Instead of checking for all extensions without a display, check only for
EGL_EXT_platform_base and EGL_KHR_debug which are used before
eglGetDisplay. Check for all other extensions when we have a display.

Closes: #1955
filips pushed a commit to filips/wlroots that referenced this issue Mar 15, 2020
Some extensions are only advertised by the EGL implementation with a
non-zero EGLDisplay. That's the case when the extension can only be
enabled when the hardware/driver supports it for instance.

Instead of checking for all extensions without a display, check only for
EGL_EXT_platform_base and EGL_KHR_debug which are used before
eglGetDisplay. Check for all other extensions when we have a display.

Closes: swaywm#1955
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development

Successfully merging a pull request may close this issue.

2 participants