Skip to main content
ALL SAMSUNG GALAXY BUDS · GNOME 45-48 · GTK4 GUI
Open-Source Author & Maintainer·2026Open Source

Samsung Galaxy Buds - Ubuntu & Android Seamless Switcher

All ModelsBuds3 Pro / Buds2 Pro / FEGNOMEQuick Pill + Battery %Audio1-Click A2DP / HFP ToggleGTK4Settings & MacroDroid Guide GUI
System Architecture Flow
01GNOME Quick Settings Pill + GTK4 GUI
02BlueZ D-Bus BR/EDR + Battery1
03PipeWire wpctl Sink & A2DP/HFP Toggle
04MacroDroid Webhook -> Android Reconnect
Quick Start (Ubuntu / Linux)
$ git clone https://github.com/pulkitmundra/galaxy-buds-ubuntu.git && cd galaxy-buds-ubuntu && ./install.sh && buds-settings

01 / Engineering & Implementation

  • Built a universal GNOME Quick Settings extension, GTK4/Libadwaita setup GUI, and CLI switcher for all Samsung Galaxy Buds models (Buds3 Pro, Buds3, Buds2 Pro, Buds2, Buds Pro, Buds FE, Buds Live, Buds+) on Ubuntu 24.04+ (GNOME 45-48).
  • Solved the BlueZ dual-mode LE Audio (BAP) vs. Classic BR/EDR contention bug by explicitly connecting A2DP Sink, AVRCP, and HFP profiles over D-Bus, auto-routing PipeWire default sinks via wpctl, and enabling 1-click Music (A2DP) vs. Call + Mic (HFP) profile switching.
  • Engineered a native 3-tab GTK4 / Libadwaita Settings & Android Setup GUI (buds-settings) featuring 1-click BlueZ paired Buds auto-detection, MacroDroid webhook configuration with live phone testing, Ubuntu AutoEnable=false boot protection, and real-time system diagnostics.
  • Integrated real-time BlueZ D-Bus PropertiesChanged and Battery1 signal listeners in GNOME Shell to display live battery percentage (Connected - 85%) alongside a built-in launcher for GalaxyBudsClient.

02 / Measurable Impact

  • One-click bidirectional Bluetooth audio switching, live battery telemetry, and A2DP/HFP profile control between Ubuntu desktop and Android across all Samsung Galaxy Buds models