apple / apple/containerization

USB support via USB/IP

Open
#74 14 comments 59 reactions 1 assignee Claimed by @crosbymichael View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.