Bluetooth Controller is not discovered as gamepad

Hey Guys,

i just swapped from Garuda KDE to Garuda Hyprland and everything works pretty much out of the box.

But if i connect my GuliKit King Kong 2 Pro via Bluetooth it doesn’t get discovered as a gamepad. If i connect the same controller via USB it gets properly configured. The same controller using the same bluetooth adapter worked just fine in Garuda-KDE (X11).

Any ideas on where to start? I never really had to fidget around with stuff like that so i don’t know what logs i should provide you guys.

Thanks!

System:
  Kernel: 6.7.0-zen3-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=70298202-3941-4097-b3f6-9e9ab18d10bf rw rootflags=subvol=@
    "GRUB_CMDLINE_LINUX_DEFAULT=quiet
    resume=UUID=2a710883-dad9-4c61-a48e-9712c540943e loglevel=3"
    nvidia_drm.modeset=1 ibt=off
  Desktop: Hyprland info: waybar vt: 1 dm: SDDM Distro: Garuda Linux
    base: Arch Linux
Machine:
  Type: Desktop Mobo: ASUSTeK model: ROG STRIX X570-I GAMING v: Rev X.0x
    serial: <superuser required> UEFI: American Megatrends v: 4601
    date: 02/02/2023
CPU:
  Info: model: AMD Ryzen 7 5800X3D bits: 64 type: MT MCP arch: Zen 3+ gen: 4
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 2 microcode: 0xA20120A
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 96 MiB desc: 1x96 MiB
  Speed (MHz): avg: 3514 high: 3688 min/max: 2200/4549 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3400 2: 3534
    3: 3599 4: 3400 5: 3577 6: 3400 7: 3607 8: 3400 9: 3600 10: 3494 11: 3547
    12: 3400 13: 3400 14: 3595 15: 3595 16: 3688 bogomips: 108803
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA GA104 [GeForce RTX 3070] vendor: ASUSTeK driver: nvidia
    v: 535.113.01 alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current
    (as of 2023-10; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 3 speed: 8 GT/s
    lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: none
    off: DP-1,DP-2 empty: DP-3,HDMI-A-1,HDMI-A-2 bus-ID: 0a:00.0
    chip-ID: 10de:2484 class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: Hyprland driver: X: loaded: nvidia unloaded: modesetting,nouveau
    alternate: fbdev,nv,vesa gpu: nvidia,nvidia-nvswitch display-ID: 1
  Monitor-1: DP-1 model: AOC U34G2G4R3 serial: <filter> built: 2020
    res: 3440x1440 hz: 144 dpi: 110 gamma: 1.2 scale: 1
    size: 797x334mm (31.38x13.15") diag: 864mm (34") modes: max: 3440x1440
    min: 640x480
  Monitor-2: DP-2 model: AOC 2460G5 serial: <filter> built: 2018
    res: 1920x1080 hz: 60 dpi: 92 gamma: 1.2 scale: 1
    size: 531x299mm (20.91x11.77") diag: 609mm (24") ratio: 16:9 modes:
    max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: gbm: drv: nvidia
  API: OpenGL v: 4.6.0 vendor: nvidia v: 535.113.01 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2
    memory: 7.81 GiB
  API: Vulkan v: 1.3.274 layers: 11 device: 0 type: discrete-gpu
    name: NVIDIA GeForce RTX 3070 driver: nvidia v: 535.113.01
    device-ID: 10de:2484 surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
    v: 23.3.3-arch1.1 (LLVM 16.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: NVIDIA GA104 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 0a:00.1 chip-ID: 10de:228b
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 0c:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: SteelSeries ApS GameDAC driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-1.4.2:7
    chip-ID: 1038:1283 class-ID: 0300 serial: <filter>
  API: ALSA v: k6.7.0-zen3-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.1 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: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlp5s0 state: down mac: <filter>
  Device-2: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 06:00.0
    chip-ID: 8086:1539 class-ID: 0200
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: ASUSTek Broadcom BCM20702A0 Bluetooth driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-1.1.1:5
    chip-ID: 0b05:17cb class-ID: fe01 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.0
    lmp-v: 6 status: discoverable: yes pairing: yes class-ID: 6c0104
  Device-2: SINO WEALTH RK Bluetooth Keyboar driver: hid-generic,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 5-3.4:3
    chip-ID: 258a:0059 class-ID: 0300
Drives:
  Local Storage: total: 3.87 TiB used: 2.09 TiB (54.0%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix
    model: HFM256GDHTNG-8310A size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 15.8 Gb/s lanes: 2 tech: SSD serial: <filter>
    fw-rev: 80070C00 temp: 60.9 C scheme: MBR
  ID-2: /dev/nvme1n1 maj-min: 259:2 vendor: Samsung
    model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2B2QEXM7 temp: 54.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 2TB
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 2B6Q scheme: GPT
  ID-4: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT1000MX500SSD1
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 033 scheme: GPT
Partition:
  ID-1: / raw-size: 862.24 GiB size: 862.24 GiB (100.00%)
    used: 58.67 GiB (6.8%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:4
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:3
  ID-3: /home raw-size: 862.24 GiB size: 862.24 GiB (100.00%)
    used: 58.67 GiB (6.8%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:4
  ID-4: /var/log raw-size: 862.24 GiB size: 862.24 GiB (100.00%)
    used: 58.67 GiB (6.8%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:4
  ID-5: /var/tmp raw-size: 862.24 GiB size: 862.24 GiB (100.00%)
    used: 58.67 GiB (6.8%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:4
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 62.7 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 68.97 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme1n1p3 maj-min: 259:5
Sensors:
  System Temperatures: cpu: 58.5 C mobo: 55.0 C
  Fan Speeds (rpm): fan-1: 891 fan-2: 1597 fan-5: 841 fan-7: 0
Info:
  Processes: 412 Uptime: 1h 10m wakeups: 0 Memory: total: 64 GiB note: est.
  available: 62.7 GiB used: 9.59 GiB (15.3%) Init: systemd v: 255
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: 1864 pm: pacman pkgs: 1856 libs: 512 tools: paru pm: appimage
  pkgs: 0 pm: flatpak pkgs: 8 Shell: fish v: 3.7.0 running-in: alacritty
  inxi: 3.3.31
Garuda (2.6.22-1):
  System install date:     2024-01-18
  Last full system update: 2024-01-21
  Is partially upgraded:   Yes
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:

Hyprland use wayland so …
Just use USB connection or KDE :slight_smile:

I know… what do you want to say with this? I just wanted to clarify i was on X11 KDE not Wayland KDE

Can you please stop this? You commented on another question of mine that i should just go back to KDE. I got everything else working on Hyprland, even fixed all the NVidia related gaming issues. I won’t go back to KDE just because i have some BT Controller issues.

If you don’t have the time to help me with hyprland issues (what i absolutely understand, no offense!), then please don’t tell me to go back to KDE…

I am assuming you are using blueman provided GUI bluetooth manager? Try to open it and have a terminal open by it’s side and launch

udevadm monitor

then try to connect to your controller. If that doesn’t give sufficient logs,

 journalctl --grep bluetooth -b

should. You can also go with command line method of connecting with your bluetooth device to see if that has any difference,

  1. Ensure bluetooth is on with
rfkill list

it should show something like this,

1: ideapad_bluetooth: Bluetooth
	Soft blocked: no
	Hard blocked: no
9: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

If bluetooth is not blocked like above then

bluetoothctl

This will change your command prompt. You can type

help

here to list all available commands.

Then try to do as needed to connect with your device it might take a little messing around here but it should give you substantially more logs than udev monitor.

once done just type

exit

to exit.

1 Like

Thank you @NaN !

$ udevadm monitor

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[7550.904740] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:11 (bluetooth)
UDEV  [7550.909275] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:11 (bluetooth)
KERNEL[7551.137053] remove   /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:11 (bluetooth)
UDEV  [7551.139366] remove   /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:11 (bluetooth)
KERNEL[7562.938723] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)
UDEV  [7562.943284] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)
KERNEL[7563.200058] remove   /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)
UDEV  [7563.202354] remove   /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)
KERNEL[7569.554728] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)
UDEV  [7569.559165] add      /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/bluetooth/hci0/hci0:12 (bluetooth)udevadm monitorudevadm monitor 

Interesting to see, it doesn’t connect automatically anymore if i was paired to it before. It connects for a splitsecond, disconnects and i have to put the controller in pairing mode for them to connect.

$ rfkill list

0: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

No issues here.

Going into bluetoothctl:

[bluetooth]# scan on
[bluetooth]# SetDiscoveryFilter success
[bluetooth]# Discovery started
[bluetooth]# [CHG] Controller 5C:F3:70:A3:BD:6D Discovering: yes
[bluetooth]# [NEW] Device 65:78:CF:BF:0A:BC 65-78-CF-BF-0A-BC
[bluetooth]# [NEW] Device 98:B6:EA:6F:1B:30 Xbox Wireless Controller
[bluetooth]# pair 98:B6:EA:6F:1B:30
Attempting to pair with 98:B6:EA:6F:1B:30
[CHG] Device 98:B6:EA:6F:1B:30 Connected: yes
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 Bonded: yes
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 Modalias: usb:v045Ep02E0d0903
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 UUIDs: 00001124-0000-1000-8000-00805f9b34fb
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 ServicesResolved: yes
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 Paired: yes
[Xbox Wireless Controller]# Pairing successful
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 WakeAllowed: yes
[Xbox Wireless Controller]# [CHG] Device 98:B6:EA:6F:1B:30 ServicesResolved: no
[CHG] Device 98:B6:EA:6F:1B:30 Connected: noh
[bluetooth]# [CHG] Device 98:B6:EA:6F:1B:30 RSSI: 0xffffffd3 (-45)
[bluetooth]#

Here it also disconnected automatically. Using the GUI i can connect and it stays connected, but without function.

I found this forumpost talking about some manually configered udev rules. Could this be related?

… after that try of bluetoothctl to connect, the controller stayed in “pairing” mode for way too long. It usually turns that off after 5 seconds of no connection incoming.

I then went to the GUI, connected it, and now it’s properly configured as a gamepad!

That’s strange… but good I guess. Just wanna ask,

 bluetooth-autoconnect

You don’t have this package right? I have personally had a lot of problems with it. If you do remove it.

1 Like

it is installed, yes. It came with Garuda-Hyprland then because i did not install anything bluetooth related manually.

So i just rebooted the system to check if anything works after reboot and yea… well i have to manually put the controller into pairing mode and manually connect the controller with the blueman GUI, but now it works just fine. I have no idea what changed because all i did was use bluetoothctl once to scan and try to pair (which failed btw…) and now it works.

I remove the autoconnect package and check if that makes it connect properly on the first try now. But this can be considered solved! :smiley:

Thank you so much!

removed the package, did not change anything.

But again, with some minimal manual effort i can now use the BT gamepad again.

image

Interestingly enough this notification comes up when i just turn on the controller and it tries to autoconnect. But i don’t see any window to confirm the authorization request from blueman…

Alright, last update - Now everything works!

With that authorization request notification open, i could use wofi to change the current open windows. There were three “open windows” (that i could not see but only in Wofis list) that said “Deny” “Always accept” “Accept” and i chose always acept, rebooted to test and now it connects automatically without pairing mode active! :tada:

1 Like

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