Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.51 KB

File metadata and controls

41 lines (30 loc) · 1.51 KB

next-layers-demo

Runs a real Windows app from a layered Wine prefix: a vanilla "Virgo" base plus one immutable layer per dependency/app, mounted with the fvs2d FUSE daemon, with file and registry changes captured per layer and replayed at launch.

It also shows the Flatpak deploy model: the Flatpak ships the tools but, since FUSE cannot be mounted inside the sandbox, runs them on the host through flatpak-spawn --host.

Demo

flatpak run com.usebottles.LayersTest demo:

  1. creates a clean Virgo prefix (wineboot) and commits it as the base layer
  2. installs a dependency with real Wine (registry key + a dll), captures it as a layer
  3. builds a Notepad++ app layer
  4. mounts Virgo + dependency + Notepad++ as one prefix
  5. real Wine reads the composed prefix (dependency registry value + files)
  6. launches Notepad++ from the layered prefix

Build and run

The manifest builds the tools (fvs2d, fvs2, regdiff) from their git repos.

flatpak run org.flatpak.Builder --force-clean --user --install build-dir \
    com.usebottles.LayersTest.yml
flatpak run com.usebottles.LayersTest demo

Wine is provided host-side by a self-contained Bottles runner (e.g. Soda); see bottles-host for the expected layout ($HOME/wine-test/soda).

Files

  • bottles-layers.sh host harness: commit | mount | capture | umount | wine
  • bottles-demo.sh the demo above
  • bottles-host Flatpak entry point, runs the tools on the host
  • com.usebottles.LayersTest.yml Flatpak manifest