Skip to content

MagicDesk v2.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 18:18
· 19 commits to main since this release

MagicDesk 2.1

Upgrading from 2.0.x: the experimental Shroot storage format has changed.
Back up important Linux files or export environment backups using the old
version before updating. Existing stores are not migrated in place; keep the
backups outside the environment. Other MagicDesk features do not require this.

Shroot And Linux

  • Expanded Linux namespace, mount, IPC and filesystem support, including
    Bubblewrap, Landlock filesystem restrictions and browser sandbox workflows.
  • Added systemd, OpenRC and runit userspace boot and service workflows across
    multiple distributions. Android still owns the host kernel and hardware.
  • Added Docker and Podman container workflows with routed IPv4 networking,
    TCP/UDP port publishing, DNS and container-to-container communication.
    Podman uses the new nftables filtering and NAT support; Docker uses the
    documented daemon configuration.
  • Added Android audio through shared PipeWire services and gamepad input in
    focused Shroot X11 and Wayland windows, including supported vibration.
  • Reduced filesystem, IPC, process-wait and JIT overhead, improved SteamOS
    responsiveness, and fixed debugger descriptor races and strace detach hangs.
  • The shell command is now shroot.

Shroot runs through authorized shell access from Shizuku or Shevery; Android
root and Termux are not required. It requires Linux 5.15 or newer with the
necessary operations permitted by the device. Supported sandbox restrictions
remain active, but Shroot is not a complete security boundary. Resource-control
limits are not enforced; use trusted images and programs.

Linux Installer

  • Added SteamOS ARM64 recovery-image installation, with nested Plasma and
    optional Turnip acceleration on compatible Adreno GPUs.
  • Added openSUSE Tumbleweed, openKylin, Deepin, Manjaro ARM, Void and Armtix
    alongside Debian, Ubuntu, Alpine, Fedora and Arch Linux ARM.
  • GUI recipes configure audio and gamepad clients. Desktop launchers include
    the distribution and independent environment name.
  • DNS problems can be corrected interactively; failed package setup can be
    retried without losing the selected configuration or reinstalling the image.
  • Derived image caches are separated by native storage format.

Run in a MagicDesk Shell console:

magicdesk download https://raw.githubusercontent.com/mekhontsev/magicdesk/main/scripts/install_linux.sh ~/install_linux.sh
sh ~/install_linux.sh

After installation, refresh Apps (Start) to find the Linux applications and
desktop launchers. GUI and GPU compatibility varies by distribution and device.
See the Shroot guide
for installation, container setup and current limits.

Everyday Use

  • Switch between retained terminal sessions from a Console window or the
    phone control panel. Terminal colors and borders follow the selected theme.
  • Export Linux application shortcuts to Android launchers, with shared icon
    loading for Linux application catalogs.
  • Added an authorized RUN_COMMAND integration API for external applications.
  • Task Manager brings graphical Linux sessions into its shared task model.
  • Improved desktop theme activation and added a confirmed SystemUI restart
    action for applying desktop compatibility settings.
  • Reorganized documentation into focused user, architecture and testing guides.

Android 14+ for shared tools and Linux windows; Android 15+ for managed Desktop.
ARM64 only. No change to the Android minimum versions.