diff --git a/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar b/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
index fb33813c5..8145c211b 100644
Binary files a/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar and b/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar differ
diff --git a/app_pojavlauncher/src/main/assets/components/lwjgl3/version b/app_pojavlauncher/src/main/assets/components/lwjgl3/version
index 13447f55f..4dc8ff272 100644
--- a/app_pojavlauncher/src/main/assets/components/lwjgl3/version
+++ b/app_pojavlauncher/src/main/assets/components/lwjgl3/version
@@ -1 +1 @@
-20211114
\ No newline at end of file
+20211115
diff --git a/app_pojavlauncher/src/main/jni/egl_bridge.c b/app_pojavlauncher/src/main/jni/egl_bridge.c
index c62b61852..33efe5c0e 100644
--- a/app_pojavlauncher/src/main/jni/egl_bridge.c
+++ b/app_pojavlauncher/src/main/jni/egl_bridge.c
@@ -787,6 +787,10 @@ int pojavInit() {
if (strncmp("opengles3_virgl", renderer, 15) == 0) {
config_renderer = RENDERER_VIRGL;
setenv("GALLIUM_DRIVER","virpipe",1);
+ setenv("OSMESA_NO_FLUSH_FRONTBUFFER","1",false);
+ if(strcmp(getenv("OSMESA_NO_FLUSH_FRONTBUFFER"),"1") == 0) {
+ printf("VirGL: OSMesa buffer flush is DISABLED!\n");
+ }
loadSymbolsVirGL();
} else if (strncmp("opengles", renderer, 8) == 0) {
config_renderer = RENDERER_GL4ES;
@@ -929,10 +933,15 @@ void pojavSwapBuffers() {
} break;
case RENDERER_VK_ZINK: {
- ((struct osmesa_context)*OSMesaGetCurrentContext_p())
- .current_buffer->map = buf.bits;
+ OSMesaContext ctx = OSMesaGetCurrentContext_p();
+ if(ctx == NULL) {
+ printf("Zink: attempted to swap buffers without context!");
+ break;
+ }
+ OSMesaMakeCurrent_p(ctx,buf.bits,GL_UNSIGNED_BYTE,savedWidth,savedHeight);
glFinish_p();
ANativeWindow_unlockAndPost(potatoBridge.androidWindow);
+ //OSMesaMakeCurrent_p(ctx,gbuffer,GL_UNSIGNED_BYTE,savedWidth,savedHeight);
ANativeWindow_lock(potatoBridge.androidWindow,&buf,NULL);
} break;
}
diff --git a/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libOSMesa_8.so b/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libOSMesa_8.so
index 1137d4211..490fb79c7 100644
Binary files a/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libOSMesa_8.so and b/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libOSMesa_8.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libepoxy_0.so b/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libepoxy_0.so
index 1d0c6c2d5..5ba21e975 100644
Binary files a/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libepoxy_0.so and b/app_pojavlauncher/src/main/jniLibs/arm64-v8a/libepoxy_0.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libOSMesa_8.so b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libOSMesa_8.so
index a9d0ddf71..647871624 100644
Binary files a/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libOSMesa_8.so and b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libOSMesa_8.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libepoxy_0.so b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libepoxy_0.so
new file mode 100644
index 000000000..953c8860b
Binary files /dev/null and b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libepoxy_0.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirgl_test_server.so b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirgl_test_server.so
new file mode 100644
index 000000000..79a7c2353
Binary files /dev/null and b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirgl_test_server.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirglrenderer_1.so b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirglrenderer_1.so
new file mode 100644
index 000000000..dd009149d
Binary files /dev/null and b/app_pojavlauncher/src/main/jniLibs/armeabi-v7a/libvirglrenderer_1.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/x86_64/libOSMesa_8.so b/app_pojavlauncher/src/main/jniLibs/x86_64/libOSMesa_8.so
index 0736823d4..9ee7b0124 100644
Binary files a/app_pojavlauncher/src/main/jniLibs/x86_64/libOSMesa_8.so and b/app_pojavlauncher/src/main/jniLibs/x86_64/libOSMesa_8.so differ
diff --git a/app_pojavlauncher/src/main/jniLibs/x86_64/libvirgl_test_server.so b/app_pojavlauncher/src/main/jniLibs/x86_64/libvirgl_test_server.so
index 99b32a5b2..6c96e6a68 100644
Binary files a/app_pojavlauncher/src/main/jniLibs/x86_64/libvirgl_test_server.so and b/app_pojavlauncher/src/main/jniLibs/x86_64/libvirgl_test_server.so differ
diff --git a/app_pojavlauncher/src/main/res/values/headings_array.xml b/app_pojavlauncher/src/main/res/values/headings_array.xml
index 32726975a..465d3f194 100644
--- a/app_pojavlauncher/src/main/res/values/headings_array.xml
+++ b/app_pojavlauncher/src/main/res/values/headings_array.xml
@@ -4,7 +4,7 @@
- @string/mcl_setting_renderer_gles2_4
- @string/mcl_setting_renderer_gles2_5
- @string/mcl_setting_renderer_gles3_5
- - @string/mcl_setting_renderer_vulkan_zink
+
- @string/mcl_setting_renderer_vgpu
- @string/mcl_setting_renderer_virgl
@@ -13,7 +13,7 @@
- opengles2
- opengles2_5
- opengles3
- - vulkan_zink
+
- opengles3_vgpu
- opengles3_virgl