Skip to content

ksco/lager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

lager

lager is a launcher for running Box64 workloads on LoongArch systems whose native userland uses 16 KiB pages. It primarily targets LoongArch AOSC OS, which provides a 4 KiB page-size kernel by default.

Other LoongArch distributions may also work, provided that a 4 KiB page-size kernel and matching kernel modules are available.

How It Works

lager starts a compact 4 KiB page-size LoongArch guest with QEMU-KVM. The same lager binary runs as the guest init program, mounts the host filesystem through virtiofsd, prepares the runtime environment, and starts the requested command.

Graphics are provided through virtio-gpu Venus and Zink, allowing applications inside the guest to use Vulkan and OpenGL.

Dependencies

Required:

  • A LoongArch64 system with KVM access
  • A 4 KiB page-size LoongArch kernel and matching modules
  • QEMU and virtiofsd
  • passt
  • Box64 in PATH
  • dbus
  • PulseAudio
  • Weston
  • seatd
  • Xwayland
  • dunst
  • zstd

The invoking user must be able to access /dev/kvm.

AOSC OS

Install runtime dependencies:

sudo oma install qemu passt virtiofsd dbus pulseaudio weston seatd xwayland dunst zstd

Add your user to the kvm group:

sudo usermod -aG kvm "$USER"
sudo chown $USER /dev/kvm

Log out and back in for the group change to take effect.

Compile

cmake -S . -B build
cmake --build build

Install:

sudo cmake --install build

Use

Run a command:

lager COMMAND [ARGS...]

Run a command without the graphical session:

lager -headless -- COMMAND [ARGS...]

Examples:

lager xeyes
lager -headless -- ls
lager box64 wine game.exe

Show configuration:

lager -config

About

Running Box64 for LoongArch on 16K page-size systems

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors