Self Hosted Virtual Backgrounds How To Enable

I have a self hosted jitsi on Ubuntu. I’ve upgraded to the May 12th version of the packages I’ve had installed BUT virtual backgrounds does nothing when selected. I see the option now and click through the example backgrounds but nothing works like it does on meet.jit.si.

What’s needed on self hosted to enable this feature so it actually works?

1 Like

You need WASM SIMD origin trial and put the token in the HTML as on meet.jit.si.

Is that a package we need to install or where does one obtain a WASM SIMD origin “trial”? Searching the web doesn’t come up with much for that.

https://developer.chrome.com/origintrials/
You request the trial there and put the corresponding token in the HTML.
There should be some instructions there

https://developer.chrome.com/origintrials/#/view_trial/-4708513410415853567

We have a fallback, it’s not necessary. It just runs better with it.

You can also enable it here without an origin trial: chrome://flags/#enable-webassembly-simd

That flag doesn’t appear to work for me in chrome or edge when I enable it, restart and try selecting a background. Everyone would be required to make that change if they wanted to change their background though, correct?

Was hoping for an integrated solution that worked well. Thanks for the info.

Looks like a different problem. That flag is indeed not necessary, it just makes things faster, and the origin trial is a way to toggle that flag automatically.

Can you share your console logs when setting a background?

Which console log exactly? Thanks

The browser JS console logs.

Does this mean anything?

Logger.js:154 2021-05-14T14:09:57.489Z [features/virtual-background] Error on apply background effect: RuntimeError: abort(CompileError: WebAssembly.instantiate(): Wasm code generation disallowed by embedder). Build with -s ASSERTIONS=1 for more info.
at re (https://meet.bankr.com/libs/app.bundle.min.js?v=4985:209:108429)
at https://meet.bankr.com/libs/app.bundle.min.js?v=4985:209:109577
o @ Logger.js:154

Aha! It’s because WASM fails to be compiled. We’re making progress! Any chance you have a CSP that includes unsafe-eval? Unfortunately that breaks WASM so you’ll need to remove it.

Ok yeah that was the issue.

When I comment out my content security policy it worked just fine.

add_header Content-Security-Policy “default-src ‘self’ ‘unsafe-inline’ https://meet.bankr.com:443; script-src ‘self’ ‘unsafe-inline’ https://www.jitsi.org”;

Glad to hear!

Last I checked a new option was being worked on to allow WASN while still having unsafe-eval. Not sure what the state of that is though.