From 7a0f98d20e8da3785a498817e46bc0cce01d3978 Mon Sep 17 00:00:00 2001 From: Felix Tenley Date: Wed, 4 Aug 2021 22:08:30 +0200 Subject: [PATCH] feat(gnome): activate wayland This activates wayland support but keep gnome-xorg as the default session since some applications do not run with this setup yet. --- desktop/gnome.nix | 8 +++++++- hardware/gpu-bumblebee.nix | 5 +++++ hardware/gpu-nvidia.nix | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/desktop/gnome.nix b/desktop/gnome.nix index fc093d9..8eac0a1 100644 --- a/desktop/gnome.nix +++ b/desktop/gnome.nix @@ -33,12 +33,18 @@ in { ]; services.xserver.displayManager.gdm.enable = true; - services.xserver.displayManager.gdm.wayland = false; + services.xserver.displayManager.gdm.wayland = true; + services.xserver.displayManager.gdm.nvidiaWayland = true; + services.xserver.displayManager.defaultSession = "gnome-xorg"; services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.extraGSettingsOverrides = '' [org/gnome/desktop/input-sources] sources=[('xkb', 'gb'), ('xkb', 'mozc-jp')] + + [org/gnome/mutter] + experimental-features=['kms-modifiers'] ''; + programs.xwayland.enable = true; # exclude some default applications environment.gnome.excludePackages = with pkgs; [ diff --git a/hardware/gpu-bumblebee.nix b/hardware/gpu-bumblebee.nix index 016f00b..a94115b 100644 --- a/hardware/gpu-bumblebee.nix +++ b/hardware/gpu-bumblebee.nix @@ -7,5 +7,10 @@ hardware.opengl = { driSupport32Bit = true; extraPackages = with pkgs; [ vaapiIntel vaapiVdpau libvdpau-va-gl ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ + vaapiIntel + libvdpau-va-gl + vaapiVdpau + ]; }; } diff --git a/hardware/gpu-nvidia.nix b/hardware/gpu-nvidia.nix index 81b7719..d12b507 100644 --- a/hardware/gpu-nvidia.nix +++ b/hardware/gpu-nvidia.nix @@ -3,12 +3,16 @@ { # Graphics drivers services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia.modesetting.enable = true; services.xserver.screenSection = '' - Option "metamodes" "1920x1080_120 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" + Option "metamodes" "1920x1080_120 +0+0 {AllowGSYNC=On, AllowGSYNCCompatible=On, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" ''; hardware.opengl = { + enable = true; + driSupport = true; driSupport32Bit = true; extraPackages = with pkgs; [ libvdpau-va-gl vaapiVdpau ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ libvdpau-va-gl vaapiVdpau ]; }; }