ublue-os / bazzite

Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.
https://bazzite.gg
Apache License 2.0
3.16k stars 166 forks source link

Bluetooth gamepad works only after restarting bluetooth #1090

Open unicornsandcandies opened 1 month ago

unicornsandcandies commented 1 month ago

Describe the bug

Booted bazzite doesn't recognize input from the bluetooth controller. It works again after restarting bluetooth service.

__ Logs (before and after restarting):

deck@fedora:~$ journalctl -u bluetooth -n 10

maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream_duplex maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05 maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05 maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05_duplex maj 08 07:32:14 fedora bluetoothd[4385]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05_duplex maj 08 07:32:14 fedora bluetoothd[4385]: src/gatt-database.c:database_add_chrc() Failed to create characteristic entry in database maj 08 07:32:14 fedora bluetoothd[4385]: src/gatt-database.c:database_add_service() Failed to add characteristic maj 08 07:32:14 fedora bluetoothd[4385]: src/gatt-database.c:database_add_app() Failed to add service maj 08 07:32:14 fedora bluetoothd[4385]: src/gatt-database.c:client_ready_cb() Failed to create GATT service entry in local database

deck@fedora:~$ sudo systemctl restart bluetooth

[sudo] hasło użytkownika deck: Warning: The unit file, source configuration file or drop-ins of bluetooth.service changed on disk. Run 'systemctl daemon-reload' to reload units.

deck@fedora:~$ sudo systemctl daemon-reload

deck@fedora:~$ sudo systemctl restart bluetooth

deck@fedora:~$ journalctl -u bluetooth -n 10

maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_1 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_0 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream_duplex maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05 maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05_duplex maj 08 07:33:59 fedora bluetoothd[7663]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05_duplex

What did you expect to happen?

Run bazzite-deck-gnome image and controller is working.

Output of rpm-ostree status

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:stable
                   Digest: sha256:3ac60724c39c3ee5394427952e1433bef5216f3c73ba6fc98b9ceda817042a4b
                  Version: 40.20240507.0 (2024-05-07T20:39:02Z)
          LayeredPackages: blueman

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:stable
                   Digest: sha256:3ac60724c39c3ee5394427952e1433bef5216f3c73ba6fc98b9ceda817042a4b
                  Version: 40.20240507.0 (2024-05-07T20:39:02Z)
deck@fedora:~$

Hardware

I currently can't say if other gamepads work, because all my other controllers use 2,4 dongle.

Extra information or context

unicornsandcandies commented 1 month ago

Bletoothd says bazzite is using 5.75. Currently there's an issue with handle on bluez since version 5.74. I found this issue - https://github.com/bluez/bluez/issues/821 . I'm hoping this controller issue will also be fixed soon with the new version of bluez, as mentioned bluez error is affecting devices generally. I have no way to test this currently.

lm209 commented 1 month ago

Yes can confirm this issue with my PS5 Controller. After disconnecting, re-connecting doesn't working. Only restarting my Steam Deck or restarting the bluetooth.service fixed it.

KyleGospo commented 1 month ago

Latest release may resolve this