USB devices

Most of these should not need in-kernel drivers beyond those that already exist. Userspace can access USB devices via libusb, or soon via usbfs2.

USB Scanners

These devices use libusb and the xsane project to access the device properly. Please contact that project if you need new devices supported.

USB Digital Cameras

For digital cameras, first check if the camera shows up as a mass storage device; if not, see gphoto.

USB Media Players (music, video)

If the device shows up as a mass storage device, then either it finds media automatically (no driver needed) or it needs a magic media index built (userspace support needed only). If the device does not show up as a mass storage device, it can have a driver written in userspace (no kernel driver needed, often using libusb). Such userspace drivers exist for e.g MTP devices (see libmtp), NOMAD devices (libnjb).

Mobile Phones

Mobile phones can typically present several types of interfaces, sometimes all at once. They are all already supported through kernel drivers or userspace libraries.

Mass storage interface

Kernel driver available, but occasionally device quirks need to be specified for new phones.

CDC ACM Modem

Supported by cdc_acm kernel driver.

OBEX filetransfer interface

Supported through libopenobex (which is using libusb) and various frontends to that library.

OBEX SyncML interface

Supported through OpenSync and libsyncml library that it includes (that in turn is using libopenobex).

Nokia FBUS interface also known as DKU2 interface

Generic serial interfaces

Windows Mobile RNDIS interface

Printers

All Linux printer drivers are done in userspace. Contact the Linux Printing Project if you have a printer that you wish to get properly supported under Linux.

Video Cards

A number of video cards are directly supported by the x.org project and do not need a kernel driver. However, for some newer devices, to get properly 3d graphics support, a kernel driver is needed to help out the X side. We will be glad to help out with the kernel driver for projects like this if needed.