You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enable the Windows CEF sandbox and update x64 to CEF 6613 - #775
The legacy Streamlabs Windows CI workflows also select revision 3.
Revision 3 rebuilds Release/libcef.dll with native pointers for the two SandboxInterfaceInfo service fields. This matches the layout of the separately built sandbox archive used by this package. The root-flat Release-only package retains the revision-2 runtime/resource paths, headers, wrapper library, sandbox archive, and eight private PDB paths; only Release/libcef.dll and its PDB changed from revision 2.
libobs integration package
Tag 32.1.1sl12cef1 provides the earlier revision-1 package used by OSN obsproject#1781; it has not been rebuilt with revision 3:
The public bytes match the GitHub Actions artifact. The archive passes 7z t and contains CEF 128.0.6613.138, OBS::cef-sandbox, cef_sandbox.lib, the sandbox ABI and CEF headers, obs-browser.dll, libcef.dll, and the current gs_save_png_file API required by OSN staging.
Symbol strategy
Chromium 128's bundled lld-link advertises /PDBSTRIPPED but rejects it as unimplemented. Its default 8 KiB-page PDB produces EC_FORMAT with the installed pdbcopy 14.00.23615. Relink-CefWithCompatiblePdb.ps1 safely repeats only the final link from Ninja's exact response file with 4 KiB PDB pages, without changing the source build outputs. Create-CefPublicPdb.ps1 then uses the supported Windows SDK pdbcopy -p flow, verifies GUID/age identity and stripped state with llvm-pdbutil, enforces the CAB size ceiling, and replaces only the symbol-server job's temporary copy. The private PDB remains in the downloadable artifacts.
before the revision-3 pin, cmake --preset windows-x64 succeeded against 32.1.1sl12, RelWithDebInfo builds passed for obs-browser, obs-browser-helper, obs-browser-sandbox-selection-test, and cef-sandbox-link-smoke, and both sandbox tests passed locally (2/2)
revision-3 public URL returns HTTP 200 with the expected content length; uploaded SHA-256 verified against the local package
revision-3 build completed all 35,267 Ninja actions; runtime and symbols archives pass 7z t, and all eight private PDB paths are retained
earlier revision-2 symbol work converted its 2,204,463,104-byte private PDB to a matching stripped 383,627,264-byte public PDB and a valid single-CAB symbol-server entry
the earlier 32.1.1sl12cef1 tag run passed Windows, both macOS builds, libobs publication, public CEF-symbol creation, and symbol-server ingestion
CI for the earlier pin passed Windows, both macOS builds, formatting, compatibility/services validation, and CodeQL; CI for revision 3 is pending
Add cef-sandbox-link-smoke to the BUILD_TESTING tests target
cmake/windows/helpers.cmake:225
Add cef-sandbox-link-smoke to the tests target when BUILD_TESTING is enabled. The documented Windows sequence builds only --target tests before running CTest (test/libobs/README.md:12–14,32–34). This executable is not in that dependency graph, so on a clean build CTest registers it but reports it as Not Run because the executable is missing.
Load Windows runtime manifest for 32-bit configurations
cmake/finders/FindCEF.cmake:115
Windows browser packaging now requires CEF_BINARY_FILES and CEF_RESOURCE_FILES (cmake/windows/helpers.cmake:120), but this include loads them only when the 64-bit sandbox is required. A 32-bit Windows browser configuration therefore fails the new manifest check even when its CEF distribution supplies the manifest. Load the Windows runtime manifest independently of the sandbox requirement.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CEF::Sandboxin-tree and relocatableOBS::cef-sandboxmetadata for downstream hosts such as obs-studio-nodestreamlabs(32.1.1sl12)Dependencies
CEF 6613 artifact
The Windows x64 preset uses the published revision-3 archive:
cef_binary_6613_windows_x64_v3.zip32075B154BE69DB1AB716F54F98EE3D4BD4C9F65DF3EB06D381529115AD27151The legacy Streamlabs Windows CI workflows also select revision 3.
Revision 3 rebuilds
Release/libcef.dllwith native pointers for the twoSandboxInterfaceInfoservice fields. This matches the layout of the separately built sandbox archive used by this package. The root-flat Release-only package retains the revision-2 runtime/resource paths, headers, wrapper library, sandbox archive, and eight private PDB paths; onlyRelease/libcef.dlland its PDB changed from revision 2.libobs integration package
Tag
32.1.1sl12cef1provides the earlier revision-1 package used by OSN obsproject#1781; it has not been rebuilt with revision 3:2053B6D48702E51531EA67C4E5528AA5A64DF1756BFAD13890C89C1589EF035EThe public bytes match the GitHub Actions artifact. The archive passes
7z tand contains CEF 128.0.6613.138,OBS::cef-sandbox,cef_sandbox.lib, the sandbox ABI and CEF headers,obs-browser.dll,libcef.dll, and the currentgs_save_png_fileAPI required by OSN staging.Symbol strategy
Chromium 128's bundled
lld-linkadvertises/PDBSTRIPPEDbut rejects it as unimplemented. Its default 8 KiB-page PDB producesEC_FORMATwith the installedpdbcopy14.00.23615.Relink-CefWithCompatiblePdb.ps1safely repeats only the final link from Ninja's exact response file with 4 KiB PDB pages, without changing the source build outputs.Create-CefPublicPdb.ps1then uses the supported Windows SDKpdbcopy -pflow, verifies GUID/age identity and stripped state withllvm-pdbutil, enforces the CAB size ceiling, and replaces only the symbol-server job's temporary copy. The private PDB remains in the downloadable artifacts.Validation
cmake --preset windows-x64succeeded against32.1.1sl12, RelWithDebInfo builds passed forobs-browser,obs-browser-helper,obs-browser-sandbox-selection-test, andcef-sandbox-link-smoke, and both sandbox tests passed locally (2/2)7z t, and all eight private PDB paths are retained{BFB94E47-B7AB-03C6-4C4C-44205044422E}, age 1, 4 KiB PDB pages;symchkreportsPDB Matched: TRUE32.1.1sl12cef1tag run passed Windows, both macOS builds, libobs publication, public CEF-symbol creation, and symbol-server ingestionRemaining gates
--no-sandboxalone is not closure evidenceSupersedes #773 after the source branch was renamed to remove an internal issue identifier.