feat(vinput): drop NPU/OpenVINO support (#384)

Vinput's streaming Zipformer models have unbounded dynamic shapes, so
OpenVINO cannot compile them for the GPU or the NPU; the `openvino`
provider and ai's Intel NPU enablement could never run on the NPU (noted
as unverified in WORKAROUNDS WA-017). Remove the backend option, the
daemon's OpenVINO library path, and the intel-npu module enable, and
update the eval test, README and WORKAROUNDS (drop WA-016 and WA-017).

Keep Vinput's stock package and its bundled sherpa-onnx (1.13.4): the
fork-based and nixpkgs-master sherpa overrides existed only to provide the
`openvino` provider, so drop package.nix with them.

Assisted-by: opencode (DeepSeek V4.1 Flash)
This commit is contained in:
ryan4yin | 二花 authored and GitHub committed 2026-10-05 15:42:48 +08:00
1 parent 50a4182898
commit 6b8c5bfae4
9 files changed
+14 -111

No files matched your search

@@ -1,9 +1,5 @@
{
enablesLocalAsr = true;
enablesLitePackage = false;
sherpaOnnxVersion = "1.13.8";
hasVinputDaemon = true;
hasOpenvinoServer = false;
exposesNpuRuntimeLibraries = true;
enablesIntelNpu = true;
}
@@ -6,21 +6,9 @@ let
cfg = outputs.nixosConfigurations.ai-niri.config;
hm = cfg.home-manager.users.ryan;
packageNames = map (package: package.pname or "") hm.i18n.inputMethod.fcitx5.addons;
vinputPackage = builtins.head (
builtins.filter (
package: (package.pname or "") == "fcitx5-vinput"
) hm.i18n.inputMethod.fcitx5.addons
);
daemonEnvironment = hm.systemd.user.services.vinput-daemon.Service.Environment;
in
{
enablesLocalAsr = builtins.elem "fcitx5-vinput" packageNames;
enablesLitePackage = builtins.elem "fcitx5-vinput-lite" packageNames;
sherpaOnnxVersion = vinputPackage.passthru.sherpaOnnxVersion or "";
hasVinputDaemon = hm.systemd.user.services ? vinput-daemon;
hasOpenvinoServer = hm.systemd.user.services ? openvino-npu-stt;
exposesNpuRuntimeLibraries = builtins.any (
variable: builtins.match "LD_LIBRARY_PATH=.*:/run/opengl-driver/lib" variable != null
) daemonEnvironment;
enablesIntelNpu = cfg.hardware.cpu.intel.npu.enable;
}