1. 31
    1. 2

      I’m still somewhat surprised at userspace drivers being good enough for these things. FreeBSD users often use webcamd, which runs Linux webcam drivers in userspace via CUSE and it’s fast enough that I’ve not heard any latency complaints (plus, a load of those drivers are really buggy and when they crash in userspace it’s a lot less annoying than if they take out the kernels. Writing one in Go was slightly surprising, as I’d have expected GC pauses to introduce detectable jitter, but the allocation rates might be slow enough that the total of read a frame, deliver it to the kernel, and pass it back, is entirely within one scheduling quantum.