apple / apple/containerization
USB support via USB/IP
- Dominant language
- Swift
- Stars
- 8.9k
- Forks
- 359
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 13
Description
Being able to interact with devices like controllers, music equipment & IoT devices is important to many developers while using containers. While some container environments have native support for USB passthrough (really only on Linux hosts,) the more common approach is utilizing [USB/IP](https://docs.kernel.org/usb/usbip_protocol.html). USB/IP has been in the Linux kernel for years and is used by Windows in [WSL2](https://learn.microsoft.com/en-us/windows/wsl/connect-usb) and [Docker Desktop](https://docs.docker.com/desktop/features/usbip/).
I propose enabling the kernel modules and standard USB drivers that'll be useful to most developers.
macOS lacks a complete USB/IP server implementation (I wrote about [here](https://blog.golioth.io/usb-docker-windows-macos/)) but we do have workarounds in the meantime.
True USB passthrough would be ideal but to my knowledge the underlying virtualization framework does not support it so USB/IP is likely the only option for the time being.
Contributor guide
Assessment
This issue has not been assessed yet.