summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlois Nespor2017-03-12 09:44:19 +0100
committerAlois Nespor2017-03-12 09:44:19 +0100
commitcf0455b843ad324af843820cb9b816bf9d8025fa (patch)
tree3983fe81fb20d856a8cb8458d8af8dd94279b6f6
parentfe755ceb7c3ffc14a9124d7632ce448a2a18b346 (diff)
downloadaur-cf0455b843ad324af843820cb9b816bf9d8025fa.tar.gz
fix loading with libglvnd drivers
-rw-r--r--libva-intel-driver-1.7.3-glvnd-fix.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/libva-intel-driver-1.7.3-glvnd-fix.patch b/libva-intel-driver-1.7.3-glvnd-fix.patch
new file mode 100644
index 000000000000..61d4d92fffa5
--- /dev/null
+++ b/libva-intel-driver-1.7.3-glvnd-fix.patch
@@ -0,0 +1,29 @@
+diff -up libva-intel-driver-1.7.3/src/i965_output_wayland.c~ libva-intel-driver-1.7.3/src/i965_output_wayland.c
+--- libva-intel-driver-1.7.3/src/i965_output_wayland.c~ 2016-11-10 01:37:13.000000000 +0100
++++ libva-intel-driver-1.7.3/src/i965_output_wayland.c 2017-02-15 10:58:25.288569428 +0100
+@@ -36,7 +36,10 @@
+ #include "i965_defines.h"
+ #include "dso_utils.h"
+
+-#define LIBEGL_NAME "libEGL.so.1"
++/* We need mesa's libEGL, first try the soname of a glvnd enabled mesa build */
++#define LIBEGL_NAME "libEGL_mesa.so.0"
++/* Then fallback to plain libEGL.so.1 (which might not be mesa) */
++#define LIBEGL_NAME_FALLBACK "libEGL.so.1"
+ #define LIBWAYLAND_CLIENT_NAME "libwayland-client.so.0"
+
+ typedef uint32_t (*wl_display_get_global_func)(struct wl_display *display,
+@@ -380,8 +383,11 @@ i965_output_wayland_init(VADriverContext
+ goto error;
+
+ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
+- if (!i965->wl_output->libegl_handle)
+- goto error;
++ if (!i965->wl_output->libegl_handle) {
++ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
++ if (!i965->wl_output->libegl_handle)
++ goto error;
++ }
+
+ dso_handle = i965->wl_output->libegl_handle;
+ wl_vtable = &i965->wl_output->vtable;