Skip to content

addpkg(x11/obs-studio): 32.1.1 With Browser and Python Scripting Enabled.#2441

Draft
lumaparallax wants to merge 7 commits into
termux-user-repository:masterfrom
lumaparallax:obs-studio
Draft

addpkg(x11/obs-studio): 32.1.1 With Browser and Python Scripting Enabled.#2441
lumaparallax wants to merge 7 commits into
termux-user-repository:masterfrom
lumaparallax:obs-studio

Conversation

@lumaparallax

Copy link
Copy Markdown

Termux/Android Port of OBS Studio

With a custom AArch64 Plugin Manager for the Termux apt ecosystem.

Main Submission & Technical Details: PR #29412


Known Issues & Limitations

  • Python Scripting: Currently failing due to host and Termux Python version conflicts, which results in a could not find python package error.
  • OBS Browser (obs-browser):
    • Dependent on libcef-for-brow6el from the TUR repository.
    • Requires compiling libcef_dll_wrapper.a from the libcef-for-brow6el-dev package prior to the OBS build.
    • Bug: Zero-Copy Hardware Acceleration for the browser plugin is currently non-functional (results in a transparent window).

@TomJo2000

Copy link
Copy Markdown
Collaborator

Still has all the same provenance, disclosure, scope and maintainability issues.

@TomJo2000 TomJo2000 closed this Apr 19, 2026
@robertkirkman robertkirkman reopened this Apr 20, 2026
@robertkirkman

Copy link
Copy Markdown
Member

@TomJo2000 this is not a duplicate of that PR. the features in this PR are different. please read the PR description carefully.

@TomJo2000

Copy link
Copy Markdown
Collaborator

Oh you're right I hadn't noticed that yesterday.
Let me get a diff of the two PRs.

The substantive difference between the two PRs seems to be contained in these 3 hunks.

@@ -15555,12 +15555,12 @@ index 00000000000..6652dcd288b
 +TERMUX_PKG_SRCURL="git+https://github.com/obsproject/obs-studio.git"
 +TERMUX_PKG_GIT_BRANCH="${TERMUX_PKG_VERSION}"
 +
-+TERMUX_PKG_DEPENDS="ffmpeg, libcurl, libdatachannel, libfdk-aac, libjansson, luajit, vlc, mbedtls, mesa, nlohmann-json, pulseaudio, python, qt6-qtbase, qt6-qtsvg, qrcodegen, librnnoise, speexdsp, websocketpp, libwayland, libx11, libxcb, libxkbcommon, simde, uthash, libva, zlib, glib, libuuid, fontconfig, freetype, libdrm, libx264, libasio, vulkan-loader, libxext, libxfixes, libxcomposite, libxinerama, libxrandr, libxrender, libxcursor, libxdamage, libandroid-glob, libandroid-spawn, libandroid-shmem"
++TERMUX_PKG_DEPENDS="ffmpeg, libcurl, libdatachannel, libfdk-aac, libjansson, luajit, vlc, mbedtls, mesa, nlohmann-json, pulseaudio, python, qt6-qtbase, qt6-qtsvg, qrcodegen, librnnoise, speexdsp, websocketpp, libwayland, libx11, libxcb, libxkbcommon, simde, uthash, libva, zlib, glib, libuuid, fontconfig, freetype, libdrm, libx264, libasio, vulkan-loader, libxext, libxfixes, libxcomposite, libxinerama, libxrandr, libxrender, libxcursor, libxdamage, libandroid-glob, libandroid-spawn, libandroid-shmem, libcef-for-brow6el, libcef-for-brow6el-dev"
 +
 +TERMUX_PKG_BUILD_DEPENDS="extra-cmake-modules, swig, mbedtls-static, glslang, pkg-config"
 +
 +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-+-DENABLE_BROWSER=OFF
++-DENABLE_BROWSER=ON
 +-DENABLE_AJA=OFF
 +-DENABLE_DECKLINK=OFF
 +-DENABLE_JACK=OFF
@@ -15575,7 +15575,7 @@ index 00000000000..6652dcd288b
 +-DENABLE_WEBSOCKET=ON
 +-DENABLE_LIBFDK=ON
 +-DENABLE_RNNOISE=ON
-+-DENABLE_SCRIPTING_PYTHON=OFF
++-DENABLE_SCRIPTING_PYTHON=ON
 +-DENABLE_FREETYPE=ON
 +-DENABLE_NEW_MPEGTS_OUTPUT=OFF
 +-DENABLE_FFMPEG_NVENC=OFF
@@ -15593,6 +15593,11 @@ index 00000000000..6652dcd288b
 +termux_step_post_get_source() {
 +      git submodule update --init --recursive
 +
++      echo "Patching obs-browser submodule..."
++      cd plugins/obs-browser
++      patch -p1 -i "$TERMUX_PKG_BUILDER_DIR/0012-obs-browser-optimisation.diff"
++      cd ../..
++
 +      echo "Patching obs-websocket submodule..."
 +      cd plugins/obs-websocket
 +      patch -p1 -i "$TERMUX_PKG_BUILDER_DIR/0007-obs-websocket.diff"

This is interesting insofar as that it has made me aware that 0012-*.diff isn't doing anything in termux/termux-packages#29412.
These changes seem pretty minor so I don't see why they can't be brought over to the PR in the main package repo.
Although that would also necessitate moving libcef over as well, which should definitely be coordinated with Licy.
We can always revisit enabling the browser plugin at a later date if that's logistically infeasible at this time.

@robertkirkman

Copy link
Copy Markdown
Member

Although that would also necessitate moving libcef over as well, which should definitely be coordinated with Licy.

That is one of the reasons why this PR needed to be here, yes,

also, another reason is, something I needed to let you know is that I asked lumaparallax to upload this PR here because of certain errors that the version in this PR has, that we wanted to troubleshoot and use the CI in tur-on-device to work on.

@robertkirkman

Copy link
Copy Markdown
Member

@lumaparallax ok, the first issue i'm noticing on this end is that all of the packages in this PR are placed in the tur folder, but I thought I remembered you had said that certain packages in this PR could only build on Termux and not in termux-package-builder in Docker,

in order to activate the tur-on-device special capability in TUR for a given package, it's necessary to place that package in the tur-on-device folder here, not the tur folder,

if you already know which package it was that you needed to be built that way, you can place it in the tur-on-device folder here, and then we can go from there.

@lumaparallax

Copy link
Copy Markdown
Author

I have tried building via tur-on-device in CI and it failed way worse than this, likely because I dont know how to set a build.sh for that repo.
And looking yet CI build of this repo, seems like I forgot to add cmake args for cef root dir oops.
In any case if required I can either reproduce the error that I mentioned in pr here. Or wait until main repo is satbilised and build on tur-on-device .

@robertkirkman

robertkirkman commented Apr 20, 2026

Copy link
Copy Markdown
Member

I have tried building via tur-on-device in CI and it failed way worse than this, likely because I dont know how to set a build.sh for that repo. And looking yet CI build of this repo, seems like I forgot to add cmake args for cef root dir oops. In any case if required I can either reproduce the error that I mentioned in pr here. Or wait until main repo is satbilised and build on tur-on-device .

you can go at your own pace, whenever you are ready to you can try to move this PR to the tur-on-device folder, to show what errors occur when you do that, and i can troubleshoot them, that could be after you revise the PR in the main repository and this one after that.

@robertkirkman robertkirkman marked this pull request as draft April 23, 2026 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants