Skip to content

Instantly share code, notes, and snippets.

@startergo
Created April 19, 2026 20:19
Show Gist options
  • Select an option

  • Save startergo/00607d2b5945be071f4fce9dce05dcc7 to your computer and use it in GitHub Desktop.

Select an option

Save startergo/00607d2b5945be071f4fce9dce05dcc7 to your computer and use it in GitHub Desktop.
Override Mesa to force OpenGL4.6
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index 6f2d2b8..xxxxxxxx 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -24,6 +24,7 @@
*/
#include "main/mtypes.h"
+#include <stdlib.h>
#include "main/extensions.h"
#include "main/context.h"
#include "main/debug_output.h"
@@ -1343,6 +1344,20 @@ st_api_query_versions(struct pipe_frontend_screen *fscreen,
*gl_compat_version = get_version(fscreen->screen, options, API_OPENGL_COMPAT);
*gl_es1_version = get_version(fscreen->screen, options, API_OPENGLES);
*gl_es2_version = get_version(fscreen->screen, options, API_OPENGLES2);
+
+ /* Experimental validation override:
+ * force reported virgl core profile max to 4.6 when requested.
+ */
+ if (fscreen && fscreen->screen && fscreen->screen->get_name) {
+ const char *drv = fscreen->screen->get_name(fscreen->screen);
+ const char *force = getenv("VIRGL_EXPERIMENTAL_CORE46");
+ if (drv && force && drv[0] &&
+ strstr(drv, "virgl") &&
+ *gl_core_version > 0 &&
+ *gl_core_version < 46) {
+ *gl_core_version = 46;
+ }
+ }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment