From 634213618ff01a5deeffdd1fffa94eaec57c3e1b Mon Sep 17 00:00:00 2001 From: Antoine Damhet Date: Sat, 29 Aug 2020 10:04:30 +0200 Subject: [PATCH] update patches from pull request Signed-off-by: Antoine Damhet --- .SRCINFO | 42 +++++++++---------- 0001-deps-glad-Add-EGL.patch | 40 ++++++++++++++---- ...engl-Rename-gl-x11.c-to-gl-x11-glx.c.patch | 2 +- ...-libobs-opengl-Factor-out-GLX-winsys.patch | 2 +- ...-opengl-Introduce-the-X11-EGL-winsys.patch | 2 +- ...-deps-glad-Make-X11-required-as-well.patch | 2 +- ...Install-qtbase5-private-dev-on-Linux.patch | 2 +- ...e-X11-specific-code-to-obs-nix-x11.c.patch | 2 +- ...oduce-the-concept-of-a-Unix-platform.patch | 2 +- ...-UI-Set-the-Unix-platform-on-startup.patch | 2 +- ...ure-Fail-to-load-when-running-on-EGL.patch | 2 +- 0011-libobs-Add-a-Wayland-platform.patch | 6 +-- ...y-to-use-the-platform-display-if-ava.patch | 2 +- ...gl-Introduce-an-EGL-Wayland-renderer.patch | 23 +++------- ...etrieve-Wayland-surface-from-QWindow.patch | 2 +- ...troy-display-when-becoming-invisible.patch | 2 +- ...-obs_display-when-QTToGSWindow-fails.patch | 2 +- ...Rename-callback-to-match-signal-name.patch | 2 +- ...gnore-Always-On-Top-on-Wayland-platf.patch | 2 +- ...play-CreateDisplay-public-and-allow-.patch | 2 +- ...ose-and-PlatformSurface-events-to-cr.patch | 14 ++++--- PKGBUILD | 42 +++++++++---------- 22 files changed, 106 insertions(+), 93 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 0f40bd1..a8cee24 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = obs-studio-wayland pkgdesc = Free, open source software for live streaming and recording (with wayland patches) pkgver = 25.0.8 - pkgrel = 3 + pkgrel = 4 url = https://obsproject.com arch = x86_64 license = GPL2 @@ -57,26 +57,26 @@ pkgbase = obs-studio-wayland source = 0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch sha512sums = a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08 sha512sums = 1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc - sha512sums = df2a3b13a66603546bc39c070bbbe55d2ef0e6620fea98e773955713ef74c6817649713da76548d24a4160f4af327e132205cbeb2f90959690aa3321945284c4 - sha512sums = d15612ba51364c9ba49096a3aa8d2002d739b81cae090586254fc1351723cabfd80a09d76834b71f6d49abcc50e33dda52f183dd3a5e87a0d740ce57dc2cb583 - sha512sums = 43e67659200e077a6dc624f94ed9cde5a31ae7bcd403b9ea649fb0277b3a1964b4f11a4ad45d754fc571b71c3cca42ca0a843bd484229a64a41d3f96efa03aca - sha512sums = dfd8687f3aaae32161998075923905bc2c3111b299132d398efee5771fb0b681a96f1ee367b6955e66935df8b2f9cb59466b5c209768b04bf4c6af177c4b8621 - sha512sums = b47ee46b3bdb6de606fb667d17536fbede200be86021c983259c131fe9f463b3101e419ea8ed30f0a99163877d2e939f44b9e7fd2d213cc4c203da64813117d1 - sha512sums = 8b6e5f32ebfca1f163d69144e3752b409be8b3747ff46b9f9cecf0140247fffc8728f49cfcf0f71e2b514ff8e516bf441cdd421dff6952d30f65a8adfd4526e3 - sha512sums = 62f37c7c60067100a8594306e5fa6e65003063fc3d35d8b7daa7ead2f50ae17677f54dc9f8ac206ef20ca1178ddfb68948893f6d8d56efd0dcc6f147c172c547 - sha512sums = 5d6e46223f2d08e807040cc8e264d27219ad8b4a5ff580fa568ccbc88f26564f2e72e8400b8c447c226b5f27346206da19081a5ac03512c95a56ea5d6b3924ff - sha512sums = 1e77adb183e1bb42260965e1733b88d25ebd885ef4029b8c424dd100485fcd882f676a75d396cc7adbbb7c1c4ae9b4f047778d96c4d6d74b5302437059eb0db6 - sha512sums = cc853dc74ea961a9253085188f851e3184a53b252f1a85cecd16745b4ab561ea7a47b32bb9475624a2eec51106090a153bdb6ec6680f2ee4bd8fd5a6509ba831 - sha512sums = cc712c85b364179794af393634c87ffb3d7d42b360379405ea587485f07e525496ac2da4e97f52a7f2232164e5e70d9442c9b7cc139c85f0405f662ae092b795 - sha512sums = 4c5733a51dc1070327eadea420ba5acea2ec74a3bac538264969bc5eea2dadee701dd6634737e09b2755eae388fa0969d32738b6ea81b99f66a56db9b6a90765 - sha512sums = e61d437cb1b98f50bd5e4404a90f744d05d8a73965554b1ac981ffa534f1a134bdf6714a78a2eb257b8a53675a012e5786bdce3fd16201b9b64191a61cb11373 - sha512sums = 19e0943462fe6e72a104ed45015b8e2b73a0ffa389f733752b6991e1f69e521682f3095d8c372aa800d13b89b28237aa6d2b1fcd24d4df9da6a6ba2000e07c77 - sha512sums = abce43def134860a6953fb2e804541860f3a222fbf2e27956874e77974e70851893078cefdce086f56b5144c885dbe674d060e635f351ef4efc9a1bcd1fcfa1c - sha512sums = 55a80e92c70f709ffb42491d61cfc659ba0c682603a8431e915d238495e9ba966b976a195daec0aec79803473d9b251371c4469391f423456d325ab558a0379c - sha512sums = 6dea2f711a4871da8dd72faa29f3eb3274e18d24a6bc719461b20fa4b0a327ad16291b8867c9d68d5b911be4016f2d75fa0158df1e55b5fc96f2612574e7ceb0 - sha512sums = cef5df381f13456326e844b1f45168f51af37df09227f07bdd800672efce28181c4fdf96798759d139f953b5809850caa3894d2f7a3c29c0a7220dd0b4f60c78 - sha512sums = fd3a51462f745169522c5c6a857fe124eebb06331a9ccb1e4dc69e78c300c3b0737d5cb330c9d2b9e8f30aae9d206bbc985c2660aeb7ac1a66cbc9d84187cf06 - sha512sums = 8a3c9db9d92b76a0388083744ead2eceb955c0c21c8b4242db51a500a6e1454a21725501e0ba1968f63b59b1ea6e83765d84d03b421ec482e8ca37166b03c2ac + sha512sums = c322fb6dbe90bd3b9d298867731388ef306f3dbf038b2cb0f3f262c52981200ae949db6917b50c751b6920a40eef4b4fa8108ef5db9b83575ff3556024fa8f79 + sha512sums = 78670b678538cc43cc484e377c14bce6a55cb36be00c8db485e1e084b6eafd1833cae376b1f618b329dd2c4d50fa1de53c6bf252932edce97253f4b19f229500 + sha512sums = 9aaf118e233d6e7eda5f72b77eefedb641e11ddf0daff0463ae25cc4440de8e52903813215ec6bf33f82eb3c11febd166ce3859bfbe4044cd5e09a018ceb391c + sha512sums = 662438ef6e95dc8262403c931c8a749a6204bf4857f76e6fccee5084dcbe2ca693309ca078170e25d13be1cfd4d4a8746cbfc318c473d0ea52b332adb5e90c61 + sha512sums = c2be03913d95f8f449c9c9df6df8be41956923baf28f30091dc9a836c9e37d4e84ee930730edf2d3cc162886809d3a42e0fd4d79fd84f27a77c9e08802de6947 + sha512sums = 9b4722003418f27cbe7efed102b1a69aeb1cb9782d4249b14a7a7f10d0bce725465bda459cfd77e0e577e93f46b2ca0604f48c9a3c19e4a7b0d31b3386f0a8cf + sha512sums = 854482e4dc52293b2b488988bc05fa1835346780aa0213e4e102ece971d630fadc33d5941424673050eed7b5aba017cebe3248e62f3fb69483f389bca7aede39 + sha512sums = 8c5a049babe4804ab2b701591ab2ed9e597e974279431d728461807df5a37361164ce21b36d832017daa6e967bac545dc7c25f17433f4f6eef9c937da35ede34 + sha512sums = 5055c4bdd282743e7971be8eccce627eb0e1eb607bdf7f306748cd7898fcf08eaf64d870e753940682dac1691a6c959a539a032bae104b9d1a6fe4ca2e16187f + sha512sums = 00b1909e225e479483fd1b23053dbff5630526d927e5df7eb9fe3c340f27bf343d64796ee66e37b4e7f3f6bab8649ad93fa76b6b2a4628e31b1894cab417f247 + sha512sums = 5b33e379d789ae1e17354a210531498765ee64773f0a457f505de480b10c9adfa9116e121e8a31757fbc0bc241c71fd9921ac796b7c4b038f4dea2cf0a04aa48 + sha512sums = b0b9d213d39cbcfdbb83f61352c8488b6a95d414f4299d6e7e729aa485f911d60ef4f047ca13d006dc77b1c43a7f49db381fec5c1e695e3ec9da0e6eab99bb61 + sha512sums = 6dee9847d4d98704f393f1f788f2a0c22b630a3e4021846afa356ba2bb4be664e0b6e0f4b3ee2e58d889e7d33a90b516b91ad6bc6b2c241c22245be68ca098b7 + sha512sums = 01953fc6cd1a5789a6fa5be076da53ba5e8f56418b9f2badca3af6221acf72107e4f73a06a082b20894fdd18aa5263668411d72f4ef237af81f3f2ed86a63be8 + sha512sums = e5ad79d67b15b5b245b8f06da0321d221d47aa91297b2c8a6c941c2a49b78e413edf3c6fac08bdcf573fa4cdf1632d8ba1b1ad5697ae67ece96b0fd1f4264a91 + sha512sums = 7b93c07e21efc66ef444db68e25b4f66e7b3acd111b70dc8c6c39a6ebcff29b3238a749693134a59d568757732c93a8c39f1624686161b967828f6ef267b4ac6 + sha512sums = ff4e3e8b463a054df5a9b57b670971d2ba4dd4345e0cf7455d2d1d4dd8d911390533fdd42bfd027c3726a717e91ebb0cdf8855f47be065581179fa225f831d22 + sha512sums = 4fe456675224ab8692828ef022aae35899027ecbc98c70c47621e9b0e9839b332a5b1548736515ae09b3fcbe46ad17c35cd1338310d96e68db3337cc9dc2a2ee + sha512sums = e1358bdb7455aeae737c33a9180e225de288a25df16337ab2ed2a51e8ca6df66d89b863d1539a43a3c409b372a19cdbb5be37f842fc9320fb7046eabf69fcaba + sha512sums = cd3ab0c4c71e7c289732530dfb3230ebb35a4021335b3a0ad9bce5ec8c9ad352cb7b2fbb3ed1d6c5d7d9c32f27a90f5cfb2b1a00426def1f712d679da68f5795 pkgname = obs-studio-wayland diff --git a/0001-deps-glad-Add-EGL.patch b/0001-deps-glad-Add-EGL.patch index af8d031..a546270 100644 --- a/0001-deps-glad-Add-EGL.patch +++ b/0001-deps-glad-Add-EGL.patch @@ -1,15 +1,15 @@ -From 54422d4a37bfae4239e9aca54eb0ff0b8b419cdd Mon Sep 17 00:00:00 2001 +From 4521189274e652de6d2098337038c412501c570d Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 13:10:16 -0300 Subject: [PATCH 01/20] deps-glad: Add EGL The code is generated by https://glad.dav1d.de/ --- - cmake/Modules/FindEGL.cmake | 53 +++++ + cmake/Modules/FindEGL.cmake | 53 ++++ deps/glad/CMakeLists.txt | 11 +- - deps/glad/include/glad/glad_egl.h | 363 ++++++++++++++++++++++++++++++ + deps/glad/include/glad/glad_egl.h | 385 ++++++++++++++++++++++++++++++ deps/glad/src/glad_egl.c | 48 ++++ - 4 files changed, 473 insertions(+), 2 deletions(-) + 4 files changed, 495 insertions(+), 2 deletions(-) create mode 100644 cmake/Modules/FindEGL.cmake create mode 100644 deps/glad/include/glad/glad_egl.h create mode 100644 deps/glad/src/glad_egl.c @@ -119,13 +119,13 @@ index 2c4cf13a..9cb7e8fd 100644 set(glad_PLATFORM_DEPS diff --git a/deps/glad/include/glad/glad_egl.h b/deps/glad/include/glad/glad_egl.h new file mode 100644 -index 00000000..411729f0 +index 00000000..ac07814e --- /dev/null +++ b/deps/glad/include/glad/glad_egl.h -@@ -0,0 +1,363 @@ +@@ -0,0 +1,385 @@ +/* + -+ EGL loader generated by glad 0.1.33 on Mon Mar 9 17:01:26 2020. ++ EGL loader generated by glad 0.1.33 on Thu Aug 27 19:18:06 2020. + + Language/Generator: C/C++ + Specification: egl @@ -134,6 +134,8 @@ index 00000000..411729f0 + Extensions: + EGL_EXT_platform_wayland, + EGL_EXT_platform_x11, ++ EGL_KHR_create_context, ++ EGL_KHR_create_context_no_error, + EGL_KHR_platform_wayland, + EGL_KHR_platform_x11 + Loader: True @@ -142,9 +144,9 @@ index 00000000..411729f0 + Reproducible: False + + Commandline: -+ --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_KHR_platform_wayland,EGL_KHR_platform_x11" ++ --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_KHR_create_context,EGL_KHR_create_context_no_error,EGL_KHR_platform_wayland,EGL_KHR_platform_x11" + Online: -+ https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11 ++ https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_EXT_platform_wayland&extensions=EGL_EXT_platform_x11&extensions=EGL_KHR_create_context&extensions=EGL_KHR_create_context_no_error&extensions=EGL_KHR_platform_wayland&extensions=EGL_KHR_platform_x11 +*/ + + @@ -465,6 +467,20 @@ index 00000000..411729f0 +#define EGL_PLATFORM_WAYLAND_EXT 0x31D8 +#define EGL_PLATFORM_X11_EXT 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 ++#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 ++#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB ++#define EGL_CONTEXT_FLAGS_KHR 0x30FC ++#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD ++#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD ++#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE ++#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF ++#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 ++#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 ++#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 ++#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 ++#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 ++#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 ++#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3 +#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 +#define EGL_PLATFORM_X11_KHR 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 @@ -474,6 +490,12 @@ index 00000000..411729f0 +#ifndef EGL_EXT_platform_x11 +#define EGL_EXT_platform_x11 1 +#endif ++#ifndef EGL_KHR_create_context ++#define EGL_KHR_create_context 1 ++#endif ++#ifndef EGL_KHR_create_context_no_error ++#define EGL_KHR_create_context_no_error 1 ++#endif +#ifndef EGL_KHR_platform_wayland +#define EGL_KHR_platform_wayland 1 +#endif diff --git a/0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch b/0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch index 6eaf3d9..2a0e728 100644 --- a/0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch +++ b/0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch @@ -1,4 +1,4 @@ -From f4dc111b8acbdd2be0bb077f1ac8d703d92d497c Mon Sep 17 00:00:00 2001 +From 1367a881c16592a486229ac024df2cf08fb43b7a Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 13:19:31 -0300 Subject: [PATCH 02/20] libobs-opengl: Rename gl-x11.c to gl-x11-glx.c diff --git a/0003-libobs-opengl-Factor-out-GLX-winsys.patch b/0003-libobs-opengl-Factor-out-GLX-winsys.patch index a63e271..8e4728a 100644 --- a/0003-libobs-opengl-Factor-out-GLX-winsys.patch +++ b/0003-libobs-opengl-Factor-out-GLX-winsys.patch @@ -1,4 +1,4 @@ -From c6f9827b8c07adb4c95811f2545ba546fac0c132 Mon Sep 17 00:00:00 2001 +From 9394af80060680154a3c00e8ea23cced0d06179d Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 16:46:37 -0300 Subject: [PATCH 03/20] libobs-opengl: Factor out GLX winsys diff --git a/0004-libobs-opengl-Introduce-the-X11-EGL-winsys.patch b/0004-libobs-opengl-Introduce-the-X11-EGL-winsys.patch index 909dd0a..4f20851 100644 --- a/0004-libobs-opengl-Introduce-the-X11-EGL-winsys.patch +++ b/0004-libobs-opengl-Introduce-the-X11-EGL-winsys.patch @@ -1,4 +1,4 @@ -From 47d63a561f82114ae31dca741ca2fdad27a7c519 Mon Sep 17 00:00:00 2001 +From 12ef68d9914bd4aec60ef9bdf77f67099534a208 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 17:35:49 -0300 Subject: [PATCH 04/20] libobs-opengl: Introduce the X11/EGL winsys diff --git a/0005-deps-glad-Make-X11-required-as-well.patch b/0005-deps-glad-Make-X11-required-as-well.patch index 0511315..b4c02b8 100644 --- a/0005-deps-glad-Make-X11-required-as-well.patch +++ b/0005-deps-glad-Make-X11-required-as-well.patch @@ -1,4 +1,4 @@ -From e7f7eecfc23bd9903b7522aefbc82cce0284b889 Mon Sep 17 00:00:00 2001 +From ce73c0d635a4cff3ab254235c48e8ebe0b371cef Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Sat, 11 Apr 2020 23:49:05 -0300 Subject: [PATCH 05/20] deps/glad: Make X11 required as well diff --git a/0006-ci-Install-qtbase5-private-dev-on-Linux.patch b/0006-ci-Install-qtbase5-private-dev-on-Linux.patch index 0c60fb2..3c2ba44 100644 --- a/0006-ci-Install-qtbase5-private-dev-on-Linux.patch +++ b/0006-ci-Install-qtbase5-private-dev-on-Linux.patch @@ -1,4 +1,4 @@ -From 9a85c7fcaf67bf606e3f57507c532e1239e52d57 Mon Sep 17 00:00:00 2001 +From 74515e17f35d9afb75a9ea7ec024e36782b168f6 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 6 Mar 2020 16:22:01 -0300 Subject: [PATCH 06/20] ci: Install qtbase5-private-dev on Linux diff --git a/0007-libobs-nix-Move-X11-specific-code-to-obs-nix-x11.c.patch b/0007-libobs-nix-Move-X11-specific-code-to-obs-nix-x11.c.patch index e9ad789..e5e1c41 100644 --- a/0007-libobs-nix-Move-X11-specific-code-to-obs-nix-x11.c.patch +++ b/0007-libobs-nix-Move-X11-specific-code-to-obs-nix-x11.c.patch @@ -1,4 +1,4 @@ -From 77e85e17d58c13d655d3d81bb197c5a5d1f1453f Mon Sep 17 00:00:00 2001 +From 7301a59e6b593bc6d016d3de74e80c1b1361b508 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 6 Mar 2020 17:24:33 -0300 Subject: [PATCH 07/20] libobs/nix: Move X11-specific code to obs-nix-x11.c diff --git a/0008-libobs-Introduce-the-concept-of-a-Unix-platform.patch b/0008-libobs-Introduce-the-concept-of-a-Unix-platform.patch index b929007..78fc20e 100644 --- a/0008-libobs-Introduce-the-concept-of-a-Unix-platform.patch +++ b/0008-libobs-Introduce-the-concept-of-a-Unix-platform.patch @@ -1,4 +1,4 @@ -From 5dd4d22ec8c35ffd18499027573a42a57343eee6 Mon Sep 17 00:00:00 2001 +From 6e1eef3b6dd72ca2e7ab212e0eb69685347787ea Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 6 Mar 2020 17:50:41 -0300 Subject: [PATCH 08/20] libobs: Introduce the concept of a Unix platform diff --git a/0009-UI-Set-the-Unix-platform-on-startup.patch b/0009-UI-Set-the-Unix-platform-on-startup.patch index 753ba50..7dc914f 100644 --- a/0009-UI-Set-the-Unix-platform-on-startup.patch +++ b/0009-UI-Set-the-Unix-platform-on-startup.patch @@ -1,4 +1,4 @@ -From 0c83de87856f6bffb5744353afc13f624836c792 Mon Sep 17 00:00:00 2001 +From 9f0f337d03700defaa24fc77cf2f4fbd861b8fd4 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Tue, 7 Apr 2020 23:17:02 -0300 Subject: [PATCH 09/20] UI: Set the Unix platform on startup diff --git a/0010-linux-capture-Fail-to-load-when-running-on-EGL.patch b/0010-linux-capture-Fail-to-load-when-running-on-EGL.patch index 8747bfe..0d69dcf 100644 --- a/0010-linux-capture-Fail-to-load-when-running-on-EGL.patch +++ b/0010-linux-capture-Fail-to-load-when-running-on-EGL.patch @@ -1,4 +1,4 @@ -From 944cc7a1cbe8de3c21173ae4f32db034b5b9b6b2 Mon Sep 17 00:00:00 2001 +From 56c897b64464170cdcf6ad0cdd6de7a3b9addff1 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 8 Apr 2020 23:58:43 -0300 Subject: [PATCH 10/20] linux-capture: Fail to load when running on EGL diff --git a/0011-libobs-Add-a-Wayland-platform.patch b/0011-libobs-Add-a-Wayland-platform.patch index e901bf2..11bce62 100644 --- a/0011-libobs-Add-a-Wayland-platform.patch +++ b/0011-libobs-Add-a-Wayland-platform.patch @@ -1,4 +1,4 @@ -From 3223d221945109bf6c78085a04c66816749a3168 Mon Sep 17 00:00:00 2001 +From f2c169236834251a78e8185b78fdec628762535f Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 6 Mar 2020 18:53:42 -0300 Subject: [PATCH 11/20] libobs: Add a Wayland platform @@ -37,7 +37,7 @@ index b56c2bba..9ab530ce 100644 add_definitions(-DUSE_XDG) endif() diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt -index a660f326..171efa2b 100644 +index a660f326..56195d7d 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -403,6 +403,11 @@ if (APPLE) @@ -45,7 +45,7 @@ index a660f326..171efa2b 100644 endif() +if (ENABLE_WAYLAND) -+ find_package(Qt5Gui) ++ find_package(Qt5Gui REQUIRED) + include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS}) +endif() + diff --git a/0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch b/0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch index 5e1e20a..b4997e7 100644 --- a/0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch +++ b/0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch @@ -1,4 +1,4 @@ -From 321d06f9a2754dacbdac119a971d137cb2ececf2 Mon Sep 17 00:00:00 2001 +From ff3dbf578c696659433bc30c039c4e2e5d10765a Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Sat, 11 Apr 2020 23:32:16 -0300 Subject: [PATCH 12/20] libobs-opengl: Try to use the platform display if diff --git a/0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch b/0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch index cc9a620..401282f 100644 --- a/0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch +++ b/0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch @@ -1,4 +1,4 @@ -From e8ad273aa0698f045100fef74599008991dea8b0 Mon Sep 17 00:00:00 2001 +From b6d1651ad733f0b59c442ceb29c3e936554df5b5 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 21:09:11 -0300 Subject: [PATCH 13/20] libobs-opengl: Introduce an EGL/Wayland renderer @@ -8,9 +8,9 @@ Introduce a new Wayland/EGL renderer. libobs-opengl/CMakeLists.txt | 23 +++ libobs-opengl/gl-nix.c | 7 +- libobs-opengl/gl-nix.h | 1 + - libobs-opengl/gl-wayland-egl.c | 350 +++++++++++++++++++++++++++++++++ + libobs-opengl/gl-wayland-egl.c | 339 +++++++++++++++++++++++++++++++++ libobs-opengl/gl-wayland-egl.h | 22 +++ - 5 files changed, 402 insertions(+), 1 deletion(-) + 5 files changed, 391 insertions(+), 1 deletion(-) create mode 100644 libobs-opengl/gl-wayland-egl.c create mode 100644 libobs-opengl/gl-wayland-egl.h @@ -87,10 +87,10 @@ index f5532719..741154da 100644 #include "gl-subsystem.h" diff --git a/libobs-opengl/gl-wayland-egl.c b/libobs-opengl/gl-wayland-egl.c new file mode 100644 -index 00000000..98bb483f +index 00000000..28e8b1c0 --- /dev/null +++ b/libobs-opengl/gl-wayland-egl.c -@@ -0,0 +1,350 @@ +@@ -0,0 +1,339 @@ +/****************************************************************************** + Copyright (C) 2019 by Jason Francis + @@ -113,9 +113,7 @@ index 00000000..98bb483f +#include +#include + -+#include -+#include -+#include ++#include + +static const EGLint config_attribs[] = {EGL_SURFACE_TYPE, + EGL_WINDOW_BIT, @@ -146,7 +144,6 @@ index 00000000..98bb483f + 3, + EGL_NONE}; + -+#ifdef EGL_KHR_create_context +static const EGLint khr_ctx_attribs[] = { +#ifdef _DEBUG + EGL_CONTEXT_FLAGS_KHR, @@ -159,7 +156,6 @@ index 00000000..98bb483f + EGL_CONTEXT_MINOR_VERSION_KHR, + 3, + EGL_NONE}; -+#endif + +struct gl_windowinfo { + struct wl_egl_window *window; @@ -283,17 +279,13 @@ index 00000000..98bb483f + + const EGLint *attribs = ctx_attribs; + if (major == 1 && minor == 4) { -+#ifdef EGL_KHR_create_context + if (extension_supported(extensions, "EGL_KHR_create_context")) { + attribs = khr_ctx_attribs; + } else { -+#endif + blog(LOG_ERROR, + "EGL_KHR_create_context extension is required to use EGL 1.4."); + goto fail_context_create; -+#ifdef EGL_KHR_create_context + } -+#endif + } else if (major < 1 || (major == 1 && minor < 4)) { + blog(LOG_ERROR, "EGL 1.4 or higher is required."); + goto fail_context_create; @@ -412,9 +404,6 @@ index 00000000..98bb483f +{ + struct gl_platform *plat = device->plat; + struct gl_windowinfo *wi = device->cur_swap->wi; -+ if (eglSwapInterval(plat->display, 0) == EGL_FALSE) { -+ blog(LOG_ERROR, "eglSwapInterval failed"); -+ } + if (eglSwapBuffers(plat->display, wi->egl_surface) == EGL_FALSE) { + blog(LOG_ERROR, "eglSwapBuffers failed"); + } diff --git a/0014-UI-Retrieve-Wayland-surface-from-QWindow.patch b/0014-UI-Retrieve-Wayland-surface-from-QWindow.patch index f284ceb..cdb9bc6 100644 --- a/0014-UI-Retrieve-Wayland-surface-from-QWindow.patch +++ b/0014-UI-Retrieve-Wayland-surface-from-QWindow.patch @@ -1,4 +1,4 @@ -From d61735d0dc74fc1a50564fe72cb26a07c4d49e56 Mon Sep 17 00:00:00 2001 +From ffe8b9083f11be627dbfabaf5034d1976d03551a Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Mon, 9 Mar 2020 21:23:37 -0300 Subject: [PATCH 14/20] UI: Retrieve Wayland surface from QWindow diff --git a/0015-UI-Destroy-display-when-becoming-invisible.patch b/0015-UI-Destroy-display-when-becoming-invisible.patch index b078f41..36ad3aa 100644 --- a/0015-UI-Destroy-display-when-becoming-invisible.patch +++ b/0015-UI-Destroy-display-when-becoming-invisible.patch @@ -1,4 +1,4 @@ -From bab8f9d12fb7b534a6915cfef91b765603563238 Mon Sep 17 00:00:00 2001 +From 64ab8a3f8e7bc6826dcf2a378e32e4dabb7eadba Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Tue, 18 Aug 2020 19:38:29 -0300 Subject: [PATCH 15/20] UI: Destroy display when becoming invisible diff --git a/0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch b/0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch index 27516aa..01899b0 100644 --- a/0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch +++ b/0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch @@ -1,4 +1,4 @@ -From 2e5a62066f4c54880c1879f44a703f5e302e79c0 Mon Sep 17 00:00:00 2001 +From 107533c8298418360acbbbf7b51aa9ea1ffc30a0 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 19 Aug 2020 10:11:08 -0300 Subject: [PATCH 16/20] UI: Don't create obs_display when QTToGSWindow fails diff --git a/0017-UI-Rename-callback-to-match-signal-name.patch b/0017-UI-Rename-callback-to-match-signal-name.patch index 9a2d944..477e80c 100644 --- a/0017-UI-Rename-callback-to-match-signal-name.patch +++ b/0017-UI-Rename-callback-to-match-signal-name.patch @@ -1,4 +1,4 @@ -From fb03e532004fec99d7d63ce765133665504aae70 Mon Sep 17 00:00:00 2001 +From bd07471e8298f4b71c69d6a25ded5293141fd4fc Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 19 Aug 2020 13:08:01 -0300 Subject: [PATCH 17/20] UI: Rename callback to match signal name diff --git a/0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch b/0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch index 9109623..79ad1ae 100644 --- a/0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch +++ b/0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch @@ -1,4 +1,4 @@ -From b31f3e26477368af8213da7883391e475ff82ac2 Mon Sep 17 00:00:00 2001 +From d4b8722c46a5ff92ed2688e8f67e33c8af9d2de0 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 19 Aug 2020 15:09:26 -0300 Subject: [PATCH 18/20] UI: Disable and ignore Always On Top on Wayland diff --git a/0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch b/0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch index 67a2497..3509756 100644 --- a/0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch +++ b/0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch @@ -1,4 +1,4 @@ -From 2debb5ceb1bcc44f74c2b72f2af7ef02e3755e69 Mon Sep 17 00:00:00 2001 +From 484ff6702e4c230a4769cdb7289c013de9b12b58 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 20 Aug 2020 11:57:19 -0300 Subject: [PATCH 19/20] UI: Make OBSQTDisplay::CreateDisplay() public and allow diff --git a/0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch b/0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch index 84e49a4..1191439 100644 --- a/0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch +++ b/0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch @@ -1,4 +1,4 @@ -From 0e49f864012ef995870d9debac5fa08d73615b30 Mon Sep 17 00:00:00 2001 +From db7ed40e1e0c566d4c6bed53c283327c9d55ce4c Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 20 Aug 2020 11:58:45 -0300 Subject: [PATCH 20/20] UI: Check for Expose and PlatformSurface events to @@ -9,14 +9,14 @@ receiving the QEvent::Expose [1]. [1] https://bugreports.qt.io/browse/QTBUG-86176 --- - UI/qt-display.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 56 insertions(+) + UI/qt-display.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 58 insertions(+) diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp -index b230ab4e..5d81c463 100644 +index b230ab4e..4487d460 100644 --- a/UI/qt-display.cpp +++ b/UI/qt-display.cpp -@@ -10,6 +10,56 @@ +@@ -10,6 +10,58 @@ #ifdef ENABLE_WAYLAND #include @@ -35,6 +35,7 @@ index b230ab4e..5d81c463 100644 + QPlatformSurfaceEvent *surfaceEvent; + + switch (event->type()) { ++#if QT_VERSION < QT_VERSION_CHECK(5, 15, 1) + case QEvent::PlatformSurface: + surfaceEvent = + static_cast(event); @@ -47,6 +48,7 @@ index b230ab4e..5d81c463 100644 + else + mTimerId = startTimer(67); // Arbitrary + break; ++#endif + case QEvent::Expose: + createOBSDisplay(); + break; @@ -73,7 +75,7 @@ index b230ab4e..5d81c463 100644 #endif static inline long long color_to_int(const QColor &color) -@@ -65,6 +115,12 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags) +@@ -65,6 +117,12 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags) connect(windowHandle(), &QWindow::visibleChanged, windowVisible); connect(windowHandle(), &QWindow::screenChanged, screenChanged); diff --git a/PKGBUILD b/PKGBUILD index 2cf5933..fa7e2cf 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -7,7 +7,7 @@ pkgname=$_pkgname-wayland provides=("$_pkgname") conflicts=("$_pkgname") pkgver=25.0.8 -pkgrel=3 +pkgrel=4 pkgdesc="Free, open source software for live streaming and recording (with wayland patches)" arch=('x86_64') url="https://obsproject.com" @@ -49,26 +49,26 @@ source=( ) sha512sums=('a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08' '1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc' - 'df2a3b13a66603546bc39c070bbbe55d2ef0e6620fea98e773955713ef74c6817649713da76548d24a4160f4af327e132205cbeb2f90959690aa3321945284c4' - 'd15612ba51364c9ba49096a3aa8d2002d739b81cae090586254fc1351723cabfd80a09d76834b71f6d49abcc50e33dda52f183dd3a5e87a0d740ce57dc2cb583' - '43e67659200e077a6dc624f94ed9cde5a31ae7bcd403b9ea649fb0277b3a1964b4f11a4ad45d754fc571b71c3cca42ca0a843bd484229a64a41d3f96efa03aca' - 'dfd8687f3aaae32161998075923905bc2c3111b299132d398efee5771fb0b681a96f1ee367b6955e66935df8b2f9cb59466b5c209768b04bf4c6af177c4b8621' - 'b47ee46b3bdb6de606fb667d17536fbede200be86021c983259c131fe9f463b3101e419ea8ed30f0a99163877d2e939f44b9e7fd2d213cc4c203da64813117d1' - '8b6e5f32ebfca1f163d69144e3752b409be8b3747ff46b9f9cecf0140247fffc8728f49cfcf0f71e2b514ff8e516bf441cdd421dff6952d30f65a8adfd4526e3' - '62f37c7c60067100a8594306e5fa6e65003063fc3d35d8b7daa7ead2f50ae17677f54dc9f8ac206ef20ca1178ddfb68948893f6d8d56efd0dcc6f147c172c547' - '5d6e46223f2d08e807040cc8e264d27219ad8b4a5ff580fa568ccbc88f26564f2e72e8400b8c447c226b5f27346206da19081a5ac03512c95a56ea5d6b3924ff' - '1e77adb183e1bb42260965e1733b88d25ebd885ef4029b8c424dd100485fcd882f676a75d396cc7adbbb7c1c4ae9b4f047778d96c4d6d74b5302437059eb0db6' - 'cc853dc74ea961a9253085188f851e3184a53b252f1a85cecd16745b4ab561ea7a47b32bb9475624a2eec51106090a153bdb6ec6680f2ee4bd8fd5a6509ba831' - 'cc712c85b364179794af393634c87ffb3d7d42b360379405ea587485f07e525496ac2da4e97f52a7f2232164e5e70d9442c9b7cc139c85f0405f662ae092b795' - '4c5733a51dc1070327eadea420ba5acea2ec74a3bac538264969bc5eea2dadee701dd6634737e09b2755eae388fa0969d32738b6ea81b99f66a56db9b6a90765' - 'e61d437cb1b98f50bd5e4404a90f744d05d8a73965554b1ac981ffa534f1a134bdf6714a78a2eb257b8a53675a012e5786bdce3fd16201b9b64191a61cb11373' - '19e0943462fe6e72a104ed45015b8e2b73a0ffa389f733752b6991e1f69e521682f3095d8c372aa800d13b89b28237aa6d2b1fcd24d4df9da6a6ba2000e07c77' - 'abce43def134860a6953fb2e804541860f3a222fbf2e27956874e77974e70851893078cefdce086f56b5144c885dbe674d060e635f351ef4efc9a1bcd1fcfa1c' - '55a80e92c70f709ffb42491d61cfc659ba0c682603a8431e915d238495e9ba966b976a195daec0aec79803473d9b251371c4469391f423456d325ab558a0379c' - '6dea2f711a4871da8dd72faa29f3eb3274e18d24a6bc719461b20fa4b0a327ad16291b8867c9d68d5b911be4016f2d75fa0158df1e55b5fc96f2612574e7ceb0' - 'cef5df381f13456326e844b1f45168f51af37df09227f07bdd800672efce28181c4fdf96798759d139f953b5809850caa3894d2f7a3c29c0a7220dd0b4f60c78' - 'fd3a51462f745169522c5c6a857fe124eebb06331a9ccb1e4dc69e78c300c3b0737d5cb330c9d2b9e8f30aae9d206bbc985c2660aeb7ac1a66cbc9d84187cf06' - '8a3c9db9d92b76a0388083744ead2eceb955c0c21c8b4242db51a500a6e1454a21725501e0ba1968f63b59b1ea6e83765d84d03b421ec482e8ca37166b03c2ac') + 'c322fb6dbe90bd3b9d298867731388ef306f3dbf038b2cb0f3f262c52981200ae949db6917b50c751b6920a40eef4b4fa8108ef5db9b83575ff3556024fa8f79' + '78670b678538cc43cc484e377c14bce6a55cb36be00c8db485e1e084b6eafd1833cae376b1f618b329dd2c4d50fa1de53c6bf252932edce97253f4b19f229500' + '9aaf118e233d6e7eda5f72b77eefedb641e11ddf0daff0463ae25cc4440de8e52903813215ec6bf33f82eb3c11febd166ce3859bfbe4044cd5e09a018ceb391c' + '662438ef6e95dc8262403c931c8a749a6204bf4857f76e6fccee5084dcbe2ca693309ca078170e25d13be1cfd4d4a8746cbfc318c473d0ea52b332adb5e90c61' + 'c2be03913d95f8f449c9c9df6df8be41956923baf28f30091dc9a836c9e37d4e84ee930730edf2d3cc162886809d3a42e0fd4d79fd84f27a77c9e08802de6947' + '9b4722003418f27cbe7efed102b1a69aeb1cb9782d4249b14a7a7f10d0bce725465bda459cfd77e0e577e93f46b2ca0604f48c9a3c19e4a7b0d31b3386f0a8cf' + '854482e4dc52293b2b488988bc05fa1835346780aa0213e4e102ece971d630fadc33d5941424673050eed7b5aba017cebe3248e62f3fb69483f389bca7aede39' + '8c5a049babe4804ab2b701591ab2ed9e597e974279431d728461807df5a37361164ce21b36d832017daa6e967bac545dc7c25f17433f4f6eef9c937da35ede34' + '5055c4bdd282743e7971be8eccce627eb0e1eb607bdf7f306748cd7898fcf08eaf64d870e753940682dac1691a6c959a539a032bae104b9d1a6fe4ca2e16187f' + '00b1909e225e479483fd1b23053dbff5630526d927e5df7eb9fe3c340f27bf343d64796ee66e37b4e7f3f6bab8649ad93fa76b6b2a4628e31b1894cab417f247' + '5b33e379d789ae1e17354a210531498765ee64773f0a457f505de480b10c9adfa9116e121e8a31757fbc0bc241c71fd9921ac796b7c4b038f4dea2cf0a04aa48' + 'b0b9d213d39cbcfdbb83f61352c8488b6a95d414f4299d6e7e729aa485f911d60ef4f047ca13d006dc77b1c43a7f49db381fec5c1e695e3ec9da0e6eab99bb61' + '6dee9847d4d98704f393f1f788f2a0c22b630a3e4021846afa356ba2bb4be664e0b6e0f4b3ee2e58d889e7d33a90b516b91ad6bc6b2c241c22245be68ca098b7' + '01953fc6cd1a5789a6fa5be076da53ba5e8f56418b9f2badca3af6221acf72107e4f73a06a082b20894fdd18aa5263668411d72f4ef237af81f3f2ed86a63be8' + 'e5ad79d67b15b5b245b8f06da0321d221d47aa91297b2c8a6c941c2a49b78e413edf3c6fac08bdcf573fa4cdf1632d8ba1b1ad5697ae67ece96b0fd1f4264a91' + '7b93c07e21efc66ef444db68e25b4f66e7b3acd111b70dc8c6c39a6ebcff29b3238a749693134a59d568757732c93a8c39f1624686161b967828f6ef267b4ac6' + 'ff4e3e8b463a054df5a9b57b670971d2ba4dd4345e0cf7455d2d1d4dd8d911390533fdd42bfd027c3726a717e91ebb0cdf8855f47be065581179fa225f831d22' + '4fe456675224ab8692828ef022aae35899027ecbc98c70c47621e9b0e9839b332a5b1548736515ae09b3fcbe46ad17c35cd1338310d96e68db3337cc9dc2a2ee' + 'e1358bdb7455aeae737c33a9180e225de288a25df16337ab2ed2a51e8ca6df66d89b863d1539a43a3c409b372a19cdbb5be37f842fc9320fb7046eabf69fcaba' + 'cd3ab0c4c71e7c289732530dfb3230ebb35a4021335b3a0ad9bce5ec8c9ad352cb7b2fbb3ed1d6c5d7d9c32f27a90f5cfb2b1a00426def1f712d679da68f5795') prepare() { cd $_pkgname-$pkgver