While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Microsoft Windows kernel changes don't suddenly mean big things for Linux gaming
- PlayStation 1 emulator DuckStation changes license for no commercial use and no derivatives
- Grand Theft Auto V gets BattlEye anti-cheat, breaks online play on Steam Deck / Linux
- 29 games are getting delisted from GOG
- Prime Gaming is giving away quite a lot of games - so don't miss out
- > See more over 30 days here
-
GTA V / GTAOnline highlights Steam Deck's verification …
- Cyba.Cowboy -
GTA V / GTAOnline highlights Steam Deck's verification …
- WorMzy -
Last Epoch drops the Native Linux version, devs tell pl…
- Desum -
GNOME 47 'Denver' released with Accent Colours and vari…
- STiAT -
God of War Ragnarök released and Steam Deck Verified, …
- STiAT - > See more comments
- It is true that Valve spends a small amount of its revenue to imp…
- WorMzy - Weekend Players' Club 9/20/2024
- Pengling - Gaming on Linux is no longer excluded in the Wayback Machine…
- Liam Dawe - Will i have 165FPS and above if i buy RX 7600 XT?
- scaine - V-Sync not working randomly (Nvidia RTX 4070 - Fedora 40)…
- lordgabor - See more posts
So this is in opensuse and with USB cable.
Step 1:
Install xboxdrv, in my case (opensuse) it's found right here
modprobe joydev and modprobe uinput need to be enabled, in my case this already was the case, check with modprobe -l
Step 2:
start xboxdrv simply by typing xboxdrv, now here the fun part start, IF you get a segement fault then do Step 3, else go to Step 4
Step 3:
The segment fault seems to come from the fact that you as a user don't have rights to /dev/uinput and this needs to be solved by making a udev rule
Connect the PS3 controller to your system with a USB cable and do a dmesg so you get the correct Vendor and Product ID:
[Fri Jan 24 15:41:13 2014] usb 3-1: New USB device found, idVendor=054c, idProduct=0268
change to root and head over to /etc/udev/rules.d/ and using vi create a file called 40-xboxdrv.rules
In this file place the following code:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="054c", ATTR{idProduct}=="0268", OWNER="root", GROUP="users", MODE="0660", RUN+="/bin/chown root:users /dev/uinput", RUN+="/bin/chmod 0660 /dev/uinput"
notice where you use the Vendor and Product ID and that you will give the group "users" rw right to /dev/uinput as well as adding the group "users" to the directory owner group.
save the file and reconnect your PS3 controller, if you do a ls -l /dev/uinput you should get something like
crw-rw---- 1 root users 10, 223 Jan 24 15:15 /dev/uinput
if you now type xboxdrv as normal user it should not longer give a segment fault. (probably some other message but we don't care yet)
Step 4:
Create a file called PS3.xboxdrv in your home directory and paste the following code in it (which came from here with the evdev line marked out)
# Example configuration for the Playstation 3 controller
#
# Note this only works when connected with USB, when using Bluetooth a
# different configuration is required.
[xboxdrv]
#evdev=/dev/input/by-id/usb-Sony_PLAYSTATION_R_3_Controller-event-joystick
[evdev-absmap]
ABS_X = x1
ABS_Y = y1
ABS_Z = x2
ABS_RZ = y2
ABS_#48 = lt
ABS_#49 = rt
[evdev-keymap]
BTN_THUMB = tl
BTN_THUMB2 = tr
BTN_BASE5 = lb
BTN_BASE6 = rb
KEY_#302 = a
KEY_#301 = b
BTN_DEAD = x
KEY_#300 = y
BTN_TRIGGER = back
KEY_#720 = guide
BTN_TOP = start
BTN_TOP2 = du
BTN_PINKIE = dr
BTN_BASE = dd
BTN_BASE2 = dl
# EOF #
Step 5:
Basicly your done now and you can start the xboxdrv now using the following command:
xboxdrv --detach-kernel-driver --silent --mimic-xpad --config ~/PS3.xboxdrv
you can remove --silent to see more info if you run into trouble but normally it's not needed.
Of course you could even add this line in a small script or if your clever even in a udev rule so it starts the moment you plug the controller in.