| 21 Nov 2024 |
@hexa:lossy.network | you can pass inputs into specialArgs | 18:18:25 |
@hexa:lossy.network | then you can consume it in every file | 18:19:02 |
netpleb | I basically get this error: error: The option hardware.edgetpu' does not exist. Definition values:And yes, here is myspecialArgs: ``` # The specialArgsparameter passes the # non-default nixpkgs instances to other nix modules specialArgs = { # To use packages from nixpkgs-stable, # we configure some parameters for it first pkgs-stable = import nixpkgs-stable { # Refer to thesystem` parameter from # the outer scope recursively system = system; # To use Chrome, we need to allow the # installation of non-free softwares. config.allowUnfree = true; }; pkgs-frigate = import nixpkgs-frigate { system = system; config.allowUnfree = true; }; }; | 18:19:17 |
@hexa:lossy.network | maybe disabledModules and import from ${nixpkgs-frigate}/modules/services/video/frigate.nix will do? | 18:19:22 |
netpleb | * I basically get this error: error: The option hardware.edgetpu' does not exist. Definition values:And yes, here is myspecialArgs````: # The specialArgsparameter passes the # non-default nixpkgs instances to other nix modules specialArgs = { # To use packages from nixpkgs-stable, # we configure some parameters for it first pkgs-stable = import nixpkgs-stable { # Refer to thesystem` parameter from
the outer scope recursively
system = system;
To use Chrome, we need to allow the
installation of non-free softwares.
config.allowUnfree = true; };
pkgs-frigate = import nixpkgs-frigate {
system = system;
config.allowUnfree = true;
};
};
| 18:19:28 |
@hexa:lossy.network | then import it | 18:19:29 |
netpleb | * I basically get this error: error: The option hardware.edgetpu' does not exist. Definition values:And yes, here is myspecialArgs`:
# The `specialArgs` parameter passes the
# non-default nixpkgs instances to other nix modules
specialArgs = {
# To use packages from nixpkgs-stable,
# we configure some parameters for it first
pkgs-stable = import nixpkgs-stable {
# Refer to the `system` parameter from
# the outer scope recursively
system = system;
# To use Chrome, we need to allow the
# installation of non-free softwares.
config.allowUnfree = true;
};
pkgs-frigate = import nixpkgs-frigate {
system = system;
config.allowUnfree = true;
};
};
| 18:19:53 |
@hexa:lossy.network | import = [ "${nixpkgs-frigate}/nixos/modules/hardware/edgetpu.nix" ];
| 18:20:01 |
@hexa:lossy.network | * import = [ "${pkg-frigate}/nixos/modules/hardware/edgetpu.nix" ];
| 18:20:19 |
@hexa:lossy.network | * import = [ "${pkgs-frigate}/nixos/modules/hardware/edgetpu.nix" ];
| 18:20:22 |
netpleb | ok, I will try that | 18:20:36 |
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 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:39 |
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 |