tvl-depot/users/flokli/ipu6-softisp/config.nix
Aspen Smith 756539a596 chore(3p/sources): Bump channels & overlays (2024-07-28)
* Treewide: re-run depotfmt

* //third_party/nixpkgs:html5validator: build with Python 3.11,
  dependency openstackdocstheme doesn't support 3.12

* //users/sterni/machines/ingeborg: adapt to poorly handled fcgiwrap
  module API change: https://github.com/NixOS/nixpkgs/pull/318599

* //tvix/*-go: regenerate protobuf files

* //third_party/nixpkgs:treefmt: Remove patch for merged pull request

* //users/flokli/ipu6-softisp: rebase, drop upstreamed kernel patches

Change-Id: Ie4e0df007c287e8cd6207683a9a25838aa5bd39a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11971
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-08-01 10:06:33 +00:00

56 lines
1.6 KiB
Nix

{ pkgs, lib, ... }:
let
libcamera = pkgs.libcamera.overrideAttrs (old: {
mesonFlags = old.mesonFlags or [ ] ++ [
"-Dpipelines=simple,ipu3,uvcvideo"
"-Dipas=simple,ipu3"
];
# This is
# https://copr-dist-git.fedorainfracloud.org/cgit/jwrdegoede/ipu6-softisp/libcamera.git/plain/libcamera-0.2.0-softisp.patch?h=f39&id=60e6b3d5e366a360a75942073dc0d642e4900982,
# but manually piped to git and back, as some renames were not processed properly.
# It was later refreshed with https://patchwork.libcamera.org/cover/19663/
patches = old.patches or [ ] ++ [
./libcamera/0001-libcamera-Add-support-for-IGIG_GBGR_IGIG_GRGB-bayer-.patch
./libcamera/0002-ov01a1s-HACK.patch
./libcamera/0003-libcamera-debayer_cpu-Make-the-minimum-size-1280x720.patch
];
});
# use patched libcamera
pipewire' = (pkgs.pipewire.override {
inherit libcamera;
});
wireplumber' = (pkgs.wireplumber.override {
pipewire = pipewire';
});
in
{
boot.kernelPatches = [{
name = "linux-kernel-test.patch";
patch = ./kernel/softisp.patch;
extraStructuredConfig = {
# needed for /dev/dma_heap
DMABUF_HEAPS_CMA = lib.kernel.yes;
DMABUF_HEAPS_SYSTEM = lib.kernel.yes;
DMABUF_HEAPS = lib.kernel.yes;
};
}];
services.udev.extraRules = ''
KERNEL=="system", SUBSYSTEM=="dma_heap", TAG+="uaccess"
'';
# provide qcam in $PATH.
environment.systemPackages = [
(libcamera.override {
withQcam = true;
})
];
services.pipewire.package = pipewire';
services.pipewire.wireplumber.package = wireplumber';
}