Initial work on a LibreOffice WASM port (and more)

Jan-Marek Glogowski glogow at fbihome.de
Fri Dec 18 18:09:40 UTC 2020


Hi everyone,

since a few days the core repo has a new branch named feature/wasm. That 
project was announced during the LibreOffice conference, but at that 
point everything was still in some setup stage. There is a recording of 
that talk available at 
https://events.opensuse.org/conferences/oSLO/program/proposals/3232 / 
https://www.youtube.com/watch?v=EycRK5gMpeU

This is a project done by Thorsten Behrens, Armin Le Grand and myself, 
sponsored by NLnet (see https://nlnet.nl/project/LibreOfficeP2P/).

I remember there was some fat client collaboration discussion a few days 
back on this list, so that is the general plan. But while it'll be a fat 
client, the primary work is probably to get LO to run in your browser 
(or WASI runtime eventually). Sponsorship is limited and every dev knows 
enough of our codebase, so you can imagine the amount of work involved.

WASM is already a few years "old", but … let's say the platform has it's 
problems and is in very active development, especially looking into 
threading, atomics and exception handling w.r.t. SharedBuffer and 
Security (remember Spectre?).

The main info of the branch is README.wasm. The idea is to initially 
have something VCL based running in the browser using Qt5, eventually 
developing something "VCL-native". Two days ago I was able to link the 
ui-previewer without missing symbols, which basically is "make vcl.all", 
but after a rebase and make clean there are new build failures, probably 
because I fixed other stuff in the meantime :-) I'm still learning new 
stuff (and bugs) daily.

I'm currently working on this on my own, laying the foundations. So no 
bugzilla bug reports yet please ;-) But I'm happy about everyone trying 
to get the build running based on the README.wasm. Thorsten plans to 
setup some LO CI in the next days, so we can actually get stuff easier 
tested in the long run.

And the current target is "just" Writer. We hope to replace some of the 
graphics stack with some "native" HTML5 canvas code in mid term. If 
stuff works out as expected, we might have something VCL based really 
working for FOSDEM 2021 (not full collaboration, but VCL and browser and 
eventually more).

Thanks for reading. Any questions?

Jan-Marek (for the WASM port team ;-)



More information about the LibreOffice mailing list