From 7957a6ef2083269ba28669b8fe661d8a9a9b9157 Mon Sep 17 00:00:00 2001
From: NoisyCoil <noisycoil@debian.org>
Date: Mon, 8 Dec 2025 17:39:25 +0100
Subject: [PATCH] asahi: backport GL renderer browser override

---
 .../asahi-gl-renderer-browser-override.patch  | 74 +++++++++++++++++++
 debian/patches/series                         |  1 +
 2 files changed, 75 insertions(+)
 create mode 100644 debian/patches/asahi-gl-renderer-browser-override.patch

diff --git a/debian/patches/asahi-gl-renderer-browser-override.patch b/debian/patches/asahi-gl-renderer-browser-override.patch
new file mode 100644
index 00000000000..cfcaf3ad453
--- /dev/null
+++ b/debian/patches/asahi-gl-renderer-browser-override.patch
@@ -0,0 +1,74 @@
+From: Janne Grunau <j@jannau.net>
+Date: Mon, 8 Dec 2025 09:28:05 +0100
+Subject: util/driconf/asahi: Override GL renderer for web browsers
+
+Several web sites block clients with "Apple" in the WebGL renderer
+string if the reported OS is not one of Apple's.
+This check seems to implemented via a 3rd party product which is slowly
+rolled out over more web sites. Instead of playing whack-a-mole with
+web sites in multiple browsers override the OpenGL renderer in mesa for
+known browsers.
+
+Backport-to: 25.3
+Signed-off-by: Janne Grunau <j@jannau.net>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38845>
+---
+ src/util/00-mesa-defaults.conf | 45 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
+index 082add1..46c40ed 100644
+--- a/src/util/00-mesa-defaults.conf
++++ b/src/util/00-mesa-defaults.conf
+@@ -1357,6 +1357,51 @@
+         </application>
+     </device>
+ 
++    <device driver="asahi">
++        <!-- Override GL renderer for known web browsers since one or more
++             web security frameworks apparently block clients with "Apple"
++             in the the renderer string if the OS is not one of Apple's.
++             Affected web sites include paypal.com, etsy.com and wsj.com.
++             Reported as web-compat bug in
++             https://github.com/webcompat/web-bugs/issues/189524
++        -->
++        <application name="Firefox" executable="firefox">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Firefox ESR" executable="firefox-esr">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Chromium" executable="chromium">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Chromium" executable="chromium-browser">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Google Chrome" executable="chrome">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="vivaldi-bin" executable="vivaldi-bin">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Iceweasel" executable="iceweasel">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Epiphany" executable="epiphany">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Konqueror" executable="konqueror">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Falkon" executable="falkon">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Seamonkey" executable="seamonkey">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++        <application name="Waterfox" executable="waterfox">
++            <option name="force_gl_renderer" value="AGX G13/G14"/>
++        </application>
++    </device>
+     <device driver="hk">
+         <engine engine_name_match="DXVK|vkd3d">
+            <!--
diff --git a/debian/patches/series b/debian/patches/series
index ce23eec2647..c935c583c8c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 path_max.diff
 src_glx_dri_common.h.diff
+asahi-gl-renderer-browser-override.patch
-- 
2.51.0

