{ lib, stdenv, fetchFromGitHub, kernel, libdrm }: stdenv.mkDerivation rec { pname = "evdi"; version = "unstable-2021-07-07"; src = fetchFromGitHub { owner = "DisplayLink"; repo = pname; rev = "b0b2c80eb63f9b858b71afa772135f434aea192a"; sha256 = "sha256-io+CbZovGjEJjwtmARFH23Djt933ONoHMDoea+i6xFo="; }; nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ kernel libdrm ]; makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; hardeningDisable = [ "format" "pic" "fortify" ]; installPhase = '' install -Dm755 module/evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko install -Dm755 library/libevdi.so $out/lib/libevdi.so ''; meta = with lib; { description = "Extensible Virtual Display Interface"; maintainers = with maintainers; [ eyjhb ]; platforms = platforms.linux; license = with licenses; [ lgpl21Only gpl2Only ]; homepage = "https://www.displaylink.com/"; broken = kernel.kernelOlder "4.19" || kernel.kernelAtLeast "5.15" || stdenv.isAarch64; }; }