From 59137223a9e520f2a3ff7eff7d6f61c0ec2001e9 Mon Sep 17 00:00:00 2001 From: Val Packett Date: Thu, 27 Nov 2025 21:59:05 -0300 Subject: [PATCH] Add fallback to our mesa package for non-NixOS hosts --- flake.nix | 1 + munix | 9 +++++++++ packages/munix/default.nix | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 5ac3b0f..7161105 100644 --- a/flake.nix +++ b/flake.nix @@ -70,6 +70,7 @@ }; munix = pkgs.callPackage ./packages/munix { + mesa = self.packages.${system}.mesa; muvm = self.packages.${system}.muvm; sidebus-broker = sidebus.packages.${system}.sidebus-broker; }; diff --git a/munix b/munix index e99d8e9..2cf6257 100755 --- a/munix +++ b/munix @@ -15,6 +15,10 @@ PIPEWIRE=1 X11=0 export TMP=/tmp TMPDIR=/tmp TEMP=/tmp TEMPDIR=/tmp LC_ALL=C +if [ ! -e "$HOST_OPENGL_DRIVER" ]; then + HOST_OPENGL_DRIVER="$FALLBACK_OPENGL_DRIVER" +fi + while [ "$#" -gt 0 ]; do case "$1" in -u|--uid) MICROVM_UID="$2"; shift 2;; @@ -58,6 +62,11 @@ if [ "$PASST_PATH" = "" ]; then exit 1 fi +if [ ! -e "$HOST_OPENGL_DRIVER" ]; then + echo "munix: host graphics driver not found, provide a --host-opengl-driver" >&2 + exit 1 +fi + # Resolve symlinks automatically MICROVM_CLOSURE=$(realpath "$MICROVM_CLOSURE") diff --git a/packages/munix/default.nix b/packages/munix/default.nix index 175b82c..1cc1214 100644 --- a/packages/munix/default.nix +++ b/packages/munix/default.nix @@ -1,4 +1,4 @@ -{ writeScriptBin, symlinkJoin, makeWrapper, muvm, passt, bubblewrap, sidebus-broker }: +{ writeScriptBin, symlinkJoin, makeWrapper, muvm, passt, bubblewrap, sidebus-broker, mesa }: let munixScript = (writeScriptBin "munix" (builtins.readFile ../../munix)).overrideAttrs(old: { @@ -9,6 +9,6 @@ in symlinkJoin { paths = [ munixScript muvm passt bubblewrap sidebus-broker ]; buildInputs = [ makeWrapper ]; postBuild = '' - wrapProgram $out/bin/munix --prefix PATH : $out/bin + wrapProgram $out/bin/munix --prefix PATH : $out/bin --set FALLBACK_OPENGL_DRIVER ${mesa} ''; }