diff --git a/pkgs/games/gl-gsync-demo/default.nix b/pkgs/games/gl-gsync-demo/default.nix new file mode 100644 index 000000000000..a4b30c572a00 --- /dev/null +++ b/pkgs/games/gl-gsync-demo/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, libX11, freeglut, glew, libXNVCtrl, libXext, lib }: + +stdenv.mkDerivation rec { + pname = "gl-gsync-demo"; + version = "unstable-2020-12-27"; + + src = fetchFromGitHub { + owner = "dahenry"; + repo = "gl-gsync-demo"; + rev = "4fd963a8ad880dc2d846394c8c80b2091a119591"; + sha256 = "1innsmpsd9n9ih80v16rhj2ijrl28jd7x6a4jmxdirba7mjibm8d"; + }; + + buildInputs = [ libX11 freeglut glew libXNVCtrl libXext ]; + + installPhase = '' + runHook preInstall + + install -D gl-gsync-demo -t $out/bin/ + + runHook postInstall + ''; + + meta = with lib; { + license = with licenses; mit; + platforms = platforms.linux; + maintainers = with maintainers; [ atemu ]; + description = "A very basic OpenGL demo for testing NVIDIA's G-SYNC technology on Linux"; + longDescription = '' + The demo simply draws a vertical bar moving accross the screen at constant speed, but deliberately rendered at a variable frame rate. + + The min and max frame rates can be manually changed at runtime, by step of 10 fps and with a min of 10 fps. + + The demo also allows to toggle V-Sync on/off. + ''; + homepage = "https://github.com/dahenry/gl-gsync-demo"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f5a2d063d46..a564672af25d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29699,6 +29699,10 @@ with pkgs; gltron = callPackage ../games/gltron { }; + gl-gsync-demo = callPackage ../games/gl-gsync-demo { + libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl; + }; + gmad = callPackage ../games/gmad { }; gnonograms = callPackage ../games/gnonograms { };