From fd2c7e186777df2261b39722bb9f07052aa33e2d Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 16 Feb 2026 15:22:09 +0100 Subject: [PATCH] feat(amd): add Logitech racing wheel udev rules from oversteer Co-Authored-By: Claude Opus 4.6 --- systems/x86_64-linux/amd/default.nix | 72 ++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/systems/x86_64-linux/amd/default.nix b/systems/x86_64-linux/amd/default.nix index 6162ee1..b874715 100644 --- a/systems/x86_64-linux/amd/default.nix +++ b/systems/x86_64-linux/amd/default.nix @@ -122,6 +122,78 @@ with lib.metacfg; services.ratbagd.enable = true; + # Logitech racing wheel permissions (oversteer) + services.udev.extraRules = '' + # Match Logitech HID devices for racing wheel support + ACTION!="unbind", ACTION!="remove", SUBSYSTEM=="hid", ATTRS{idVendor}=="046d", GOTO="logitech-rules" + GOTO="end" + + LABEL="logitech-rules" + + DRIVER=="logitech", GOTO="logitech-driver" + DRIVER!="logitech-hidpp-device", GOTO="end" + + # Logitech G PRO Racing Wheel for PlayStation and PC + ATTRS{idProduct}=="c268", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G PRO Racing Wheel for Xbox One and PC + ATTRS{idProduct}=="c272", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G923 Racing Wheel for Xbox One and PC + ATTRS{idProduct}=="c26e", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G920 Driving Force Racing Wheel + ATTRS{idProduct}=="c262", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range'" + + GOTO="end" + + LABEL="logitech-driver" + + # Logitech G923 Racing Wheel for PlayStation 4 and PC + ATTRS{idProduct}=="c266", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G29 Driving Force Racing Wheel + ATTRS{idProduct}=="c24f", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G27 Driving Force Racing Wheel + ATTRS{idProduct}=="c29b", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" + + # Logitech G25 Driving Force Racing Wheel + ATTRS{idProduct}=="c299", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech Driving Force GT Racing Wheel + ATTRS{idProduct}=="c29a", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech Driving Force Pro Racing Wheel + ATTRS{idProduct}=="c298", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech Driving Force Racing Wheel + ATTRS{idProduct}=="c294", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech Momo Force Racing Wheel + ATTRS{idProduct}=="c295", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech MOMO Racing USB + ATTRS{idProduct}=="ca03", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech WingMan Formula Force GP USB + ATTRS{idProduct}=="c293", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" + + # Logitech Racing Wheel USB + ATTRS{idProduct}=="ca04", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" + + # Logitech WingMan Formula GP + ATTRS{idProduct}=="c20e", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" + + # Logitech WingMan Formula (Yellow) (USB) + ATTRS{idProduct}=="c202", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range'" + + # Logitech Speed Force Wireless + ATTRS{idProduct}=="c29c", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" + + LABEL="end" + ''; + virtualisation = { libvirtd.enable = true; docker.enable = true;