This page describes the port of LibreOffice to WebAssembly (aka WASM) using the Emscripten toolchain, currently targeting the Qt5 VCL backend. The goal is to cross-compile LibreOffice to run in the Browser, maybe with some native UI using LibreOfficeKit. Eventually we can target some WASI runtime or node.js in the future.
Work is now merged in master. feature/wasm will be removed, once the last two WIP patches are merged.
State: LibreOffice builds, vcldemo as well; both run in recent desktop browsers. Writer and Calc work (somewhat). Use --with-main-module=[writer|calc] to choose application during compile time.
If you want to help out or have questions, poke jmux or alg or thorsten on IRC (#libreoffice-dev).
- latest master build: https://wasm-test.libreoffice.org/
- feature/wasm branch: https://lab.allotropia.de/wasm/
- feature/wasm now contains an in-browser headless pdf conversion demo commit
Setup, build and further information
Instead of keeping outdated info here, please check out the README.wasm.md.
For what's needed on the webserver / CI side, this redmine ticket holds some details: https://redmine.documentfoundation.org/issues/3545
- SBOM (software bill of materials), derived from Debian's LibreOffice packages: https://share.allotropia.de/s/R3qrzgMcq8iyMtC
- CI setup script (TBD for gerrit/Jenkins, once feature/wasm is merged to master): https://git.libreoffice.org/lode/+/2ce1c7b4d1735ff8f66949bb61deac799be28ed6
- if you prepare building against a controlled container setup, perhaps this is better: https://git.libreoffice.org/lode/+/ccb36979563635b51215477455953252c99ec013
- FOSDEM talks: