bazzite icon indicating copy to clipboard operation
bazzite copied to clipboard

Keyboard and PS4 Controllers Not Connecting through Bluetooth.

Open Sanlex96 opened this issue 8 months ago • 17 comments

Hello. I ran into a situation during my install of Bazzite deck os on the steam deck. I had to switch from the gnome version to the KDE because I was having issues with the installation of some flatpaks.

I could not get my keyboard and controllers to connect through Bluetooth although my Basilisk hyperspeed mouse connects. The Keyboard and the controllers kept disconnecting. I came across a possible solution, which said to perhaps repair the Bluetooth. I found that on https://wiki.archlinux.org/title/bluetooth_headset. 2.4.11 to be exact.

Do you think this is a feasible solution? If so, can you please guide me on how to do it? Like I said earlier I switched from Bazzite deck- gnome to Bazzite deck. Thanks.

UPDATE: I finally got it to work. I followed the workaround in 456 and the one written below by "Eeyerosyndrome" and got it to work. The Keyboards and the Ps4 controllers paired successfully.

Here is what I did:

I first attempted to pair the keyboard in desktop mode and it was unsuccessful. After that I went into Konsole and typed the following three lines of code:

  1. ls -l /sys/class/bluetooth

  2. sudo chmod 755 /sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-7/1-7:1.0/bluetooth/

(NOTE: The /sys/devices/pci... might be different for your device. For example, mine was: sudo chmod 755 /sys/devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb3/3-5/3-5:1.0/bluetooth/)

  1. sudo systemctl daemon-reload && sudo systemctl restart bluetooth.service

After that, I tried to reconnect keyboard and it worked. I repeated this process for each of the controllers I had and they all paired.

Sanlex96 avatar Nov 05 '23 02:11 Sanlex96

This might be related to #456 which should be fixed in Bazzite 2.0.0, according to the release notes that were commited. I don't know when it will be released, as I am just a dude on the Internet that is excited about this project.

TeamLinux01 avatar Nov 07 '23 17:11 TeamLinux01

This might be related to #456 which should be fixed in Bazzite 2.0.0, according to the release notes that were commited. I don't know when it will be released, as I am just a dude on the Internet that is excited about this project.

That fix should be in the latest builds, if you're still experiencing this we'll want to reopen and take another look.

KyleGospo avatar Nov 08 '23 04:11 KyleGospo

I just tried to pair my DualSense 5 just now myself, still no go.

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:latest
                   Digest: sha256:c13cae16e2e171e27aba50f96422427377dc59aed3c1d2ba85b1c4077207acdd
                  Version: 39 (2023-11-08T16:04:07Z)
                Initramfs: '-I /etc/crypttab /etc/modprobe.d/amdgpu.conf' 

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:latest
                   Digest: sha256:4d0ba4c7c01b0085dd1eb85e60c1e642628cfe7bd9fc1201c3929941cb005f64
                  Version: 39 (2023-11-07T19:52:07Z)
                Initramfs: '-I /etc/crypttab /etc/modprobe.d/amdgpu.conf'```

Eeyoresyndrome avatar Nov 08 '23 17:11 Eeyoresyndrome

I just tried to pair my DualSense 5 just now myself, still no go.

Same case here. On the same PC while on EndeavourOS/Arch Linux, both my DualSense and DualShock 4 work perfectly on Bluetooth. On Bazzite, they only work on wired connection - though my Logitech mouse works fine on Bluetooth. For the two controllers they'll seem to pair fine and get connected after pairing, but they're not responsive and they'll disconnect immediately after. Subsequent attempts to connect would "cancel" it instantly. Similar behaviour in both Game Mode and Desktop (KDE Plasma). This was true from when I initially installed Bazzite when it launched, and today after updating through the Steam client in Game Mode and several restarts (on bazzite-deck).

Hardware:

  • AMD Ryzen 5 5600G
  • B550I AORUS PRO AX 1.0

irfanhakim-as avatar Nov 08 '23 17:11 irfanhakim-as

I just tried to pair my DualSense 5 just now myself, still no go.

Same case here. On the same PC while on EndeavourOS/Arch Linux, both my DualSense and DualShock 4 work perfectly on Bluetooth. On Bazzite, they only work on wired connection - though my Logitech mouse works fine on Bluetooth. For the two controllers they'll seem to pair fine and get connected after pairing, but they're not responsive and they'll disconnect immediately after. Subsequent attempts to connect would "cancel" it instantly. Similar behaviour in both Game Mode and Desktop (KDE Plasma). This was true from when I initially installed Bazzite when it launched, and today after updating through the Steam client in Game Mode and several restarts (on bazzite-deck).

Hardware:

* AMD Ryzen 5 5600G

* B550I AORUS PRO AX 1.0

Update: It's working on Bluetooth now.

~~Issue is pending charging my controller....~~ it finally paired, then went to a 5% warning... it'd be funny.... if that's also somehow related.

My rabbit hole... I followed:

  • https://github.com/ublue-os/bazzite/issues/456#issuecomment-1778188420
  1. ls -l /sys/class/bluetooth

I spit my result into: :warning: Yours will vary

  1. sudo chmod 755 /sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-7/1-7:1.0/bluetooth/

Restarted bluetooth:

  1. sudo systemctl daemon-reload && sudo systemctl restart bluetooth.service :video_game: Paired!! 5% Battery Warning......charging now....update after...

I assume the USB power from my computer isn't enough to charge the battery while using??? o.O I loathe Reddit but my first useful search result:

  • https://www.reddit.com/r/PS5/comments/jujvlp/ps5_controller_not_charging_on_pc/

For anyone trying to charge their DualSense on PC, make sure STEAM client is turned OFF, otherwise, when plugging the USB it will turn the controller led Blue, which I suppose it means it's on game mode, and won't charge.

Stopping steam and plugging on turn the led blinking orange, hopefully means it's actually charging. Screenshot_20231108_160050

Eeyoresyndrome avatar Nov 08 '23 19:11 Eeyoresyndrome

Tried the same workaround, which was also mentioned in #456 but it did not work for me, even after a couple of restarts.

Update:

As it turns out, while these controllers did pair and connect fine on my main PC on EndeavourOS when it was broken on Bazzite, it's now also broken on my EndeavourOS (couldn't pair, or connect correctly). Not sure if they would've continued to be fine if they were paired before it started breaking. I mostly game on my Steam Deck using my DualShock 4 controllers so I didn't notice when exactly this had started.

Full detail:

  • Bazzite: Cannot pair/connect with DualShock 4 and DualSense
  • EndeavourOS: Cannot pair/connect with DualShock 4 and DualSense (used to be able to)
  • SteamOS: Can pair/connect with DualShock 4 but not DualSense (used to be able to)

Might be an issue with bluez. Both Bazzite and EndeavourOS are using version 5.7.0, while SteamOS is on version 5.6.3. https://github.com/bluez/bluez/issues/614

irfanhakim-as avatar Nov 09 '23 08:11 irfanhakim-as

Thanks for the research here, this should hopefully be fixed in the next build

https://github.com/ublue-os/bazzite/commit/6d2818cff74b76d05d2ef8e9dfd8119eb0d84afc
https://github.com/ublue-os/bazzite/commit/f194dbef21a88bacc61386ff0b011d2aab7c010b

KyleGospo avatar Nov 10 '23 23:11 KyleGospo

I just tried to pair my DualSense 5 just now myself, still no go.

Same case here. On the same PC while on EndeavourOS/Arch Linux, both my DualSense and DualShock 4 work perfectly on Bluetooth. On Bazzite, they only work on wired connection - though my Logitech mouse works fine on Bluetooth. For the two controllers they'll seem to pair fine and get connected after pairing, but they're not responsive and they'll disconnect immediately after. Subsequent attempts to connect would "cancel" it instantly. Similar behaviour in both Game Mode and Desktop (KDE Plasma). This was true from when I initially installed Bazzite when it launched, and today after updating through the Steam client in Game Mode and several restarts (on bazzite-deck). Hardware:

* AMD Ryzen 5 5600G

* B550I AORUS PRO AX 1.0

Update: It's working on Bluetooth now.

~Issue is pending charging my controller....~ it finally paired, then went to a 5% warning... it'd be funny.... if that's also somehow related.

My rabbit hole... I followed:

  1. ls -l /sys/class/bluetooth

I spit my result into: ⚠️ Yours will vary

  1. sudo chmod 755 /sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-7/1-7:1.0/bluetooth/

Restarted bluetooth:

  1. sudo systemctl daemon-reload && sudo systemctl restart bluetooth.service 🎮 Paired!! 5% Battery Warning......charging now....update after...

I assume the USB power from my computer isn't enough to charge the battery while using??? o.O I loathe Reddit but my first useful search result:

  • https://www.reddit.com/r/PS5/comments/jujvlp/ps5_controller_not_charging_on_pc/

For anyone trying to charge their DualSense on PC, make sure STEAM client is turned OFF, otherwise, when plugging the USB it will turn the controller led Blue, which I suppose it means it's on game mode, and won't charge. Stopping steam and plugging on turn the led blinking orange, hopefully means it's actually charging. Screenshot_20231108_160050

Thanks for the guide. It worked.

Sanlex96 avatar Nov 11 '23 23:11 Sanlex96

https://github.com/ublue-os/bazzite/commit/b7e6c44c6fd3e00cb4c26b9106446ce7ec41b1b2

This should serve as a temporary fix until it's patched upstream & released.

I can confirm my DS5 and Steam controller both work now.

KyleGospo avatar Nov 13 '23 05:11 KyleGospo

@KyleGospo may I know how can I get this update? I'm sorry if this isn't the place to ask but I've read the docs and I'm still not confident on how I can properly get updates on Bazzite.

I installed bazite-deck on my AMD-based HTPC, supposedly I should get updates through Gaming mode but the only updates I've seen to be applied there are all Steam client updates. Also, on Bazzite Portal, should I disable the BIOS/Firmware Updates for Steam Deck option since I'm not using a Steam Deck?

irfanhakim-as avatar Nov 13 '23 16:11 irfanhakim-as

@KyleGospo may I know how can I get this update? I'm sorry if this isn't the place to ask but I've read the docs and I'm still not confident on how I can properly get updates on Bazzite.

I installed bazite-deck on my AMD-based HTPC, supposedly I should get updates through Gaming mode but the only updates I've seen to be applied there are all Steam client updates. Also, on Bazzite Portal, should I disable the BIOS/Firmware Updates for Steam Deck option since I'm not using a Steam Deck?

Updates through Game mode update the whole system, we aren't able to provide customized update change logs as Steam doesn't expose that capability. You can also rpm-ostree update from a terminal.

The BIOS update services you mentioned are automatically disabled if you aren't using deck hardware.

KyleGospo avatar Nov 13 '23 16:11 KyleGospo

So is it correct behaviour that there's no OS update channel available for my device, and that if I check for updates (through Gaming mode), even if the changelog only states Steam client updates - it's actually updating Bazzite instead?

irfanhakim-as avatar Nov 13 '23 16:11 irfanhakim-as

OS update channel is working as of the latest update and it's correct behavior that steam will show you whatever changelog Valve has set, we aren't able to change it.

Run rpm-ostree status and ensure you're on the :latest branch.

KyleGospo avatar Nov 13 '23 16:11 KyleGospo

OS update channel is working as of the latest update and it's correct behavior that steam will show you whatever changelog Valve has set, we aren't able to change it.

Run rpm-ostree status and ensure you're on the :latest branch.

My OS Update Channel states No branches available.

rpm-ostree status on my device returns idle and that I'm somehow on branch 38 instead of latest:

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:38
                   Digest: sha256:d658cfa630820c0f2ad7279faae6009c41d8e6d45a5e8f4ac862d433cdb0c51b
                  Version: 38.20231027.0 (2023-10-27T09:20:50Z)
                Initramfs: '-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf' 

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:38
                   Digest: sha256:d658cfa630820c0f2ad7279faae6009c41d8e6d45a5e8f4ac862d433cdb0c51b
                  Version: 38.20231027.0 (2023-10-27T09:20:50Z)

A manual attempt to upgrade at the moment returns:

Pulling manifest: ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:38
Checking out tree 97f0a3f... done
No upgrade available.

I most certainly have not manually switched to a different branch before, to not be on latest, and I definitely don't see any branches available for the OS Update Channel setting in Gaming mode as I supposedly should as stated here.

@KyleGospo With that in mind, should I change my branch to latest manually by running the following command?:

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:latest

irfanhakim-as avatar Nov 13 '23 16:11 irfanhakim-as

Yes, please do

KyleGospo avatar Nov 13 '23 17:11 KyleGospo

I've manually switched branches to latest and performed an update/reboot. Pairing and connecting with the DualShock 4 works, pairing with the DualSense works but at first while it did not disconnect post-pairing, it wasn't responsive. After a reboot, the DualSense controller too connects and works fine.

The OS Update Channel setting is also no longer there in Gaming mode, which I assume is the intended/correct behaviour. My biggest takeaway from this (other than the much appreciated, prompt patch for the controllers) are:

  • Check your update channel to ensure that you're on latest:

    rpm-ostree status
    
  • Change your branch to latest if need be (change bazzite-deck accordingly):

    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:latest
    
  • To force an update manually, run:

    rpm-ostree update
    

Thank you so much for your help @KyleGospo!

irfanhakim-as avatar Nov 14 '23 03:11 irfanhakim-as

The OS Update Channel setting is also no longer there in Gaming mode, which I assume is the intended/correct behaviour. My biggest takeaway from this (other than the much appreciated, prompt patch for the controllers) are:

Yes. this matches SteamOS behavior. By default you have "System Update Channel" under system, which shows Stable, Beta, and Preview. Beta is beta steam client, preview is mapped to our :testing branch. Enable developer and then enable advanced system update channels in that menu if you want the separated menu with more options.

KyleGospo avatar Nov 14 '23 04:11 KyleGospo