Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

obs-studio: 30.2.3 -> 31.0.1 #369193

Merged
merged 5 commits into from
Feb 13, 2025
Merged

obs-studio: 30.2.3 -> 31.0.1 #369193

merged 5 commits into from
Feb 13, 2025

Conversation

lukegb
Copy link
Contributor

@lukegb lukegb commented Dec 29, 2024

This is a bump for OBS Studio from 30 to 31, which is a little bit more involved than most. There is a change from the "old" build system to a newer build system, which is still CMake-based but has been reworked to make use of the CMake presets system.

There are a few patches we (seem to) no longer need, so they've been dropped, but I haven't had a chance to test how this goes on macOS.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@lukegb lukegb requested a review from fpletz December 29, 2024 17:44
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 11-100 labels Dec 29, 2024
@ofborg ofborg bot requested review from materusPL and jb55 December 30, 2024 01:15
@fpletz
Copy link
Member

fpletz commented Dec 30, 2024

Have you tested browser sources? For me, trying to add a browser source to the scene freezes the dialog window. Maybe we need to bump cef?

@lukegb
Copy link
Contributor Author

lukegb commented Dec 30, 2024

Hrm, I tested it on my x86-64 box and browser sources worked fine, although I didn't add a new one or try to open its settings - maybe that's the issue. I'll take a look.

@ofborg ofborg bot requested a review from grahamc December 30, 2024 09:42
@fpletz
Copy link
Member

fpletz commented Dec 30, 2024

Another issue I just discovered is that there doesn't seem to be WHIP/WebRTC support. I'll investigate.

@lukegb
Copy link
Contributor Author

lukegb commented Dec 31, 2024

Browser sources still work fine for me (my output path is /nix/store/jaw30w2bh6jc52vvxk5bkkzgbbwhm02x-obs-studio-31.0.0, and the drv is /nix/store/w7nqccjcbaq7s34xafvjv5ndz0z6zfhp-obs-studio-31.0.0.drv), building at 061bcda.

WHIP is indeed missing.

@lukegb
Copy link
Contributor Author

lukegb commented Dec 31, 2024

https://github.com/obsproject/obs-studio/blob/a0e4e3734126a7e76a871fa671be952de5c13dd8/CMakePresets.json#L75-L78 the ubuntu preset sets ENABLE_WEBRTC false, for whatever reason...

@lukegb
Copy link
Contributor Author

lukegb commented Dec 31, 2024

On /nix/store/4vv6m7p0smvj17galaa3pibd6l3ix583-obs-studio-31.0.0 (from /nix/store/dkzk1ivb38s1ycq5yab7914h68arm4cy-obs-studio-31.0.0.drv), I get WHIP support, and the browser source doesn't seem to make OBS hang for me.

That said... it does seem to start making OBS consume 100% CPU if I add a browser source, even if I then remove it. It doesn't happen with 30.2.3, though, even with the new build system.

I bumped libcef to 127.0.6533.120 (since OBS 31.0 apparently is using 127.0.6533), but it still does it. It might be obsproject/obs-studio#11485, or thereabouts.

@lukegb
Copy link
Contributor Author

lukegb commented Jan 2, 2025

OK, dropping obsproject/obs-browser@98d94a4 avoids the CPU spike but then reintroduces the problem with keyboard inputs causing OBS to crash in custom browser docks (which... are only enabled under X11, which confused me for a bit while trying to work out why the menu options don't show up on Wayland).

@fpletz
Copy link
Member

fpletz commented Jan 2, 2025

I can confirm that WHIP is working now, thanks!

However, no matter what I try from your comments, my OBS unfortunately keeps hanging when I try to add a browser source or add a browser dock. 🫤

@benaryorg
Copy link
Contributor

benaryorg commented Jan 13, 2025

Since you're already touching the libcef related parts in this PR, could we maybe also get an overridable flag to disable the browser? Given that the entire obs-studio closure is 3.6 GiB in size and 1.8 GiB of those are libcef which some people probably aren't even using it would be nice to be able to optionally get rid of it (most rms in the fixup phase will fail when the files don't exist which makes overrideAttrs more than tedious).
I was working on a patch to make the browser support optional when I stumbled upon this here which touches the vast majority of the flags anyway, so I thought I'd mention it.

I mean.… my entire desktop system has a closure size of around 11 GiB, and 10% of those are libcef just because of obs-studio which doesn't sit right with me (and my Hydra is throwing diskspace warnings at me).
If you'd prefer I can provide a patch either on top of this PR or master, given I already wrote the latter, either here or in a separate PR.

@luzpaz
Copy link
Contributor

luzpaz commented Jan 19, 2025

JFYI, v31.0.1 released (https://github.com/obsproject/obs-studio/releases/tag/31.0.1)

They would like builders to use CMake presets now; we inherit from their
Ubuntu and macOS presets respectively.
@fpletz
Copy link
Member

fpletz commented Feb 13, 2025

Since browser sources don't work for me either on 30.2.3 nor 31.0.x without bringing in #317589, I think we can go ahead an merge this with browser support disabled for now.

@fpletz fpletz changed the title obs-studio: 30.2.3 -> 31.0.0 obs-studio: 30.2.3 -> 31.0.1 Feb 13, 2025
@fpletz fpletz merged commit bcf238b into NixOS:master Feb 13, 2025
25 of 27 checks passed
@fxzzi
Copy link
Contributor

fxzzi commented Feb 17, 2025

nvidia nvenc support seems to also be missing from this release as mentioned in #382666

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 11-100
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants