Package: release.debian.org Severity: normal Tags: trixie X-Debbugs-Cc: [email protected], [email protected] Control: affects -1 + src:xorg-server User: [email protected] Usertags: pu
Hi, a small cherry-pick please. [ Reason ] Fix for some old hardware, with some windowmanager: "Glamor: handle EXT_gpu_shader4 in dual source blend paths" [ Impact ] XServer crash unexpected. [ Effected old hardware ] Intel gen4/5 mainly (e.g. GMA4500MHD) ( with GLSL 1.20, which means OpenGL 2.1 ) [ Effected desktops enviroments ] Effected desktop enviroments (window-manager): MATE (Marco), LXDE (Openbox), Cinnamon Not effected desktop enviroments (short test): KDE Plasma, Gnome, Xfce, LXQT, Budgie, Lomiri [ Tests ] Tested using our my hardware (one affected, and one not affected) [ Risks ] Very simple patch. No / low risk: - Newer hardware is not effected. Will be skipped by version check. - Old hardware will already crash here. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [X] the issue is verified as fixed in unstable [ More Info ] Bug example (reproduceable): Changing the font size of a text in LibreOffice Write causes XServer to crash. Patch was merged to upstream-master in year 2023. Patch was backported to 21.1 line in year 2025 (version 21.1.19). Commits: https://gitlab.freedesktop.org/xorg/xserver/-/commit/86598739ba285045bc03778d43e25bb0886627f3 https://salsa.debian.org/xorg-team/xserver/xorg-server/-/commit/feb860014df0b8b1a4b1f8921843fb1cd77eeafc Merge-Request: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1066 Merge-Request (backport to 21.1): https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1636 Bug-Reports: https://gitlab.freedesktop.org/xorg/xserver/-/work_items/1336 https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1988438 With kind regard & thanks. 2387skju
diff -ruN xorg-server-21.1.16/debian/changelog xorg-server-21.1.16/debian/changelog --- xorg-server-21.1.16/debian/changelog 2026-10-03 09:23:42.000000000 +0200 +++ xorg-server-21.1.16/debian/changelog 2026-10-17 14:04:26.905876880 +0200 @@ -1,3 +1,9 @@ +xorg-server (2:21.1.16-1.3+deb13u5) trixie; urgency=medium + + * Glamor: handle EXT_gpu_shader4 in dual source blend paths + + -- 2387skju <[email protected]> Sat, 08 Nov 2026 10:43:43 +0200 + xorg-server (2:21.1.16-1.3+deb13u4) trixie-security; urgency=high * Non-maintainer upload by the Security Team. diff -ruN xorg-server-21.1.16/debian/patches/series xorg-server-21.1.16/debian/patches/series --- xorg-server-21.1.16/debian/patches/series 2026-10-03 09:23:42.000000000 +0200 +++ xorg-server-21.1.16/debian/patches/series 2026-10-11 22:02:57.325330684 +0200 @@ -35,3 +35,4 @@ glx-free-old-context-tag-before-allocating-new-one-i.patch fb-mi-glamor-reject-glyphs-with-negative-dimensions.patch glamor-reject-fonts-with-per-glyph-metrics-exceeding.patch +glamor-handle-EXT_gpu_shader4-in-dual-source-blend-paths.patch diff -ruN xorg-server-21.1.16/debian/patches/glamor-handle-EXT_gpu_shader4-in-dual-source-blend-paths.patch xorg-server-21.1.16/debian/patches/glamor-handle-EXT_gpu_shader4-in-dual-source-blend-paths.patch --- xorg-server-21.1.16/debian/patches/glamor-handle-EXT_gpu_shader4-in-dual-source-blend-paths.patch 1970-01-01 01:00:00.000000000 +0100 +++ xorg-server-21.1.16/debian/patches/glamor-handle-EXT_gpu_shader4-in-dual-source-blend-paths.patch 2026-10-17 13:52:50.626095981 +0200 @@ -0,0 +1,53 @@ +Description: glamor: handle EXT_gpu_shader4 in dual source blend paths +Fix a xserver-crash on old hardware with some window-managers. +Effected hardware: Intel gen4/5 mainly (e.g. GMA4500MHD) (with OpenGL 2.1 and GLSL 1.20) +Effected desktop enviroments (window-manager): MATE (Marco), LXDE (Openbox), Cinnamon +Not effected desktop enviroments (just short tested): KDE Plasma, Gnome, Xfce, LXQT, Budgie, Lomiri +Fixes: a9552868697c ("glamor: add EXT_gpu_shader4 support") +Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1636> +Origin: upstream, https://gitlab.freedesktop.org/xorg/xserver/-/commit/86598739ba285045bc03778d43e25bb0886627f3 +Bug: https://gitlab.freedesktop.org/xorg/xserver/-/work_items/1336 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1988438 +Applied-Upstream: Version 21.1.19 +--- +--- a/glamor/glamor_render.c ++++ b/glamor/glamor_render.c +@@ -61,7 +61,7 @@ + + #define RepeatFix 10 + static GLuint +-glamor_create_composite_fs(struct shader_key *key) ++glamor_create_composite_fs(glamor_screen_private *glamor_priv, struct shader_key *key) + { + const char *repeat_define = + "#define RepeatNone 0\n" +@@ -223,6 +223,8 @@ + "}\n"; + const char *header_ca_dual_blend = + "#version 130\n"; ++ const char *header_ca_dual_blend_gpu_shader4 = ++ "#version 120\n#extension GL_EXT_gpu_shader4 : require\n"; + + char *source; + const char *source_fetch; +@@ -292,7 +294,10 @@ + break; + case glamor_program_alpha_dual_blend: + in = in_ca_dual_blend; +- header = header_ca_dual_blend; ++ if (glamor_priv->glsl_version >= 130) ++ header = header_ca_dual_blend; ++ else ++ header = header_ca_dual_blend_gpu_shader4; + break; + default: + FatalError("Bad composite IN type"); +@@ -359,7 +364,7 @@ + vs = glamor_create_composite_vs(key); + if (vs == 0) + return; +- fs = glamor_create_composite_fs(key); ++ fs = glamor_create_composite_fs(glamor_priv, key); + if (fs == 0) + return; +

