update patches from pull request
Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
This commit is contained in:
parent
8087c172b8
commit
7b430130e3
23 changed files with 421 additions and 104 deletions
50
.SRCINFO
50
.SRCINFO
|
@ -1,7 +1,7 @@
|
||||||
pkgbase = obs-studio-wayland
|
pkgbase = obs-studio-wayland
|
||||||
pkgdesc = Free, open source software for live streaming and recording (with wayland patches)
|
pkgdesc = Free, open source software for live streaming and recording (with wayland patches)
|
||||||
pkgver = 25.0.8
|
pkgver = 25.0.8
|
||||||
pkgrel = 2
|
pkgrel = 3
|
||||||
url = https://obsproject.com
|
url = https://obsproject.com
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = GPL2
|
license = GPL2
|
||||||
|
@ -47,28 +47,36 @@ pkgbase = obs-studio-wayland
|
||||||
source = 0010-linux-capture-Fail-to-load-when-running-on-EGL.patch
|
source = 0010-linux-capture-Fail-to-load-when-running-on-EGL.patch
|
||||||
source = 0011-libobs-Add-a-Wayland-platform.patch
|
source = 0011-libobs-Add-a-Wayland-platform.patch
|
||||||
source = 0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch
|
source = 0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch
|
||||||
source = 0013-libobs-Add-a-Wayland-platform.patch
|
source = 0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch
|
||||||
source = 0014-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch
|
source = 0014-UI-Retrieve-Wayland-surface-from-QWindow.patch
|
||||||
source = 0015-UI-Retrieve-Wayland-surface-from-QWindow.patch
|
source = 0015-UI-Destroy-display-when-becoming-invisible.patch
|
||||||
source = 0016-UI-Destroy-obs_display-when-becoming-invisible.patch
|
source = 0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch
|
||||||
|
source = 0017-UI-Rename-callback-to-match-signal-name.patch
|
||||||
|
source = 0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch
|
||||||
|
source = 0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch
|
||||||
|
source = 0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch
|
||||||
sha512sums = a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08
|
sha512sums = a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08
|
||||||
sha512sums = 1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc
|
sha512sums = 1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc
|
||||||
sha512sums = 6329e08da95e345509001ab6b9e8b73a227d0e63a8d39a3ef9b7d0197940ea9589d39b4aa92cdcc9f21cc4b9110a97f8e80891a12b4b24dff6d23395379abf5c
|
sha512sums = df2a3b13a66603546bc39c070bbbe55d2ef0e6620fea98e773955713ef74c6817649713da76548d24a4160f4af327e132205cbeb2f90959690aa3321945284c4
|
||||||
sha512sums = b05346b83587d2fe3fbc676a14aca961f05fa58c6912f82fed9e15a4b9fcacce297921003b41980c57ba09c4623d50c905a7c50961c2269a9709fcb67a088002
|
sha512sums = d15612ba51364c9ba49096a3aa8d2002d739b81cae090586254fc1351723cabfd80a09d76834b71f6d49abcc50e33dda52f183dd3a5e87a0d740ce57dc2cb583
|
||||||
sha512sums = 6f38fd7f6f5a29d05b6dd824af1de6072ebd692c96940ba74e5d1799e21754230010fd70cd2f1ce830a0701d25b07cfbae8cbe49f89ba085cd2dec6796a7790d
|
sha512sums = 43e67659200e077a6dc624f94ed9cde5a31ae7bcd403b9ea649fb0277b3a1964b4f11a4ad45d754fc571b71c3cca42ca0a843bd484229a64a41d3f96efa03aca
|
||||||
sha512sums = 14979eef47ab1d6e88ab77c35ab00a5e8297d1ed332bb397b8d3906e68c6ffa0b4e0761ef0dfff0221c7e22f5fb709e5bb11b87e046116bb3996df270e3b7b43
|
sha512sums = dfd8687f3aaae32161998075923905bc2c3111b299132d398efee5771fb0b681a96f1ee367b6955e66935df8b2f9cb59466b5c209768b04bf4c6af177c4b8621
|
||||||
sha512sums = db6a8d54e86f58f1adecb0f09ab5660ae0d06f4aa8bd0ea2e61da601ae82fd53a3b4c6db96d5827709e700843b70cc5a72851c0d429e3ec05bef250ed48445a0
|
sha512sums = b47ee46b3bdb6de606fb667d17536fbede200be86021c983259c131fe9f463b3101e419ea8ed30f0a99163877d2e939f44b9e7fd2d213cc4c203da64813117d1
|
||||||
sha512sums = f0374c85bd93928a32d60a9516c90c1b2e3537b84f949066110897f05224a568dd57f2cd9d141b0cfa8e89672b081dac3c64304523fcf37f0c018ca78ad71625
|
sha512sums = 8b6e5f32ebfca1f163d69144e3752b409be8b3747ff46b9f9cecf0140247fffc8728f49cfcf0f71e2b514ff8e516bf441cdd421dff6952d30f65a8adfd4526e3
|
||||||
sha512sums = dcdca90cfd701aad02ba12dee9a6482ca9066ff817e6e24bb3d0d6dfbbc48e8e98eb02517983802c66cade34c0d347aec817fe98da8baa7f5fff9187201e9a00
|
sha512sums = 62f37c7c60067100a8594306e5fa6e65003063fc3d35d8b7daa7ead2f50ae17677f54dc9f8ac206ef20ca1178ddfb68948893f6d8d56efd0dcc6f147c172c547
|
||||||
sha512sums = 64e4adef34a1074410245120d828871c128ee8254d77378cd7b74fe0182abaffdbff6669990a75464335b33d83641893b73e618c7322e1fe3186a748eab07e79
|
sha512sums = 5d6e46223f2d08e807040cc8e264d27219ad8b4a5ff580fa568ccbc88f26564f2e72e8400b8c447c226b5f27346206da19081a5ac03512c95a56ea5d6b3924ff
|
||||||
sha512sums = 64ca66913ade6b28815aa06383089e1c9aaa7a2b50cd425be8876d0a95338615be844a362a55c02541681d51f1921cb0820554f49fe21786649076ca16f6f64b
|
sha512sums = 1e77adb183e1bb42260965e1733b88d25ebd885ef4029b8c424dd100485fcd882f676a75d396cc7adbbb7c1c4ae9b4f047778d96c4d6d74b5302437059eb0db6
|
||||||
sha512sums = a917037dc63bfdd8d2d04b2d3f625eb9c8ec26868ca2eeef23d78f3442c8233252d86285b771e1c1428408508aedff4407aec5bdc9ef233fda995483fdab4202
|
sha512sums = cc853dc74ea961a9253085188f851e3184a53b252f1a85cecd16745b4ab561ea7a47b32bb9475624a2eec51106090a153bdb6ec6680f2ee4bd8fd5a6509ba831
|
||||||
sha512sums = 013adb73a718f5df05a055de0e5fa17701dc645d8e7025ff1192d99a405dd6a0923fcfdbbad37777ff993545aadf9d4d29bae7191c6505f9f929273d5b374ee2
|
sha512sums = cc712c85b364179794af393634c87ffb3d7d42b360379405ea587485f07e525496ac2da4e97f52a7f2232164e5e70d9442c9b7cc139c85f0405f662ae092b795
|
||||||
sha512sums = 34710dbf905e6af2d7af3feab9f55c867dcbac6afa0ab6a12f7c458b974ba71e14ef797e9db613d3248c046dee1c1dce8559ceeaf1d95d1215368032e642731d
|
sha512sums = 4c5733a51dc1070327eadea420ba5acea2ec74a3bac538264969bc5eea2dadee701dd6634737e09b2755eae388fa0969d32738b6ea81b99f66a56db9b6a90765
|
||||||
sha512sums = e131c7a65ce0e848f0b91bfd4b3db750bc0bddce64a9ff49d97082ddafb9ddab92f43ea19a2c92b054e85df0f018f43ff5dc8cf81671520079e4e4681d5ac230
|
sha512sums = e61d437cb1b98f50bd5e4404a90f744d05d8a73965554b1ac981ffa534f1a134bdf6714a78a2eb257b8a53675a012e5786bdce3fd16201b9b64191a61cb11373
|
||||||
sha512sums = cefa4f5032a06e9341ccdabef022d755c8869b391a33ed5c4bd927672f967d5287d4c017cb7b2d37c163c9f387ca94d5846327461a9ba3b44478ed67a60d6a9f
|
sha512sums = 19e0943462fe6e72a104ed45015b8e2b73a0ffa389f733752b6991e1f69e521682f3095d8c372aa800d13b89b28237aa6d2b1fcd24d4df9da6a6ba2000e07c77
|
||||||
sha512sums = e406d3f16f17b35ce463120eefd2bea3797fa83304ea27628b9a671704451c4a275d6844b0f007997e3a6edc39557442c6eb9eb8b6dc2a50e07341e3b0621e1f
|
sha512sums = abce43def134860a6953fb2e804541860f3a222fbf2e27956874e77974e70851893078cefdce086f56b5144c885dbe674d060e635f351ef4efc9a1bcd1fcfa1c
|
||||||
sha512sums = 6c1cd77e63f760aabb9186edb906092bb9f6a7b2e7bd32deff4af33b5f35e95abe7ff874b6a17112d3da098f970f706c0a05f239fc75b65e60f4c68ae544eacf
|
sha512sums = 55a80e92c70f709ffb42491d61cfc659ba0c682603a8431e915d238495e9ba966b976a195daec0aec79803473d9b251371c4469391f423456d325ab558a0379c
|
||||||
|
sha512sums = 6dea2f711a4871da8dd72faa29f3eb3274e18d24a6bc719461b20fa4b0a327ad16291b8867c9d68d5b911be4016f2d75fa0158df1e55b5fc96f2612574e7ceb0
|
||||||
|
sha512sums = cef5df381f13456326e844b1f45168f51af37df09227f07bdd800672efce28181c4fdf96798759d139f953b5809850caa3894d2f7a3c29c0a7220dd0b4f60c78
|
||||||
|
sha512sums = fd3a51462f745169522c5c6a857fe124eebb06331a9ccb1e4dc69e78c300c3b0737d5cb330c9d2b9e8f30aae9d206bbc985c2660aeb7ac1a66cbc9d84187cf06
|
||||||
|
sha512sums = 8a3c9db9d92b76a0388083744ead2eceb955c0c21c8b4242db51a500a6e1454a21725501e0ba1968f63b59b1ea6e83765d84d03b421ec482e8ca37166b03c2ac
|
||||||
|
|
||||||
pkgname = obs-studio-wayland
|
pkgname = obs-studio-wayland
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From af3a31e5dc24a37ecd34ac87ec662289a942a42e Mon Sep 17 00:00:00 2001
|
From 54422d4a37bfae4239e9aca54eb0ff0b8b419cdd Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 13:10:16 -0300
|
Date: Mon, 9 Mar 2020 13:10:16 -0300
|
||||||
Subject: [PATCH 01/16] deps-glad: Add EGL
|
Subject: [PATCH 01/20] deps-glad: Add EGL
|
||||||
|
|
||||||
The code is generated by https://glad.dav1d.de/
|
The code is generated by https://glad.dav1d.de/
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 6a15695f885d372909c3eeadd091abd640fca937 Mon Sep 17 00:00:00 2001
|
From f4dc111b8acbdd2be0bb077f1ac8d703d92d497c Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 13:19:31 -0300
|
Date: Mon, 9 Mar 2020 13:19:31 -0300
|
||||||
Subject: [PATCH 02/16] libobs-opengl: Rename gl-x11.c to gl-x11-glx.c
|
Subject: [PATCH 02/20] libobs-opengl: Rename gl-x11.c to gl-x11-glx.c
|
||||||
|
|
||||||
This is in preparation for the future abstraction layer (gl-x11-*)
|
This is in preparation for the future abstraction layer (gl-x11-*)
|
||||||
and also to match the actual name of the windowing system. When
|
and also to match the actual name of the windowing system. When
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 4cc969bdb0abcfb5a4737b2f4159ee9c0be7d4cc Mon Sep 17 00:00:00 2001
|
From c6f9827b8c07adb4c95811f2545ba546fac0c132 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 16:46:37 -0300
|
Date: Mon, 9 Mar 2020 16:46:37 -0300
|
||||||
Subject: [PATCH 03/16] libobs-opengl: Factor out GLX winsys
|
Subject: [PATCH 03/20] libobs-opengl: Factor out GLX winsys
|
||||||
|
|
||||||
Move the GLX-related code to gl-x11-glx, and introduce gl-nix as
|
Move the GLX-related code to gl-x11-glx, and introduce gl-nix as
|
||||||
a winsys-agnostic abstraction layer. gl-nix serves as the runtime
|
a winsys-agnostic abstraction layer. gl-nix serves as the runtime
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From ecff9e62ac3a52a198e6d5fd71c40abe3826799e Mon Sep 17 00:00:00 2001
|
From 47d63a561f82114ae31dca741ca2fdad27a7c519 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 17:35:49 -0300
|
Date: Mon, 9 Mar 2020 17:35:49 -0300
|
||||||
Subject: [PATCH 04/16] libobs-opengl: Introduce the X11/EGL winsys
|
Subject: [PATCH 04/20] libobs-opengl: Introduce the X11/EGL winsys
|
||||||
|
|
||||||
Introduce the EGL/X11 winsys, and use it when the OBS_USE_EGL environment
|
Introduce the EGL/X11 winsys, and use it when the OBS_USE_EGL environment
|
||||||
variable is defined. This variable is only temporary, for future commits
|
variable is defined. This variable is only temporary, for future commits
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 8191cd88f8273430e2976d774ac9189d17661f73 Mon Sep 17 00:00:00 2001
|
From e7f7eecfc23bd9903b7522aefbc82cce0284b889 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Sat, 11 Apr 2020 23:49:05 -0300
|
Date: Sat, 11 Apr 2020 23:49:05 -0300
|
||||||
Subject: [PATCH 05/16] deps/glad: Make X11 required as well
|
Subject: [PATCH 05/20] deps/glad: Make X11 required as well
|
||||||
|
|
||||||
To keep consistency with the EGL line
|
To keep consistency with the EGL line
|
||||||
---
|
---
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From f31796d19f4a4fdedc99f360ccf5d9c5c0f92cf5 Mon Sep 17 00:00:00 2001
|
From 9a85c7fcaf67bf606e3f57507c532e1239e52d57 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Fri, 6 Mar 2020 16:22:01 -0300
|
Date: Fri, 6 Mar 2020 16:22:01 -0300
|
||||||
Subject: [PATCH 06/16] ci: Install qtbase5-private-dev on Linux
|
Subject: [PATCH 06/20] ci: Install qtbase5-private-dev on Linux
|
||||||
|
|
||||||
List this dependency both under CI/install-dependencies-linux.sh, and
|
List this dependency both under CI/install-dependencies-linux.sh, and
|
||||||
.github/workflows/main.yml.
|
.github/workflows/main.yml.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From c84f1b751554d6a1cd15f5db4a611a2cb8f95842 Mon Sep 17 00:00:00 2001
|
From 77e85e17d58c13d655d3d81bb197c5a5d1f1453f Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Fri, 6 Mar 2020 17:24:33 -0300
|
Date: Fri, 6 Mar 2020 17:24:33 -0300
|
||||||
Subject: [PATCH 07/16] libobs/nix: Move X11-specific code to obs-nix-x11.c
|
Subject: [PATCH 07/20] libobs/nix: Move X11-specific code to obs-nix-x11.c
|
||||||
|
|
||||||
Currently, obs-nix.c is highly tied to the X11 display
|
Currently, obs-nix.c is highly tied to the X11 display
|
||||||
server. It includes X11 headers directly, and make use
|
server. It includes X11 headers directly, and make use
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 32f86b37c78454ad51ac427ccc772b7a62fa89c8 Mon Sep 17 00:00:00 2001
|
From 5dd4d22ec8c35ffd18499027573a42a57343eee6 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Fri, 6 Mar 2020 17:50:41 -0300
|
Date: Fri, 6 Mar 2020 17:50:41 -0300
|
||||||
Subject: [PATCH 08/16] libobs: Introduce the concept of a Unix platform
|
Subject: [PATCH 08/20] libobs: Introduce the concept of a Unix platform
|
||||||
|
|
||||||
This is a Unix-specific code. The only available platforms
|
This is a Unix-specific code. The only available platforms
|
||||||
at this point are the X11/GLX and X11/EGL platforms.
|
at this point are the X11/GLX and X11/EGL platforms.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 79ec8d09ce00ae6645604a3fd7562832c2400790 Mon Sep 17 00:00:00 2001
|
From 0c83de87856f6bffb5744353afc13f624836c792 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Tue, 7 Apr 2020 23:17:02 -0300
|
Date: Tue, 7 Apr 2020 23:17:02 -0300
|
||||||
Subject: [PATCH 09/16] UI: Set the Unix platform on startup
|
Subject: [PATCH 09/20] UI: Set the Unix platform on startup
|
||||||
|
|
||||||
Move the OBS_USE_EGL environment variable check to obs-app.cpp,
|
Move the OBS_USE_EGL environment variable check to obs-app.cpp,
|
||||||
and set the OBS platform to be either OBS_NIX_PLATFORM_X11_GLX
|
and set the OBS platform to be either OBS_NIX_PLATFORM_X11_GLX
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 7abd7a9ed53f36a0aa9ba45c32cb7824bc6558ac Mon Sep 17 00:00:00 2001
|
From 944cc7a1cbe8de3c21173ae4f32db034b5b9b6b2 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Wed, 8 Apr 2020 23:58:43 -0300
|
Date: Wed, 8 Apr 2020 23:58:43 -0300
|
||||||
Subject: [PATCH 10/16] linux-capture: Fail to load when running on EGL
|
Subject: [PATCH 10/20] linux-capture: Fail to load when running on EGL
|
||||||
|
|
||||||
Right now, linux-capture hard-depends on GLX. Disable it when
|
Right now, linux-capture hard-depends on GLX. Disable it when
|
||||||
running under EGL.
|
running under EGL.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 5c5cf8e4dfd6b2930a25c5772a5679d39c75fc0d Mon Sep 17 00:00:00 2001
|
From 3223d221945109bf6c78085a04c66816749a3168 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Fri, 6 Mar 2020 18:53:42 -0300
|
Date: Fri, 6 Mar 2020 18:53:42 -0300
|
||||||
Subject: [PATCH 11/16] libobs: Add a Wayland platform
|
Subject: [PATCH 11/20] libobs: Add a Wayland platform
|
||||||
|
|
||||||
Introduce the OBS_NIX_PLATFORM_WAYLAND enum value, and try to detect
|
Introduce the OBS_NIX_PLATFORM_WAYLAND enum value, and try to detect
|
||||||
it when OBS Studio runs by looking into the platform name.
|
it when OBS Studio runs by looking into the platform name.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From e8a11258a45892d6aebb08de3302e771df25bc6f Mon Sep 17 00:00:00 2001
|
From 321d06f9a2754dacbdac119a971d137cb2ececf2 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Sat, 11 Apr 2020 23:32:16 -0300
|
Date: Sat, 11 Apr 2020 23:32:16 -0300
|
||||||
Subject: [PATCH 12/16] libobs-opengl: Try to use the platform display if
|
Subject: [PATCH 12/20] libobs-opengl: Try to use the platform display if
|
||||||
available
|
available
|
||||||
|
|
||||||
We need to ensure we're running all X11 code on the same display.
|
We need to ensure we're running all X11 code on the same display.
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
From a0535494becd877747261ff18b545a4d77c980ff Mon Sep 17 00:00:00 2001
|
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
|
||||||
Date: Fri, 6 Mar 2020 18:53:42 -0300
|
|
||||||
Subject: [PATCH 13/16] libobs: Add a Wayland platform
|
|
||||||
|
|
||||||
Introduce the OBS_NIX_PLATFORM_WAYLAND enum value, and try to detect
|
|
||||||
it when OBS Studio runs by looking into the platform name.
|
|
||||||
---
|
|
||||||
UI/CMakeLists.txt | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt
|
|
||||||
index 171efa2b..70d6da79 100644
|
|
||||||
--- a/UI/CMakeLists.txt
|
|
||||||
+++ b/UI/CMakeLists.txt
|
|
||||||
@@ -408,6 +408,11 @@ if (ENABLE_WAYLAND)
|
|
||||||
include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
+if (ENABLE_WAYLAND)
|
|
||||||
+ find_package(Qt5Gui)
|
|
||||||
+ include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
define_graphic_modules(obs)
|
|
||||||
|
|
||||||
install_obs_core(obs)
|
|
||||||
--
|
|
||||||
2.28.0
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From 35be3fc4cc65ca86329cf1156e1256249096606b Mon Sep 17 00:00:00 2001
|
From e8ad273aa0698f045100fef74599008991dea8b0 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 21:09:11 -0300
|
Date: Mon, 9 Mar 2020 21:09:11 -0300
|
||||||
Subject: [PATCH 14/16] libobs-opengl: Introduce an EGL/Wayland renderer
|
Subject: [PATCH 13/20] libobs-opengl: Introduce an EGL/Wayland renderer
|
||||||
|
|
||||||
Introduce a new Wayland/EGL renderer.
|
Introduce a new Wayland/EGL renderer.
|
||||||
---
|
---
|
|
@ -1,7 +1,7 @@
|
||||||
From 9a69ae56d2204501b45cf7b5471279e7d61e65ba Mon Sep 17 00:00:00 2001
|
From d61735d0dc74fc1a50564fe72cb26a07c4d49e56 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Mon, 9 Mar 2020 21:23:37 -0300
|
Date: Mon, 9 Mar 2020 21:23:37 -0300
|
||||||
Subject: [PATCH 15/16] UI: Retrieve Wayland surface from QWindow
|
Subject: [PATCH 14/20] UI: Retrieve Wayland surface from QWindow
|
||||||
|
|
||||||
On Wayland, we want to query the window's underlying
|
On Wayland, we want to query the window's underlying
|
||||||
platform for the Wayland surface, instead of foolishly
|
platform for the Wayland surface, instead of foolishly
|
|
@ -1,7 +1,7 @@
|
||||||
From 7e2e627ebf4d9f52afebb7dcda95429f68362f32 Mon Sep 17 00:00:00 2001
|
From bab8f9d12fb7b534a6915cfef91b765603563238 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
Date: Tue, 18 Aug 2020 19:38:29 -0300
|
Date: Tue, 18 Aug 2020 19:38:29 -0300
|
||||||
Subject: [PATCH 16/16] UI: Destroy obs_display when becoming invisible
|
Subject: [PATCH 15/20] UI: Destroy display when becoming invisible
|
||||||
|
|
||||||
When a window is made invisible, then visible again, the
|
When a window is made invisible, then visible again, the
|
||||||
obs_display is reused. Turns out, QT destroys the wl_surface
|
obs_display is reused. Turns out, QT destroys the wl_surface
|
||||||
|
@ -10,10 +10,13 @@ surface created on top of this wl_surface is not, and any
|
||||||
attempt to attach a new buffer to it will crash OBS.
|
attempt to attach a new buffer to it will crash OBS.
|
||||||
|
|
||||||
Destroy the obs_display when becoming invisible, and when
|
Destroy the obs_display when becoming invisible, and when
|
||||||
running as a Wayland client.
|
running as a Wayland client. Also nullify the display
|
||||||
|
variable on destruction, to avoid subclasses double-freeing
|
||||||
|
the obs display.
|
||||||
---
|
---
|
||||||
UI/qt-display.cpp | 13 ++++++++++++-
|
UI/qt-display.cpp | 13 ++++++++++++-
|
||||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
UI/qt-display.hpp | 1 +
|
||||||
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
||||||
index 685ee6f9..fc83e0e0 100644
|
index 685ee6f9..fc83e0e0 100644
|
||||||
|
@ -47,6 +50,18 @@ index 685ee6f9..fc83e0e0 100644
|
||||||
|
|
||||||
if (!display) {
|
if (!display) {
|
||||||
CreateDisplay();
|
CreateDisplay();
|
||||||
|
diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp
|
||||||
|
index a2e5a3ef..50f891f8 100644
|
||||||
|
--- a/UI/qt-display.hpp
|
||||||
|
+++ b/UI/qt-display.hpp
|
||||||
|
@@ -25,6 +25,7 @@ signals:
|
||||||
|
public:
|
||||||
|
OBSQTDisplay(QWidget *parent = nullptr,
|
||||||
|
Qt::WindowFlags flags = nullptr);
|
||||||
|
+ ~OBSQTDisplay() { display = nullptr; }
|
||||||
|
|
||||||
|
virtual QPaintEngine *paintEngine() const override;
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.28.0
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
From 2e5a62066f4c54880c1879f44a703f5e302e79c0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
|
Date: Wed, 19 Aug 2020 10:11:08 -0300
|
||||||
|
Subject: [PATCH 16/20] UI: Don't create obs_display when QTToGSWindow fails
|
||||||
|
|
||||||
|
Right after showing the OBSQTDisplay widget, it may happen that a
|
||||||
|
wl_surface is not yet created and attached to the window. When this
|
||||||
|
happens, creating the OBS display results in a crash.
|
||||||
|
|
||||||
|
Make QTToGSWindow return a boolean, indicating success or failure, and
|
||||||
|
don't create the OBS display on failure.
|
||||||
|
---
|
||||||
|
UI/qt-display.cpp | 3 ++-
|
||||||
|
UI/qt-wrappers.cpp | 6 +++++-
|
||||||
|
UI/qt-wrappers.hpp | 2 +-
|
||||||
|
3 files changed, 8 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
||||||
|
index fc83e0e0..c00719ce 100644
|
||||||
|
--- a/UI/qt-display.cpp
|
||||||
|
+++ b/UI/qt-display.cpp
|
||||||
|
@@ -100,7 +100,8 @@ void OBSQTDisplay::CreateDisplay()
|
||||||
|
info.format = GS_BGRA;
|
||||||
|
info.zsformat = GS_ZS_NONE;
|
||||||
|
|
||||||
|
- QTToGSWindow(windowHandle(), info.window);
|
||||||
|
+ if (!QTToGSWindow(windowHandle(), info.window))
|
||||||
|
+ return;
|
||||||
|
|
||||||
|
display = obs_display_create(&info, backgroundColor);
|
||||||
|
|
||||||
|
diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp
|
||||||
|
index 1485a181..da5a8ef5 100644
|
||||||
|
--- a/UI/qt-wrappers.cpp
|
||||||
|
+++ b/UI/qt-wrappers.cpp
|
||||||
|
@@ -110,8 +110,10 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title,
|
||||||
|
mb.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
-void QTToGSWindow(QWindow *window, gs_window &gswindow)
|
||||||
|
+bool QTToGSWindow(QWindow *window, gs_window &gswindow)
|
||||||
|
{
|
||||||
|
+ bool success = true;
|
||||||
|
+
|
||||||
|
#ifdef _WIN32
|
||||||
|
gswindow.hwnd = (HWND)window->winId();
|
||||||
|
#elif __APPLE__
|
||||||
|
@@ -129,10 +131,12 @@ void QTToGSWindow(QWindow *window, gs_window &gswindow)
|
||||||
|
QGuiApplication::platformNativeInterface();
|
||||||
|
gswindow.display =
|
||||||
|
native->nativeResourceForWindow("surface", window);
|
||||||
|
+ success = gswindow.display != nullptr;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+ return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods)
|
||||||
|
diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp
|
||||||
|
index f191f8f9..cb244a74 100644
|
||||||
|
--- a/UI/qt-wrappers.hpp
|
||||||
|
+++ b/UI/qt-wrappers.hpp
|
||||||
|
@@ -56,7 +56,7 @@ public:
|
||||||
|
|
||||||
|
void OBSErrorBox(QWidget *parent, const char *msg, ...);
|
||||||
|
|
||||||
|
-void QTToGSWindow(QWindow *window, gs_window &gswindow);
|
||||||
|
+bool QTToGSWindow(QWindow *window, gs_window &gswindow);
|
||||||
|
|
||||||
|
uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
37
0017-UI-Rename-callback-to-match-signal-name.patch
Normal file
37
0017-UI-Rename-callback-to-match-signal-name.patch
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
From fb03e532004fec99d7d63ce765133665504aae70 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
|
Date: Wed, 19 Aug 2020 13:08:01 -0300
|
||||||
|
Subject: [PATCH 17/20] UI: Rename callback to match signal name
|
||||||
|
|
||||||
|
The sizeChanged callback is connected to the screenChanged signal,
|
||||||
|
and evidently the naming doesn't match. Rename the callback to
|
||||||
|
match the signal name.
|
||||||
|
---
|
||||||
|
UI/qt-display.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
||||||
|
index c00719ce..feed5b6c 100644
|
||||||
|
--- a/UI/qt-display.cpp
|
||||||
|
+++ b/UI/qt-display.cpp
|
||||||
|
@@ -56,7 +56,7 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
- auto sizeChanged = [this](QScreen *) {
|
||||||
|
+ auto screenChanged = [this](QScreen *) {
|
||||||
|
CreateDisplay();
|
||||||
|
|
||||||
|
QSize size = GetPixelSize(this);
|
||||||
|
@@ -64,7 +64,7 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
|
||||||
|
};
|
||||||
|
|
||||||
|
connect(windowHandle(), &QWindow::visibleChanged, windowVisible);
|
||||||
|
- connect(windowHandle(), &QWindow::screenChanged, sizeChanged);
|
||||||
|
+ connect(windowHandle(), &QWindow::screenChanged, screenChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor OBSQTDisplay::GetDisplayBackgroundColor() const
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
From b31f3e26477368af8213da7883391e475ff82ac2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
|
Date: Wed, 19 Aug 2020 15:09:26 -0300
|
||||||
|
Subject: [PATCH 18/20] UI: Disable and ignore Always On Top on Wayland
|
||||||
|
platforms
|
||||||
|
|
||||||
|
This is a dangerous operation on Wayland, and is crashing not only
|
||||||
|
OBS Studio but also the whole compositor. Let's disable it for now
|
||||||
|
when running as a native Wayland client.
|
||||||
|
|
||||||
|
Some compositors (GNOME Shell, Plasma) still allow setting this
|
||||||
|
option on the window menu.
|
||||||
|
---
|
||||||
|
UI/window-basic-main.cpp | 19 ++++++++++++++++++-
|
||||||
|
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
|
||||||
|
index 09304eb1..653ad93a 100644
|
||||||
|
--- a/UI/window-basic-main.cpp
|
||||||
|
+++ b/UI/window-basic-main.cpp
|
||||||
|
@@ -75,6 +75,10 @@
|
||||||
|
|
||||||
|
#include <json11.hpp>
|
||||||
|
|
||||||
|
+#ifdef ENABLE_WAYLAND
|
||||||
|
+#include <obs-nix-platform.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
using namespace json11;
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
@@ -1713,9 +1717,22 @@ void OBSBasic::OBSInit()
|
||||||
|
|
||||||
|
bool alwaysOnTop = config_get_bool(App()->GlobalConfig(), "BasicWindow",
|
||||||
|
"AlwaysOnTop");
|
||||||
|
- if (alwaysOnTop || opt_always_on_top) {
|
||||||
|
+
|
||||||
|
+#ifdef ENABLE_WAYLAND
|
||||||
|
+ bool isWayland = obs_get_nix_platform() == OBS_NIX_PLATFORM_WAYLAND;
|
||||||
|
+#else
|
||||||
|
+ bool isWayland = false;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ if (!isWayland && (alwaysOnTop || opt_always_on_top)) {
|
||||||
|
SetAlwaysOnTop(this, true);
|
||||||
|
ui->actionAlwaysOnTop->setChecked(true);
|
||||||
|
+ } else if (isWayland) {
|
||||||
|
+ if (opt_always_on_top)
|
||||||
|
+ blog(LOG_INFO,
|
||||||
|
+ "Always On Top not available on Wayland, ignoring…");
|
||||||
|
+ ui->actionAlwaysOnTop->setEnabled(false);
|
||||||
|
+ ui->actionAlwaysOnTop->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
From 2debb5ceb1bcc44f74c2b72f2af7ef02e3755e69 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
|
Date: Thu, 20 Aug 2020 11:57:19 -0300
|
||||||
|
Subject: [PATCH 19/20] UI: Make OBSQTDisplay::CreateDisplay() public and allow
|
||||||
|
forcing creation
|
||||||
|
|
||||||
|
This will be used by a new event filter, added only when running as a Wayland
|
||||||
|
client, to force creating the obs_display instance even when not exposed.
|
||||||
|
---
|
||||||
|
UI/qt-display.cpp | 7 +++++--
|
||||||
|
UI/qt-display.hpp | 3 +--
|
||||||
|
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
||||||
|
index feed5b6c..b230ab4e 100644
|
||||||
|
--- a/UI/qt-display.cpp
|
||||||
|
+++ b/UI/qt-display.cpp
|
||||||
|
@@ -87,9 +87,12 @@ void OBSQTDisplay::UpdateDisplayBackgroundColor()
|
||||||
|
obs_display_set_background_color(display, backgroundColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
-void OBSQTDisplay::CreateDisplay()
|
||||||
|
+void OBSQTDisplay::CreateDisplay(bool force)
|
||||||
|
{
|
||||||
|
- if (display || !windowHandle()->isExposed())
|
||||||
|
+ if (display)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ if (!windowHandle()->isExposed() && !force)
|
||||||
|
return;
|
||||||
|
|
||||||
|
QSize size = GetPixelSize(this);
|
||||||
|
diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp
|
||||||
|
index 50f891f8..ac717b82 100644
|
||||||
|
--- a/UI/qt-display.hpp
|
||||||
|
+++ b/UI/qt-display.hpp
|
||||||
|
@@ -13,8 +13,6 @@ class OBSQTDisplay : public QWidget {
|
||||||
|
|
||||||
|
OBSDisplay display;
|
||||||
|
|
||||||
|
- void CreateDisplay();
|
||||||
|
-
|
||||||
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
|
@@ -36,4 +34,5 @@ public:
|
||||||
|
QColor GetDisplayBackgroundColor() const;
|
||||||
|
void SetDisplayBackgroundColor(const QColor &color);
|
||||||
|
void UpdateDisplayBackgroundColor();
|
||||||
|
+ void CreateDisplay(bool force = false);
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
From 0e49f864012ef995870d9debac5fa08d73615b30 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||||
|
Date: Thu, 20 Aug 2020 11:58:45 -0300
|
||||||
|
Subject: [PATCH 20/20] UI: Check for Expose and PlatformSurface events to
|
||||||
|
create display
|
||||||
|
|
||||||
|
This is a workaround for QWaylandWindow never becoming exposed, or
|
||||||
|
receiving the QEvent::Expose [1].
|
||||||
|
|
||||||
|
[1] https://bugreports.qt.io/browse/QTBUG-86176
|
||||||
|
---
|
||||||
|
UI/qt-display.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 56 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp
|
||||||
|
index b230ab4e..5d81c463 100644
|
||||||
|
--- a/UI/qt-display.cpp
|
||||||
|
+++ b/UI/qt-display.cpp
|
||||||
|
@@ -10,6 +10,56 @@
|
||||||
|
|
||||||
|
#ifdef ENABLE_WAYLAND
|
||||||
|
#include <obs-nix-platform.h>
|
||||||
|
+
|
||||||
|
+class SurfaceEventFilter : public QObject {
|
||||||
|
+ OBSQTDisplay *display;
|
||||||
|
+ int mTimerId;
|
||||||
|
+
|
||||||
|
+public:
|
||||||
|
+ SurfaceEventFilter(OBSQTDisplay *src) : display(src), mTimerId(0) {}
|
||||||
|
+
|
||||||
|
+protected:
|
||||||
|
+ bool eventFilter(QObject *obj, QEvent *event) override
|
||||||
|
+ {
|
||||||
|
+ bool result = QObject::eventFilter(obj, event);
|
||||||
|
+ QPlatformSurfaceEvent *surfaceEvent;
|
||||||
|
+
|
||||||
|
+ switch (event->type()) {
|
||||||
|
+ case QEvent::PlatformSurface:
|
||||||
|
+ surfaceEvent =
|
||||||
|
+ static_cast<QPlatformSurfaceEvent *>(event);
|
||||||
|
+ if (surfaceEvent->surfaceEventType() !=
|
||||||
|
+ QPlatformSurfaceEvent::SurfaceCreated)
|
||||||
|
+ return result;
|
||||||
|
+
|
||||||
|
+ if (display->windowHandle()->isExposed())
|
||||||
|
+ createOBSDisplay();
|
||||||
|
+ else
|
||||||
|
+ mTimerId = startTimer(67); // Arbitrary
|
||||||
|
+ break;
|
||||||
|
+ case QEvent::Expose:
|
||||||
|
+ createOBSDisplay();
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return result;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ void timerEvent(QTimerEvent *) { createOBSDisplay(true); }
|
||||||
|
+
|
||||||
|
+private:
|
||||||
|
+ void createOBSDisplay(bool force = false)
|
||||||
|
+ {
|
||||||
|
+ display->CreateDisplay(force);
|
||||||
|
+ if (mTimerId > 0) {
|
||||||
|
+ killTimer(mTimerId);
|
||||||
|
+ mTimerId = 0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline long long color_to_int(const QColor &color)
|
||||||
|
@@ -65,6 +115,12 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
|
||||||
|
|
||||||
|
connect(windowHandle(), &QWindow::visibleChanged, windowVisible);
|
||||||
|
connect(windowHandle(), &QWindow::screenChanged, screenChanged);
|
||||||
|
+
|
||||||
|
+#ifdef ENABLE_WAYLAND
|
||||||
|
+ if (obs_get_nix_platform() == OBS_NIX_PLATFORM_WAYLAND)
|
||||||
|
+ windowHandle()->installEventFilter(
|
||||||
|
+ new SurfaceEventFilter(this));
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor OBSQTDisplay::GetDisplayBackgroundColor() const
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
50
PKGBUILD
50
PKGBUILD
|
@ -7,7 +7,7 @@ pkgname=$_pkgname-wayland
|
||||||
provides=("$_pkgname")
|
provides=("$_pkgname")
|
||||||
conflicts=("$_pkgname")
|
conflicts=("$_pkgname")
|
||||||
pkgver=25.0.8
|
pkgver=25.0.8
|
||||||
pkgrel=2
|
pkgrel=3
|
||||||
pkgdesc="Free, open source software for live streaming and recording (with wayland patches)"
|
pkgdesc="Free, open source software for live streaming and recording (with wayland patches)"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="https://obsproject.com"
|
url="https://obsproject.com"
|
||||||
|
@ -38,29 +38,37 @@ source=(
|
||||||
0010-linux-capture-Fail-to-load-when-running-on-EGL.patch
|
0010-linux-capture-Fail-to-load-when-running-on-EGL.patch
|
||||||
0011-libobs-Add-a-Wayland-platform.patch
|
0011-libobs-Add-a-Wayland-platform.patch
|
||||||
0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch
|
0012-libobs-opengl-Try-to-use-the-platform-display-if-ava.patch
|
||||||
0013-libobs-Add-a-Wayland-platform.patch
|
0013-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch
|
||||||
0014-libobs-opengl-Introduce-an-EGL-Wayland-renderer.patch
|
0014-UI-Retrieve-Wayland-surface-from-QWindow.patch
|
||||||
0015-UI-Retrieve-Wayland-surface-from-QWindow.patch
|
0015-UI-Destroy-display-when-becoming-invisible.patch
|
||||||
0016-UI-Destroy-obs_display-when-becoming-invisible.patch
|
0016-UI-Don-t-create-obs_display-when-QTToGSWindow-fails.patch
|
||||||
|
0017-UI-Rename-callback-to-match-signal-name.patch
|
||||||
|
0018-UI-Disable-and-ignore-Always-On-Top-on-Wayland-platf.patch
|
||||||
|
0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch
|
||||||
|
0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch
|
||||||
)
|
)
|
||||||
sha512sums=('a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08'
|
sha512sums=('a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08'
|
||||||
'1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc'
|
'1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc'
|
||||||
'6329e08da95e345509001ab6b9e8b73a227d0e63a8d39a3ef9b7d0197940ea9589d39b4aa92cdcc9f21cc4b9110a97f8e80891a12b4b24dff6d23395379abf5c'
|
'df2a3b13a66603546bc39c070bbbe55d2ef0e6620fea98e773955713ef74c6817649713da76548d24a4160f4af327e132205cbeb2f90959690aa3321945284c4'
|
||||||
'b05346b83587d2fe3fbc676a14aca961f05fa58c6912f82fed9e15a4b9fcacce297921003b41980c57ba09c4623d50c905a7c50961c2269a9709fcb67a088002'
|
'd15612ba51364c9ba49096a3aa8d2002d739b81cae090586254fc1351723cabfd80a09d76834b71f6d49abcc50e33dda52f183dd3a5e87a0d740ce57dc2cb583'
|
||||||
'6f38fd7f6f5a29d05b6dd824af1de6072ebd692c96940ba74e5d1799e21754230010fd70cd2f1ce830a0701d25b07cfbae8cbe49f89ba085cd2dec6796a7790d'
|
'43e67659200e077a6dc624f94ed9cde5a31ae7bcd403b9ea649fb0277b3a1964b4f11a4ad45d754fc571b71c3cca42ca0a843bd484229a64a41d3f96efa03aca'
|
||||||
'14979eef47ab1d6e88ab77c35ab00a5e8297d1ed332bb397b8d3906e68c6ffa0b4e0761ef0dfff0221c7e22f5fb709e5bb11b87e046116bb3996df270e3b7b43'
|
'dfd8687f3aaae32161998075923905bc2c3111b299132d398efee5771fb0b681a96f1ee367b6955e66935df8b2f9cb59466b5c209768b04bf4c6af177c4b8621'
|
||||||
'db6a8d54e86f58f1adecb0f09ab5660ae0d06f4aa8bd0ea2e61da601ae82fd53a3b4c6db96d5827709e700843b70cc5a72851c0d429e3ec05bef250ed48445a0'
|
'b47ee46b3bdb6de606fb667d17536fbede200be86021c983259c131fe9f463b3101e419ea8ed30f0a99163877d2e939f44b9e7fd2d213cc4c203da64813117d1'
|
||||||
'f0374c85bd93928a32d60a9516c90c1b2e3537b84f949066110897f05224a568dd57f2cd9d141b0cfa8e89672b081dac3c64304523fcf37f0c018ca78ad71625'
|
'8b6e5f32ebfca1f163d69144e3752b409be8b3747ff46b9f9cecf0140247fffc8728f49cfcf0f71e2b514ff8e516bf441cdd421dff6952d30f65a8adfd4526e3'
|
||||||
'dcdca90cfd701aad02ba12dee9a6482ca9066ff817e6e24bb3d0d6dfbbc48e8e98eb02517983802c66cade34c0d347aec817fe98da8baa7f5fff9187201e9a00'
|
'62f37c7c60067100a8594306e5fa6e65003063fc3d35d8b7daa7ead2f50ae17677f54dc9f8ac206ef20ca1178ddfb68948893f6d8d56efd0dcc6f147c172c547'
|
||||||
'64e4adef34a1074410245120d828871c128ee8254d77378cd7b74fe0182abaffdbff6669990a75464335b33d83641893b73e618c7322e1fe3186a748eab07e79'
|
'5d6e46223f2d08e807040cc8e264d27219ad8b4a5ff580fa568ccbc88f26564f2e72e8400b8c447c226b5f27346206da19081a5ac03512c95a56ea5d6b3924ff'
|
||||||
'64ca66913ade6b28815aa06383089e1c9aaa7a2b50cd425be8876d0a95338615be844a362a55c02541681d51f1921cb0820554f49fe21786649076ca16f6f64b'
|
'1e77adb183e1bb42260965e1733b88d25ebd885ef4029b8c424dd100485fcd882f676a75d396cc7adbbb7c1c4ae9b4f047778d96c4d6d74b5302437059eb0db6'
|
||||||
'a917037dc63bfdd8d2d04b2d3f625eb9c8ec26868ca2eeef23d78f3442c8233252d86285b771e1c1428408508aedff4407aec5bdc9ef233fda995483fdab4202'
|
'cc853dc74ea961a9253085188f851e3184a53b252f1a85cecd16745b4ab561ea7a47b32bb9475624a2eec51106090a153bdb6ec6680f2ee4bd8fd5a6509ba831'
|
||||||
'013adb73a718f5df05a055de0e5fa17701dc645d8e7025ff1192d99a405dd6a0923fcfdbbad37777ff993545aadf9d4d29bae7191c6505f9f929273d5b374ee2'
|
'cc712c85b364179794af393634c87ffb3d7d42b360379405ea587485f07e525496ac2da4e97f52a7f2232164e5e70d9442c9b7cc139c85f0405f662ae092b795'
|
||||||
'34710dbf905e6af2d7af3feab9f55c867dcbac6afa0ab6a12f7c458b974ba71e14ef797e9db613d3248c046dee1c1dce8559ceeaf1d95d1215368032e642731d'
|
'4c5733a51dc1070327eadea420ba5acea2ec74a3bac538264969bc5eea2dadee701dd6634737e09b2755eae388fa0969d32738b6ea81b99f66a56db9b6a90765'
|
||||||
'e131c7a65ce0e848f0b91bfd4b3db750bc0bddce64a9ff49d97082ddafb9ddab92f43ea19a2c92b054e85df0f018f43ff5dc8cf81671520079e4e4681d5ac230'
|
'e61d437cb1b98f50bd5e4404a90f744d05d8a73965554b1ac981ffa534f1a134bdf6714a78a2eb257b8a53675a012e5786bdce3fd16201b9b64191a61cb11373'
|
||||||
'cefa4f5032a06e9341ccdabef022d755c8869b391a33ed5c4bd927672f967d5287d4c017cb7b2d37c163c9f387ca94d5846327461a9ba3b44478ed67a60d6a9f'
|
'19e0943462fe6e72a104ed45015b8e2b73a0ffa389f733752b6991e1f69e521682f3095d8c372aa800d13b89b28237aa6d2b1fcd24d4df9da6a6ba2000e07c77'
|
||||||
'e406d3f16f17b35ce463120eefd2bea3797fa83304ea27628b9a671704451c4a275d6844b0f007997e3a6edc39557442c6eb9eb8b6dc2a50e07341e3b0621e1f'
|
'abce43def134860a6953fb2e804541860f3a222fbf2e27956874e77974e70851893078cefdce086f56b5144c885dbe674d060e635f351ef4efc9a1bcd1fcfa1c'
|
||||||
'6c1cd77e63f760aabb9186edb906092bb9f6a7b2e7bd32deff4af33b5f35e95abe7ff874b6a17112d3da098f970f706c0a05f239fc75b65e60f4c68ae544eacf')
|
'55a80e92c70f709ffb42491d61cfc659ba0c682603a8431e915d238495e9ba966b976a195daec0aec79803473d9b251371c4469391f423456d325ab558a0379c'
|
||||||
|
'6dea2f711a4871da8dd72faa29f3eb3274e18d24a6bc719461b20fa4b0a327ad16291b8867c9d68d5b911be4016f2d75fa0158df1e55b5fc96f2612574e7ceb0'
|
||||||
|
'cef5df381f13456326e844b1f45168f51af37df09227f07bdd800672efce28181c4fdf96798759d139f953b5809850caa3894d2f7a3c29c0a7220dd0b4f60c78'
|
||||||
|
'fd3a51462f745169522c5c6a857fe124eebb06331a9ccb1e4dc69e78c300c3b0737d5cb330c9d2b9e8f30aae9d206bbc985c2660aeb7ac1a66cbc9d84187cf06'
|
||||||
|
'8a3c9db9d92b76a0388083744ead2eceb955c0c21c8b4242db51a500a6e1454a21725501e0ba1968f63b59b1ea6e83765d84d03b421ec482e8ca37166b03c2ac')
|
||||||
prepare() {
|
prepare() {
|
||||||
cd $_pkgname-$pkgver
|
cd $_pkgname-$pkgver
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue