diff --git a/modules/home/stream-tools/default.nix b/modules/home/stream-tools/default.nix index fa5bdd4..bfc7c05 100644 --- a/modules/home/stream-tools/default.nix +++ b/modules/home/stream-tools/default.nix @@ -11,10 +11,17 @@ in { enable = mkEnableOption "Enable the Stream Machine Tools"; }; + + config = mkIf cfg.enable { + programs.obs-studio = { + enable = true; + plugins = [ pkgs.obs-studio-plugins.droidcam-obs ]; + }; home = { packages = with pkgs; [ - obs-studio + # obs-studio + droidcam ]; }; }; diff --git a/systems/x86_64-linux/drivebystation-nix/default.nix b/systems/x86_64-linux/drivebystation-nix/default.nix index 223a412..6303e8f 100644 --- a/systems/x86_64-linux/drivebystation-nix/default.nix +++ b/systems/x86_64-linux/drivebystation-nix/default.nix @@ -34,6 +34,7 @@ in imports = [ ./configuration.nix ./steam.nix + ./video.nix ]; config = { system.stateVersion = "24.05"; @@ -52,6 +53,8 @@ in appimage-run inputs.game-of-life.packages.x86_64-linux.default inputs.nixos-cosmic + minecraft + trilium-desktop # thunderbird ]; }; @@ -71,7 +74,7 @@ in # Install firefox. programs.firefox.enable = true; - + nixpkgs.config.allowBroken = true; # Set up system Packages environment.systemPackages = with pkgs; [ git @@ -82,15 +85,18 @@ in pkgs.ntfsprogs pkgs.my-namespace.udev-steelseries pkgs.my-namespace.hello + pks. pkgs.nvtopPackages.nvidia - pkgs.mesa - pkgs.vulkan-loader - pkgs.vulkan-validation-layers - pkgs.vulkan-extension-layer - pkgs.vulkan-tools - pkgs.libva - pkgs.libva-utils + + # stuff I installed to try to get gamescope to work to no avail Gamescope is just broken it seems. + # pkgs.mesa + # pkgs.vulkan-loader + # pkgs.vulkan-validation-layers + # pkgs.vulkan-extension-layer + # pkgs.vulkan-tools + # pkgs.libva + # pkgs.libva-utils # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # wget ] diff --git a/systems/x86_64-linux/drivebystation-nix/hardware-configuration.nix b/systems/x86_64-linux/drivebystation-nix/hardware-configuration.nix index e663237..d9fdff2 100644 --- a/systems/x86_64-linux/drivebystation-nix/hardware-configuration.nix +++ b/systems/x86_64-linux/drivebystation-nix/hardware-configuration.nix @@ -11,9 +11,13 @@ ./acer-monitor-edid.nix ]; #boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + # boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + boot.kernelPackages = pkgs.linuxPackages; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.kernelModules = [ "kvm-amd" ]; + boot.kernelModules = [ "kvm-amd" "4vl2loopback" ]; + boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ]; + boot.blacklistedKernelModules = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76"; diff --git a/systems/x86_64-linux/drivebystation-nix/nvidia.nix b/systems/x86_64-linux/drivebystation-nix/nvidia.nix index cf6f2ac..b95a9e0 100644 --- a/systems/x86_64-linux/drivebystation-nix/nvidia.nix +++ b/systems/x86_64-linux/drivebystation-nix/nvidia.nix @@ -10,26 +10,35 @@ # Load nvidia driver for Xorg and Wayland # boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; # boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11_production ]; - boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11_beta ]; + boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; + boot.loader.systemd-boot.consoleMode = "max"; + boot.kernelParams = [ "nvidia-drm.fbdev=1" "nvidia-drm.modeset=1" + "nvidia.NVreg_PreserveVideoMemoryAllocations=1" + "nomodeset" # "nvidia_drm.modeset=1" ]; boot.blacklistedKernelModules = [ "i915" "amdgpu" - "nouveau" + "nouveau" ]; + boot.extraModprobeConfig = '' + blacklist nouveau + options nouveau modeset=0 + ''; services.xserver.videoDrivers = [ "nvidia" ]; boot.initrd.kernelModules = [ "nvidia" "nvidia-drm" - "nvidia-modeset" - "nvidia-uvm" - "i2c-nvidia_gpu" + # "nvidiafb" + # "nvidia-modeset" + # "nvidia-uvm" + # "i2c-nvidia_gpu" ]; #boot.initrd.kernelModules = [ "nvidia" ]; @@ -62,7 +71,7 @@ nvidiaSettings = true; # Optionally, you may need to select the appropriate driver version for your specific GPU. - package = config.boot.kernelPackages.nvidiaPackages.beta; + package = config.boot.kernelPackages.nvidiaPackages.stable; # package = config.boot.kernelPackages.nvidiaPackages.production; }; diff --git a/systems/x86_64-linux/drivebystation-nix/steam.nix b/systems/x86_64-linux/drivebystation-nix/steam.nix index e1086b7..61d0ffe 100644 --- a/systems/x86_64-linux/drivebystation-nix/steam.nix +++ b/systems/x86_64-linux/drivebystation-nix/steam.nix @@ -24,49 +24,52 @@ , ... }:{ config = { - programs.gamescope.enable = true; + # programs.gamescope = { + # enable = true; + # capSysNice = true; + # }; programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers - gamescopeSession = { - enable = true; - env = { - WLR_RENDERER = "vulkan"; - DXVK_HDR = "1 "; - ENABLE_GAMESCOPE_WSI = "1"; - WINE_FULLSCREEN_FSR = "1"; - # Games allegedly prefer X11 - SDL_VIDEODRIVER = "x11"; - }; - args = [ - "--xwayland-count 1" - "--expose-wayland" + # gamescopeSession = { + # enable = true; + # env = { + # WLR_RENDERER = "vulkan"; + # DXVK_HDR = "0 "; + # ENABLE_GAMESCOPE_WSI = "0"; + # WINE_FULLSCREEN_FSR = "1"; + # # Games allegedly prefer X11 + # SDL_VIDEODRIVER = "x11"; + # }; + # args = [ + # "--xwayland-count 1" + # "--expose-wayland" - "-e" # Enable steam integration - "--steam" + # "-e" # Enable steam integration + # "--steam" - "--adaptive-sync" - "--hdr-enabled" - "--hdr-itm-enable" + # # "--adaptive-sync" + # # "--hdr-enabled" + # # "--hdr-itm-enable" - # External monitor - "--prefer-output DP-3" - "--output-width 1920" - "--output-height 1080" - "-r 172" + # # External monitor + # "--prefer-output DP-3" + # "--output-width 1920" + # "--output-height 1080" + # "-r 172" - # Laptop display - # "--prefer-output eDP-1" - # "--output-width 2560" - # "--output-height 1600" - # "-r 120" + # # Laptop display + # # "--prefer-output eDP-1" + # # "--output-width 2560" + # # "--output-height 1600" + # # "-r 120" - "--prefer-vk-device 10de:1b81" # lspci -nn | grep VGA - ]; - }; + # # "--prefer-vk-device 10de:1b81" # lspci -nn | grep VGA + # ]; + # }; }; }; } \ No newline at end of file diff --git a/systems/x86_64-linux/drivebystation-nix/video.nix b/systems/x86_64-linux/drivebystation-nix/video.nix new file mode 100644 index 0000000..2708583 --- /dev/null +++ b/systems/x86_64-linux/drivebystation-nix/video.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: +{ + boot.kernelModules = [ + "v4l2loopback" # Webcam loopback + ]; + + boot.extraModulePackages = [ + pkgs.linuxPackages.v4l2loopback # Webcam loopback + ]; + + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + + environment.systemPackages = with pkgs; [ + # Webcam packages + v4l-utils + android-tools + adb-sync + ]; +} \ No newline at end of file