Skip to content

Wayland session manager for Hyprland and Sway - #1

Open
pdev-labs wants to merge 5 commits into
mainfrom
wayland
Open

pdev-labs wants to merge 5 commits into
mainfrom
wayland

Conversation

@pdev-labs

@pdev-labs pdev-labs commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

What this adds

lfa wayland (alias lfa wl) installs and runs a Wayland desktop inside Termux:X11.

  • status, install, start, stop, doctor, and session subcommands.
  • Sway runs nested on X11 with a profile that copies the host Hyprland keybinds, gaps, borders, colours, Waybar bar, SwayNC, wallpaper, and the Android battery reading.
  • Hyprland is installed too, and started inside a small Sway host when a writable /dev/dri/renderD* exists.
  • --config imports hypr, waybar, kitty, wofi, swaync, fastfetch, and starship.toml. The Starship hostname is pinned to the instance name so the prompt reads pdev@arch.
  • --resolution sets the nested output size; --wallpaper replaces the background.
  • A one-minute Termux:API refresher keeps the Waybar battery value current.
  • A linux-wayland launcher, docs/WAYLAND.md, and a device screenshot.

Device result

The Vivo V2437 was wiped and rebuilt through LFA:

  • lfa remove -i arch -y, then lfa install --distro archlinux --desktop xfce4 --backend x11 --user pdev -i arch (29m 16s).
  • lfa wayland install -i arch --config ~/host-config.tar.gz --resolution 2408x1080 --wallpaper ~/lfa-wayland-wallpaper.jpg.
  • Sway at 2408x1080 with Waybar, SwayNC, SwayBG, kitty, wofi, the host wallpaper, graphite and teal bar, GTK dark, Adwaita Sans 11, Adwaita-Tiny cursor, Starship pdev@arch, fastfetch, and the live battery reading.

Hyprland 0.57.1 parses the host config but cannot start on this phone. /dev/dri/card0 is system:system mode 660 and /dev/dri/renderD128 is absent, so Aquamarine aborts with CBackend::create() failed!. lfa wayland session hyprland falls back to Sway and the log says why.

Tests and docs

  • Host suite: PASS=682 FAIL=0, including Y11 for install, config import, resolution dedupe, compositor preference, doctor, battery refresher, GTK settings, Starship pinning, and start/stop guards.
  • README, CHANGELOG, ARCHITECTURE, DECISIONS, INCOMPATIBLE, TROUBLESHOOTING, TEST-REPORT, SUPPORT, tracker, and the docs index are updated.

`lfa wayland` (alias `lfa wl`) installs and runs a Wayland desktop inside
Termux:X11. Sway is the compositor on a stock phone, with a profile that
copies the Hyprland keybinds, gaps, borders, colours, Waybar, SwayNC, and
wallpaper. Hyprland is installed and started instead when a writable DRM
render node exists.

The Vivo V2437 has no usable render node: /dev/dri/card0 is system:system
mode 660 and renderD128 is absent, so Hyprland aborts with
CBackend::create() failed! The Sway profile was verified at 2408x1080 with
the bar, notifications, battery bridge, and a grim screenshot.

Adds --config, --resolution, --wallpaper, status, doctor, and session.
Updates the docs, troubleshooting, changelog, tracker, and test suite.
`lfa wayland start` now runs a one-minute Termux:API refresher for
/tmp/lfa-android-battery.env, and `stop` ends it. The Debian and Ubuntu
package step installs SwayNC separately so one missing name does not sink
the rest of the set.

Adds a device screenshot from the Vivo V2437 and updates the test count to
677.
`lfa wayland install --config` now copies a fastfetch directory and a
top-level starship.toml, and adds a starship prompt hook to the guest
.bashrc. The host look stays in one bundle.

Test count: 679.
`lfa wayland install` now writes gtk-3.0 and gtk-4.0 settings.ini with
Adwaita-dark, Adwaita icons, Adwaita-Tiny cursors at 16, and Adwaita Sans
11, so file managers and browsers match the host.

Test count: 681.
The Arch Wayland profile now installs fastfetch, and `--config` pins the
Starship hostname to the instance name so the prompt reads pdev@arch
instead of pdev@localhost under proot.

Docs cover the fresh Arch reinstall on the Vivo V2437.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant