Skip to content

Conversation

@lool
Copy link
Contributor

@lool lool commented Sep 4, 2025

Helps managing Bluetooth devices/settings; fixes: #117.

Helps managing Bluetooth devices/settings; fixes: qualcomm-linux#117.

Signed-off-by: Loïc Minier <[email protected]>
@lool
Copy link
Contributor Author

lool commented Sep 4, 2025

I tried this from our current Debian images; just from the perspective of number of dependencies in terms of new packages and disk usage, the default of installing blueman was pretty hefty:

apt install blueman
debian@debian:~$ sudo apt install blueman
Installing:
  blueman

Installing dependencies:
  bluez-obexd                    libmpeg2encpp-2.1-0t64
  evolution-data-server-common   libmplex2-2.1-0t64
  fonts-droid-fallback           libmysofa1
  fonts-noto-mono                libncurses6
  fonts-urw-base35               libneon27t64
  ghostscript                    libnice10
  gir1.2-atk-1.0                 libnuma1
  gir1.2-freedesktop             libonnx1t64
  gir1.2-gdkpixbuf-2.0           libonnxruntime1.21
  gir1.2-girepository-2.0        libopenal-data
  gir1.2-glib-2.0                libopenal1
  gir1.2-gtk-3.0                 libopencore-amrnb0
  gir1.2-harfbuzz-0.0            libopencore-amrwb0
  gir1.2-nm-1.0                  libopenexr-3-1-30
  gir1.2-pango-1.0               libopenmpt0t64
  glib-networking                libopenni2-0
  glib-networking-common         libpangoxft-1.0-0
  glib-networking-services       libpaper-utils
  gstreamer1.0-plugins-bad       libpaper2
  gstreamer1.0-plugins-good      libphonenumber8
  gstreamer1.0-x                 libpipewire-0.3-0t64
  imagemagick-7-common           libpipewire-0.3-common
  libaa1                         libproxy1v5
  libabsl20240722                libpthreadpool0
  libaom3                        libpulsedsp
  libasound2-plugins             libqrencode4
  libass9                        libraptor2-0
  libavc1394-0                   librav1e0.7
  libavcodec61                   libraw1394-11
  libavtp0                       libraw23t64
  libavutil59                    libre2-11
  libbs2b0                       libsbc1
  libcaca0                       libsdl2-2.0-0
  libcamel-1.2-64t64             libserd-0-0
  libchromaprint1                libshine3
  libcodec2-1.2                  libshout3
  libcpuinfo0                    libsnappy1v5
  libcurl4t64                    libsord-0-0
  libdc1394-25                   libsoundtouch1
  libdca0                        libsoup-3.0-0
  libde265-0                     libsoup-3.0-common
  libdjvulibre-text              libsoxr0
  libdjvulibre21                 libspa-0.2-modules
  libdnnl3.6                     libspandsp2t64
  libdv4t64                      libspeex1
  libdvdnav4                     libspeexdsp1
  libdvdread8t64                 libsratom-0-0
  libebackend-1.2-11t64          libsrt1.5-gnutls
  libebook-1.2-21t64             libsrtp2-1
  libebook-contacts-1.2-4t64     libsvtav1enc2
  libebur128-1                   libswresample5
  libedata-book-1.2-27t64        libtag2
  libedataserver-1.2-27t64       libtdb1
  libfaad2                       libtheora0
  libfftw3-double3               libtwolame0
  libflite1                      libunibreak6
  libfluidsynth3                 libva-drm2
  libfreeaptx0                   libva-x11-2
  libgirepository-1.0-1          libva2
  libgme0                        libvdpau-va-gl1
  libgs-common                   libvdpau1
  libgs10                        libvo-aacenc0
  libgs10-common                 libvo-amrwbenc0
  libgsm1                        libvorbisfile3
  libgssdp-1.6-0                 libvpx9
  libgstreamer-plugins-bad1.0-0  libwavpack1
  libgupnp-1.6-0                 libwebpdemux2
  libgupnp-igd-1.6-0             libwebpmux3
  libharfbuzz-gobject0           libwebrtc-audio-processing-1-3
  libheif-plugin-aomenc          libwildmidi2
  libheif-plugin-dav1d           libwmflite-0.2-7
  libheif-plugin-libde265        libx264-164
  libheif-plugin-x265            libx265-215
  libheif1                       libxnnpack0.20241108
  libhwy1t64                     libxvidcore4
  libidn12                       libyajl2
  libiec61883-0                  libzbar0t64
  libijs-0.35                    libzix-0-0
  libimath-3-1-29t64             libzvbi-common
  libinstpatch-1.0-2             libzvbi0t64
  libjack-jackd2-0               libzxing3
  libjbig2dec0                   mesa-va-drivers
  libjxl0.11                     mesa-vdpau-drivers
  libjxr-tools                   notification-daemon
  libjxr0t64                     poppler-data
  liblc3-1                       pulseaudio
  libldacbt-enc2                 pulseaudio-module-bluetooth
  liblilv-0-0                    pulseaudio-utils
  liblqr-1-0                     python3-cairo
  liblrdf0                       python3-gi
  libltc11                       python3-gi-cairo
  libltdl7                       rtkit
  libmagickcore-7.q16-10         timgm6mb-soundfont
  libmagickcore-7.q16-10-extra   va-driver-all
  libmagickwand-7.q16-10         vdpau-driver-all
  libmjpegutils-2.1-0t64         xfonts-encodings
  libmodplug1                    xfonts-utils
  libmpcdec6

Suggested packages:
  fonts-noto                libheif-plugin-jpegenc  speex
  fonts-freefont-otf        libheif-plugin-j2kdec   libwildmidi-config
  | fonts-freefont-ttf      libheif-plugin-j2kenc   poppler-utils
  fonts-texgyre             libheif-plugin-kvazaar  fonts-japanese-mincho
  texlive-binaries          libheif-plugin-rav1e    | fonts-ipafont-mincho
  frei0r-plugins            libheif-plugin-svtenc   fonts-japanese-gothic
  libcuda1                  jackd2                  | fonts-ipafont-gothic
  libnvcuvid1               liblrdf0-dev            fonts-arphic-ukai
  libnvidia-encode1         inkscape                fonts-arphic-uming
  libdv-bin                 libportaudio2           fonts-nanum
  oss-compat                libsndio7.0             pavumeter
  libdvdcss2                pipewire                pavucontrol
  libfftw3-bin              raptor2-utils           paprefs
  libfftw3-dev              libraw1394-doc          fluid-soundfont-gm
  libheif-plugin-ffmpegdec  serdi                   nvidia-vdpau-driver
  libheif-plugin-jpegdec    sordi

Summary:
  Upgrading: 0, Installing: 196, Removing: 0, Not Upgrading: 0
  Download size: 100 MB
  Space needed: 364 MB / 9,486 MB available

Skipping pulseaudio-module-bluetooth was a tad better

apt install blueman pulseaudio-module-bluetooth-
debian@debian:~$ sudo apt install blueman pulseaudio-module-bluetooth-
Package 'pulseaudio-module-bluetooth' is not installed, so not removed
Installing:
  blueman

Installing dependencies:
  bluez-obexd                   libharfbuzz-gobject0
  evolution-data-server-common  liblc3-1
  gir1.2-atk-1.0                libldacbt-abr2
  gir1.2-freedesktop            libldacbt-enc2
  gir1.2-gdkpixbuf-2.0          liblilv-0-0
  gir1.2-girepository-2.0       libmysofa1
  gir1.2-glib-2.0               libpangoxft-1.0-0
  gir1.2-gtk-3.0                libphonenumber8
  gir1.2-harfbuzz-0.0           libproxy1v5
  gir1.2-nm-1.0                 libsbc1
  gir1.2-pango-1.0              libserd-0-0
  glib-networking               libsord-0-0
  glib-networking-common        libsoup-3.0-0
  glib-networking-services      libsoup-3.0-common
  libabsl20240722               libspa-0.2-bluetooth
  libcamel-1.2-64t64            libspa-0.2-modules
  libebackend-1.2-11t64         libsratom-0-0
  libebook-1.2-21t64            libwebrtc-audio-processing-1-3
  libebook-contacts-1.2-4t64    libzix-0-0
  libebur128-1                  notification-daemon
  libedata-book-1.2-27t64       python3-cairo
  libedataserver-1.2-27t64      python3-gi
  libfreeaptx0                  python3-gi-cairo
  libgirepository-1.0-1

Suggested packages:
  serdi  sordi

Summary:
  Upgrading: 0, Installing: 48, Removing: 0, Not Upgrading: 0
  Download size: 9,442 kB
  Space needed: 45.6 MB / 9,486 MB available

And skipping pipewire bluetooth support made this completely decent

sudo apt install blueman pulseaudio-module-bluetooth- libspa-0.2-bluetooth-
debian@debian:~$ sudo apt install blueman pulseaudio-module-bluetooth- libspa-0.2-bluetooth-
Package 'pulseaudio-module-bluetooth' is not installed, so not removed
Package 'libspa-0.2-bluetooth' is not installed, so not removed
Installing:
  blueman

Installing dependencies:
  bluez-obexd                   libebackend-1.2-11t64
  evolution-data-server-common  libebook-1.2-21t64
  gir1.2-atk-1.0                libebook-contacts-1.2-4t64
  gir1.2-freedesktop            libedata-book-1.2-27t64
  gir1.2-gdkpixbuf-2.0          libedataserver-1.2-27t64
  gir1.2-girepository-2.0       libgirepository-1.0-1
  gir1.2-glib-2.0               libharfbuzz-gobject0
  gir1.2-gtk-3.0                libpangoxft-1.0-0
  gir1.2-harfbuzz-0.0           libphonenumber8
  gir1.2-nm-1.0                 libproxy1v5
  gir1.2-pango-1.0              libsoup-3.0-0
  glib-networking               libsoup-3.0-common
  glib-networking-common        notification-daemon
  glib-networking-services      python3-cairo
  libabsl20240722               python3-gi
  libcamel-1.2-64t64            python3-gi-cairo

Recommended packages:
  pulseaudio-module-bluetooth  | libspa-0.2-bluetooth

Summary:
  Upgrading: 0, Installing: 33, Removing: 0, Not Upgrading: 0
  Download size: 6,377 kB
  Space needed: 35.6 MB / 9,486 MB available

Since this package is listed in a recommends: false part of the debos recipe, it's actually resulting a very similar install as the last one quoted

sudo apt install --no-install-recommends blueman
debian@debian:~$ sudo apt install --no-install-recommends blueman
Installing:
  blueman

Installing dependencies:
  bluez-obexd                   libebackend-1.2-11t64
  evolution-data-server-common  libebook-1.2-21t64
  gir1.2-atk-1.0                libebook-contacts-1.2-4t64
  gir1.2-freedesktop            libedata-book-1.2-27t64
  gir1.2-gdkpixbuf-2.0          libedataserver-1.2-27t64
  gir1.2-gtk-3.0                libharfbuzz-gobject0
  gir1.2-harfbuzz-0.0           libpangoxft-1.0-0
  gir1.2-nm-1.0                 libphonenumber8
  gir1.2-pango-1.0              libproxy1v5
  glib-networking               libsoup-3.0-0
  glib-networking-common        libsoup-3.0-common
  glib-networking-services      python3-cairo
  libabsl20240722               python3-gi-cairo
  libcamel-1.2-64t64

Recommended packages:
  pulseaudio-module-bluetooth  | libspa-0.2-bluetooth

Summary:
  Upgrading: 0, Installing: 28, Removing: 0, Not Upgrading: 0
  Download size: 5,750 kB
  Space needed: 33.0 MB / 9,482 MB available

@github-actions
Copy link

github-actions bot commented Sep 4, 2025

Test jobs for commit 3465e47

@github-actions
Copy link

github-actions bot commented Sep 4, 2025

Test Results

 2 files  ±0   6 suites  ±0   6m 47s ⏱️ ±0s
20 tests ±0  20 ✅ ±0  0 💤 ±0  0 ❌ ±0 
64 runs  ±0  64 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 6ef3cb1. ± Comparison against base commit e0f42ec.

@github-actions
Copy link

github-actions bot commented Sep 4, 2025

Test jobs for commit 6ef3cb1

@basak-qcom
Copy link
Contributor

Is this validated to actually function for the user end-to-end? If not, should we do that now, before landing?

@lool
Copy link
Contributor Author

lool commented Sep 5, 2025

I've validated this on a RB1. Here's how I went about it:

  1. set a valid MAC address with bluetoothctl mgmt.public-addr 00:00:00:42:42:42 (otherwise the bluetooth adapter doesn't work)

  2. the bluetooth applet shows up by default in the panel, with the adapter disabled; clicking on it, one can enable the bluetooth adapter and scan for devices

  3. I could pair a mouse, a keyboard, and a jabra bluetooth speaker/headset (needs installing pipewire packages, will be another PR) and they all worked

Copy link
Contributor

@basak-qcom basak-qcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@lool lool merged commit ccb565d into qualcomm-linux:main Sep 5, 2025
13 checks passed
@lool lool deleted the blueman branch September 9, 2025 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No bluetooth applet in desktop image

2 participants