Haiku Activity & Contract Report, January 2024 (ft. USB audio) | Haiku Project

This report covers hrev57494 through hrev57560.

The most notable set of changes last month was a series of fixes to the XHCI (USB3) driver and then the USB audio driver itself, culminating in the USB audio driver being turned on by default for nightly builds!

This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/waddlesplash/2024-02-13_haiku_activity_contract_report_january_2024

Waddlesplash, thank you for your work and the detailed report!
Very nice progress… as of the USB audio driver… is there a chance to get the video now working too?

Thanks again for this report!


Theoretically the XHCI driver now has everything a USB video/webcam driver would need, but we don’t actually have any working drivers for that (I don’t think.) So, more work is needed there.


There is an UVC (USB video camera) driver, as far as I know it is mostly complete but may need some bugfixes.


Thank you everyone for your hard work.


Thanks for all of your dedicated fixing and patching efforts.

We, who uses Haiku as a daily driver, especially happy if quirks and annoying failures eliminated and new services/tools appearing continously – making Haiku more usable and reliable for poppin’ up requirements.
We are - except some of us - patient, but fully interested in enhancement of Haiku and applications running on it.

Kudos and bless for coding the Digital Oasis for us !..


I can confirm that USB audio works in recent nightlies, at least with (some) USB 1 devices. Great news! For anyone else wondering how it works, you use the Media app to pick your audio input and output devices.

Is it going to be a lot of work to get USB 2 audio devices to work too Waddlesplash? I expect the heavy lifting for USB audio 2.0 support is mostly out of the way now?


Where can i find this?

Sources are in Haiku:

It is implemented entirely in userspace as a media add-on and using the USB Kit. Maybe worth a try again now that USB isochronous support is working better.


Finally, one less headache for the .NET port.


After removing some check (_uvc_stream_params_negotiated), I managed to get video capture working in Haiku using libuvc and its example program.


Yes, I got a bit involved with the libuvc project a while back intending to make use of it on Haiku, or port large parts of it into our media stack, but the project itself seems somewhat dead now, unfortunately. But the code is still useful as a reference, so, we should see what we can glean from it.