update to 26 & patches from pull request

Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
This commit is contained in:
Antoine Damhet 2020-10-06 09:03:37 +02:00
parent 7d051afb61
commit 00cef947b3
No known key found for this signature in database
GPG Key ID: DC09A32F3CE58F3E
27 changed files with 588 additions and 172 deletions

View File

@ -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 = 26.0.0
pkgrel = 6 pkgrel = 1
url = https://obsproject.com url = https://obsproject.com
arch = x86_64 arch = x86_64
license = GPL2 license = GPL2
@ -33,8 +33,7 @@ pkgbase = obs-studio-wayland
optdepends = wlrobs-hg: screen capture on wlroots compositors optdepends = wlrobs-hg: screen capture on wlroots compositors
provides = obs-studio provides = obs-studio
conflicts = obs-studio conflicts = obs-studio
source = obs-studio-25.0.8.tar.gz::https://github.com/jp9000/obs-studio/archive/25.0.8.tar.gz source = obs-studio-26.0.0.tar.gz::https://github.com/jp9000/obs-studio/archive/26.0.0.tar.gz
source = https://github.com/obsproject/obs-studio/commit/8a1429e29ebd6bf31ad6ae63c6992e2c03893767.patch
source = 0001-deps-glad-Add-EGL.patch source = 0001-deps-glad-Add-EGL.patch
source = 0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch source = 0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch
source = 0003-libobs-opengl-Factor-out-GLX-winsys.patch source = 0003-libobs-opengl-Factor-out-GLX-winsys.patch
@ -56,35 +55,36 @@ pkgbase = obs-studio-wayland
source = 0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch source = 0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch
source = 0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch source = 0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch
source = 0021-Don-t-create-native-widget-siblings.patch source = 0021-Don-t-create-native-widget-siblings.patch
source = 0022-libobs-graphics-Add-Linux-only-device_texture_create.patch source = 0022-Cleanup-native-widgets.patch
source = 0023-deps-glad-Add-DMA-BUF-EGL-extensions.patch source = 0023-libobs-graphics-Add-Linux-only-device_texture_create.patch
source = 0024-libobs-opengl-Implement-DMA-BUF-importing-on-EGL-ren.patch source = 0024-deps-glad-Add-DMA-BUF-EGL-extensions.patch
sha512sums = a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08 source = 0025-libobs-opengl-Implement-DMA-BUF-importing-on-EGL-ren.patch
sha512sums = 1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc sha512sums = 54a8eadf7ded1d309987a5f677ea7513b96cf95b071fd2321c3e712097d872a5f724edf9aba7cfa9452884b79d230fd65d512647c8583ca71691894277ca89b1
sha512sums = 412c4121fc77af66a3e55650859becb6fb6d668369d8767729893e98fea8f6f8dde4ec9bc160041bb986f8a508f762cc68446e3c8cf5525a5b6fbfac1c1bf4fd sha512sums = 456973a51bbb3e84974525de757bc3c88c67faf0c36366a6787b72b30ba978491bfb1161d5364cf7b0174ced1fe8b04c0e2e4c13c6f88c79dbeb151ce24eb38f
sha512sums = 6af84ddd3bb6953911840bd130606d8c1148cb6fc8e5750da480adb542813dc336f64056ffec8f07dc7467031e640842490b35fe89b39b621bf7db92d049743f sha512sums = 231b518b34951924ba0f7da56379036cdf2d08e9259365e67f617ed458e21c4a2d5193e25200d6270bf74f462a9916085a3f3aa9f4edd35c8e501922bef6f1b6
sha512sums = 6205323d409b1c583257540e4d51f6c2a2e456b06a6b6d4edacad8d53af05e40afdd283567d910cdff2d4d6d50677df1e78421c19505a85a71538ca108442de7 sha512sums = 3cdb29a4d3b639769758e8ea1d94a36baa89fec5e93110d1256ff275d83267c10f09888e6e29639d299e8322256d80ba19072519ae080bd461bc8cc2171e0405
sha512sums = be0d996ed92eccc4c7da354775b927b34c98f6863a16357c473e04e25a61cd3d73f128cedd154a2a3dfa321444f2884dc7f47f895cd9e2014df8d739837b01af sha512sums = 57e430c1ea3945c0ad9a33414c32a35623f870b0c9aaf79fc3e03a00f1ad8e2c890c28e509bf241ecd73f573c367b33262b6291d82f519d0b5234a76c1d72f7d
sha512sums = bd7bed1f8bfad7a3a3abc71d0d2db48fcdbe231a42ab16aaf95e81016e11446558bbcb9f18c91af1834c4fd90e692b0865ed23730715b7174545a500a29c1fb7 sha512sums = 09d71bf1a2f3e96a6bbba05d34e77407520741f9b302471d515af8d37f3f221b68f5656fd3c88899786044813743eb765c4bfbeab33fd3faf4f9a738f44873a3
sha512sums = bda1c8488083b9b76d0a7597f81d01621981803f2634a14fdb2bfcb1fa57638afd20956defb9269d234ddc7143755303d7ba21376ebfde034025ab8d2441162f sha512sums = 7bc1ea2d79b9c95f6fe12b77aa491f2072a2e417528ce95901b520fcfb80268dfd3bc14009b13932f833fbb7941427089b4e7d005b473863405f71c9a6c1987d
sha512sums = c378765fdcb271a6c98965f91a44d3a990184324a5b1fceb7094cf5333938e30bd09978e47837061bbc9edb2847a0c5e5aea84cf7d1e7a0f34a1ed49ada291d8 sha512sums = 19dfc1438743c18512190e663f313fcf0d0b11dbdff685e23f732c7234ce2b3b60c923c91035576979843f97a28ff9c877ffb9866b79e04a42e5c0df4988f762
sha512sums = 9abc8155aa02bb8ee50a32217ff58fa7bc001f070dbdc25c4837a13a5b76088eaf0b5bb76bb4d3cc66f820e1866236bbdece77739d3bd02df5e0e6ed2d8d6932 sha512sums = 00a37e551cfb9218df7e431b55e8d882244ce06a52c70b8dbff145493fedba0c19d9cc39cbc53c7c2ad0cf4e6886f1302bd0b7eb9ff0de31ff9938e060e35d7c
sha512sums = 2b5ab097562b46d19844f80680604126171732fda60984fd6cc63c188e23f04961c255b16af544893b587d00c14c49a465791bf3ee4af19ecb55c9ac09494d13 sha512sums = 075ba030b5b2ebb54213eebb34523cce48abf53118c3c21bca9bd6e40c984f3739e3581a0ee0cec0e63f42a496c1dc42fbf12a8714133c7b6ad0ee1027326e5b
sha512sums = d4f62e5cd212379600f559612592b29d8114b33ecb7d42f2817369866872fe31a20e734b3c3468eaea040ab4b48b94581bda2a45a9b09b029eecdbffdb7a067d sha512sums = d8aed1389391239a2e71525b66f9652958c8248a7bf9bfa5c296af72976c6d293635d16fed58a162e6a5228f15302530754619dd57c2db6156b9db631274762b
sha512sums = fe359f670c5e427d457c4b7a820cfddf37558209ebbd48eb16ca44c7f5342ae1e96685411a51207d8c16ed56b903f5282b29d56b892c7507cae790a759f30c1c sha512sums = 25ba2513de78e335d8ba3c711fce9b0dfa2fe7d144a2ac8147fcf7a26a0dd9b69d26b1c809f519ddcb550d217fb2ceb8ff44f126dcd4913ffe9b624c00e17110
sha512sums = 10210a00eac70214c7df82460dc8d8d795e7e4fd0f732effca4ccbc12fe23ee4826faa8d49eb8be5498e895a58c5a481dd46ebd1781489aa2f097827db11362e sha512sums = 3333b94a266a21654b3fab1eff67cf370cacf942f4d8ff29680a868dd3748c664378a4de28ca62e2a21146b737ea197e641cdb8691b73743a030bc79a0044259
sha512sums = 57dd96edb1cfc833aea7afa504877d5cb7c0676ec9cba3c8eb615125d5a6e74311ed28edde37a7c34cefb06009c850427e17bff01a09e5b260e4cd645b34449a sha512sums = b93cb4764e5330ea273370e577382240bc0f42f7b3e2916ba04b0e4a30fb20f3388d83fab1ede3204807f38927014945d6e2a374edb2040bed847b4ca2228977
sha512sums = 3adfe5956a20b06e30bf69bc119f2db8ad336a9288fc5b06d4303429b61d8de58973d223e8a0a4aae8feb16c4ca0ff52796cee229def981b690508be099f70fc sha512sums = 049cc567be0ec4e7994762ce30d95f496f05dd4996b742ba4f6be746f0a2d7f1e92491eb07d9f71047dacd094e5c632147e81c0a71f91f857fd0eb36f0a085a4
sha512sums = 10bb8c05f7aeee664823d5c709d71d6bc2db0939e7749016fa42be1f64a4b9af9c1ef8f60257b92ab2d93947d258e357aaf95c205f95e45e65dbb4c8e88b05b5 sha512sums = 58628d12e62bd0a2193425e5b4ec8a2cb8f843c17ed25c69ac867340c4438bead99d8b0aee1dda45238cad1c05c29d41d24e7b0931a6ef60c2ef8cdfe71045e4
sha512sums = 03df24ecd1c07ac526a0597a0fa505e84048e40fa60b9871c384959f8916fe610dde715bea267ce2d69ff3fae205eae43179dddfe9b1eb242e670d8c9fef6206 sha512sums = 08dc77ce5fd0452adbd260015aca618d3f2aa15ae8ed716e1349bbf4f67af293f1857fd2c50e79cde3cf00739605dc5bb240bcf1983e8229bc1c70453fd2d435
sha512sums = d9d3f2aa11c04caf4a2cb4c70cbf9735f2c56995039585359f1cd3d9518bfdef2440086b30cf54c7cbf52daa4b78b2a3120eadfdb0994e9309c4e5e5ca4b8698 sha512sums = 8842240e2e6c73cc2921e80c9fb1ff02dd6d916d50c448f467a10f8db754d65f09271f741853a61cb5c6de96b5804b9215e11e7d3e5fcffe283ea6358693ca56
sha512sums = d3b6abe7b332d31b8b6297b17861bf65c8ea0442026e9ca5d57b3f0e1df302ca6cb3df95f94d1a11143d941443ea748c956eaeb29ce30068da12b5c9bea80432 sha512sums = 7580a5aeb005e713a1bcb7f51d8088e6a55a417b17e034ffad98007278f4b00edc3433bb0c27ee7fcab4332c670318e26429d58e7e7e21c39d0f636d886f0573
sha512sums = 8b3e0a9a53b2af54662ac23ea8a196506e7434061b0123c9fdc1632aee1f8137fd26151c5fa8ac99d1a794a3d1c67197bab81cc7886a3e903c3bf3d2f3ab8324 sha512sums = 5474e2ee6a83501a96d3b392c696eca272c022a2415546dcdc577cd9a245759024935bd71e762b2057db5cd4e7368c17fde55e77c529a299d22cd19ade9ae456
sha512sums = 77a14e4a5f44d0f0e3895e1802c715907174a007c72b074005b17d6997098ac399e8d08b14c6aa9a3d307354e3f1b52d0640d64c3afd8598f260029b3b41a926 sha512sums = d3591a8cb41c8cdad9519ae5c382de288151a697e27eeff4e7c31a8988f653c98b95b43a260cd3a3a72aa1b48d61b6c101c4b1c7060a1afbc83d0a15f66cbf02
sha512sums = a03f2b34847a74920c840131db046370502f6de53c9e27e81c1e3e8cb9dfeae2954cc86d1e874513192ab34c17dd54a7eafc9eadee8037aafa26e2d2d05b7c47 sha512sums = c8e7126f0cfb569553df57db294aa960429275758be1b723eba1428c2564ba1c02fd8c614a3a886b932e0466d7470aa10ab078426ec42e62c8fb4c5ebf59ed30
sha512sums = b4f768da3974891e50322aed57cbcb228a0f6d54126163719ea41eeb9a9e6ffd7bff30cc3fb0af3e9e8a165d5b0d84d7beb5f442d316a98c79acdb24333687cb sha512sums = 9481184036b937bef673c7bdcc3031d74ff037423f38f81708a428f7e25f5dd8a86efd55dd4d53b898d3fceb549640542f8fdf0724d98c102409d4bf1b5a39a4
sha512sums = 475129b7243db100d5a93e4efb099c32b0bde8c9950494618c2d1bd91e91d19d6e4a2699f071145da585527fd890324073cd03bb520baf80332bbeda533e7015 sha512sums = a9ebedad561e6c7bcf33858bf9e8fa71d331d3b95007675e7cd3edd640fb9b23a5ff956749198618c3350912eab82aa87a2d979016e891c12d1df580d28de081
sha512sums = a7bae3d40e67de1a7753cc11f8bbf1a8cf87d642797fc14771e349d66a0127f5a6f767d04b434c5414cc50ae68508e3f21213b500b3abad1ebbb1a3b510be6fd sha512sums = 29ff61d5b0519f072c38973c281dc176f6250d734619689544a6c47f6975cb0ec53f9b66550864b80b889c5626120df1b0b2f08f3f7056221f91ffed2ef495b6
sha512sums = 028c6c012c6f73a172cb9fc11e7631261f33a4f8b4d86bbb55ad098cd1be64f00dcad623b90be7c0fabf3ff5ff86aeb60f4b2e5bee7cf4b055f905b018595b56
pkgname = obs-studio-wayland pkgname = obs-studio-wayland

View File

@ -1,7 +1,7 @@
From 9ae80ef763534a7e74b286bfa8752f1862b3c965 Mon Sep 17 00:00:00 2001 From 235b474bc274ac05b12ad3e7047ce3ac88b7b0f9 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/24] deps-glad: Add EGL Subject: [PATCH 01/25] deps-glad: Add EGL
The code is generated by https://glad.dav1d.de/ The code is generated by https://glad.dav1d.de/
--- ---
@ -74,7 +74,7 @@ index 00000000..ee27cc90
+ +
+mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES) +mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)
diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt
index 2c4cf13a..9cb7e8fd 100644 index 17ccb9a9..60b3ad41 100644
--- a/deps/glad/CMakeLists.txt --- a/deps/glad/CMakeLists.txt
+++ b/deps/glad/CMakeLists.txt +++ b/deps/glad/CMakeLists.txt
@@ -4,6 +4,7 @@ find_package(OpenGL) @@ -4,6 +4,7 @@ find_package(OpenGL)
@ -106,7 +106,7 @@ index 2c4cf13a..9cb7e8fd 100644
endif() endif()
add_library(glad SHARED add_library(glad SHARED
@@ -54,7 +59,9 @@ endif() @@ -53,7 +58,9 @@ endif()
if(NOT WIN32 AND NOT APPLE) if(NOT WIN32 AND NOT APPLE)
set(glad_PLATFORM_DEPS set(glad_PLATFORM_DEPS

View File

@ -1,7 +1,7 @@
From 5e10b60ae82614cc6671864042f3629ce4743267 Mon Sep 17 00:00:00 2001 From 79bd851cc2f7abec7524a55d60c75709ba61f932 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/24] libobs-opengl: Rename gl-x11.c to gl-x11-glx.c Subject: [PATCH 02/25] 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
@ -14,7 +14,7 @@ new file name matches that now.
rename libobs-opengl/{gl-x11.c => gl-x11-glx.c} (100%) rename libobs-opengl/{gl-x11.c => gl-x11-glx.c} (100%)
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 1d53d518..776f1330 100644 index c2fa4fd6..35bb5c65 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -49,7 +49,7 @@ else() #This needs to change to be more specific to get ready for Wayland @@ -49,7 +49,7 @@ else() #This needs to change to be more specific to get ready for Wayland

View File

@ -1,7 +1,7 @@
From 8ac176c96716a82ba889964425ef78bfcdbb3a2b Mon Sep 17 00:00:00 2001 From 6f1e483a579755577020c4b426faa865f40eab8f 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/24] libobs-opengl: Factor out GLX winsys Subject: [PATCH 03/25] 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
@ -22,7 +22,7 @@ The gl-nix code was originally written by Jason Francis <cycl0ps@tuta.io>
create mode 100644 libobs-opengl/gl-x11-glx.h create mode 100644 libobs-opengl/gl-x11-glx.h
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 776f1330..50afb923 100644 index 35bb5c65..6a4bb97d 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -49,6 +49,7 @@ else() #This needs to change to be more specific to get ready for Wayland @@ -49,6 +49,7 @@ else() #This needs to change to be more specific to get ready for Wayland

View File

@ -1,7 +1,7 @@
From 25ae9766e63d059a10bdaa1ce267367e24e455d5 Mon Sep 17 00:00:00 2001 From 584adb3b3cff20717501da1d99d8693655838a05 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/24] libobs-opengl: Introduce the X11/EGL winsys Subject: [PATCH 04/25] 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
@ -18,7 +18,7 @@ All the EGL/X11 code is authored by Ivan Avdeev <me@w23.ru>.
create mode 100644 libobs-opengl/gl-x11-egl.h create mode 100644 libobs-opengl/gl-x11-egl.h
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 50afb923..9c645c3d 100644 index 6a4bb97d..973c5da3 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -50,6 +50,7 @@ else() #This needs to change to be more specific to get ready for Wayland @@ -50,6 +50,7 @@ else() #This needs to change to be more specific to get ready for Wayland

View File

@ -1,7 +1,7 @@
From 3a3655510da3bee8c0314543e299a617c780efe6 Mon Sep 17 00:00:00 2001 From 99ccd3f717f0f2325a3f4f607f387b4da6236880 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/24] deps/glad: Make X11 required as well Subject: [PATCH 05/25] deps/glad: Make X11 required as well
To keep consistency with the EGL line To keep consistency with the EGL line
--- ---
@ -9,7 +9,7 @@ To keep consistency with the EGL line
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt
index 9cb7e8fd..a31a5b91 100644 index 60b3ad41..83f4efac 100644
--- a/deps/glad/CMakeLists.txt --- a/deps/glad/CMakeLists.txt
+++ b/deps/glad/CMakeLists.txt +++ b/deps/glad/CMakeLists.txt
@@ -3,7 +3,7 @@ project(glad) @@ -3,7 +3,7 @@ project(glad)

View File

@ -1,7 +1,7 @@
From 0bbcf8f5989342a8dd5115a8792bec6706e5bc54 Mon Sep 17 00:00:00 2001 From 986bb88baa8836c90abc0a3d621f98b6ade1f8d7 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/24] ci: Install qtbase5-private-dev on Linux Subject: [PATCH 06/25] 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.
@ -11,17 +11,17 @@ List this dependency both under CI/install-dependencies-linux.sh, and
2 files changed, 2 insertions(+) 2 files changed, 2 insertions(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 47c47101..008c3ee9 100644 index 33552e05..e24d811f 100644
--- a/.github/workflows/main.yml --- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml +++ b/.github/workflows/main.yml
@@ -176,6 +176,7 @@ jobs: @@ -375,6 +375,7 @@ jobs:
pkg-config \ pkg-config \
python3-dev \ python3-dev \
qtbase5-dev \ qtbase5-dev \
+ qtbase5-private-dev \ + qtbase5-private-dev \
libqt5svg5-dev \ libqt5svg5-dev \
swig swig \
- name: 'Install prerequisite: Chromium Embedded Framework' libcmocka-dev
diff --git a/CI/install-dependencies-linux.sh b/CI/install-dependencies-linux.sh diff --git a/CI/install-dependencies-linux.sh b/CI/install-dependencies-linux.sh
index 0d92fbf9..478f953a 100755 index 0d92fbf9..478f953a 100755
--- a/CI/install-dependencies-linux.sh --- a/CI/install-dependencies-linux.sh

View File

@ -1,7 +1,7 @@
From 1aa93bda22845acc9dabfd4f810ce88d649de041 Mon Sep 17 00:00:00 2001 From fa8912d9e82334714646eb3e23047fb5f00026f6 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/24] libobs/nix: Move X11-specific code to obs-nix-x11.c Subject: [PATCH 07/25] 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
@ -26,10 +26,10 @@ a new function to retrieve the X11 hotkeys vtable.
create mode 100644 libobs/obs-nix.h create mode 100644 libobs/obs-nix.h
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
index 0b592d7a..1625363f 100644 index 3702875e..e1765034 100644
--- a/libobs/CMakeLists.txt --- a/libobs/CMakeLists.txt
+++ b/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt
@@ -180,6 +180,7 @@ elseif(APPLE) @@ -181,6 +181,7 @@ elseif(APPLE)
elseif(UNIX) elseif(UNIX)
set(libobs_PLATFORM_SOURCES set(libobs_PLATFORM_SOURCES
obs-nix.c obs-nix.c

View File

@ -1,7 +1,7 @@
From e4823815167d212426ad71d4f4a558c93928c623 Mon Sep 17 00:00:00 2001 From 678cf335476375c701b6db87b3835f248f93d7dd 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/24] libobs: Introduce the concept of a Unix platform Subject: [PATCH 08/25] 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.
@ -20,10 +20,10 @@ the only display that is set right now is the X11 display.
create mode 100644 libobs/obs-nix-platform.h create mode 100644 libobs/obs-nix-platform.h
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index b6f0b7d5..cf9ecabf 100644 index 408ba5e9..7afa2209 100644
--- a/UI/obs-app.cpp --- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp +++ b/UI/obs-app.cpp
@@ -54,6 +54,11 @@ @@ -56,6 +56,11 @@
#include <pthread.h> #include <pthread.h>
#endif #endif
@ -35,7 +35,7 @@ index b6f0b7d5..cf9ecabf 100644
#include <iostream> #include <iostream>
#include "ui-config.h" #include "ui-config.h"
@@ -1346,6 +1351,13 @@ bool OBSApp::OBSInit() @@ -1369,6 +1374,13 @@ bool OBSApp::OBSInit()
qRegisterMetaType<VoidFunc>(); qRegisterMetaType<VoidFunc>();
@ -50,10 +50,10 @@ index b6f0b7d5..cf9ecabf 100644
return false; return false;
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
index 1625363f..489334c0 100644 index e1765034..7a786350 100644
--- a/libobs/CMakeLists.txt --- a/libobs/CMakeLists.txt
+++ b/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt
@@ -180,13 +180,18 @@ elseif(APPLE) @@ -181,13 +181,18 @@ elseif(APPLE)
elseif(UNIX) elseif(UNIX)
set(libobs_PLATFORM_SOURCES set(libobs_PLATFORM_SOURCES
obs-nix.c obs-nix.c
@ -72,7 +72,7 @@ index 1625363f..489334c0 100644
util/simde/check.h util/simde/check.h
util/simde/hedley.h util/simde/hedley.h
util/simde/mmx.h util/simde/mmx.h
@@ -197,6 +202,7 @@ elseif(UNIX) @@ -198,6 +203,7 @@ elseif(UNIX)
util/threading-posix.h) util/threading-posix.h)
else() else()
set(libobs_PLATFORM_HEADERS set(libobs_PLATFORM_HEADERS

View File

@ -1,7 +1,7 @@
From f686f95d5577e39d1e230992db9667263a50b056 Mon Sep 17 00:00:00 2001 From c5734b839a8e50e561d6ad42b3924e65800bdacf 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/24] UI: Set the Unix platform on startup Subject: [PATCH 09/25] 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
@ -13,10 +13,10 @@ or OBS_NIX_PLATFORM_X11_EGL.
3 files changed, 12 insertions(+), 4 deletions(-) 3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index cf9ecabf..c62ba1da 100644 index 7afa2209..2a8de8d9 100644
--- a/UI/obs-app.cpp --- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp +++ b/UI/obs-app.cpp
@@ -1354,6 +1354,10 @@ bool OBSApp::OBSInit() @@ -1377,6 +1377,10 @@ bool OBSApp::OBSInit()
#if !defined(_WIN32) && !defined(__APPLE__) #if !defined(_WIN32) && !defined(__APPLE__)
obs_set_nix_platform(OBS_NIX_PLATFORM_X11_GLX); obs_set_nix_platform(OBS_NIX_PLATFORM_X11_GLX);
if (QApplication::platformName() == "xcb") { if (QApplication::platformName() == "xcb") {

View File

@ -1,7 +1,7 @@
From 74515c11cd2386041df09d40591b61ec232726c6 Mon Sep 17 00:00:00 2001 From 2b169c0667bb779880557d361754220098081a39 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/24] linux-capture: Fail to load when running on EGL Subject: [PATCH 10/25] 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.

View File

@ -1,7 +1,7 @@
From 20b8264570f84ddc218b791643d26e168653ffbe Mon Sep 17 00:00:00 2001 From eb2b38d24454b1fdd21cb8184a224cb9fa0579d3 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/24] libobs: Add a Wayland platform Subject: [PATCH 11/25] 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.
@ -24,10 +24,10 @@ it when OBS Studio runs by looking into the platform name.
create mode 100644 libobs/obs-nix-wayland.h create mode 100644 libobs/obs-nix-wayland.h
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index b56c2bba..9ab530ce 100644 index 5bdfe21f..7828c65a 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -189,6 +189,8 @@ if(APPLE) @@ -205,6 +205,8 @@ if(APPLE)
list(APPEND CMAKE_INSTALL_RPATH "@loader_path/" "@executable_path/") list(APPEND CMAKE_INSTALL_RPATH "@loader_path/" "@executable_path/")
elseif(UNIX) elseif(UNIX)
option(USE_XDG "Utilize XDG Base Directory Specification" ON) option(USE_XDG "Utilize XDG Base Directory Specification" ON)
@ -37,12 +37,12 @@ index b56c2bba..9ab530ce 100644
add_definitions(-DUSE_XDG) add_definitions(-DUSE_XDG)
endif() endif()
diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt
index a660f326..56195d7d 100644 index df4d2645..ae689c95 100644
--- a/UI/CMakeLists.txt --- a/UI/CMakeLists.txt
+++ b/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt
@@ -403,6 +403,11 @@ if (APPLE) @@ -408,6 +408,11 @@ if (APPLE)
set_target_properties(obs PROPERTIES LINK_FLAGS "-pagezero_size 10000 -image_base 100000000")
endif() endif()
set_target_properties(obs PROPERTIES FOLDER "frontend")
+if (ENABLE_WAYLAND) +if (ENABLE_WAYLAND)
+ find_package(Qt5Gui REQUIRED) + find_package(Qt5Gui REQUIRED)
@ -53,10 +53,10 @@ index a660f326..56195d7d 100644
install_obs_core(obs) install_obs_core(obs)
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index c62ba1da..8335c2ce 100644 index 2a8de8d9..ce350f06 100644
--- a/UI/obs-app.cpp --- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp +++ b/UI/obs-app.cpp
@@ -57,6 +57,11 @@ @@ -59,6 +59,11 @@
#if !defined(_WIN32) && !defined(__APPLE__) #if !defined(_WIN32) && !defined(__APPLE__)
#include <obs-nix-platform.h> #include <obs-nix-platform.h>
#include <QX11Info> #include <QX11Info>
@ -68,7 +68,7 @@ index c62ba1da..8335c2ce 100644
#endif #endif
#include <iostream> #include <iostream>
@@ -1360,6 +1365,18 @@ bool OBSApp::OBSInit() @@ -1383,6 +1388,18 @@ bool OBSApp::OBSInit()
} }
obs_set_nix_platform_display(QX11Info::display()); obs_set_nix_platform_display(QX11Info::display());
} }
@ -172,7 +172,7 @@ index 00000000..377f0545
+ +
+ENDIF () +ENDIF ()
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 9c645c3d..f84636cf 100644 index 973c5da3..08e06f0d 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -32,7 +32,7 @@ elseif(APPLE) @@ -32,7 +32,7 @@ elseif(APPLE)
@ -201,10 +201,10 @@ index 9ed3d198..581e16a4 100644
assert(gl_vtable != NULL); assert(gl_vtable != NULL);
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
index 489334c0..1cb1583b 100644 index 7a786350..860ad1c8 100644
--- a/libobs/CMakeLists.txt --- a/libobs/CMakeLists.txt
+++ b/libobs/CMakeLists.txt +++ b/libobs/CMakeLists.txt
@@ -189,6 +189,21 @@ elseif(UNIX) @@ -190,6 +190,21 @@ elseif(UNIX)
set(libobs_PLATFORM_HEADERS set(libobs_PLATFORM_HEADERS
obs-nix-platform.h) obs-nix-platform.h)

View File

@ -1,7 +1,7 @@
From a9847552f9b6034f78ce6aae2e4ad7a63a274c5a Mon Sep 17 00:00:00 2001 From f867ce062bd6033291a7f1168804439f88929de5 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/24] libobs-opengl: Try to use the platform display if Subject: [PATCH 12/25] 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.

View File

@ -1,7 +1,7 @@
From fc5b9a4e3f196e0795b1966b64b86d02e4cc1ecb Mon Sep 17 00:00:00 2001 From 6969877f0d16864bfe0392f18de4310309372eb3 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 13/24] libobs-opengl: Introduce an EGL/Wayland renderer Subject: [PATCH 13/25] libobs-opengl: Introduce an EGL/Wayland renderer
Introduce a new Wayland/EGL renderer. Introduce a new Wayland/EGL renderer.
--- ---
@ -15,7 +15,7 @@ Introduce a new Wayland/EGL renderer.
create mode 100644 libobs-opengl/gl-wayland-egl.h create mode 100644 libobs-opengl/gl-wayland-egl.h
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index f84636cf..0f694b6c 100644 index 08e06f0d..6476e0be 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -52,6 +52,29 @@ else() @@ -52,6 +52,29 @@ else()

View File

@ -1,7 +1,7 @@
From 925a05f9db662ceb3200997d085dbce682f74ffc Mon Sep 17 00:00:00 2001 From ee7de65649ce502b68cd0b2a1da8cf15f016cc0d 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 14/24] UI: Retrieve Wayland surface from QWindow Subject: [PATCH 14/25] 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
@ -29,11 +29,11 @@ index 1bb97c7b..685ee6f9 100644
display = obs_display_create(&info, backgroundColor); display = obs_display_create(&info, backgroundColor);
diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp
index e8a51d37..1485a181 100644 index b9d00a78..040d1bb6 100644
--- a/UI/qt-wrappers.cpp --- a/UI/qt-wrappers.cpp
+++ b/UI/qt-wrappers.cpp +++ b/UI/qt-wrappers.cpp
@@ -27,9 +27,14 @@ @@ -28,9 +28,14 @@
#include <QKeyEvent> #include <QFileDialog>
#if !defined(_WIN32) && !defined(__APPLE__) #if !defined(_WIN32) && !defined(__APPLE__)
+#include <obs-nix-platform.h> +#include <obs-nix-platform.h>
@ -47,7 +47,7 @@ index e8a51d37..1485a181 100644
static inline void OBSErrorBoxva(QWidget *parent, const char *msg, va_list args) static inline void OBSErrorBoxva(QWidget *parent, const char *msg, va_list args)
{ {
char full_message[4096]; char full_message[4096];
@@ -105,15 +110,28 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title, @@ -106,15 +111,28 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title,
mb.exec(); mb.exec();
} }
@ -82,7 +82,7 @@ index e8a51d37..1485a181 100644
} }
diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp
index 69996deb..f191f8f9 100644 index 71b11354..51c4f937 100644
--- a/UI/qt-wrappers.hpp --- a/UI/qt-wrappers.hpp
+++ b/UI/qt-wrappers.hpp +++ b/UI/qt-wrappers.hpp
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@

View File

@ -1,7 +1,7 @@
From 810e7a1d5e547d25da3d62ecbb25a1dcb8990d2f Mon Sep 17 00:00:00 2001 From 8c902a15e93978d9e1c61f559a076fe5ae606503 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 15/24] UI: Destroy display when becoming invisible Subject: [PATCH 15/25] 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
@ -51,13 +51,13 @@ index 685ee6f9..fc83e0e0 100644
if (!display) { if (!display) {
CreateDisplay(); CreateDisplay();
diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp
index a2e5a3ef..50f891f8 100644 index 816d96bc..21308e70 100644
--- a/UI/qt-display.hpp --- a/UI/qt-display.hpp
+++ b/UI/qt-display.hpp +++ b/UI/qt-display.hpp
@@ -25,6 +25,7 @@ signals: @@ -25,6 +25,7 @@ signals:
public: public:
OBSQTDisplay(QWidget *parent = nullptr, OBSQTDisplay(QWidget *parent = nullptr,
Qt::WindowFlags flags = nullptr); Qt::WindowFlags flags = Qt::WindowFlags());
+ ~OBSQTDisplay() { display = nullptr; } + ~OBSQTDisplay() { display = nullptr; }
virtual QPaintEngine *paintEngine() const override; virtual QPaintEngine *paintEngine() const override;

View File

@ -1,7 +1,7 @@
From 00fcdb6b5f8a01da49d3325884c2e17fa15a5110 Mon Sep 17 00:00:00 2001 From 1e1f2a08d604ef81bf73584e89544b6002a8923b 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, 19 Aug 2020 10:11:08 -0300 Date: Wed, 19 Aug 2020 10:11:08 -0300
Subject: [PATCH 16/24] UI: Don't create obs_display when QTToGSWindow fails Subject: [PATCH 16/25] UI: Don't create obs_display when QTToGSWindow fails
Right after showing the OBSQTDisplay widget, it may happen that a Right after showing the OBSQTDisplay widget, it may happen that a
wl_surface is not yet created and attached to the window. When this wl_surface is not yet created and attached to the window. When this
@ -30,10 +30,10 @@ index fc83e0e0..c00719ce 100644
display = obs_display_create(&info, backgroundColor); display = obs_display_create(&info, backgroundColor);
diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp
index 1485a181..da5a8ef5 100644 index 040d1bb6..446576f3 100644
--- a/UI/qt-wrappers.cpp --- a/UI/qt-wrappers.cpp
+++ b/UI/qt-wrappers.cpp +++ b/UI/qt-wrappers.cpp
@@ -110,8 +110,10 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title, @@ -111,8 +111,10 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title,
mb.exec(); mb.exec();
} }
@ -45,7 +45,7 @@ index 1485a181..da5a8ef5 100644
#ifdef _WIN32 #ifdef _WIN32
gswindow.hwnd = (HWND)window->winId(); gswindow.hwnd = (HWND)window->winId();
#elif __APPLE__ #elif __APPLE__
@@ -129,10 +131,12 @@ void QTToGSWindow(QWindow *window, gs_window &gswindow) @@ -130,10 +132,12 @@ void QTToGSWindow(QWindow *window, gs_window &gswindow)
QGuiApplication::platformNativeInterface(); QGuiApplication::platformNativeInterface();
gswindow.display = gswindow.display =
native->nativeResourceForWindow("surface", window); native->nativeResourceForWindow("surface", window);
@ -59,7 +59,7 @@ index 1485a181..da5a8ef5 100644
uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods) uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods)
diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp
index f191f8f9..cb244a74 100644 index 51c4f937..604e67e0 100644
--- a/UI/qt-wrappers.hpp --- a/UI/qt-wrappers.hpp
+++ b/UI/qt-wrappers.hpp +++ b/UI/qt-wrappers.hpp
@@ -56,7 +56,7 @@ public: @@ -56,7 +56,7 @@ public:

View File

@ -1,7 +1,7 @@
From 0c2fdafdb3c0b522732905632bb01e4ada33171c Mon Sep 17 00:00:00 2001 From d6f5ba86a0ba2b11344e9ef1f8e0b043b9860dad 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, 19 Aug 2020 13:08:01 -0300 Date: Wed, 19 Aug 2020 13:08:01 -0300
Subject: [PATCH 17/24] UI: Rename callback to match signal name Subject: [PATCH 17/25] UI: Rename callback to match signal name
The sizeChanged callback is connected to the screenChanged signal, The sizeChanged callback is connected to the screenChanged signal,
and evidently the naming doesn't match. Rename the callback to and evidently the naming doesn't match. Rename the callback to

View File

@ -1,7 +1,7 @@
From 9b1439bc349d79874e0b446d156982c130e698f0 Mon Sep 17 00:00:00 2001 From dbe3c133a386f7c4aae505d298d6d90d6f1407bf 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, 19 Aug 2020 15:09:26 -0300 Date: Wed, 19 Aug 2020 15:09:26 -0300
Subject: [PATCH 18/24] UI: Disable and ignore Always On Top on Wayland Subject: [PATCH 18/25] UI: Disable and ignore Always On Top on Wayland
platforms platforms
This is a dangerous operation on Wayland, and is crashing not only This is a dangerous operation on Wayland, and is crashing not only
@ -15,10 +15,10 @@ option on the window menu.
1 file changed, 18 insertions(+), 1 deletion(-) 1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index 09304eb1..653ad93a 100644 index a93b2136..de3d8856 100644
--- a/UI/window-basic-main.cpp --- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp
@@ -75,6 +75,10 @@ @@ -78,6 +78,10 @@
#include <json11.hpp> #include <json11.hpp>
@ -29,7 +29,7 @@ index 09304eb1..653ad93a 100644
using namespace json11; using namespace json11;
using namespace std; using namespace std;
@@ -1713,9 +1717,22 @@ void OBSBasic::OBSInit() @@ -1799,9 +1803,22 @@ void OBSBasic::OBSInit()
bool alwaysOnTop = config_get_bool(App()->GlobalConfig(), "BasicWindow", bool alwaysOnTop = config_get_bool(App()->GlobalConfig(), "BasicWindow",
"AlwaysOnTop"); "AlwaysOnTop");

View File

@ -1,7 +1,7 @@
From 721a2b85b798f09a8458ed23198e95019dcc9bae Mon Sep 17 00:00:00 2001 From fd3cd8b1134bc069943e1a2012f138437d210046 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: Thu, 20 Aug 2020 11:57:19 -0300 Date: Thu, 20 Aug 2020 11:57:19 -0300
Subject: [PATCH 19/24] UI: Make OBSQTDisplay::CreateDisplay() public and allow Subject: [PATCH 19/25] UI: Make OBSQTDisplay::CreateDisplay() public and allow
forcing creation forcing creation
This will be used by a new event filter, added only when running as a Wayland This will be used by a new event filter, added only when running as a Wayland
@ -31,7 +31,7 @@ index feed5b6c..b230ab4e 100644
QSize size = GetPixelSize(this); QSize size = GetPixelSize(this);
diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp diff --git a/UI/qt-display.hpp b/UI/qt-display.hpp
index 50f891f8..ac717b82 100644 index 21308e70..c48c1267 100644
--- a/UI/qt-display.hpp --- a/UI/qt-display.hpp
+++ b/UI/qt-display.hpp +++ b/UI/qt-display.hpp
@@ -13,8 +13,6 @@ class OBSQTDisplay : public QWidget { @@ -13,8 +13,6 @@ class OBSQTDisplay : public QWidget {

View File

@ -1,7 +1,7 @@
From 656c0b68892d1ab455979c59dfef529924c57bff Mon Sep 17 00:00:00 2001 From 8a8757b4b6ce1e74d68c9fe6a3f31fad906c0fe7 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: Thu, 20 Aug 2020 11:58:45 -0300 Date: Thu, 20 Aug 2020 11:58:45 -0300
Subject: [PATCH 20/24] UI: Check for Expose and PlatformSurface events to Subject: [PATCH 20/25] UI: Check for Expose and PlatformSurface events to
create display create display
This is a workaround for QWaylandWindow never becoming exposed, or This is a workaround for QWaylandWindow never becoming exposed, or
@ -9,14 +9,14 @@ receiving the QEvent::Expose [1].
[1] https://bugreports.qt.io/browse/QTBUG-86176 [1] https://bugreports.qt.io/browse/QTBUG-86176
--- ---
UI/qt-display.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++++++ UI/qt-display.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+) 1 file changed, 56 insertions(+)
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 b230ab4e..4487d460 100644 index b230ab4e..5d81c463 100644
--- a/UI/qt-display.cpp --- a/UI/qt-display.cpp
+++ b/UI/qt-display.cpp +++ b/UI/qt-display.cpp
@@ -10,6 +10,58 @@ @@ -10,6 +10,56 @@
#ifdef ENABLE_WAYLAND #ifdef ENABLE_WAYLAND
#include <obs-nix-platform.h> #include <obs-nix-platform.h>
@ -35,7 +35,6 @@ index b230ab4e..4487d460 100644
+ QPlatformSurfaceEvent *surfaceEvent; + QPlatformSurfaceEvent *surfaceEvent;
+ +
+ switch (event->type()) { + switch (event->type()) {
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 1)
+ case QEvent::PlatformSurface: + case QEvent::PlatformSurface:
+ surfaceEvent = + surfaceEvent =
+ static_cast<QPlatformSurfaceEvent *>(event); + static_cast<QPlatformSurfaceEvent *>(event);
@ -48,7 +47,6 @@ index b230ab4e..4487d460 100644
+ else + else
+ mTimerId = startTimer(67); // Arbitrary + mTimerId = startTimer(67); // Arbitrary
+ break; + break;
+#endif
+ case QEvent::Expose: + case QEvent::Expose:
+ createOBSDisplay(); + createOBSDisplay();
+ break; + break;
@ -75,7 +73,7 @@ index b230ab4e..4487d460 100644
#endif #endif
static inline long long color_to_int(const QColor &color) static inline long long color_to_int(const QColor &color)
@@ -65,6 +117,12 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags) @@ -65,6 +115,12 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
connect(windowHandle(), &QWindow::visibleChanged, windowVisible); connect(windowHandle(), &QWindow::visibleChanged, windowVisible);
connect(windowHandle(), &QWindow::screenChanged, screenChanged); connect(windowHandle(), &QWindow::screenChanged, screenChanged);

View File

@ -1,7 +1,7 @@
From cbb48e4213f5666a8714a8d644f8f8fb1473d793 Mon Sep 17 00:00:00 2001 From 6e20eb830789cdf33c24e13a36f4d860b777d7b3 Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk> From: David Edmundson <kde@davidedmundson.co.uk>
Date: Wed, 16 Sep 2020 15:24:22 +0100 Date: Wed, 16 Sep 2020 15:24:22 +0100
Subject: [PATCH 21/24] Don't create native widget siblings Subject: [PATCH 21/25] Don't create native widget siblings
Native windows really only make sense for previews. They can be a new Native windows really only make sense for previews. They can be a new
xcb_window or a wayland subsurface. xcb_window or a wayland subsurface.
@ -20,10 +20,10 @@ This default behaviour can be turned off. Now only the native widgets
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index 8335c2ce..44df67ad 100644 index ce350f06..09f1ae60 100644
--- a/UI/obs-app.cpp --- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp +++ b/UI/obs-app.cpp
@@ -1353,6 +1353,7 @@ bool OBSApp::OBSInit() @@ -1376,6 +1376,7 @@ bool OBSApp::OBSInit()
ProfileScope("OBSApp::OBSInit"); ProfileScope("OBSApp::OBSInit");
setAttribute(Qt::AA_UseHighDpiPixmaps); setAttribute(Qt::AA_UseHighDpiPixmaps);

View File

@ -0,0 +1,416 @@
From 2544f356373bbcc58515be5ea012bcc6d22e7c03 Mon Sep 17 00:00:00 2001
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
Date: Sun, 20 Sep 2020 11:29:15 -0300
Subject: [PATCH 22/25] Cleanup native widgets
Some widgets are marked as native unnecessarily. Native widgets are
a bit more involving than regular ones, so remove this flag.
Original patch by David Edmundson <kde@davidedmundson.co.uk>
---
UI/forms/AutoConfigStreamPage.ui | 4 +--
UI/forms/OBSAbout.ui | 2 +-
UI/forms/OBSBasic.ui | 12 +++----
UI/forms/OBSBasicFilters.ui | 10 +++---
UI/forms/OBSBasicInteraction.ui | 2 +-
UI/forms/OBSBasicSettings.ui | 36 +++++++++----------
UI/forms/OBSBasicTransform.ui | 6 ++--
.../source-toolbar/game-capture-toolbar.ui | 2 +-
UI/forms/source-toolbar/media-controls.ui | 2 +-
.../source-toolbar/text-source-toolbar.ui | 2 +-
10 files changed, 39 insertions(+), 39 deletions(-)
diff --git a/UI/forms/AutoConfigStreamPage.ui b/UI/forms/AutoConfigStreamPage.ui
index 7eec15fa..d7034d3f 100644
--- a/UI/forms/AutoConfigStreamPage.ui
+++ b/UI/forms/AutoConfigStreamPage.ui
@@ -30,7 +30,7 @@
<number>0</number>
</property>
<item>
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="widget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
@@ -261,7 +261,7 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QWidget" name="streamKeyWidget" native="true">
+ <widget class="QWidget" name="streamKeyWidget" >
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>0</number>
diff --git a/UI/forms/OBSAbout.ui b/UI/forms/OBSAbout.ui
index 790a9656..28e3374b 100644
--- a/UI/forms/OBSAbout.ui
+++ b/UI/forms/OBSAbout.ui
@@ -149,7 +149,7 @@
</layout>
</item>
<item>
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="widget" >
<property name="minimumSize">
<size>
<width>0</width>
diff --git a/UI/forms/OBSBasic.ui b/UI/forms/OBSBasic.ui
index 8cc20521..87f1f11b 100644
--- a/UI/forms/OBSBasic.ui
+++ b/UI/forms/OBSBasic.ui
@@ -61,7 +61,7 @@
<number>2</number>
</property>
<item>
- <widget class="QWidget" name="previewDisabledWidget" native="true">
+ <widget class="QWidget" name="previewDisabledWidget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
@@ -167,7 +167,7 @@
</widget>
</item>
<item>
- <widget class="OBSBasicPreview" name="preview" native="true">
+ <widget class="OBSBasicPreview" name="preview" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
@@ -196,7 +196,7 @@
</layout>
</item>
<item>
- <widget class="QWidget" name="contextContainer" native="true">
+ <widget class="QWidget" name="contextContainer" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -235,7 +235,7 @@
<number>4</number>
</property>
<item>
- <widget class="QWidget" name="contextSubContainer" native="true">
+ <widget class="QWidget" name="contextSubContainer" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -377,7 +377,7 @@
</widget>
</item>
<item>
- <widget class="QWidget" name="emptySpace" native="true">
+ <widget class="QWidget" name="emptySpace" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -1083,7 +1083,7 @@
<number>4</number>
</property>
<item>
- <widget class="QWidget" name="transitionsContainer" native="true">
+ <widget class="QWidget" name="transitionsContainer" >
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>2</number>
diff --git a/UI/forms/OBSBasicFilters.ui b/UI/forms/OBSBasicFilters.ui
index 572a31f9..eaec7257 100644
--- a/UI/forms/OBSBasicFilters.ui
+++ b/UI/forms/OBSBasicFilters.ui
@@ -22,7 +22,7 @@
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <widget class="QWidget" name="asyncWidget" native="true">
+ <widget class="QWidget" name="asyncWidget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
@@ -63,7 +63,7 @@
</widget>
</item>
<item alignment="Qt::AlignLeft">
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="widget" >
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="spacing">
<number>4</number>
@@ -198,7 +198,7 @@
</widget>
</item>
<item>
- <widget class="QWidget" name="effectWidget" native="true">
+ <widget class="QWidget" name="effectWidget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
@@ -239,7 +239,7 @@
</widget>
</item>
<item alignment="Qt::AlignLeft">
- <widget class="QWidget" name="widget_2" native="true">
+ <widget class="QWidget" name="widget_2" >
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="spacing">
<number>4</number>
@@ -373,7 +373,7 @@
<item>
<layout class="QVBoxLayout" name="rightLayout">
<item>
- <widget class="OBSQTDisplay" name="preview" native="true">
+ <widget class="OBSQTDisplay" name="preview" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
diff --git a/UI/forms/OBSBasicInteraction.ui b/UI/forms/OBSBasicInteraction.ui
index 65d313bc..419140cf 100644
--- a/UI/forms/OBSBasicInteraction.ui
+++ b/UI/forms/OBSBasicInteraction.ui
@@ -18,7 +18,7 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="OBSQTDisplay" name="preview" native="true">
+ <widget class="OBSQTDisplay" name="preview" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui
index f4eaa36c..d813bc10 100644
--- a/UI/forms/OBSBasicSettings.ui
+++ b/UI/forms/OBSBasicSettings.ui
@@ -169,7 +169,7 @@
<number>9</number>
</property>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget_2" native="true">
+ <widget class="QWidget" name="widget_2" >
<layout class="QVBoxLayout" name="verticalLayout_20">
<item>
<widget class="QGroupBox" name="groupBox_15">
@@ -799,7 +799,7 @@
<number>0</number>
</property>
<item>
- <widget class="QWidget" name="widget_5" native="true">
+ <widget class="QWidget" name="widget_5" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
@@ -1021,7 +1021,7 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QWidget" name="streamKeyWidget" native="true">
+ <widget class="QWidget" name="streamKeyWidget" >
<layout class="QHBoxLayout" name="horizontalLayout_11">
<property name="leftMargin">
<number>0</number>
@@ -1170,7 +1170,7 @@
</widget>
</item>
<item row="9" column="1">
- <widget class="QWidget" name="authPwWidget" native="true">
+ <widget class="QWidget" name="authPwWidget" >
<layout class="QHBoxLayout" name="horizontalLayout_25">
<property name="leftMargin">
<number>0</number>
@@ -1268,7 +1268,7 @@
<number>9</number>
</property>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="widget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -1792,7 +1792,7 @@
</spacer>
</item>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="simpleOutputContainer" native="true">
+ <widget class="QWidget" name="simpleOutputContainer" >
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="leftMargin">
<number>0</number>
@@ -1851,7 +1851,7 @@
<number>9</number>
</property>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget_4" native="true">
+ <widget class="QWidget" name="widget_4" >
<layout class="QVBoxLayout" name="verticalLayout_14">
<property name="spacing">
<number>0</number>
@@ -1869,7 +1869,7 @@
<number>0</number>
</property>
<item>
- <widget class="QWidget" name="advOutTopContainer" native="true">
+ <widget class="QWidget" name="advOutTopContainer" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
@@ -1949,7 +1949,7 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QWidget" name="widget_8" native="true">
+ <widget class="QWidget" name="widget_8" >
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -2043,7 +2043,7 @@
<number>9</number>
</property>
<item>
- <widget class="QWidget" name="advOutRecTypeContainer" native="true">
+ <widget class="QWidget" name="advOutRecTypeContainer" >
<layout class="QFormLayout" name="formLayout_9">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
@@ -2113,7 +2113,7 @@
<number>0</number>
</property>
<item>
- <widget class="QWidget" name="advOutRecTopContainer" native="true">
+ <widget class="QWidget" name="advOutRecTopContainer" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
@@ -2267,7 +2267,7 @@
</widget>
</item>
<item row="5" column="1">
- <widget class="QWidget" name="advOutRecRescaleContainer" native="true">
+ <widget class="QWidget" name="advOutRecRescaleContainer" >
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>0</number>
@@ -2438,7 +2438,7 @@
</widget>
</item>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget_7" native="true">
+ <widget class="QWidget" name="widget_7" >
<layout class="QVBoxLayout" name="verticalLayout_15">
<property name="leftMargin">
<number>0</number>
@@ -2719,7 +2719,7 @@
</widget>
</item>
<item row="15" column="1">
- <widget class="QWidget" name="widget_10" native="true">
+ <widget class="QWidget" name="widget_10" >
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -2899,7 +2899,7 @@
<number>0</number>
</property>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget_3" native="true">
+ <widget class="QWidget" name="widget_3" >
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -3763,7 +3763,7 @@
<number>9</number>
</property>
<item alignment="Qt::AlignTop">
- <widget class="QWidget" name="widget_50" native="true">
+ <widget class="QWidget" name="widget_50" >
<layout class="QVBoxLayout" name="verticalLayout_51">
<item>
<widget class="QGroupBox" name="audioGeneralGroupBox">
@@ -4619,7 +4619,7 @@
<number>9</number>
</property>
<item>
- <widget class="QWidget" name="widget_11" native="true">
+ <widget class="QWidget" name="widget_11" >
<layout class="QVBoxLayout" name="verticalLayout_24">
<item>
<widget class="QGroupBox" name="advancedGeneralGroupBox">
@@ -5012,7 +5012,7 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QWidget" name="widget_12" native="true">
+ <widget class="QWidget" name="widget_12" >
<property name="enabled">
<bool>true</bool>
</property>
diff --git a/UI/forms/OBSBasicTransform.ui b/UI/forms/OBSBasicTransform.ui
index 971cd023..a12e4e73 100644
--- a/UI/forms/OBSBasicTransform.ui
+++ b/UI/forms/OBSBasicTransform.ui
@@ -48,7 +48,7 @@
</widget>
</item>
<item row="0" column="1">
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="widget" >
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -149,7 +149,7 @@
</widget>
</item>
<item row="2" column="1">
- <widget class="QWidget" name="widget_2" native="true">
+ <widget class="QWidget" name="widget_2" >
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -404,7 +404,7 @@
</widget>
</item>
<item row="7" column="1">
- <widget class="QWidget" name="widget_3" native="true">
+ <widget class="QWidget" name="widget_3" >
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
diff --git a/UI/forms/source-toolbar/game-capture-toolbar.ui b/UI/forms/source-toolbar/game-capture-toolbar.ui
index b2206428..cf3d9500 100644
--- a/UI/forms/source-toolbar/game-capture-toolbar.ui
+++ b/UI/forms/source-toolbar/game-capture-toolbar.ui
@@ -148,7 +148,7 @@
</widget>
</item>
<item>
- <widget class="QWidget" name="empty" native="true">
+ <widget class="QWidget" name="empty" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
diff --git a/UI/forms/source-toolbar/media-controls.ui b/UI/forms/source-toolbar/media-controls.ui
index 1133476a..f40f542b 100644
--- a/UI/forms/source-toolbar/media-controls.ui
+++ b/UI/forms/source-toolbar/media-controls.ui
@@ -391,7 +391,7 @@
</widget>
</item>
<item>
- <widget class="QWidget" name="emptySpaceAgain" native="true">
+ <widget class="QWidget" name="emptySpaceAgain" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
diff --git a/UI/forms/source-toolbar/text-source-toolbar.ui b/UI/forms/source-toolbar/text-source-toolbar.ui
index 1b2ada18..46b23c61 100644
--- a/UI/forms/source-toolbar/text-source-toolbar.ui
+++ b/UI/forms/source-toolbar/text-source-toolbar.ui
@@ -83,7 +83,7 @@
</widget>
</item>
<item>
- <widget class="QWidget" name="emptySpace" native="true">
+ <widget class="QWidget" name="emptySpace" >
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
--
2.28.0

View File

@ -1,7 +1,7 @@
From 5af41c0c15639b58491b573e6c00eb6e9c7272a2 Mon Sep 17 00:00:00 2001 From ebefca8cedc271fcea12f85fe26521a40dc7baa8 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: Thu, 12 Mar 2020 23:50:18 -0300 Date: Thu, 12 Mar 2020 23:50:18 -0300
Subject: [PATCH 22/24] libobs/graphics: Add Linux-only Subject: [PATCH 23/25] libobs/graphics: Add Linux-only
device_texture_create_from_dmabuf device_texture_create_from_dmabuf
The implementation are stubs as of now The implementation are stubs as of now
@ -221,10 +221,10 @@ index 4154688c..4e8f4e53 100644
}; };
diff --git a/libobs/graphics/graphics.c b/libobs/graphics/graphics.c diff --git a/libobs/graphics/graphics.c b/libobs/graphics/graphics.c
index 902ba4b6..ea403ac8 100644 index e403edb0..a2785d82 100644
--- a/libobs/graphics/graphics.c --- a/libobs/graphics/graphics.c
+++ b/libobs/graphics/graphics.c +++ b/libobs/graphics/graphics.c
@@ -1358,6 +1358,25 @@ gs_texture_t *gs_texture_create(uint32_t width, uint32_t height, @@ -1363,6 +1363,25 @@ gs_texture_t *gs_texture_create(uint32_t width, uint32_t height,
levels, data, flags); levels, data, flags);
} }

View File

@ -1,7 +1,7 @@
From 17e54962b4de4008a52c7d54d5402752a6d6f0e7 Mon Sep 17 00:00:00 2001 From 063ff409840692bbee85ea4d5d5e63446efe7596 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: Thu, 12 Mar 2020 23:57:23 -0300 Date: Thu, 12 Mar 2020 23:57:23 -0300
Subject: [PATCH 23/24] deps-glad: Add DMA-BUF EGL extensions Subject: [PATCH 24/25] deps-glad: Add DMA-BUF EGL extensions
--- ---
deps/glad/include/glad/glad_egl.h | 63 +++++++++++++++++++++++++++++-- deps/glad/include/glad/glad_egl.h | 63 +++++++++++++++++++++++++++++--

View File

@ -1,7 +1,7 @@
From 54e6e2f92cfeb9375e281c958102d58d076295a1 Mon Sep 17 00:00:00 2001 From d47bea7c915ea2c9d9b2f81724509760bd769df4 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, 14 Mar 2020 14:26:02 -0300 Date: Sat, 14 Mar 2020 14:26:02 -0300
Subject: [PATCH 24/24] libobs-opengl: Implement DMA-BUF importing on EGL Subject: [PATCH 25/25] libobs-opengl: Implement DMA-BUF importing on EGL
renderers renderers
This is currently extremely limited. It only supports XRGB8888 This is currently extremely limited. It only supports XRGB8888
@ -17,7 +17,7 @@ DMA-BUFs for now, which seems to be a sensible default.
create mode 100644 libobs-opengl/gl-egl-common.h create mode 100644 libobs-opengl/gl-egl-common.h
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 0f694b6c..c434c65f 100644 index 6476e0be..d4179806 100644
--- a/libobs-opengl/CMakeLists.txt --- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt +++ b/libobs-opengl/CMakeLists.txt
@@ -49,6 +49,7 @@ else() @@ -49,6 +49,7 @@ else()

View File

@ -6,8 +6,8 @@ _pkgname=obs-studio
pkgname=$_pkgname-wayland pkgname=$_pkgname-wayland
provides=("$_pkgname") provides=("$_pkgname")
conflicts=("$_pkgname") conflicts=("$_pkgname")
pkgver=25.0.8 pkgver=26.0.0
pkgrel=6 pkgrel=1
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"
@ -25,7 +25,6 @@ optdepends=('libfdk-aac: FDK AAC codec support'
'wlrobs-hg: screen capture on wlroots compositors') 'wlrobs-hg: screen capture on wlroots compositors')
source=( source=(
$_pkgname-$pkgver.tar.gz::https://github.com/jp9000/obs-studio/archive/$pkgver.tar.gz $_pkgname-$pkgver.tar.gz::https://github.com/jp9000/obs-studio/archive/$pkgver.tar.gz
https://github.com/obsproject/obs-studio/commit/8a1429e29ebd6bf31ad6ae63c6992e2c03893767.patch
0001-deps-glad-Add-EGL.patch 0001-deps-glad-Add-EGL.patch
0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch 0002-libobs-opengl-Rename-gl-x11.c-to-gl-x11-glx.c.patch
0003-libobs-opengl-Factor-out-GLX-winsys.patch 0003-libobs-opengl-Factor-out-GLX-winsys.patch
@ -47,36 +46,38 @@ source=(
0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch 0019-UI-Make-OBSQTDisplay-CreateDisplay-public-and-allow-.patch
0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch 0020-UI-Check-for-Expose-and-PlatformSurface-events-to-cr.patch
0021-Don-t-create-native-widget-siblings.patch 0021-Don-t-create-native-widget-siblings.patch
0022-libobs-graphics-Add-Linux-only-device_texture_create.patch 0022-Cleanup-native-widgets.patch
0023-deps-glad-Add-DMA-BUF-EGL-extensions.patch 0023-libobs-graphics-Add-Linux-only-device_texture_create.patch
0024-libobs-opengl-Implement-DMA-BUF-importing-on-EGL-ren.patch 0024-deps-glad-Add-DMA-BUF-EGL-extensions.patch
0025-libobs-opengl-Implement-DMA-BUF-importing-on-EGL-ren.patch
) )
sha512sums=('a97c03dc218a4e03e48f6a7dc82b4a59ebeee2039f17be66bb847681ce9ff3d25e6e015be4af78fe44739f6fad5089b6e683d7657c2e4fde8e547df9a2594a08' sha512sums=('54a8eadf7ded1d309987a5f677ea7513b96cf95b071fd2321c3e712097d872a5f724edf9aba7cfa9452884b79d230fd65d512647c8583ca71691894277ca89b1'
'1ff0e088eed61554268009f3d8c5a23c0888bfbe860d6cb288ddf348108446c152fd87e2cb8f54613a88378d8474550632c90f924005d5e0343bf1a801339ccc' '456973a51bbb3e84974525de757bc3c88c67faf0c36366a6787b72b30ba978491bfb1161d5364cf7b0174ced1fe8b04c0e2e4c13c6f88c79dbeb151ce24eb38f'
'412c4121fc77af66a3e55650859becb6fb6d668369d8767729893e98fea8f6f8dde4ec9bc160041bb986f8a508f762cc68446e3c8cf5525a5b6fbfac1c1bf4fd' '231b518b34951924ba0f7da56379036cdf2d08e9259365e67f617ed458e21c4a2d5193e25200d6270bf74f462a9916085a3f3aa9f4edd35c8e501922bef6f1b6'
'6af84ddd3bb6953911840bd130606d8c1148cb6fc8e5750da480adb542813dc336f64056ffec8f07dc7467031e640842490b35fe89b39b621bf7db92d049743f' '3cdb29a4d3b639769758e8ea1d94a36baa89fec5e93110d1256ff275d83267c10f09888e6e29639d299e8322256d80ba19072519ae080bd461bc8cc2171e0405'
'6205323d409b1c583257540e4d51f6c2a2e456b06a6b6d4edacad8d53af05e40afdd283567d910cdff2d4d6d50677df1e78421c19505a85a71538ca108442de7' '57e430c1ea3945c0ad9a33414c32a35623f870b0c9aaf79fc3e03a00f1ad8e2c890c28e509bf241ecd73f573c367b33262b6291d82f519d0b5234a76c1d72f7d'
'be0d996ed92eccc4c7da354775b927b34c98f6863a16357c473e04e25a61cd3d73f128cedd154a2a3dfa321444f2884dc7f47f895cd9e2014df8d739837b01af' '09d71bf1a2f3e96a6bbba05d34e77407520741f9b302471d515af8d37f3f221b68f5656fd3c88899786044813743eb765c4bfbeab33fd3faf4f9a738f44873a3'
'bd7bed1f8bfad7a3a3abc71d0d2db48fcdbe231a42ab16aaf95e81016e11446558bbcb9f18c91af1834c4fd90e692b0865ed23730715b7174545a500a29c1fb7' '7bc1ea2d79b9c95f6fe12b77aa491f2072a2e417528ce95901b520fcfb80268dfd3bc14009b13932f833fbb7941427089b4e7d005b473863405f71c9a6c1987d'
'bda1c8488083b9b76d0a7597f81d01621981803f2634a14fdb2bfcb1fa57638afd20956defb9269d234ddc7143755303d7ba21376ebfde034025ab8d2441162f' '19dfc1438743c18512190e663f313fcf0d0b11dbdff685e23f732c7234ce2b3b60c923c91035576979843f97a28ff9c877ffb9866b79e04a42e5c0df4988f762'
'c378765fdcb271a6c98965f91a44d3a990184324a5b1fceb7094cf5333938e30bd09978e47837061bbc9edb2847a0c5e5aea84cf7d1e7a0f34a1ed49ada291d8' '00a37e551cfb9218df7e431b55e8d882244ce06a52c70b8dbff145493fedba0c19d9cc39cbc53c7c2ad0cf4e6886f1302bd0b7eb9ff0de31ff9938e060e35d7c'
'9abc8155aa02bb8ee50a32217ff58fa7bc001f070dbdc25c4837a13a5b76088eaf0b5bb76bb4d3cc66f820e1866236bbdece77739d3bd02df5e0e6ed2d8d6932' '075ba030b5b2ebb54213eebb34523cce48abf53118c3c21bca9bd6e40c984f3739e3581a0ee0cec0e63f42a496c1dc42fbf12a8714133c7b6ad0ee1027326e5b'
'2b5ab097562b46d19844f80680604126171732fda60984fd6cc63c188e23f04961c255b16af544893b587d00c14c49a465791bf3ee4af19ecb55c9ac09494d13' 'd8aed1389391239a2e71525b66f9652958c8248a7bf9bfa5c296af72976c6d293635d16fed58a162e6a5228f15302530754619dd57c2db6156b9db631274762b'
'd4f62e5cd212379600f559612592b29d8114b33ecb7d42f2817369866872fe31a20e734b3c3468eaea040ab4b48b94581bda2a45a9b09b029eecdbffdb7a067d' '25ba2513de78e335d8ba3c711fce9b0dfa2fe7d144a2ac8147fcf7a26a0dd9b69d26b1c809f519ddcb550d217fb2ceb8ff44f126dcd4913ffe9b624c00e17110'
'fe359f670c5e427d457c4b7a820cfddf37558209ebbd48eb16ca44c7f5342ae1e96685411a51207d8c16ed56b903f5282b29d56b892c7507cae790a759f30c1c' '3333b94a266a21654b3fab1eff67cf370cacf942f4d8ff29680a868dd3748c664378a4de28ca62e2a21146b737ea197e641cdb8691b73743a030bc79a0044259'
'10210a00eac70214c7df82460dc8d8d795e7e4fd0f732effca4ccbc12fe23ee4826faa8d49eb8be5498e895a58c5a481dd46ebd1781489aa2f097827db11362e' 'b93cb4764e5330ea273370e577382240bc0f42f7b3e2916ba04b0e4a30fb20f3388d83fab1ede3204807f38927014945d6e2a374edb2040bed847b4ca2228977'
'57dd96edb1cfc833aea7afa504877d5cb7c0676ec9cba3c8eb615125d5a6e74311ed28edde37a7c34cefb06009c850427e17bff01a09e5b260e4cd645b34449a' '049cc567be0ec4e7994762ce30d95f496f05dd4996b742ba4f6be746f0a2d7f1e92491eb07d9f71047dacd094e5c632147e81c0a71f91f857fd0eb36f0a085a4'
'3adfe5956a20b06e30bf69bc119f2db8ad336a9288fc5b06d4303429b61d8de58973d223e8a0a4aae8feb16c4ca0ff52796cee229def981b690508be099f70fc' '58628d12e62bd0a2193425e5b4ec8a2cb8f843c17ed25c69ac867340c4438bead99d8b0aee1dda45238cad1c05c29d41d24e7b0931a6ef60c2ef8cdfe71045e4'
'10bb8c05f7aeee664823d5c709d71d6bc2db0939e7749016fa42be1f64a4b9af9c1ef8f60257b92ab2d93947d258e357aaf95c205f95e45e65dbb4c8e88b05b5' '08dc77ce5fd0452adbd260015aca618d3f2aa15ae8ed716e1349bbf4f67af293f1857fd2c50e79cde3cf00739605dc5bb240bcf1983e8229bc1c70453fd2d435'
'03df24ecd1c07ac526a0597a0fa505e84048e40fa60b9871c384959f8916fe610dde715bea267ce2d69ff3fae205eae43179dddfe9b1eb242e670d8c9fef6206' '8842240e2e6c73cc2921e80c9fb1ff02dd6d916d50c448f467a10f8db754d65f09271f741853a61cb5c6de96b5804b9215e11e7d3e5fcffe283ea6358693ca56'
'd9d3f2aa11c04caf4a2cb4c70cbf9735f2c56995039585359f1cd3d9518bfdef2440086b30cf54c7cbf52daa4b78b2a3120eadfdb0994e9309c4e5e5ca4b8698' '7580a5aeb005e713a1bcb7f51d8088e6a55a417b17e034ffad98007278f4b00edc3433bb0c27ee7fcab4332c670318e26429d58e7e7e21c39d0f636d886f0573'
'd3b6abe7b332d31b8b6297b17861bf65c8ea0442026e9ca5d57b3f0e1df302ca6cb3df95f94d1a11143d941443ea748c956eaeb29ce30068da12b5c9bea80432' '5474e2ee6a83501a96d3b392c696eca272c022a2415546dcdc577cd9a245759024935bd71e762b2057db5cd4e7368c17fde55e77c529a299d22cd19ade9ae456'
'8b3e0a9a53b2af54662ac23ea8a196506e7434061b0123c9fdc1632aee1f8137fd26151c5fa8ac99d1a794a3d1c67197bab81cc7886a3e903c3bf3d2f3ab8324' 'd3591a8cb41c8cdad9519ae5c382de288151a697e27eeff4e7c31a8988f653c98b95b43a260cd3a3a72aa1b48d61b6c101c4b1c7060a1afbc83d0a15f66cbf02'
'77a14e4a5f44d0f0e3895e1802c715907174a007c72b074005b17d6997098ac399e8d08b14c6aa9a3d307354e3f1b52d0640d64c3afd8598f260029b3b41a926' 'c8e7126f0cfb569553df57db294aa960429275758be1b723eba1428c2564ba1c02fd8c614a3a886b932e0466d7470aa10ab078426ec42e62c8fb4c5ebf59ed30'
'a03f2b34847a74920c840131db046370502f6de53c9e27e81c1e3e8cb9dfeae2954cc86d1e874513192ab34c17dd54a7eafc9eadee8037aafa26e2d2d05b7c47' '9481184036b937bef673c7bdcc3031d74ff037423f38f81708a428f7e25f5dd8a86efd55dd4d53b898d3fceb549640542f8fdf0724d98c102409d4bf1b5a39a4'
'b4f768da3974891e50322aed57cbcb228a0f6d54126163719ea41eeb9a9e6ffd7bff30cc3fb0af3e9e8a165d5b0d84d7beb5f442d316a98c79acdb24333687cb' 'a9ebedad561e6c7bcf33858bf9e8fa71d331d3b95007675e7cd3edd640fb9b23a5ff956749198618c3350912eab82aa87a2d979016e891c12d1df580d28de081'
'475129b7243db100d5a93e4efb099c32b0bde8c9950494618c2d1bd91e91d19d6e4a2699f071145da585527fd890324073cd03bb520baf80332bbeda533e7015' '29ff61d5b0519f072c38973c281dc176f6250d734619689544a6c47f6975cb0ec53f9b66550864b80b889c5626120df1b0b2f08f3f7056221f91ffed2ef495b6'
'a7bae3d40e67de1a7753cc11f8bbf1a8cf87d642797fc14771e349d66a0127f5a6f767d04b434c5414cc50ae68508e3f21213b500b3abad1ebbb1a3b510be6fd') '028c6c012c6f73a172cb9fc11e7631261f33a4f8b4d86bbb55ad098cd1be64f00dcad623b90be7c0fabf3ff5ff86aeb60f4b2e5bee7cf4b055f905b018595b56')
prepare() { prepare() {
cd $_pkgname-$pkgver cd $_pkgname-$pkgver
@ -91,6 +92,7 @@ build() {
mkdir -p build; cd build mkdir -p build; cd build
cmake -DCMAKE_INSTALL_PREFIX="/usr" \ cmake -DCMAKE_INSTALL_PREFIX="/usr" \
-DBUILD_CAPTIONS=ON \
-DOBS_VERSION_OVERRIDE="$pkgver-$pkgrel" .. -DOBS_VERSION_OVERRIDE="$pkgver-$pkgrel" ..
make make