Ожидается, что инновационный HID-BPF появится в Linux 6.2

Добавление к растущему списку изменений, которые, как ожидается, будут отправлены во время окна слияния Linux 6.2 в следующем месяце, — это HID-BPF. Это усилия Red Hat по использованию eBPF в подсистеме HID для устройств ввода.

Идея HID-BPF заключается в том, что его можно было бы проще и быстрее использовать для развертывания причудливых/обходных путей для устройств, которые не соответствуют должным образом спецификации HID. Как и сейчас, крошечные драйверы ядра Linux часто появляются для работы с причудливыми / глючными HID-устройствами, не соответствующими протоколу, чтобы просто обойти проблемное поведение. Вместо того, чтобы придумывать патч для драйвера или новый драйвер только для простых случаев, таких как исправление дескрипторов отчетов HID, в ядро ​​можно загрузить программу eBPF. В свою очередь, должно быть проще распространять эти программы eBPF для устранения проблем с HID, чем заставлять пользователей ждать новой версии ядра или обратного переноса для конкретной версии ядра.

Над HID-BPF некоторое время работали инженеры Red Hat и другие разработчики исходного ядра. Среди предполагаемых применений HID-BPF на данном этапе — работа с мертвыми зонами джойстика, простые исправления для дескрипторов HID, новые функции, требующие нового API ядра, такого как USI-ручки, преобразование устройства во что-то другое и управление им от пользователя. space, «брандмауэр» устройства, перехватывая и предотвращая запуск определенных HID-команд и отслеживая события.

Более подробную информацию о HID-BPF можно найти в предлагаемой документации.

На сегодняшний день первоначальные исправления HID-BPF были подобраны ветвью «для следующего» подсистемы HID. Таким образом, исключая появление каких-либо проблем в последнюю минуту, которые приводят к удалению этих исправлений из дерева или критике Линусом Торвальдсом во время окна слияния, ожидается, что HID-BPF будет объединен для цикла Linux 6.2, который начнется в декабре.

Наряду с интеграцией eBPF для подсистемы HID добавлен пример BPF, в котором оси X и Y меняются местами и инвертируются для целевого устройства. Еще одним примером HID-BPF для демонстрации этого кода в Linux 6.2 является программа HID для Microsoft Surface Dial. Эта программа BPF превратит Microsoft Surface Dial в мышь.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев