# Classroom v2 architecture experiment An open re-evaluation of the whole Ekklesia Classroom desktop stack, with reliability as the first requirement. Nothing here reaches a stable, canary or hyprland room, and nothing here changes the development host. ## Base | | | | --- | --- | | branch | `experiment/classroom-v2` | | base commit | `aadb1b881977b0eb25e1ca10e060977bed31a48f` | | base subject | *fix: keep the system print dialog in front of the window that rendered it* | | `VERSION` at base | `0.1.44` | That commit is the published **stable** build, verified rather than assumed: `repo/stable/manifest.json` names `ekklesia-classroom_0.1.44_amd64.deb` with sha256 `7de568...81041`, and the copy in `repo/packages/` hashes to exactly that. The branch is not built on `experiment/hyprland`; `git ls-files` on it contains no Hyprland file. ## What the experiment must not do * No change to the development host's OS, packages, partitions or bootloader. * No in-place distribution upgrade or migration. * No touching stable, canary, or a real classroom machine. * Alternate operating systems get a disposable environment or a written VM specification, never the host. ## The development host, as found Recorded because it bounds what can be tested here. | | | | --- | --- | | OS | Debian 13 trixie (13.5), kernel 6.12.90 | | machine | already a VM — root is `/dev/vda2`, GPU is `bochs-drm`, CPU is `QEMU Virtual CPU` | | nested virtualisation | **none** — `/dev/kvm` does not exist | | libvirt / qemu / VirtualBox | not installed | | containers | Docker 26.1.5, cgroup v2, `/dev/uinput` present | | resources | 6 vCPU, 11 GiB RAM, 160 GiB free | **Consequence: this session cannot create a virtual machine.** There is no KVM and no hypervisor. Every alternate OS or desktop that needs real hardware-level isolation has to be either tested in a container or written up as a VM specification for someone with a hypervisor to run. The previous Hyprland milestone hit the same wall and used containers; that lab worked, and this experiment extends it rather than inventing a new one. ## Hypothesis being tested > The classroom's reliability problems — a shell that vanished in production, > no minimised-window feedback, secondary windows fighting the main browser, > and a growing pile of compositor glue — are all symptoms of having written a > desktop environment by hand. A mature integrated desktop already solves each > one, and Debian 13 already ships one. `apt-cache policy` inside a throwaway `debian:trixie` container, on the same archive the classroom already tracks: | package | Debian 13 version | | --- | --- | | plasma-workspace | 4:6.3.6-2 | | plasma-desktop | 4:6.3.6-1 | | kwin-wayland | 4:6.3.6-1 | | pipewire / wireplumber | 1.4.2 / 0.5.8 | | vlc | 3.0.23 | | cups | 2.4.10 | | chromium | 152.0.7977.82 | | firefox-esr | 140.15.0esr | So a full Plasma 6.3 desktop is available **without leaving Debian**, which means the entire `.deb`/apt OTA investment survives the change. That is the first thing that has to be checked, because if a better desktop required Fedora or Arch, this experiment would have to stop at a VM specification. ## Status See the checkpoint log at the end of this document.