Copyright (c) 2025-2026 Antmicro
Renode UI is a modern graphical interface for interacting with Renode. This graphical layer can be hosted either by a web browser or other web runtimes such as Neutralino or VS Code. It communicates with a Renode instance running in server-mode using the WebSocket protocol.
Renode UI can be deployed as a static web application, packaged as a standalone desktop application (MacOS, Windows, and Linux are supported), or integrated as a component within another web page.
While this project can be used in a standalone way, its primary use is via renode --ui - for details see Renode's README.
The renode-ui project consists of the following directories:
frontend- Svelte library, can build a Svelte component or a static webpageneutralino- Logic for building standalone Neutralino.js appscripts- Utilities for CI and local development
To build Renode UI you need node and npm (node 24 is recommended).
Running via Neutralino on Linux may require WebKitGTK to be installed on your system.
First install & start a Renode server using:
./scripts/install_renode.sh
# Follow the instructions to add Renode to your PATH
renode --server-modeThen start a Vite environment with live code reloading:
npm i --prefix=frontend/
npm run dev --prefix=frontend/| Target | Command | Output location |
|---|---|---|
| Web app | npm run build:web --prefix="frontend/" |
frontend/build |
| Svelte component | npm run build:lib --prefix="frontend/" |
frontend/dist |
| Desktop app | scripts/build_neutralino.sh |
neutralino/dist |
In order to build a production/debug standalone app you need to simply run:
./scripts/build_neutralino.sh # For debug build set DEBUG_BUILD env var to `true`The "debug" build contains additional log messages and it starts Neutralino with web developer tools opened. Then you can start Renode websocket server with:
renode --server-modeAnd then you can run renode-ui using one of executables present in ./neutralino/dist/renode-ui:
./neutralino/dist/renode-ui/renode-ui-linux_x64You can build renode-ui as a static web app using
npm run build:web --prefix=frontendYou can then start renode via renode --servier-mode and host the HTML/JS/CSS files present in frontend/build directory via any web server:
python -m http.server -d frontend/buildrenode-ui can be packaged as a Svelte component using:
npm run build:lib --prefix=frontendYou can then import and use the component in your project:
import RenodeUI from 'renode-ui';
<RenodeUI
onLoad={() => console.log('loaded')}
onQuit={() => console.log('quit')}
onError={() => console.log('error')}
...
/>This project is published under the Apache-2.0 license.