fix(sunshine.nix): improve error messages and add checks
This commit is contained in:
parent
e5dca361d2
commit
c95a59028a
@ -6,7 +6,7 @@ let
|
|||||||
name = "sunshine-resolution-script";
|
name = "sunshine-resolution-script";
|
||||||
text = ''
|
text = ''
|
||||||
#!${pkgs.bash}/bin/bash
|
#!${pkgs.bash}/bin/bash
|
||||||
|
|
||||||
width=''${1:-1280}
|
width=''${1:-1280}
|
||||||
height=''${2:-720}
|
height=''${2:-720}
|
||||||
refresh_rate=''${3:-120}
|
refresh_rate=''${3:-120}
|
||||||
@ -16,16 +16,21 @@ let
|
|||||||
xrandr_mode_str=''${modeline//Modeline \"*\" /}
|
xrandr_mode_str=''${modeline//Modeline \"*\" /}
|
||||||
mode_alias="''${width}x''${height}"
|
mode_alias="''${width}x''${height}"
|
||||||
|
|
||||||
echo "xrandr setting new mode ''${mode_alias} ''${xrandr_mode_str}"
|
echo "xrandr setting new mode ''${mode_alias} ''${xrandr_mode_str}"
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --rmmode ''${mode_alias} || echo error
|
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --newmode ''${mode_alias} ''${xrandr_mode_str} || echo error
|
# Check if mode exists before trying to remove it
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --addmode DP-0 ''${mode_alias} || echo error
|
if ${pkgs.xorg.xrandr}/bin/xrandr --listmodes | grep -q "^''${mode_alias}"; then
|
||||||
|
${pkgs.xorg.xrandr}/bin/xrandr --rmmode ''${mode_alias} || echo "Failed to remove existing mode"
|
||||||
|
fi
|
||||||
|
|
||||||
|
${pkgs.xorg.xrandr}/bin/xrandr --newmode ''${mode_alias} ''${xrandr_mode_str} || echo "Failed to create new mode"
|
||||||
|
${pkgs.xorg.xrandr}/bin/xrandr --addmode DP-0 ''${mode_alias} || echo "Failed to add mode to output"
|
||||||
|
|
||||||
# Apply new xrandr mode
|
# Apply new xrandr mode
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary --mode ''${mode_alias} --pos 0x0 --rotate normal || echo error
|
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary --mode ''${mode_alias} --pos 0x0 --rotate normal || echo "Failed to apply mode"
|
||||||
|
|
||||||
${config.boot.kernelPackages.nvidia_x11.settings}/bin/nvidia-settings -a 'SyncToVBlank=0' || echo error
|
${config.boot.kernelPackages.nvidia_x11.settings}/bin/nvidia-settings -a 'SyncToVBlank=0' || echo "Failed to disable VSync"
|
||||||
${config.boot.kernelPackages.nvidia_x11.bin}/bin/nvidia-smi --persistence-mode=ENABLED || echo error
|
${config.boot.kernelPackages.nvidia_x11.bin}/bin/nvidia-smi --persistence-mode=ENABLED || echo "Failed to enable persistence mode"
|
||||||
'';
|
'';
|
||||||
executable = true;
|
executable = true;
|
||||||
destination = "/bin/resolution.sh";
|
destination = "/bin/resolution.sh";
|
||||||
|
Loading…
Reference in New Issue
Block a user