Skip to content

Conversation

callumlinden
Copy link
Contributor

@callumlinden callumlinden commented Aug 7, 2025

Description

This commit is primarily focused on updating CEF to the latest version (v139 as of August 2025). This is captured in #4498.

Because of significant changes to CEF in the 21 months since was last updated (v118, November 2023) there are additional changes required:

  • Prior to CEF 120, each media instance could share a set of cache directories and it worked - mostly. After version 120, this is actively prohibited. Consequently, to update CEF to v139, cache directories are now created with a unique path name.
  • Because each instance gets a brand new cache directory and the contents of each is large, the whole cef_cache folder structure is purged at startup (before the parent being created at the first media instance creation)
  • The macOS version of CEF has been built historically for the Intel architecture and the magic of Rosetta2 allowed everything to work on Apple Silicon machines. After some update to Chromium (and maybe CEF) that is no longer the case and Intel builds of Chrome, CEF and even the CEF test apps run very slowly on Apple Silicon machines. @RyeMutt's work to create dual architecture (Intel/Arm) builds of CEF and then universal builds of Dullahan are invaluable and once all of the Viewer components are updated to build natively, the Viewer will run very quickly

Known Issues

  • The version of CEF in this Viewer is built (by necessity) for the Intel architecture and therefore runs incredibly slowly (unusably so) on Apple Silicon devices. There should be no slowdown running on native Intel hardware. A later phase of this (or another) will facilitate a native ARM build of all Viewer components and this issue will go away.

Checklist

Please ensure the following before requesting review:

  • I have provided a clear title and detailed description for this pull request.
  • If useful, I have included media such as screenshots and video to show off my changes.
  • The PR is linked to a relevant issue with sufficient context.
  • I have tested the changes locally and verified they work as intended.
  • All new and existing tests pass.
  • Code follows the project's style guidelines.
  • Documentation has been updated if needed.
  • Any dependent changes have been merged and published in downstream modules
  • I have reviewed the contributing guidelines.

Rye and others added 30 commits February 11, 2025 05:04
Fix disabling renderdoc support
Improve ll_aligned_alloc functions on darwin for 32 and 64byte aligned by utilizing posix_memalign
… have it's own cache/cookie folder underneath the parent cef_cache folder. The whole cef_cache folder structure is purged at startup (before the parent being created at the first media instance creation)
Copy link

github-actions bot commented Sep 4, 2025


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


5 out of 6 committers have signed the CLA.
✅ (marchcat)[https://github.com/marchcat]
✅ (Geenz)[https://github.com/Geenz]
✅ (callumlinden)[https://github.com/callumlinden]
✅ (RyeMutt)[https://github.com/RyeMutt]
✅ (akleshchev)[https://github.com/akleshchev]
@rye
Rye seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants