Webcam freezing since moving from 25.11 stable to unstable (6.18.28)

I’ve recorded over 300 hours from my webcam with this same hardware on Nixos 25.11 stable with no problems. Recently I’ve been having some issues unrelated to the webcam and decided to move to unstable. Immediately problems started taking place with the webcam.

It can be capturing and recording just fine, and suddenly it’ll freeze. I’ve seen it happen within a couple of minutes of starting to capture, and I’ve seen it seem fine for over an hour before suddenly freezing. It doesn’t matter what software I’m using – whichever recording software I’m using (I’ve tried with OBS, and also with plain ffplay) doesn’t seem to think there’s any big deal. ffplay reports no problem, while OBS logs a lot of /dev/video0: select timed out and /dev/video0: failed to log status messages but doesn’t seem to attempt to recover.

Meanwhile in the kernel log I see a flood of uvcvideo 2-6.1:1.0: USB isochronous frame lost (-18) messages which start at a time corresponding with when the freeze happened.

It’s the only USB device on that bus, USB3, connected at 5000M speed, so I don’t think it’s a bandwidth issue (especially since it’s been fine with the same settings for hundreds of hours in the past).

What could the problem be? I don’t even know where I’d report this – is it a kernel issue? If so would I report it to Nixos or upstream to the kernel developers? Is there any other data which might be useful to collect?

  • I’m on kernel 6.18.28.
  • Previously I was on 6.12.78 and then 6.12.83 and I wasn’t having this problem on either.
  • The webcam is a Razer Kiyo Pro (1532:0e05)

I do not know any specifics about a kernel regression regarding USB or webcam devices. I would try using the 6.12.xx Kernel first.

Yes, it works fine with no freezes in 6.12.x. If I narrow it down to breaking between two particular neighbouring kernel versions, where would I report it? Would it be to Nixos or upstream?

This seems to be an upstream Kernel issue, so upstream it is. However be prepared for two questions:

  • Is the mainline git kernel affected, too?
  • What is the first bad commit introducing the issue? You’ll likely be asked to perform a git bisect.

OK, thanks.

Yeah, I’m prepared to bisect.

Regarding mainline, that means Linus’s branch, right? To bisect 6.12.x (I have another bug I’ve been investigating too) I’ve been doing, for example

  boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_6_12.override {
    argsOverride = rec {
      src = builtins.fetchGit {
        url = "/home/bjn/src/linux";
        rev = "546cfc65c4bf84012b29d2e361f7fe34e20e2197";
      };
      dontStrip = true;
      version = "6.12.81";
      modDirVersion = "6.12.81";
    };
  });

Can I just do the same thing with the 7.x commits, or are there other hoops I need to jump through?

Thanks.

I have never performed a Kernel git bisect nor using the mainline Kernel on NixOS. I have done so in Fedora. Hopefully someone else steps in.