mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-10-11 22:49:55 +00:00
Include udev/devd rules in Linux/FreeBSD install
This allows RPCS3 to communicate with Dualshock 3,4 and DualSense controller out of the box on Linux distributions and FreeBSD, without the need for manual actions.
This commit is contained in:
@@ -64,6 +64,7 @@ option(USE_LTO "Use LTO for building" ON)
|
||||
option(BUILD_RPCS3_TESTS "Build RPCS3 unit tests." OFF)
|
||||
option(RUN_RPCS3_TESTS "Run RPCS3 unit tests. Requires BUILD_RPCS3_TESTS" OFF)
|
||||
option(USE_GAMEMODE "Choose whether to enable GameMode features or not." ON)
|
||||
option(BUNDLE_UDEV_RULES "Include udev rules on Linux/FreeBSD" OFF)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/buildfiles/cmake")
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# DualShock 3
|
||||
notify 100 {
|
||||
match "system" "USB";
|
||||
match "subsystem" "INTERFACE";
|
||||
match "type" "ATTACH";
|
||||
match "vendor" "0x054c";
|
||||
match "product" "0x0268";
|
||||
action "chmod 0666 /dev/$cdev";
|
||||
};
|
||||
|
||||
# DualShock 4
|
||||
notify 100 {
|
||||
match "system" "USB";
|
||||
match "subsystem" "INTERFACE";
|
||||
match "type" "ATTACH";
|
||||
match "vendor" "0x054c";
|
||||
match "product" "0x05c4";
|
||||
action "chmod 0666 /dev/$cdev";
|
||||
};
|
||||
|
||||
# DualShock 4 Wireless Adapter
|
||||
notify 100 {
|
||||
match "system" "USB";
|
||||
match "subsystem" "INTERFACE";
|
||||
match "type" "ATTACH";
|
||||
match "vendor" "0x054c";
|
||||
match "product" "0x0ba0";
|
||||
action "chmod 0666 /dev/$cdev";
|
||||
};
|
||||
|
||||
# DualShock 4 Slim
|
||||
notify 100 {
|
||||
match "system" "USB";
|
||||
match "subsystem" "INTERFACE";
|
||||
match "type" "ATTACH";
|
||||
match "vendor" "0x054c";
|
||||
match "product" "0x09cc";
|
||||
action "chmod 0666 /dev/$cdev";
|
||||
};
|
||||
|
||||
# DualSense
|
||||
notify 100 {
|
||||
match "system" "USB";
|
||||
match "subsystem" "INTERFACE";
|
||||
match "type" "ATTACH";
|
||||
match "vendor" "0x054c";
|
||||
match "product" "0x0ce6";
|
||||
action "chmod 0666 /dev/$cdev";
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
# DualShock 3 over USB
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE="0666"
|
||||
|
||||
# DualShock 3 over Bluetooth
|
||||
KERNEL=="hidraw*", KERNELS=="*054C:0268*", MODE="0666"
|
||||
|
||||
# DualShock 4 over USB
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
|
||||
|
||||
# DualShock 4 Wireless Adapter over USB
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
|
||||
|
||||
# DualShock 4 Slim over USB
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"
|
||||
|
||||
# DualShock 4 over Bluetooth
|
||||
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"
|
||||
|
||||
# DualShock 4 Slim over Bluetooth
|
||||
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"
|
||||
|
||||
# PS5 DualSense controller over USB hidraw
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666", TAG+="uaccess"
|
||||
|
||||
# PS5 DualSense controller over bluetooth hidraw
|
||||
KERNEL=="hidraw*", KERNELS=="*054C:0CE6*", MODE="0666", TAG+="uaccess"
|
||||
@@ -225,3 +225,14 @@ if(BUILD_RPCS3_TESTS)
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Udev rules, per platform
|
||||
if (BUNDLE_UDEV_RULES)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
install(FILES ../config/udev/udev.rules
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/udev/rules.d/ RENAME 99-rpcs3.rules)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
install(FILES ../config/udev/devd.conf
|
||||
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/devd/ RENAME rpcs3.conf)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user