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