Saat ini, untuk perangkat keras HID yang bermasalah atau perangkat input lain yang tidak sesuai dengan spesifikasi atau memerlukan solusi perangkat keras yang diketahui, driver kernel Linux baru cenderung diperlukan atau setidaknya ditambahkan ke kode driver kernel yang sudah ada. Tidak ada kekurangan perangkat keras/driver HID yang canggih di luar sana untuk menangani kasus-kasus aneh seperti itu. Karena siklus kernel yang panjang dan faktor-faktor lain yang terlibat, pemanfaatan (e)BPF telah lama dibicarakan sebagai salah satu bidang yang masuk akal untuk dapat lebih cepat mengirimkan perbaikan dukungan perangkat keras dalam bentuk masalah eBPF. Proyek udev-hid-bpf yang ditulis oleh Rust siap membantu upaya pemberdayaan tersebut.
Pakar input Red Hat, Peter Hutterer, menulis blog minggu lalu tentang proyek udev-hid-bpf yang sedang dia kerjakan bersama dengan Benjamin Tissoires dari Red Hat. udev-hid-bpf menyediakan alat untuk memperbaiki perangkat HID menggunakan eBPF. Proyek udev-hid-bpf sendiri ditulis dalam bahasa pemrograman Rust tetapi program eBPF tetap ditulis dalam C.
HID-BPF merupakan pendekatan yang cukup menarik untuk menangani perangkat keras HID yang unik/bermasalah dan dengan udev-hid-bpf hal ini membantu agar upaya tersebut berjalan dengan baik. Peter menjelaskan dalam postingan blog yang mengumumkan karya udev-hid-bpf:
“Jika kami ingin memperbaiki perangkat, kami biasanya perlu melakukan salah satu dari dua hal: memperbaiki deskriptor laporan untuk mengaktifkan/menonaktifkan/mengubah beberapa nilai yang tampaknya didukung oleh perangkat. Misalnya, kami dapat mengatakan kami mendukung 5 tombol, bukan 5 tombol yang seharusnya 8. Atau kita perlu memperbaiki laporan dengan misalnya membalikkan nilai y untuk perangkat. Hal ini dapat dilakukan dalam driver kernel khusus tetapi program HID BPF jauh lebih nyaman.
…
udev-hid-bpf adalah alat untuk mempermudah pengembangan dan pengujian program HID BPF, dan mengumpulkan program HID BPF. Pada dasarnya Anda menjalankan kompilasi meson dan instalasi meson dan voila, program BPF apa pun yang diterapkan pada perangkat Anda akan dimuat secara otomatis saat berikutnya Anda menyambungkannya. Jika Anda hanya ingin menguji satu file bpf.o, Anda dapat udev-hid-bpf install /path/to/foo.bpf.o dan itu akan menginstal aturan udev yang diperlukan agar dapat dimuat setiap kali perangkat dicolokkan. Jika Anda tidak tahu cara mengkompilasi, Anda dapat mengambil tarball dari CI kami dan mengujinya bpf.o yang telah dikompilasi sebelumnya. Hore, bahkan lebih sederhana.” Dokumentasi udev-hid-bpf ada di FreeDesktop.org bagi mereka yang ingin mempelajari lebih lanjut.
Itulah berita seputar udev-hid-bpf Untuk Membantu Mengaktifkan Penggunaan HID-BPF Daripada Driver Kernel Untuk Memperbaiki Perangkat Keras HID, semoga bermanfaat. Disadur dari Phoronix.com.