top of page

Linux 6.19 Improves USB Support on Apple Silicon

  • Writer: Editorial Team
    Editorial Team
  • Jan 19
  • 4 min read

Linux 6.19 Improves USB Support on Apple Silicon

The upcoming Linux 6.19 kernel release — currently in its release candidate (rc6) phase — is shaping up to be one of the most significant updates for users running Linux on Apple Silicon hardware, particularly on M1 and M2-powered Macs. Among the wide array of bug fixes and enhancements being merged, two patches stand out for fixing long-standing issues with USB connectivity on these platforms, ensuring that USB2 and USB3 devices behave reliably on Apple Silicon systems.

While Apple’s own macOS has full support for USB-C ports and their associated USB2/USB3 protocols, the open-source Linux kernel has taken years to catch up due to the proprietary nature of Apple’s hardware and controllers. Thanks to upstream contributions — many originating from the Asahi Linux project — Linux support for Apple Silicon has steadily improved over time, and 6.19 marks another major step toward parity with native functionality.


USB Fixes Target Role Switching and PHY Mode Issues

Two targeted patches headed for inclusion in Linux 6.19-rc6 specifically address problematic behaviour in the USB subsystem on Apple Silicon Macs. These patches are also expected to be back-ported to the stable kernel series later, meaning users running older kernel branches may gain these fixes without needing to move to the latest release immediately.

The first patch focuses on erratic USB role switching caused by the Apple USB-C port controller found on the M1 and M2 families (including Pro, Max, and Ultra configurations). Under certain conditions, the controller would generate extra interrupts that erroneously cause the USB controller — especially the dwc3-apple driver — to believe it needs to switch roles (from host to device or vice versa). However, because the controller may already be in the desired role, this results in unnecessary resets that prevent the kernel from detecting connected USB2.0 and USB3.x devices reliably. The patch resolves this by ignoring redundant role switches, ensuring that the port controller and driver remain in a consistent, operational state.

The second set of changes addresses a subtle but impactful issue with USB2 PHY initialization. If a USB2 device is connected before or during the kernel boot process, the PHY — which handles the physical signalling for USB2 communications — may default to an incorrect mode. Historically, the kernel sometimes reconfigured the PHY’s role after it had already been powered on, leading to situations where the new configuration didn’t take effect until the controller was reset. To eliminate this race condition, the patch ensures that the USB2 PHY’s mode is configured earlier in the boot process, improving reliability for devices plugged in at startup.

These hardware-level fixes significantly improve usability for common USB peripherals — from keyboards and mice to storage devices — which have previously suffered recognition issues, particularly when booting into Linux or hot-plugging devices.


Broader Linux 6.19 Kernel Enhancements

The USB updates are just a part of a much larger set of refinements and bug fixes included in the Linux 6.19-rc6 release candidate. According to the kernel’s changelog and developer commentary, this release candidate also brings a host of other fixes across graphics, audio, and platform support — with patches for laptop audio on ROG Ally hardware, Realtek audio quirks, and device-specific driver corrections for systems from HP and Dell.

Linux 6.19 has been in development for several months, and its merge window saw the inclusion of many foundational features — including USB3 support for Apple M1/M2 devices, which had long been a work-in-progress. This USB3 functionality builds on the Synopsys DWC3 controller support, and leverages contributions from upstream developers and the broader open-source community to finally enable 10 Gbps USB transfers on Apple Silicon running Linux.

In addition to USB and audio fixes, other notable improvements include better support for emerging hardware platforms, tweaks to filesystem drivers, and expanded hardware monitoring capabilities, such as voltage and temperature sensors on supported devices. These enhancements reflect an ongoing trend within the Linux ecosystem toward embracing modern ARM64 hardware platforms while improving stability and performance across the board.


Why This Matters

For developers, power users, and enthusiasts running Linux on newer Apple Macs — particularly via Asahi Linux or other mainline distributions — these patches mark a critical leap forward. Reliable USB functionality is fundamental to daily use: from booting install media and external drives to connecting input devices, displays, and network adapters. The new fixes directly address some of the most disruptive complaints users have had when deploying Linux on Apple Silicon.

More broadly, the inclusion of Apple Silicon support in the mainline kernel continues the trend of narrowing the gap between proprietary hardware ecosystems and open-source software enablement. What once required extensive downstream patches and community forks is increasingly becoming part of Linux’s standard support tree. This benefits not just niche hobbyists but also professionals and enterprises interested in heterogeneous hardware environments.


What’s Next

With Linux 6.19 expected to move from release candidates to a stable release in early February 2026, users and developers eagerly anticipate wide availability of these improvements. Distribution maintainers will integrate the new kernel into upcoming releases, bringing enhanced Apple Silicon support — including USB fixes — to a broader audience.

Ultimately, these developments underline both the collaborative strength of the open-source community and the increasing maturity of Linux support for advanced ARM-based platforms. As hardware from Apple and others continues to evolve, the kernel’s ability to adapt and integrate complex features like USB controllers, device trees, and PHY configurations demonstrates the flexibility and resilience that Linux has long been known for.


Comments


bottom of page