From 1e578d931b35b23ffbe8a634aca0429ac6a78822 Mon Sep 17 00:00:00 2001 From: Josh Hoffer Date: Sun, 19 Nov 2023 18:36:21 -0700 Subject: [PATCH 01/13] ipu6-drivers: unstable-2023-08-28 -> unstable-2023-11-15 (cherry picked from commit 8837ce7d664b11c9ffe002b46640625e50000bc8) --- pkgs/os-specific/linux/ipu6-drivers/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix index bc85ffd9aa32..d29770661172 100644 --- a/pkgs/os-specific/linux/ipu6-drivers/default.nix +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation { pname = "ipu6-drivers"; - version = "unstable-2023-08-28"; + version = "unstable-2023-11-15"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-drivers"; - rev = "7c3d6ab1e9e234563a0af51286b0a8d60445f2a3"; - hash = "sha256-D782v6hIqAl2EO1+zKeakURD3UGVP3c7p3ba/61yfW4="; + rev = "067270ff020aaec9456085c217f1c2747c8c5ef5"; + hash = "sha256-fK5WTO1wfu3nVBsUfKiAgrxwH9DSaludNLBtMxMhG+A="; }; postPatch = '' From 8d8c26417368ac31c36667a515d941714099e93f Mon Sep 17 00:00:00 2001 From: Josh Hoffer Date: Sun, 19 Nov 2023 23:47:40 -0700 Subject: [PATCH 02/13] ipu6-camera-bin: unstable-2023-02-08 -> unstable-2023-10-26 Upgrade to latest commit of upstream main branch: unstable-2023-10-26 Switch to building for all platforms like upstream does now. (cherry picked from commit bfca0a849ea31e1076b47672458b7b208a1f18cb) --- .../firmware/ipu6-camera-bins/default.nix | 32 +++++-------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix index a4bbd6d2bb6b..b3a1474dc430 100644 --- a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix +++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix @@ -4,26 +4,19 @@ , autoPatchelfHook , expat , zlib - -# Pick one of -# - ipu6 (Tiger Lake) -# - ipu6ep (Alder Lake) -, ipuVersion ? "ipu6" }: stdenv.mkDerivation (finalAttrs: { - pname = "${ipuVersion}-camera-bin"; - version = "unstable-2023-02-08"; + pname = "ipu6-camera-bin"; + version = "unstable-2023-10-26"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-camera-bins"; - rev = "276859fc6de83918a32727d676985ec40f31af2b"; - hash = "sha256-QnedM2UBbGyd2wIF762Mi+VkDZYtC6MifK4XGGxlUzw="; + rev = "af5ba0cb4a763569ac7514635013e9d870040bcf"; + hash = "sha256-y0pT5M7AKACbquQWLZPYpTPXRC5hipLNL61nhs+cst4="; }; - sourceRoot = "${finalAttrs.src.name}/${ipuVersion}"; - nativeBuildInputs = [ autoPatchelfHook stdenv.cc.cc.lib @@ -40,13 +33,13 @@ stdenv.mkDerivation (finalAttrs: { include \ $out/ - install -m 0644 -D ../LICENSE $out/share/doc/LICENSE + install -m 0644 -D LICENSE $out/share/doc/LICENSE runHook postInstall ''; postFixup = '' - for pcfile in $out/lib/pkgconfig/*.pc; do + for pcfile in $out/lib/*/pkgconfig/*.pc; do substituteInPlace $pcfile \ --replace 'exec_prefix=/usr' 'exec_prefix=''${prefix}' \ --replace 'prefix=/usr' "prefix=$out" \ @@ -55,17 +48,8 @@ stdenv.mkDerivation (finalAttrs: { done ''; - passthru = { - inherit ipuVersion; - }; - - meta = let - generation = { - ipu6 = "Tiger Lake"; - ipu6ep = "Alder Lake"; - }.${ipuVersion}; - in with lib; { - description = "${generation} IPU firmware and proprietary image processing libraries"; + meta = with lib; { + description = "IPU firmware and proprietary image processing libraries"; homepage = "https://github.com/intel/ipu6-camera-bins"; license = licenses.issl; sourceProvenance = with sourceTypes; [ From 20b8da007c997735f6375154ecced9e2a3d575a6 Mon Sep 17 00:00:00 2001 From: Josh Hoffer Date: Mon, 20 Nov 2023 00:21:41 -0700 Subject: [PATCH 03/13] ipu6-camera-hal and icamerasrc updates ipu6-camera-hal: unstable-2023-03-09 -> unstable-2023-03-09 icamerasrc: unstable-2023-03-09 -> unstable-2023-10-23 Moved ipu6 platform "versioning" to ipu6-camera-hal to match upstream build process. Not ideal but too unclear ATM if ipu6-camera-bin firmware could be a multi-output derivation. Specifically which platform owns `ipu6epadln_fw.bin` is unknown. Added ipu6epmtl "Meteor Lake" platform entries. TODO: I think there is one more fix that upstream nixpkgs is missing in order for firmware to actualy load/work (check Dell laptop config for that fix). (cherry picked from commit 6835a72af649f4b0720cc005d458ddf7234b9630) --- .../libraries/gstreamer/default.nix | 4 +++ .../gstreamer/icamerasrc/default.nix | 6 ++-- .../libraries/ipu6-camera-hal/default.nix | 30 +++++++++++++------ pkgs/top-level/all-packages.nix | 6 ++-- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 662009005e36..1bfdf5b24de3 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -14,6 +14,7 @@ , Security , VideoToolbox , ipu6ep-camera-hal +, ipu6epmtl-camera-hal }: { @@ -47,6 +48,9 @@ icamerasrc-ipu6ep = callPackage ./icamerasrc { ipu6-camera-hal = ipu6ep-camera-hal; }; + icamerasrc-ipu6epmtl = callPackage ./icamerasrc { + ipu6-camera-hal = ipu6epmtl-camera-hal; + }; # note: gst-python is in ../../python-modules/gst-python - called under python3Packages } diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix index b03dd953e140..24c16ecd0ff5 100644 --- a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix +++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "icamerasrc-${ipu6-camera-hal.ipuVersion}"; - version = "unstable-2023-03-09"; + version = "unstable-2023-10-23"; src = fetchFromGitHub { owner = "intel"; repo = "icamerasrc"; - rev = "17841ab6249aaa69bd9b3959262bf182dee74111"; - hash = "sha256-j8ZYe4nyy5yfo10CGeXDwbAaAPvdr0ptMWB8hQDyESQ="; + rev = "528a6f177732def4d5ebc17927220d8823bc8fdc"; + hash = "sha256-Ezcm5OpF/NKvJf5sFeJyvNc2Uq0166GukC9MuNUV2Fs="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index 7fce11d21a43..3c8847c70023 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -11,17 +11,29 @@ , ipu6-camera-bin , libtool , gst_all_1 -}: +# Pick one of +# - ipu6 (Tiger Lake) +# - ipu6ep (Alder Lake) +# - ipu6epmtl (Meteor Lake) +, ipuVersion ? "ipu6" +}: +let + ipuTarget = { + "ipu6" = "ipu_tgl"; + "ipu6ep" = "ipu_adl"; + "ipu6epmtl" = "ipu_mtl"; + }.${ipuVersion}; +in stdenv.mkDerivation { - pname = "${ipu6-camera-bin.ipuVersion}-camera-hal"; - version = "unstable-2023-02-08"; + pname = "${ipuVersion}-camera-hal"; + version = "unstable-2023-09-25"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-camera-hal"; - rev = "884b81aae0ea19a974eb8ccdaeef93038136bdd4"; - hash = "sha256-AePL7IqoOhlxhfPRLpCman5DNh3wYS4MUcLgmgBUcCM="; + rev = "9fa05a90886d399ad3dda4c2ddc990642b3d20c9"; + hash = "sha256-yS1D7o6dsQ4FQkjfwcisOxcP7Majb+4uQ/iW5anMb5c="; }; nativeBuildInputs = [ @@ -29,8 +41,10 @@ stdenv.mkDerivation { pkg-config ]; + PKG_CONFIG_PATH = "${lib.getDev ipu6-camera-bin}/lib/${ipuTarget}/pkgconfig"; + cmakeFlags = [ - "-DIPU_VER=${ipu6-camera-bin.ipuVersion}" + "-DIPU_VER=${ipuVersion}" # missing libiacss "-DUSE_PG_LITE_PIPE=ON" # missing libipu4 @@ -39,8 +53,6 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = [ "-Wno-error" - "-I${lib.getDev ipu6-camera-bin}/include/ia_imaging" - "-I${lib.getDev ipu6-camera-bin}/include/ia_camera" ]; enableParallelBuilding = true; @@ -64,7 +76,7 @@ stdenv.mkDerivation { ''; passthru = { - inherit (ipu6-camera-bin) ipuVersion; + inherit ipuVersion; }; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99fa3821e5fe..ff187c7bf604 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28005,12 +28005,12 @@ with pkgs; ipu6-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {}; - ipu6ep-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins { + ipu6ep-camera-hal = callPackage ../development/libraries/ipu6-camera-hal { ipuVersion = "ipu6ep"; }; - ipu6ep-camera-hal = callPackage ../development/libraries/ipu6-camera-hal { - ipu6-camera-bin = ipu6ep-camera-bin; + ipu6epmtl-camera-hal = callPackage ../development/libraries/ipu6-camera-hal { + ipuVersion = "ipu6epmtl"; }; ivsc-firmware = callPackage ../os-specific/linux/firmware/ivsc-firmware { }; From ee6b471b53caaf4a25763f5e4f914499928b55e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:44:50 +0000 Subject: [PATCH 04/13] v4l2loopback: unstable-2023-02-19 -> unstable-2023-11-23 (cherry picked from commit 0da017634639700c0a0e46bfd84cbc1a5005beba) --- pkgs/os-specific/linux/v4l2loopback/default.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index e17fda67218e..3d16748f05a2 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -1,21 +1,16 @@ { lib, stdenv, fetchFromGitHub, kernel, kmod }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "v4l2loopback"; - version = "unstable-2023-02-19-${kernel.version}"; + version = "unstable-2023-11-23-${kernel.version}"; src = fetchFromGitHub { owner = "umlaeute"; repo = "v4l2loopback"; - rev = "fb410fc7af40e972058809a191fae9517b9313af"; - hash = "sha256-gLFtR7s+3LUQ0BZxHbmaArHbufuphbtAX99nxJU3c84="; + rev = "850a2e36849f6ad3c9bf74f2ae3f603452bd8a71"; + hash = "sha256-LqP5R3oKbjUQUfDZUWpkrmyopWhOt4wlgSgGywTPJXM="; }; - patches = [ - # fix bug https://github.com/umlaeute/v4l2loopback/issues/535 - ./revert-pr518.patch - ]; - hardeningDisable = [ "format" "pic" ]; preBuild = '' From 7124bd0b20e4f6d8905c57427374fd0bf264d783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:45:33 +0000 Subject: [PATCH 05/13] ipu6-drivers: unstable-2023-11-15 -> unstable-2023-11-24 (cherry picked from commit 1381007a828e52f932d8542c1fb4d9bd4727625a) --- pkgs/os-specific/linux/ipu6-drivers/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix index d29770661172..fe9cb1da018c 100644 --- a/pkgs/os-specific/linux/ipu6-drivers/default.nix +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation { pname = "ipu6-drivers"; - version = "unstable-2023-11-15"; + version = "unstable-2023-11-24"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-drivers"; - rev = "067270ff020aaec9456085c217f1c2747c8c5ef5"; - hash = "sha256-fK5WTO1wfu3nVBsUfKiAgrxwH9DSaludNLBtMxMhG+A="; + rev = "07f0612eabfdc31df36f5e316a9eae115807804f"; + hash = "sha256-8JRZG6IKJT0qtoqJHm8641kSQMLc4Z+DRzK6FpL9Euk="; }; postPatch = '' From 54243cee3cc29b7a9f4b1debff3fa11c2b91f9ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:46:17 +0000 Subject: [PATCH 06/13] ivsc-driver: unstable-2023-03-10 -> unstable-2023-11-09 (cherry picked from commit 25659148ef4200e0c53a189dd89898602f95bb26) --- pkgs/os-specific/linux/ivsc-driver/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix index 0491b1d548b4..72173de49baa 100644 --- a/pkgs/os-specific/linux/ivsc-driver/default.nix +++ b/pkgs/os-specific/linux/ivsc-driver/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation { pname = "ivsc-driver"; - version = "unstable-2023-03-10"; + version = "unstable-2023-11-09"; src = fetchFromGitHub { owner = "intel"; repo = "ivsc-driver"; - rev = "c8db12b907e2e455d4d5586e5812d1ae0eebd571"; - hash = "sha256-OM9PljvaMKrk72BFeSCqaABFeAws+tOdd3oC2jyNreE="; + rev = "73a044d9633212fac54ea96cdd882ff5ab40573e"; + hash = "sha256-vE5pOtVqjiWovlUMSEoBKTk/qvs8K8T5oY2r7njh0wQ="; }; nativeBuildInputs = kernel.moduleBuildDependencies; From cdf54e432dc9baca41542500d0a9be33c69b25e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 19:29:24 +0000 Subject: [PATCH 07/13] ivsc-firmware: unstable-2022-11-02 -> unstable-2023-08-11 (cherry picked from commit ad8dfeabe7bf852ea938592bcd2fad76db1f92ee) --- pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix index fb2f940ddce6..1a90380838a9 100644 --- a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation { pname = "ivsc-firmware"; - version = "unstable-2022-11-02"; + version = "unstable-2023-08-11"; src = fetchFromGitHub { owner = "intel"; repo = "ivsc-firmware"; - rev = "29c5eff4cdaf83e90ef2dcd2035a9cdff6343430"; - hash = "sha256-GuD1oTnDEs0HslJjXx26DkVQIe0eS+js4UoaTDa77ME="; + rev = "10c214fea5560060d387fbd2fb8a1af329cb6232"; + hash = "sha256-kEoA0yeGXuuB+jlMIhNm+SBljH+Ru7zt3PzGb+EPBPw="; }; dontBuild = true; From 37ee37382e2f1b6bfe182dc216913ac2f1b0a902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:50:12 +0000 Subject: [PATCH 08/13] ipu6-camera-bins: rename from ipu6-camera-bin (cherry picked from commit fc2013e3ebe0e4f2c3ff87159b7784216d26c6b7) --- nixos/modules/hardware/video/webcam/ipu6.nix | 4 +--- pkgs/development/libraries/ipu6-camera-hal/default.nix | 6 +++--- .../os-specific/linux/firmware/ipu6-camera-bins/default.nix | 2 +- pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/nixos/modules/hardware/video/webcam/ipu6.nix b/nixos/modules/hardware/video/webcam/ipu6.nix index fce78cda34c7..acfacfbf114d 100644 --- a/nixos/modules/hardware/video/webcam/ipu6.nix +++ b/nixos/modules/hardware/video/webcam/ipu6.nix @@ -29,9 +29,7 @@ in ipu6-drivers ]; - hardware.firmware = with pkgs; [ ] - ++ optional (cfg.platform == "ipu6") ipu6-camera-bin - ++ optional (cfg.platform == "ipu6ep") ipu6ep-camera-bin; + hardware.firmware = [ pkgs.ipu6-camera-bins ]; services.udev.extraRules = '' SUBSYSTEM=="intel-ipu6-psys", MODE="0660", GROUP="video" diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index 3c8847c70023..a76039954259 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -8,7 +8,7 @@ # runtime , expat -, ipu6-camera-bin +, ipu6-camera-bins , libtool , gst_all_1 @@ -41,7 +41,7 @@ stdenv.mkDerivation { pkg-config ]; - PKG_CONFIG_PATH = "${lib.getDev ipu6-camera-bin}/lib/${ipuTarget}/pkgconfig"; + PKG_CONFIG_PATH = "${lib.getDev ipu6-camera-bins}/lib/${ipuTarget}/pkgconfig"; cmakeFlags = [ "-DIPU_VER=${ipuVersion}" @@ -59,7 +59,7 @@ stdenv.mkDerivation { buildInputs = [ expat - ipu6-camera-bin + ipu6-camera-bins libtool gst_all_1.gstreamer gst_all_1.gst-plugins-base diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix index b3a1474dc430..7aeb33886254 100644 --- a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix +++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation (finalAttrs: { - pname = "ipu6-camera-bin"; + pname = "ipu6-camera-bins"; version = "unstable-2023-10-26"; src = fetchFromGitHub { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff187c7bf604..d908c937e50f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28001,7 +28001,7 @@ with pkgs; iproute2 = callPackage ../os-specific/linux/iproute { }; - ipu6-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {}; + ipu6-camera-bins = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {}; ipu6-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {}; From d6f65252d160dd4672a8402c5b5a1687ad9957d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:50:41 +0000 Subject: [PATCH 09/13] ipu6-camera-bins: remove unnecessary post-fixup steps these were fixed upstream and are no longer needed (cherry picked from commit a541b15ffe27e2b31af2642f8cf2cad4aeca461f) --- pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix index 7aeb33886254..71a7cd9e947b 100644 --- a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix +++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix @@ -41,10 +41,7 @@ stdenv.mkDerivation (finalAttrs: { postFixup = '' for pcfile in $out/lib/*/pkgconfig/*.pc; do substituteInPlace $pcfile \ - --replace 'exec_prefix=/usr' 'exec_prefix=''${prefix}' \ - --replace 'prefix=/usr' "prefix=$out" \ - --replace 'libdir=/usr/lib' 'libdir=''${prefix}/lib' \ - --replace 'includedir=/usr/include' 'includedir=''${prefix}/include' + --replace 'prefix=/usr' "prefix=$out" done ''; From 7cd55987a5c023ed7a0a4a51fe6ae7087ee02bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:51:42 +0000 Subject: [PATCH 10/13] ipu6-camera-hal: remove unnecessary post-fixup and cmake flag (cherry picked from commit ae5f61ea9eab9699847a1ce9f433a2ce34dc63fa) --- pkgs/development/libraries/ipu6-camera-hal/default.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index a76039954259..759baa61605b 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -47,8 +47,6 @@ stdenv.mkDerivation { "-DIPU_VER=${ipuVersion}" # missing libiacss "-DUSE_PG_LITE_PIPE=ON" - # missing libipu4 - "-DENABLE_VIRTUAL_IPU_PIPE=OFF" ]; NIX_CFLAGS_COMPILE = [ @@ -70,11 +68,6 @@ stdenv.mkDerivation { --replace '/usr/share/' "${placeholder "out"}/share/" ''; - postFixup = '' - substituteInPlace $out/lib/pkgconfig/libcamhal.pc \ - --replace 'prefix=/usr' "prefix=$out" - ''; - passthru = { inherit ipuVersion; }; From bd7b81d53f672f52a524eb793b37bafa202014e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 19:16:11 +0000 Subject: [PATCH 11/13] ipu6-camera-hal: patch libs to find platform-specific ipu6-camera-bins (cherry picked from commit 74f7417eacd20713ec67582c26718d5d3943eebc) --- pkgs/development/libraries/ipu6-camera-hal/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index 759baa61605b..3ec63fd0807d 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation { pkg-config ]; - PKG_CONFIG_PATH = "${lib.getDev ipu6-camera-bins}/lib/${ipuTarget}/pkgconfig"; + PKG_CONFIG_PATH = "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}/pkgconfig"; cmakeFlags = [ "-DIPU_VER=${ipuVersion}" @@ -68,6 +68,12 @@ stdenv.mkDerivation { --replace '/usr/share/' "${placeholder "out"}/share/" ''; + postFixup = '' + for lib in $out/lib/*.so; do + patchelf --add-rpath "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}" $lib + done + ''; + passthru = { inherit ipuVersion; }; From a4a4100246a3196697a8ee7a2ffa56b8d1945f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:52:34 +0000 Subject: [PATCH 12/13] icamerasrc: remove unnecessary rec (cherry picked from commit 5adf1a2f48e793c310978880a4b861da1ba6891e) --- pkgs/development/libraries/gstreamer/icamerasrc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix index 24c16ecd0ff5..4d6c5671f0e2 100644 --- a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix +++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix @@ -8,7 +8,7 @@ , libdrm }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "icamerasrc-${ipu6-camera-hal.ipuVersion}"; version = "unstable-2023-10-23"; From d70968cece0d57034f4f74de459316e26aaace07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 7 Dec 2023 11:54:10 +0000 Subject: [PATCH 13/13] nixos/ipu6: add support for ipu6epmtl (cherry picked from commit 85169ed61cb1a7bca075084e3ebe3cb96e359205) --- nixos/modules/hardware/video/webcam/ipu6.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/hardware/video/webcam/ipu6.nix b/nixos/modules/hardware/video/webcam/ipu6.nix index acfacfbf114d..c2dbdc217bd6 100644 --- a/nixos/modules/hardware/video/webcam/ipu6.nix +++ b/nixos/modules/hardware/video/webcam/ipu6.nix @@ -13,11 +13,12 @@ in enable = mkEnableOption (lib.mdDoc "support for Intel IPU6/MIPI cameras"); platform = mkOption { - type = types.enum [ "ipu6" "ipu6ep" ]; + type = types.enum [ "ipu6" "ipu6ep" "ipu6epmtl" ]; description = lib.mdDoc '' Choose the version for your hardware platform. - Use `ipu6` for Tiger Lake and `ipu6ep` for Alder Lake respectively. + Use `ipu6` for Tiger Lake, `ipu6ep` for Alder Lake or Raptor Lake, + and `ipu6epmtl` for Meteor Lake. ''; }; @@ -42,14 +43,13 @@ in extraPackages = with pkgs.gst_all_1; [ ] ++ optional (cfg.platform == "ipu6") icamerasrc-ipu6 - ++ optional (cfg.platform == "ipu6ep") icamerasrc-ipu6ep; + ++ optional (cfg.platform == "ipu6ep") icamerasrc-ipu6ep + ++ optional (cfg.platform == "ipu6epmtl") icamerasrc-ipu6epmtl; input = { pipeline = "icamerasrc"; - format = mkIf (cfg.platform == "ipu6ep") (mkDefault "NV12"); + format = mkIf (cfg.platform != "ipu6") (mkDefault "NV12"); }; }; - }; - }