Control Xiaomi Desktop Speaker Pro Set lighting, sound modes, EQ, volume and inputs from Linux, using the original C-HUB interface.
Русский · Installation · Troubleshooting
| Package | Use |
|---|---|
| AppImage — Linux x86-64 | Download and run. Allow execution in your file manager if prompted. |
| Debian / Ubuntu installer | Open with your software installer, then launch Xiaomi C-HUB for Linux from the application menu. |
| Portable archive | Extract and run the included xiaomi-c-hub-linux executable. |
No Node.js, npm, Windows or manual package extraction is needed for these downloads.
The first launch automatically retrieves about 40 MB of official interface files directly from Microsoft, verifies them and opens the app. Internet is needed for this one-time setup. The downloaded interface is cached locally for later offline use.
Connect the powered speaker with a USB data cable. Debian/Ubuntu installation sets up device access. With a portable package, use Enable USB access if the app asks for authorization. That button configures access only for this speaker model.
- RGB on/off, brightness and lighting effects.
- Sound modes and ten-band graphic EQ.
- Speaker volume, USB/Bluetooth/AUX selection and mixed input.
- Speaker sleep/standby timers and notification sounds.
- Pre-change backups and a command-line interface.
Changes are acknowledged and read back from the speaker before success is reported. Refresh rereads settings after reconnecting the device or using its physical buttons. Firmware updates, factory reset and device restart are not supported. Linux continues to manage audio playback and microphone routing.
| Component | Tested configuration |
|---|---|
| Speaker | Xiaomi Desktop Speaker Pro Set, USB 2717:d007, B03 |
| Desktop | Debian 13 / KDE X11, x86-64 |
| Connection | Direct USB and a Genesys Logic USB hub |
| Interface | Xiaomi C-HUB 2.4.3 |
| Runtime | Electron 36.8.1, node-usb 2.16.0 |
RGB, brightness and EQ were checked on hardware; the original RGB control was also checked through a hub. Other settings have not all been exercised on hardware. Other models, Wayland and ARM are untested. Validation details.
For developers: Node.js 22+, npm and Python 3 are required.
git clone https://github.com/up4k73/xiaomi-c-hub-linux.git
cd xiaomi-c-hub-linux
npm ci
npm test
npm run packageThe build produces AppImage, .deb and portable .tar.gz files in dist/. It downloads and verifies the pinned build tools automatically. Debian package creation requires dpkg-deb. See sources and packaging.
For development, npm start runs the app and performs the same automatic interface setup. npm run preview uses simulated speaker state and never opens USB. The preview still needs the interface on its first launch.
Close the GUI before opening the device from the CLI.
npm run speaker -- read
npm run speaker -- rgb off rgb-change.json
npm run speaker -- set brightness 5 brightness-change.jsonWrites require a new output filename and create pre-change and trace sidecars. Protocol and setting reference.
Independent project, not an official Xiaomi release. The adapter is MIT licensed. Xiaomi's interface and assets retain their own rights and are retrieved from Microsoft on the user's machine. Third-party notices.
