Example of LVLG in Rust compiled to WASM.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Rafael Caricio 8db46d7ae8
Update readme
3 years ago
.cargo Compile to Emscripten HTML file 3 years ago
docs Update readme with images 3 years ago
include Example compiles to emscripten 3 years ago
src Update running project 3 years ago
.gitattributes Update running project 3 years ago
.gitignore Compile to Emscripten HTML file 3 years ago
Cargo.lock Use branch reference in deps 3 years ago
Cargo.toml Use branch reference in deps 3 years ago
LICENSE Initial commit 3 years ago
Makefile No need for nightly actually 3 years ago
README.md Update readme 3 years ago

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 web live version here.

Project Running Natively

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 run --release

References