QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
534 stars 46 forks source link

Make it easier to use Bluetooth audio devices #7750

Open marmarta opened 2 years ago

marmarta commented 2 years ago

The problem you're addressing (if any)

It's not obvious how to use bluetooth headphones with Qubes.

The solution you'd like

For it to be (almost) as simple as with other systems. Or at least not require a separate blog post of several steps.

The value to a user, and who that user might be

See: https://www.reddit.com/r/Qubes/comments/rmy8t9/bluetooth_headset_together_with_qubes_os_in_a/ https://m7i.org/tips/qubes-VM-bluetooth-audio/

This is something people want to use, because bluetooth headsets are convenient.

DemiMarie commented 1 year ago

The only semi-decent solution I can think of is to have the bluetooth daemon running in an alternate audio VM.

marmarta commented 1 year ago

The only semi-decent solution I can think of is to have the bluetooth daemon running in an alternate audio VM.

wait, why alternate audio VM? What I'd like from a solution for this is for the headphones to just work out of the box (ideally), or require user to set one, maybe two options in settings that say "yeah I'm aware that these headphones can be dangerous, but I want to use them with X qube".

DemiMarie commented 1 year ago

The only semi-decent solution I can think of is to have the bluetooth daemon running in an alternate audio VM.

wait, why alternate audio VM? What I'd like from a solution for this is for the headphones to just work out of the box (ideally), or require user to set one, maybe two options in settings that say "yeah I'm aware that these headphones can be dangerous, but I want to use them with X qube".

Bluetooth is an extremely complex protocol with a vast attack surface, of which the infamous Blueborne flaw is only the most famous example. Therefrore, having Bluetooth in dom0 is a complete non-starter. Using Bluetooth headphones will require routing audio to the VM in which Bluetooth is running. Ideally, that VM would use Android’s Rust userspace Bluetooth stack instead of the Linux kernel’s stack.

andrewdavidwong commented 1 year ago

There was a recent forum thread where the topic of using bluetooth headphones came up. It was pointed out that they no longer have to be used in dom0 and can more securely be used in sys-audio.

rjrizzuto commented 6 months ago

Just wanted to add some questions about the functionality requirements that may need to be decided:

jamke commented 6 months ago

I think the primary step to make is: sys-audio work properly and out of box. Only after that bluetooth output should be addressed as it completely relies on sys-audio which is the most difficult part.

Proper guide on how to use sys-audio (AudioVM) must be created - Community Guides - Qubes OS Forum https://forum.qubes-os.org/t/proper-guide-on-how-to-use-sys-audio-audiovm-must-be-created/16851

Audio qube - Community Guides - Qubes OS Forum https://forum.qubes-os.org/t/audio-qube/20685

DemiMarie commented 6 months ago

Just wanted to add some questions about the functionality requirements that may need to be decided:

  • does connecting a bluetooth headset add an ouput or replace the default output ?

Should be user-configurable.

  • will the headset mike be supported, and connectable to a qube for video conferencing?

Yes and yes.