Example of LVLG in Rust compiled to WASM.
.cargo | ||
docs | ||
include | ||
src | ||
.gitattributes | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
Makefile | ||
README.md |
LVGL Rust to WASM
Example of LVGL in Rust compiling to WASM. The same project can run natively and in the browser.
Access the live version here.
Setup
- Install Emscripten
# Get the emsdk repo
git clone https://github.com/emscripten-core/emsdk.git
# Enter that directory
cd emsdk
# Download and install the latest SDK tools.
./emsdk install latest
# Make the "latest" SDK "active" for the current user. (writes .emscripten file)
./emsdk activate latest
# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh
https://emscripten.org/docs/getting_started/downloads.html
- Compile SDL2:
$ embuilder.py build sdl2
Compiling
Compile the Web version:
make web
Compile the native version:
make native
Running
To access the web version you need to serve the static files as web pages locally. We use python3
for that. If you
have Python 3 installed, you can run:
make serve
Now you can access locally the project running at http://localhost:8000/lvgl_example.html .
For running natively, you can do:
cargo +nightly run --release