driconf/intel: Use fake vendor to WA bad detection in Source engine games
authorSviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Thu, 17 Nov 2022 20:59:20 +0000 (22:59 +0200)
committerEric Engestrom <eric@engestrom.ch>
Wed, 30 Nov 2022 21:12:43 +0000 (21:12 +0000)
Source engine uses flawed device detection in Linux native OpenGL backend,
which causes it to use bad configurations for Intel devices and thus
not always render correctly. Workaround this by using vendor string that
does not include "Intel" in it.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7725
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19828>
(cherry picked from commit 478ffe712765b5746482d37df32fff36e12192ef)

.pick_status.json
src/util/00-mesa-defaults.conf

index 8ecd4d1..482d275 100644 (file)
         "description": "driconf/intel: Use fake vendor to WA bad detection in Source engine games",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
index b558963..9f2a77a 100644 (file)
@@ -938,11 +938,23 @@ TODO: document the other workarounds.
         <application name="glmark2" executable="glmark2">
             <option name="limit_trig_input_range" value="true" />
         </application>
+        <application name="Counter-Strike: Global Offensive" executable="csgo_linux64">
+            <option name="force_gl_vendor" value="X.Org" />
+        </application>
+        <application name="Insurgency" executable="insurgency_linux">
+            <option name="force_gl_vendor" value="X.Org" />
+        </application>
     </device>
     <device driver="crocus">
         <application name="glmark2" executable="glmark2">
             <option name="limit_trig_input_range" value="true" />
         </application>
+        <application name="Counter-Strike: Global Offensive" executable="csgo_linux64">
+            <option name="force_gl_vendor" value="X.Org" />
+        </application>
+        <application name="Insurgency" executable="insurgency_linux">
+            <option name="force_gl_vendor" value="X.Org" />
+        </application>
     </device>
     <device driver="anv">
         <application name="Aperture Desk Job" executable="deskjob">