Skip to content

Linux Hardware Support

USB Devices

Linux on ChromeOS was primarily built with software developers in mind, and as such, only a limited subset of USB devices are supported. Supported devices include several microcontrollers, such as the ESP32, Arduino and Raspberry Pi 2040. ChromeOS also includes support for the "adb" protocol, which allows developers to interact with Android devices with USB Debugging Enabled. 

Supported Devices

  • Android Phones
  • Programmable Microcontrollers

If you wish to use a programmable microcontroller on your ChromeOS Device, please refer to the dedicated Microcontroller Development Section of the ChromeOS Guide for specific instructions. 

Unsupported Devices

Although fully supported on ChromeOS, it is not possible to connect to any of the following devices from within the ChromeOS Linux environment:

Block Storage Devices

Although ChromeOS does allow access to filesystems on USB Mass Storage Devices via the ChromeOS File Manager's "Share with Linux" functionality, the ability to access the USB Mass Storage at the block level is not permitted within a ChromeOS Linux Container. This would mean that tools such as dd, gparted or balenaEtcher would either not work or be severely limited within your Linux container. 

The following tasks require block level access to storage devices

  • Viewing or Modifying Filesystem Type or Partitions
  • Formatting a Disk
  • Mounting a Disk
  • Reading or Writing RAW disk images (also known as flashing)

This means that tools such as Balena Etcher, unetbootin or Gnome Disks will not function within the ChrommeOS Linux Environment.

Webcams/Cameras

The ability to access USB Webcams or a webcam that is built into a ChromeOS device is not permitted within the ChromeOS Linux environment (Crostini). You can, however, use webcams within ChromeOS Applications, Web Applications and Android Applications. 

Printers

It is currently not possible to directly access printers in the ChromeOS Linux Environment that are connected via USB. You can, however, connect to a networked printer on your LAN from within the ChromeOS Linux environment.

Scanners

ChromeOS does support the use of USB and Network Scanners within ChromeOS however the use of scanners is not supported within the ChromeOS Linux Environment. It might be possible to connect to some network-based scanners however the steps to perform this are complicated and may vary based on the scanner you wish to connect to. 

Keyboards/Mice

It is possible to use keyboards and mice to interact with Linux applications in the ChromeOS Linux Environment; however, it is not possible for these applications to capture control of your keyboard or mouse. This means that some games that run in a "windowed" and automatically scroll when your mouse is at the edge of the window may not work properly. This can be solved by running your application in full-screen mode. 

USB Security Keys

USB Security Keys are currently not supported in the ChromeOS Linux Environment. ChromeOS does support the use of many hardware-based security keys, however, does not currently have a mechanism to pass-through security keys to the ChromeOS Linux Environment.