ublue-os / bazzite

Bazzite is a cloud native 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
4.15k stars 252 forks source link

Prevent applications from setting HSP/HFP profile #1719

Open Sterophonick opened 2 months ago

Sterophonick commented 2 months ago

Describe the bug

Certain games like DOOM Eternal are able to switch a Bluetooth audio device to the HSP or HFP modes which has a tendency to cause issues with audio quality taking a very severe dip.

What did you expect to happen?

not that lol

Output of rpm-ostree status

State: idle
Deployments:
● ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable
                   Digest: sha256:2d412e5345a2f3c179f3ee07026283514777b7598f6fc78de0579a11ea971dd9
                  Version: 40.20240922.0 (2024-09-23T05:05:56Z)
            LocalPackages: galileo-mura-0.0.git.3743.aeef5a3d-1.fc39.x86_64

  ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable
                   Digest: sha256:d9595a3132f71de602086955b3aa45147fb4f33346e6cbb548c9588cce264e33
                  Version: 40.20240921.1 (2024-09-22T12:38:58Z)
            LocalPackages: galileo-mura-0.0.git.3743.aeef5a3d-1.fc39.x86_64

Hardware

Galileo

Extra information or context

I tried the config file fix which can be found on ArchWiki, and that did the trick, the microphone was even still able to be used in Aperture Desk Job. Would like the opinion of the other team members though.

Upstream WirePlumber issue: https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/634

fiftydinar commented 1 month ago

Mic probably works because it's from your Steam Deck, not mic from Bluetooth headphones.

I would not ship this config by default, but it's a good candidate to be a just script.

Here's how I made it:

Just script (also using conf file from Arch wiki): https://github.com/fiftydinar/gidro-os/blob/3c0804a4a94b4fc26e6cc085941f2e860eb72dc7/files/justfiles/gidro-os.just#L279