Development/WASM
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Introduction
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.
Current state
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).
Demo websites:
- latest master build: https://wasm-test.libreoffice.org/
- feature/wasm branch: https://lab.allotropia.de/wasm/
Newsflash:
- 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
Further resources
- 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
- Talks:
- FOSDEM 2021: https://archive.fosdem.org/2021/schedule/event/lo_wasm/
- FOSDEM 2022: https://fosdem.org/2022/schedule/event/lotech_lowa/
- LibreOffice Conference 2022: https://www.youtube.com/watch?v=RaNuouW3-8s
- CLT 2023: https://media.ccc.de/v/clt23-249-libreoffice-technology-and-wasm-history-demos-plans
- Blogs:
- Allotropia Software Blog: LibreOffice, JavaScript’ed: https://blog.allotropia.de/2024/04/30/libreoffice-javascripted/