From 9c61a386532e4156c62ad113ea10e6c9aeabd1e8 Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Tue, 18 Apr 2023 22:52:45 -0400 Subject: [PATCH] qemu evdev patch --- flake.lock | 54 +++++++++++--------------------- systems/gerg-desktop/default.nix | 2 +- systems/gerg-desktop/vfio.nix | 28 +++++++++++++++++ 3 files changed, 47 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index dd1d0b8..af5d886 100644 --- a/flake.lock +++ b/flake.lock @@ -109,15 +109,12 @@ } }, "flake-utils_4": { - "inputs": { - "systems": "systems_3" - }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1676283394, + "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", "type": "github" }, "original": { @@ -144,11 +141,11 @@ }, "master": { "locked": { - "lastModified": 1681685842, - "narHash": "sha256-pm9uwv7SxvJR4U3SqSBymy7+0hpjGWiLoQngVHscJdA=", + "lastModified": 1681778372, + "narHash": "sha256-qnwEoQWaFzfYc171kf3ZkcKcCZMuW13BWVEE/yycJmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30f7e63115986679cd0bdba9596ca66e47d1e809", + "rev": "3af6e7dcda5413ff257e45ef7bb7acfb2d6bb52c", "type": "github" }, "original": { @@ -336,11 +333,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1681613729, - "narHash": "sha256-9Qb0tHW8l1hgFkuB76n4VT9UNUaR7QL3CgmJ5hcVYEg=", + "lastModified": 1681721408, + "narHash": "sha256-NWCbZKOQEXz1hA2YDFxdd+fVrrw9edbG1DvbbLf7KUY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b7a6670a28b01cd1f62879921e36be2c69c4137a", + "rev": "de6514f8fe1b3c2b57307569a0898bc4be9ae1c5", "type": "github" }, "original": { @@ -352,11 +349,11 @@ "spicetify-cli": { "flake": false, "locked": { - "lastModified": 1681572608, - "narHash": "sha256-cXLcFjvP9nUys8gkKrSYoJnqiOdKwHXcr4TjvXXlpwg=", + "lastModified": 1677851665, + "narHash": "sha256-C5J+OJjoiPOo/scVd48lTBJKKWial3TCkCIDBSerO+4=", "owner": "spicetify", "repo": "spicetify-cli", - "rev": "c9ca314115ee6457118698159a449d8b4f4de320", + "rev": "c9d8068d58d8c45f961ca42edcea47d7be904164", "type": "github" }, "original": { @@ -389,11 +386,11 @@ }, "stable": { "locked": { - "lastModified": 1681482634, - "narHash": "sha256-cT/nr3L8khEYZSGp8qqwxFH+/q4/547MfyOdSj6MhBk=", + "lastModified": 1681696129, + "narHash": "sha256-Ba2y1lmsWmmAOAoTD5G9UnTS/UqV0ZFyzysgdfu7qag=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fda0d99c2cbbb5c89d8855d258cb0821bd9113ad", + "rev": "de66115c552acc4e0c0f92c5a5efb32e37dfa216", "type": "github" }, "original": { @@ -453,28 +450,13 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "unstable": { "locked": { - "lastModified": 1681648924, - "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", + "lastModified": 1681737997, + "narHash": "sha256-pHhjgsIkRMu80LmVe8QoKIZB6VZGRRxFmIvsC5S89k4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f294325aed382b66c7a188482101b0f336d1d7db", + "rev": "f00994e78cd39e6fc966f0c4103f908e63284780", "type": "github" }, "original": { diff --git a/systems/gerg-desktop/default.nix b/systems/gerg-desktop/default.nix index 544cf82..a0ca5a4 100644 --- a/systems/gerg-desktop/default.nix +++ b/systems/gerg-desktop/default.nix @@ -52,13 +52,13 @@ inputs: { pkgs.pavucontrol #gui volume control pkgs.pcmanfm #file manager pkgs.librewolf #best browser - #pointless stuff pkgs.vlc #play stuff pkgs.neovide #gui neovim pkgs.ripgrep pkgs.lutris pkgs.prismlauncher pkgs.xautoclick + inputs.master.legacyPackages.${pkgs.system}.mullvad-browser # wrap webcord to remove state file https://github.com/SpacingBat3/WebCord/issues/360 (pkgs.symlinkJoin { name = "webcord-wrapper"; diff --git a/systems/gerg-desktop/vfio.nix b/systems/gerg-desktop/vfio.nix index 383a105..ad31c62 100644 --- a/systems/gerg-desktop/vfio.nix +++ b/systems/gerg-desktop/vfio.nix @@ -15,6 +15,7 @@ _: { pkgs.xorg.fontadobe75dpi ]; in + ###TAKEN FROM HERE:https://github.com/NixOS/nixpkgs/blob/4787ebf7ae2ab071389be7ff86cf38edeee7e9f8/nixos/modules/services/x11/xserver.nix#L106-L136 pkgs.runCommand "xserverbase" { fontpath = @@ -52,6 +53,33 @@ in { libvirtd = { enable = true; qemu = { + #don't hook evdev at vm start + package = pkgs.qemu.overrideAttrs (old: { + patches = + old.patches + ++ [ + # "${self}/misc/qemu.diff" + (pkgs.writeText "qemu.diff" '' + diff --git a/ui/input-linux.c b/ui/input-linux.c + index e572a2e..a9d76ba 100644 + --- a/ui/input-linux.c + +++ b/ui/input-linux.c + @@ -397,12 +397,6 @@ static void input_linux_complete(UserCreatable *uc, Error **errp) + } + + qemu_set_fd_handler(il->fd, input_linux_event, NULL, il); + - if (il->keycount) { + - /* delay grab until all keys are released */ + - il->grab_request = true; + - } else { + - input_linux_toggle_grab(il); + - } + QTAILQ_INSERT_TAIL(&inputs, il, next); + il->initialized = true; + return; + '') + ]; + }); runAsRoot = true; ovmf.enable = true; verbatimConfig = ''