Bug 521742 - Severe lag and stuttering on specific websites after updating KWin to 6.7.0
Summary: Severe lag and stuttering on specific websites after updating KWin to 6.7.0
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.7.0
Platform: CachyOS Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
: 522133 522735 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-06-19 11:15 UTC by Forsan
Modified: 2026-08-04 15:43 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.7.3
Sentry Crash Report:


Attachments
eglinfo output (164.34 KB, text/plain)
2026-06-23 16:47 UTC, Forsan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Forsan 2026-06-19 11:15:26 UTC
Description:
After updating my system, I am experiencing severe performance degradation, lagging, and heavy stuttering when trying to browse specific websites, such as dashboard/canvas-heavy pages (e.g., https://inquisitio.netlify.app/).

The issue is highly reproducible and completely breaks the usability of the affected web pages under the new KWin version.

Steps to reproduce:
Log into a Plasma 6.7.0 Wayland session on a machine with Ivy Bridge Intel integrated graphics (HD 4000).

Open any modern web browser (tested with Chromium/Firefox).

Navigate to https://inquisitio.netlify.app/

Attempt to scroll or interact with the page.

Actual Results:
The website lags massively, stuttering constantly and dropping frames to an unusable level.

Expected Results:
The website should render and scroll smoothly at full refresh rate, as it did on previous versions.

Additional Information & Workaround:
Downgrading only the kwin package from 6.7.0-1 back to 6.6.5-3 completely resolves the issue, confirming that the regression is introduced in the latest KWin release.

The system is fully updated on CachyOS running Linux Kernel 7.0.11.

System Information (Fastfetch):
OS: CachyOS x86_64
Host: 2356BQ5 (ThinkPad T430s)
Kernel: Linux 7.0.11-1-cachyos
Shell: bash 5.3.15
DE: KDE Plasma 6.7.0
WM: KWin (Wayland)
WM Theme: Breeze
CPU: Intel(R) Core(TM) i5-3320M (4) @ 3.30 GHz
GPU: Intel HD Graphics 4000 @ 1.20 GHz [Integrated]
Memory: 2.28 GiB / 7.57 GiB (30%)
Locale: hu_HU.UTF-8
Comment 1 Zamundaaa 2026-06-19 13:22:17 UTC
If you add
KWIN_USE_OVERLAYS=0
in /etc/environment and reboot, does that fix it?
Comment 2 Forsan 2026-06-19 14:00:19 UTC
(In reply to Zamundaaa from comment #1)
> If you add
> KWIN_USE_OVERLAYS=0
> in /etc/environment and reboot, does that fix it?

Dear Zamundaaa!
No, the error is still there.
Comment 3 Forsan 2026-06-19 18:05:41 UTC
I did a little more research and it seems that the new version of kwin is not the only one causing this error:

The spectacle package is also affected, with the new kwin it does not start at all and closes with an error message, even with debugger switches I was unable to get a meaningful error message, so I could not pinpoint the error.

plasmashell is also affected, here the previews do not appear using the new kwin version.
Comment 4 Zamundaaa 2026-06-22 22:10:22 UTC
That sounds like there's more problems.

Please attach the output of
> wayland-info
> eglinfo
and
> journalctl --user-unit plasma-kwin_wayland --boot 0
Comment 5 Forsan 2026-06-23 16:47:03 UTC
Created attachment 193605 [details]
eglinfo output
Comment 6 Forsan 2026-06-23 16:47:16 UTC
(In reply to Zamundaaa from comment #4)
> That sounds like there's more problems.
> 
> Please attach the output of
> > wayland-info
> > eglinfo
> and
> > journalctl --user-unit plasma-kwin_wayland --boot 0

Yes, that's more problems.

The requested outputs are:

> wayland-info
interface: 'wl_compositor',                              version:  6, name:  1
interface: 'zwp_tablet_manager_v2',                      version:  2, name:  3
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1',  version:  1, name:  4
interface: 'xdg_session_manager_v1',                     version:  1, name:  5
interface: 'zxdg_decoration_manager_v1',                 version:  2, name:  6
interface: 'wp_viewporter',                              version:  1, name:  7
interface: 'wp_security_context_manager_v1',             version:  1, name:  8
interface: 'wp_fractional_scale_manager_v1',             version:  1, name:  9
interface: 'wl_shm',                                     version:  2, name: 10
        formats (fourcc):
        0x34324752 = 'RG24'
        0x34324742 = 'BG24'
        0x38344258 = 'XB48'
        0x38344241 = 'AB48'
        0x30334258 = 'XB30'
        0x30334241 = 'AB30'
        0x30335258 = 'XR30'
        0x30335241 = 'AR30'
        0x56555958 = 'XYUV'
                 1 = 'XR24'
                 0 = 'AR24'
interface: 'wl_seat',                                    version: 10, name: 11
        name: seat0
        capabilities: pointer keyboard
        keyboard repeat rate: 25
        keyboard repeat delay: 600
interface: 'zwp_pointer_gestures_v1',                    version:  3, name: 12
interface: 'zwp_pointer_constraints_v1',                 version:  1, name: 13
interface: 'zwp_relative_pointer_manager_v1',            version:  1, name: 14
interface: 'wl_data_device_manager',                     version:  3, name: 15
interface: 'ext_data_control_manager_v1',                version:  1, name: 16
interface: 'wp_cursor_shape_manager_v1',                 version:  2, name: 17
interface: 'zwp_primary_selection_device_manager_v1',    version:  1, name: 18
interface: 'org_kde_kwin_idle',                          version:  1, name: 19
interface: 'zwp_idle_inhibit_manager_v1',                version:  1, name: 20
interface: 'ext_idle_notifier_v1',                       version:  2, name: 21
interface: 'org_kde_plasma_shell',                       version:  8, name: 22
interface: 'org_kde_kwin_appmenu_manager',               version:  2, name: 23
interface: 'org_kde_kwin_server_decoration_palette_manager', version:  1, name: 24
interface: 'org_kde_plasma_virtual_desktop_management',  version:  4, name: 26
interface: 'org_kde_kwin_shadow_manager',                version:  2, name: 28
interface: 'org_kde_kwin_dpms_manager',                  version:  1, name: 29
interface: 'org_kde_kwin_server_decoration_manager',     version:  1, name: 30
interface: 'kde_output_management_v2',                   version: 21, name: 31
interface: 'kde_output_device_registry_v2',              version: 23, name: 32
interface: 'zxdg_output_manager_v1',                     version:  3, name: 33
        xdg_output_v1
                output: 64
                name: 'LVDS-1'
                description: 'Beépített képernyő'
                logical_x: 0, logical_y: 0
                logical_width: 1366, logical_height: 768
interface: 'wl_subcompositor',                           version:  1, name: 34
interface: 'zxdg_exporter_v2',                           version:  1, name: 35
interface: 'zxdg_importer_v2',                           version:  1, name: 36
interface: 'zwp_input_method_v1',                        version:  1, name: 37
interface: 'xdg_activation_v1',                          version:  1, name: 39
interface: 'wp_content_type_manager_v1',                 version:  1, name: 41
interface: 'wp_tearing_control_manager_v1',              version:  1, name: 42
interface: 'xdg_toplevel_drag_manager_v1',               version:  1, name: 43
interface: 'xdg_toplevel_icon_manager_v1',               version:  1, name: 44
interface: 'kde_screen_edge_manager_v1',                 version:  1, name: 45
interface: 'frog_color_management_factory_v1',           version:  1, name: 46
interface: 'wp_presentation',                            version:  2, name: 47
        presentation clock id: 1 (CLOCK_MONOTONIC)
interface: 'wp_color_manager_v1',                        version:  2, name: 48
        supported rendering intents:
                perceptual
                relative
                absolute
                relative_bpc
        supported features:
                parametric
                extended_target_volume
                set_mastering_display_primaries
                set_primaries
                set_luminances
                windows_scrgb
        supported named transfer functions:
                gamma22
                st2084_pq
                ext_linear
                bt1886
        supported named primaries:
                srgb
                pal_m
                pal
                ntsc
                generic_film
                bt2020
                cie1931_xyz
                dci_p3
                display_p3
                adobe_rgb
        output: 64
                image description id: 8
                primaries (xy):
                         red: 0.640000 0.330000 green: 0.300000 0.600000
                        blue: 0.150000 0.060000 white: 0.312700 0.329000
                primaries_named: srgb
                tf_named: gamma22
                luminances (cd/m²): min 0.0100 max 200 reference 200
                target primaries (xy):
                         red: 0.640000 0.330000 green: 0.300000 0.600000
                        blue: 0.150000 0.060000 white: 0.312700 0.329000
                target_luminances (cd/m²): min 0.0100 max 200
                max_cll (cd/m²): 200
                max_fall (cd/m²): 200
interface: 'xdg_wm_dialog_v1',                           version:  1, name: 49
interface: 'kde_external_brightness_v1',                 version:  3, name: 50
interface: 'wp_alpha_modifier_v1',                       version:  1, name: 51
interface: 'wl_fixes',                                   version:  1, name: 52
interface: 'wp_fifo_manager_v1',                         version:  1, name: 53
interface: 'wp_single_pixel_buffer_manager_v1',          version:  1, name: 54
interface: 'xdg_toplevel_tag_manager_v1',                version:  1, name: 55
interface: 'wp_color_representation_manager_v1',         version:  1, name: 56
        supported alpha modes:
                premultiplied alpha in electrical values
        supported matrix coefficients and ranges:
                identity, full range
                bt601, limited range
                bt601, full range
                bt709, limited range
                bt709, full range
                bt2020, limited range
                bt2020, full range
interface: 'wp_pointer_warp_v1',                         version:  1, name: 57
interface: 'ext_background_effect_manager_v1',           version:  1, name: 58
interface: 'zwp_input_panel_v1',                         version:  1, name: 60
interface: 'xdg_wm_base',                                version:  6, name: 61
interface: 'zwlr_layer_shell_v1',                        version:  5, name: 62
interface: 'org_kde_kwin_keystate',                      version:  5, name: 63
interface: 'wl_output',                                  version:  4, name: 64
        name: LVDS-1
        description: Beépített képernyő
        x: 0, y: 0, scale: 1,
        physical_width: 309 mm, physical_height: 173 mm,
        make: 'AU Optronics', model: 'LVDS-1-0x313C',
        subpixel_orientation: horizontal rgb, output_transform: normal,
        mode:
                width: 1366 px, height: 768 px, refresh: 60.098 Hz,
                flags: current
interface: 'wp_drm_lease_device_v1',                     version:  1, name: 65
        path: /dev/dri/card1
interface: 'kde_output_order_v1',                        version:  1, name: 66
interface: 'zwp_text_input_manager_v2',                  version:  1, name: 67
interface: 'zwp_text_input_manager_v3',                  version:  2, name: 68


> eglinfo
(attached as a file due to large size)

> journalctl --user-unit plasma-kwin_wayland --boot 0
jún 23 18:35:31 pc systemd[781]: Starting KDE Wayland Compositor...
jún 23 18:35:31 pc systemd[781]: Started KDE Wayland Compositor.
jún 23 18:35:32 pc kwin_wayland_wrapper[864]: MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
jún 23 18:35:32 pc kwin_wayland[864]: No backend specified, automatically choosing drm
jún 23 18:35:32 pc kwin_wayland[864]: Create Context failed "EGL_BAD_ALLOC"
jún 23 18:35:32 pc kwin_wayland[864]: Could not initialize rendering context
jún 23 18:35:32 pc kwin_wayland[864]: XKB: Multiple definitions of group 0 name in map 'basic'; Using 'Hungar>
jún 23 18:35:32 pc kwin_wayland_wrapper[914]: Xwayland glamor: GBM Wayland interfaces not available
jún 23 18:35:32 pc kwin_wayland_wrapper[914]: Failed to initialize glamor, falling back to sw
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: The XKEYBOARD keymap compiler (xkbcomp) reports:
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Multiple symbols for level 1/group 1 on key>
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: >                   Using F23, ignoring XF86TouchpadOff
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Symbol map for key <FK23> redefined
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: >                   Using last definition for conflicting fields
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Symbol map for key <FK24> redefined
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: >                   Using last definition for conflicting fields
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Could not resolve keysym XF86ElectronicPriv>
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Could not resolve keysym XF86ElectronicPriv>
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Could not resolve keysym XF86ActionOnSelect>
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Could not resolve keysym XF86ContextualInse>
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: > Warning:          Could not resolve keysym XF86ContextualQuery
jún 23 18:35:32 pc kwin_wayland_wrapper[917]: Errors from xkbcomp are not fatal to the X server
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: The XKEYBOARD keymap compiler (xkbcomp) reports:
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: > Warning:          Unsupported maximum keycode 709, clipping.
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: >                   X11 cannot support keycodes above 255.
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: > Warning:          Virtual modifier Hyper multiply defined
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: >                   Using 0, ignoring 0
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: > Warning:          Virtual modifier ScrollLock multiply defined
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: >                   Using 0, ignoring 0
jún 23 18:35:32 pc kwin_wayland_wrapper[923]: Errors from xkbcomp are not fatal to the X server
Comment 7 Zamundaaa 2026-06-26 14:44:40 UTC
Alright, this bit makes a lot of sense, KWin fails to create an OpenGL context and falls back to a software renderer.
> jún 23 18:35:32 pc kwin_wayland[864]: Create Context failed "EGL_BAD_ALLOC"
> jún 23 18:35:32 pc kwin_wayland[864]: Could not initialize rendering context

What still doesn't make sense to me is why that would fail specifically with 6.7, the context creation code didn't really change. The error code is also weird, documentation doesn't even mention it for eglCreateContext, and all I could find is a fixed Mesa issue from like a year ago.

Did you install any other updates at the same time? What version of Mesa is your system on?
If you downgrade KWin to 6.5.5 again, does that help?
Comment 8 Forsan 2026-06-28 09:25:38 UTC
yes, but the problem was solved only by downgrading kwin. Downgrading kwin to version 6.6.5 completely solves the problem. The system is running mesa version 3:26.1.2-1.
Comment 9 Forsan 2026-06-28 11:01:36 UTC
I dug a little deeper:
I enabled deep EGL logging (EGL_LOG_LEVEL=debug), and the root cause becomes very clear.

kwin_wayland fails during eglCreateContext because it passes an attribute that the driver rejects. Specifically, it fails with EGL_BAD_ATTRIBUTE on attribute 0x30fc (which maps to EGL_CONTEXT_FLAGS_KHR).

It appears KWin is enforcing context flags (likely for robustness or debug access) that the older Gen7 Intel driver does not support or strictly rejects in this specific configuration, causing the fallback loop to fail with EGL_BAD_MATCH and ultimately bubble up as a fatal EGL_BAD_ALLOC.

Relevant journalctl output with EGL_LOG_LEVEL=debug:
> kwin_wayland_wrapper[913]: libEGL debug: bad context attribute 0x30fc
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3004 (EGL_BAD_ATTRIBUTE) in eglCreateContext
> kwin_wayland_wrapper[913]: libEGL debug: bad context attribute 0x30fc
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3004 (EGL_BAD_ATTRIBUTE) in eglCreateContext
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3009 (EGL_BAD_MATCH) in eglCreateContext: dri2_create_context
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3009 (EGL_BAD_MATCH) in eglCreateContext: dri2_create_context
> kwin_wayland_wrapper[913]: libEGL debug: bad context attribute 0x30fc
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3004 (EGL_BAD_ATTRIBUTE) in eglCreateContext
> kwin_wayland_wrapper[913]: libEGL debug: bad context attribute 0x30fc
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3004 (EGL_BAD_ATTRIBUTE) in eglCreateContext
> kwin_wayland_wrapper[913]: libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in eglCreateContext: dri2_create_context
> kwin_wayland[913]: Create Context failed "EGL_BAD_ALLOC"
> kwin_wayland[913]: Could not initialize rendering context

Although I'm not 100% sure about this, I hope this helps you understand the error a little.
Comment 10 Zamundaaa 2026-06-29 13:35:13 UTC
Yes, that's very helpful. I still can't quite explain it though, that code hasn't changed in quite some time.
My best guess is that KWin requests desktop OpenGL, but it somehow ends up using OpenGL ES, for which different flags are valid.

Can you add
KWIN_COMPOSE=O2ES
to /etc/environment and reboot? Does
> wayland-info | grep linux_dmabuf
print anything after that?

If yes, remove it again and add
KWIN_DISABLE_VULKAN=1
instead, does it still work then?
Comment 11 Zamundaaa 2026-06-29 15:22:40 UTC
*** Bug 522133 has been marked as a duplicate of this bug. ***
Comment 12 Forsan 2026-06-30 07:15:56 UTC
Adding either of the two environment variables listed will resolve the issue.
Also, after adding both variables, the output of
> wayland-info | grep linux_dmabuf 
is the same:

> interface: 'zwp_linux_dmabuf_v1', version: 5, name: 60
Comment 13 Bug Janitor Service 2026-07-09 16:05:25 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9569
Comment 14 Bug Janitor Service 2026-07-09 16:10:44 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9570
Comment 15 Zamundaaa 2026-07-12 23:41:07 UTC
*** Bug 522988 has been marked as a duplicate of this bug. ***
Comment 16 Zamundaaa 2026-07-13 13:47:20 UTC
Git commit 3f0096457e6ade8f700b252d760fe4d39de88058 by Xaver Hugl.
Committed on 13/07/2026 at 12:46.
Pushed by zamundaaa into branch 'Plasma/6.7'.

opengl/eglcontext: always bind the desired EGL API before context creation

Loading Vulkan drivers can change / reset the current EGL API in some cases,
which in turn changes the valid parameters for eglCreateContext and can make
context creation fail.

M  +10   -1    src/opengl/eglcontext.cpp

https://invent.kde.org/plasma/kwin/-/commit/3f0096457e6ade8f700b252d760fe4d39de88058
Comment 17 Zamundaaa 2026-07-13 14:44:14 UTC
Git commit 3e37e7d6f5254010d289a90fb7730ebf822af838 by Xaver Hugl.
Committed on 13/07/2026 at 13:03.
Pushed by zamundaaa into branch 'master'.

opengl/eglcontext: always bind OpenGL ES right before context creation

Loading Vulkan drivers can change / reset the current EGL API in some cases,
which in turn changes the valid parameters for eglCreateContext and can make
context creation fail.

This shouldn't have any effect in practice, since the default EGL API is OpenGL
ES and that's the only API we use now, but it's better to be safe than sorry.

M  +8    -0    src/opengl/eglcontext.cpp

https://invent.kde.org/plasma/kwin/-/commit/3e37e7d6f5254010d289a90fb7730ebf822af838
Comment 18 Zamundaaa 2026-08-04 15:43:53 UTC
*** Bug 522735 has been marked as a duplicate of this bug. ***