Dualshock 4 not working in wine/lutris

Hello,
i am having some issues with my Dualshock 4 controller.
It worked fine until recently but due to a specific game issue i have installed sc-controller in an attempt to fix it. When that did not work i removed sc-controller. After, it stopped showing up in the wine control panel and any games launched via wine/lutris did not recognize any input from it, wether wired or bluetooth on any kernel i have installed (lts, linux and zen).
The weird part is that i can still use the touchpad as a mouse, it shows up in input devices(along with another entry for an xbox 360pad that does not react to anything) and it works perfectly on steam on any game, including any game where i would use lutris or wine.
I would much rather be able to restore its functionality, has anyone come across anything similar or has any idea how to fix this?

System:
  Kernel: 6.1.45-1-lts arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=58d3aace-5477-467a-aae1-04bba92f4f0c rw rootflags=subvol=@
    quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
    ibt=off
  Desktop: KDE Plasma v: 5.27.7 tk: Qt v: 5.15.10 info: latte-dock
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop System: Micro-Star product: MS-7B79 v: 3.0
    serial: <superuser required>
  Mobo: Micro-Star model: X470 GAMING PLUS MAX (MS-7B79) v: 3.0
    serial: <superuser required> UEFI: American Megatrends v: H.60
    date: 06/11/2020
Battery:
  Device-1: sony_controller_battery_40:1b:5f:1f:90:27 model: N/A serial: N/A
    charge: N/A status: discharging
CPU:
  Info: model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 gen: 3
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 2200 high: 2205 min/max: 2200/4208 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 2200 2: 2200
    3: 2200 4: 2200 5: 2200 6: 2200 7: 2200 8: 2200 9: 2205 10: 2200
    11: 2200 12: 2200 bogomips: 86434
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Gigabyte
    driver: nvidia v: 535.98 alternate: nouveau,nvidia_drm non-free: 535.xx+
    status: current (as of 2023-07) arch: Pascal code: GP10x
    process: TSMC 16nm built: 2016-21 pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 27:00.0 chip-ID: 10de:1c03 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 92 s-size: 1060x301mm (41.73x11.85")
    s-diag: 1102mm (43.38")
  Monitor-1: DVI-D-0 pos: right res: 1920x1080 dpi: 93
    size: 527x296mm (20.75x11.65") diag: 604mm (23.8") modes: N/A
  Monitor-2: HDMI-0 pos: primary,left res: 1920x1080 hz: 60 dpi: 92
    size: 531x299mm (20.91x11.77") diag: 609mm (23.99") modes: N/A
  API: OpenGL v: 4.6.0 NVIDIA 535.98 renderer: NVIDIA GeForce GTX 1060
    6GB/PCIe/SSE2 direct-render: Yes
Audio:
  Device-1: NVIDIA GP106 High Definition Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 27:00.1 chip-ID: 10de:10f1 class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 29:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Generalplus USB Audio Device
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-12:2 chip-ID: 1b3f:2008 class-ID: 0300
  API: ALSA v: k6.1.45-1-lts status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 22:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp34s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: TP-Link UB500 Adapter driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 5-1:2 chip-ID: 2357:0604
    class-ID: e001 serial: <filter>
  Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
  Local Storage: total: 3.39 TiB used: 1.35 TiB (39.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: SA2000M8250G
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: S5Z42105
    temp: 37.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Patriot model: Burst
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B
    speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 61.2 scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Kingston model: SV300S37A240G
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B
    speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: BBF0 scheme: MBR
  ID-4: /dev/sdc maj-min: 8:32 vendor: Western Digital
    model: WD10EZEX-08WN4A0 size: 931.51 GiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 7200 serial: <filter>
    fw-rev: 1A02 scheme: MBR
  ID-5: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 860 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B
    speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 3B6Q scheme: MBR
  ID-6: /dev/sde maj-min: 8:64 vendor: Seagate model: Expansion
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B type: USB
    rev: 2.1 spd: 480 Mb/s lanes: 1 mode: 2.0 tech: N/A serial: <filter>
    fw-rev: 9300 scheme: MBR
  ID-7: /dev/sdf maj-min: 8:80 vendor: Toshiba model: MQ01ABF050
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B type: USB
    rev: 3.0 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: HDD rpm: 5400
    serial: <filter> fw-rev: 5438 scheme: MBR
Partition:
  ID-1: / raw-size: 232.59 GiB size: 232.59 GiB (100.00%)
    used: 82.14 GiB (35.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 232.59 GiB size: 232.59 GiB (100.00%)
    used: 82.14 GiB (35.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 232.59 GiB size: 232.59 GiB (100.00%)
    used: 82.14 GiB (35.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 232.59 GiB size: 232.59 GiB (100.00%)
    used: 82.14 GiB (35.3%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.56 GiB used: 17.2 MiB (0.1%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 43.0 C mobo: 35.0 C gpu: nvidia temp: 50 C
  Fan Speeds (RPM): cpu: 9820 fan-1: 0 fan-2: 1785 fan-4: 0 fan-5: 0
    fan-6: 0 gpu: nvidia fan: 0%
  Power: 12v: N/A 5v: N/A 3.3v: 3.30 vbat: 3.30
Info:
  Processes: 341 Uptime: 42m wakeups: 1 Memory: total: 16 GiB
  available: 15.56 GiB used: 5.2 GiB (33.4%) Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 alt: 12
  clang: 15.0.7 Packages: pm: pacman pkgs: 1621 libs: 415 tools: pamac,paru
  Shell: fish v: 3.6.1 running-in: cool-retro-term inxi: 3.3.28
Garuda (2.6.16-1):
  System install date:     2022-03-17
  Last full system update: 2023-08-15
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:

Is it a “generic” device? There is a patch that is supposed to help get the controller working, see the last section of this article:

https://wiki.archlinux.org/title/Gamepad#PlayStation_3/4_controller

PlayStation 3/4 controller

The DualShock 3, DualShock 4 and Sixaxis controllers work out of the box when plugged in via USB (the PS button will need to be pushed to begin). They can also be used wirelessly via Bluetooth.

Steam properly recognizes it as a PS3 pad and Big Picture can be launched with the PS button. Big Picture and some games may act as if it was a 360 controller. Gamepad control over mouse is on by default. You may want to turn it off before playing games, see #Joystick moving mouse.

Pairing via Bluetooth

Install the bluez, bluez-plugins, and bluez-utils packages, which includes the sixaxis plugin. Then start the bluetooth service and ensure bluetooth is powered on. If using bluetoothctl start it in a terminal and then plug the controller in via USB. You should be prompted to trust the controller in bluetoothctl. A graphical bluetooth front-end may program your PC’s bluetooth address into the controller automatically. Hit the PlayStation button and check that the controller works while plugged in.

You can now disconnect your controller. The next time you hit the PlayStation button it will connect without asking anything else.

Alternatively, on a PS4 controller you can hold the share button and the PlayStation button simultaneously (for a few seconds) to put the gamepad in pairing mode, and pair as you would normally.

GNOME’s Settings also provides a graphical interface to pair sixaxis controllers when connected by wire.

Remember to disconnect the controller when you are done as the controller will stay on when connected and drain the battery.

Note: If the controller does not connect, make sure the bluetooth interface is turned on and the controllers have been trusted. (See Bluetooth)

Using generic/clone controllers

Using generic/clone Dualshock controllers is possible, however there is an issue that may require to install a patched package. The default Bluetooth protocol stack does not detect some of the clone controllers. The bluez-ps3AUR package is a version patched to be able to detect them. bluez-plugins-ps3AUR is another package that only patch the bluez-plugins may work for some controllers.

1 Like

It's not a generic controller, genuine dualshock 4. I looked through the guide before and nothing there worked, however removing dinput, dinput8 and any xinput options from winecfg's libraries tab seems to have fixed it.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.