Repository navigation
Conversation
Gorggg
force-pushed
the
firefox-gmp-sandbox
branch
from
October 2, 2026 02:13
2422bf5 to
3b2e8cd
Compare
Prior to this change, GMP plugins (such as WidevineCdm) would crash on musl platforms due to missing symbols and libraries, as these plugins are compiled with glibc and distributed as binaries. Modify the sandbox launch process to load gcompat and gcompat's simulated glibc dynamic linker to allow GMP plugins to work. This adds a dependency on gcompat for musl platforms.
Gorggg
force-pushed
the
firefox-gmp-sandbox
branch
from
October 10, 2026 20:25
3b2e8cd to
bd4c6fd
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Prior to this change, Gecko Media Plugins would crash on musl platforms, as these plugins are often distributed at runtime as binaries compiled against glibc. For example, attempts to stream DRM content would result in the error "The WidevineCdm plugin has crashed" and a failure to stream.
Existing solutions I have encountered involve manually patching plugins to use gcompat and disabling the GMP sandbox, like so: https://gist.github.com/leso-kn/1f12d794df5bb1471aa7c2210f1e8669
Add a dependency on gcompat for musl platforms so that Gecko Media Plugins may work, and modify the GMP sandbox so that the requisite symbols and libraries from gcompat are preloaded. Preload within the GMP child process so that the resultant symbols only apply to it and the plugin, not interfering with the rest of the browser. This eliminates the need for manually patching the plugin and allows the GMP sandbox to continue to be used, preserving the prevention of fingerprinting as described here: https://hacks.mozilla.org/2014/05/reconciling-mozillas-mission-and-w3c-eme/
I apologize if this is not the optimal approach to address this issue, and please let me know if there is anything I can clarify. If this change is found to be desirable, I could try applying a similar change to the firefox-esr package.
Testing the changes
Local build testing