Introduction
- First I just want to say that I’m not the author of the code, full credit goes to the developers working on the
SC Controller project.
https://github.com/kozec/sc-controller
- This is how I made DualSense (PS5) controller work for non-Steam games on
Manjaro and Pop!_OS distributions using SC Controller project.
- Using
Lutris for example, DualSense controller will appear as XBox controller in game
Dependencies
SC Controller project is written in python2, it is required to run it
https://github.com/kozec/sc-controller#dependencies
- I installed almost all the dependencies using
pacman, only exception was python2-evdev which I installed from AUR
https://aur.archlinux.org/packages/python2-evdev/
Installing SC Controller
- At the moment of writing
DualSense controller support is not yet on the master branch, installing SC Controller using package manager won’t have DualSense support
- Pull request:
https://github.com/kozec/sc-controller/pull/648
- Issue:
https://github.com/kozec/sc-controller/issues/624
- To run code with
DualSense support, follow these steps:
git clone https://github.com/psstoyanov/sc-controller.git
cd sc-controller
git checkout dualsense
- According to the comments in the GitHub issue you can try running
run.sh script, but that didn’t work for me
./run.sh
- If the
run.sh script doesn’t work (controller doesn’t get recognized), install SC controller using setup.py:
python2 setup.py build
sudo python2 setup.py install --record files.txt
files.txt will have all the files setup.py script installed so you can easily remove them using xargs rm -rf < files.txt if you wish
- Connect
DualSense controller (via USB or via Bluetooth)
- Run
sc-controller
- Choose
XBox Controller from the dropdown menu
- Wait for the circle on the upper left to become green, that means emulation is working
- You can install and use
jstest-gtk to test if everything is working
- For me,
DPad wasn’t mapped in SC Controller when I installed it. You can map it from the SC Controller UI, bottom left.
- For testing I used
Lutris with Diablo II: Resurrected, worked great on both distributions.
Other options:
- Playstation 5 (Dualsense) controller section on the arch wiki might work for you, it didn’t for me
https://wiki.archlinux.org/title/Gamepad#Playstation_5_(Dualsense)_controller
ds360 project created by yoyossef, same person that opened SC Controller issue for DualSense, uses xboxdrv method mentioned in the wiki
https://github.com/yoyossef/ds360
- There is a fork
Ryochan7/sc-controller that is more up to date, uses python3, but as far as I know, at the moment of writing, DualSense is not supported
https://github.com/Ryochan7/sc-controller
1 Like