summary refs log tree commit diff
path: root/vm/app/foot.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-06 14:26:23 +0000
committerAlyssa Ross <hi@alyssa.is>2023-09-19 19:16:28 +0000
commit7a8c61dedcdfa61285f1d28e71332c72dd011614 (patch)
treea8b940eea13057def294e16dbfd8dfa12ae14cfb /vm/app/foot.nix
parent07d39c6823f0ef89518c6d37cd763a0efbb41cb1 (diff)
downloadspectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar.gz
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar.bz2
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar.lz
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar.xz
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.tar.zst
spectrum-7a8c61dedcdfa61285f1d28e71332c72dd011614.zip
vm/app/foot.nix: init
This demonstrates that, as a result of upstream developments, we are
now able to run clients without them freezing after a couple of
seconds [1], and without crashing if they use the keymap [2].

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=70d1ace56db6c79d39dbe9c0d5244452b67e2fde
[2]: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/998597a1bd29432bdee28d298511549edff1434a

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'vm/app/foot.nix')
-rw-r--r--vm/app/foot.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/vm/app/foot.nix b/vm/app/foot.nix
new file mode 100644
index 0000000..d5ad7c2
--- /dev/null
+++ b/vm/app/foot.nix
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: 2022 Unikie
+
+import ../../lib/eval-config.nix ({ config, ... }:
+
+import ../make-vm.nix { inherit config; } {
+  wayland = true;
+  run = config.pkgs.pkgsStatic.callPackage (
+    { writeScript }:
+    writeScript "run-foot" ''
+      #!/bin/execlineb -P
+      foreground { ln -ns /run/ext /run/opengl-driver }
+      foreground { mkdir /run/user }
+      foreground {
+        umask 077
+        mkdir /run/user/0
+      }
+      if { /etc/mdev/wait card0 }
+      export XDG_RUNTIME_DIR /run/user/0
+      ${config.pkgs.pkgsMusl.wayland-proxy-virtwl}/bin/wayland-proxy-virtwl --virtio-gpu --
+      ${config.pkgs.pkgsMusl.foot}/bin/foot
+    ''
+  ) { };
+})