11–13 Dec 2025
Asia/Tokyo timezone

Tackling challenges with HID and related device driver support in Rust

12 Dec 2025, 12:20
20m
"Hall B3 (63)" (Toranomon Hills Mori Tower)

"Hall B3 (63)"

Toranomon Hills Mori Tower

Rust MC Rust MC

Speaker

Rahul Rameshbabu

Description

As HID support in Rust is being developed, a number of challenges are arising during the development process. Binding the C API that represents different HID structures will grow verbose as more HID logic is supported in Rust. Specialized HID device drivers will want to make use of APIs from other subsystems, such as input and DRM. Otherwise, such drivers tend to be isolated to HID report fixups. Ideally, Rust HID drivers would avoid doing pure HID device fixups since there are other mechanisms to perform such fixups besides a device driver.

Problems are surfacing even with the initial review for Rust HID support.

Examples
- Converting between kernel::hid::Group and the HID_GROUP_* define
equivalents
- Various manually implemented "getter" functions
- Defining HID report descriptor item attributes

This discussion is intended to find ways to improve such areas in the HID driver abstractions.

Primary author

Presentation materials

There are no materials yet.