| 21 Nov 2024 |
netpleb | In reply to @hexa:lossy.network maybe disabledModules and import from ${nixpkgs-frigate}/modules/services/video/frigate.nix will do? * hmm, this:
disabledModules = [
"${pkgs}/nixos/modules/services/video/frigate.nix"
];
imports = [
"${pkgs-frigate}/nixos/modules/services/video/frigate.nix"
"${pkgs-frigate}/nixos/modules/hardware/edgetpu.nix"
];
environment.systemPackages = [
pkgs-frigate.libedgetpu # userspace driver for coral.ai usb TPU
];
hardware.edgetpu.usb.enable = true;
gives me this confusing error:
error:
… while calling the 'seq' builtin
at /nix/store/c9wv7i0af6mysmy65x6nvyfw5izzxv4g-source/lib/modules.nix:334:18:
333| options = checked options;
334| config = checked (removeAttrs config [ "_module" ]);
| ^
335| _module = checked (config._module);
… while evaluating a branch condition
at /nix/store/c9wv7i0af6mysmy65x6nvyfw5izzxv4g-source/lib/modules.nix:273:9:
272| checkUnmatched =
273| if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
| ^
274| let
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: cannot coerce a set to a string: { _type = "pkgs"; AAAAAASomeThingsFailToEvaluate = «thunk»; AMB-plugins = «thunk»; ArchiSteamFarm = «thunk»; AusweisApp2 = «thunk»; BeatSaberModManager = «thunk»; CHOWTapeModel = «thunk»; ChowCentaur = «thunk»; ChowKick = «thunk»; ChowPhaser = «thunk»; «22875 attributes elided» }
| 19:04:56 |
@hexa:lossy.network | netpleb: so we have confirmation that coral pcie cards work | 23:01:14 |
@hexa:lossy.network | at this point I would just recommend to directly use that branch temporarily (if you're on unstable/master anyway) | 23:01:33 |
@hexa:lossy.network | or wait until it is merged | 23:01:41 |
netpleb | In reply to @hexa:lossy.network at this point I would just recommend to directly use that branch temporarily (if you're on unstable/master anyway) Ok, I will give it a go. I tried to do it with overlays but failed. | 23:34:17 |
netpleb | In reply to @hexa:lossy.network at this point I would just recommend to directly use that branch temporarily (if you're on unstable/master anyway) ok, I tried just changing my nixpkgs input to use that branch (inputs.nixpkgs.url = "github:mweinelt/nixpkgs/frigate-libedgetpu";), updated the flake, and tried to rebuild, but ended up with:
error: undefined variable 'libedgeptu'
at /nix/store/hizil0zplswmpj2528dzahh3ld6sd0ma-source/nixos/modules/hardware/coral.nix:29:45:
28| (mkIf cfg.usb.enable {
29| services.udev.packages = with pkgs; [ libedgeptu ];
| ^
30| })
| 23:46:36 |
@hexa:lossy.network | that makes no sense | 23:50:45 |
| 22 Nov 2024 |
netpleb | In reply to @hexa:lossy.network that makes no sense Yep, I thought so too. Is somehow the libedgetpu package not actually in that PR's git tree? | 00:03:22 |
| rager set a profile picture. | 07:48:59 |
| Zach joined the room. | 16:59:34 |
netpleb | In reply to @hexa:lossy.network at this point I would just recommend to directly use that branch temporarily (if you're on unstable/master anyway) Thanks very much for your help on the frigate/tpu stuff. I was able to get it working! The last piece I seem to be running into is: frigate.util.services WARNING : Did not detect hwaccel, using a GPU for accelerated video decoding is highly recommended | 21:29:11 |
@hexa:lossy.network | In reply to @netpleb:matrix.org Yep, I thought so too. Is somehow the libedgetpu package not actually in that PR's git tree? note how it said libedgeptu | 21:29:37 |
@hexa:lossy.network | typo on my end. | 21:29:42 |
@hexa:lossy.network | In reply to @netpleb:matrix.org Thanks very much for your help on the frigate/tpu stuff. I was able to get it working! The last piece I seem to be running into is: frigate.util.services WARNING : Did not detect hwaccel, using a GPU for accelerated video decoding is highly recommended ffmpeg.hwaccel_args | 21:29:58 |
@hexa:lossy.network | https://docs.frigate.video/configuration/ffmpeg_presets#hwaccel-presets | 21:30:16 |
@hexa:lossy.network | depending on the GPU you want one of these hardware accelerated presets | 21:30:32 |
@hexa:lossy.network | and then set vaapiDriver accordingly | 21:30:46 |
netpleb | In reply to @hexa:lossy.network ffmpeg.hwaccel_args right, so I tried adding cameras.cam1.ffmpeg.imputs.hwaccel_args = ["preset-vaapi"]; (it's an AMD gpu I think, but it's just a gmktec minipc) | 21:31:59 |
@hexa:lossy.network | huh, not on the cameras | 21:32:26 |
netpleb | In reply to @hexa:lossy.network huh, not on the cameras oh...good catch! hopefull that was my problem! | 21:32:50 |
@hexa:lossy.network |  Download image.png | 21:33:07 |
netpleb | In reply to @hexa:lossy.network sent an image. awesome! That fixed it. Thanks so much! As I was iterating on this, I ended adding:
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [ intel-media-driver ];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME="radeonsi";
};
but I am not sure if either of those are necessary. I will remove them to see, but I am wondering if a reboot is necessary to make sure?
| 21:39:18 |
@hexa:lossy.network | that is backwards | 21:39:32 |
@hexa:lossy.network | the intel-media-driver is for intel gpus | 21:39:42 |
@hexa:lossy.network | and environment.sessionVariables overwrites discovery mechanisms systeem-wide | 21:40:22 |
@hexa:lossy.network | hardware.graphics.enable = true;
services.frigate.vaapiDriver = "radeonsi";
| 21:40:50 |
netpleb | In reply to @hexa:lossy.network the intel-media-driver is for intel gpus yeah, I was just trying different things while following that PR and know very little about these drivers. Figured maybe there was some sort of shared/common driver in there. I'll remove those items and reboot if necessary. | 21:40:50 |
@hexa:lossy.network | that's all you need | 21:40:54 |
@hexa:lossy.network | gpus are highly proprietary | 21:41:09 |
@hexa:lossy.network | they don't tend to share anything | 21:41:15 |