https://github.com/reubeno/tui-uefi
Rust crates for building TUIs in UEFI applications
https://github.com/reubeno/tui-uefi
Last synced: 1 day ago
JSON representation
Rust crates for building TUIs in UEFI applications
- Host: GitHub
- URL: https://github.com/reubeno/tui-uefi
- Owner: reubeno
- License: mit
- Created: 2025-04-11T00:08:19.000Z (9 days ago)
- Default Branch: main
- Last Pushed: 2025-04-14T04:32:32.000Z (6 days ago)
- Last Synced: 2025-04-19T06:42:49.553Z (1 day ago)
- Language: Rust
- Homepage:
- Size: 30.3 KB
- Stars: 28
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-ratatui - ratatui-uefi - A ratatui backend for use in UEFI environments. (📦 Libraries / 🏗️ Frameworks)
README
# tui-uefi
[](https://github.com/reubeno/tui-uefi/actions/workflows/ci.yaml)
Provides crates useful for building TUIs (Terminal User Interfaces) in a [UEFI](https://uefi.org/) application or boot loader:
* `ratatui-uefi`: implements an output backend usable with [ratatui](https://github.com/ratatui/ratatui)
* `terminput-uefi`: implements an input backend usable with [terminput](https://github.com/aschey/terminput)
## Build
Firstly add the UEFI target to your toolchain:
```console
$ rustup target add x86_64-unknown-uefi
```Then build using nightly:
```console
$ cargo +nightly build --target=x86_64-unknown-uefi
```Only tested with x86_64 but may work just fine for aarch64 as well.
## Running an example
You can use [uefi-run](https://github.com/Richard-W/uefi-run) to run the examples, e.g.:
```console
$ cargo install uefi-run
$ cargo +nightly build --target=x86_64-unknown-uefi
$ uefi-run -d target/x86_64-unknown-uefi/debug/basic.efi -- -enable-kvm
```_Note: if your environment doesn't support KVM, you will need to remove the `-enable-kvm` option._