this post was submitted on 28 Apr 2025
22 points (89.3% liked)

Linux

53678 readers
455 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi!

I'm a new Linux user, so far so good, but one thing that grinds my gears is that if I log in fairly quickly after a boot, I have to wait ~5-10 seconds before I can start using my BT mouse (Logitech MX Master 3S).

Is there a way to speed up the initialisation of Bluetooth on Linux so that it starts immediately, like the USB drivers do?

OS Garuda Linux x86_64
├ Kernel Linux 6.14.4-zen1-1-zen
├ Packages 1382 (pacman)[stable], 5 (flatpak)

DE KDE Plasma 6.3.4
├ Window Manager KWin (Wayland)
├ Login Manager sddm 0.21.0 (Wayland)

Solution

Thanks to /u/floofly on r/linux4noobs for this!

Yup, assuming you're using systemd as you innit system. The following will change it so your bucktooth will initialise before the GUI.

sudo systemctl edit bluetooth.service

change:

[Unit]

Before=graphical.target

And from myself, I'll add this for the other noobs out there: when you run that command you'll see something like this:

### Editing /etc/systemd/system/bluetooth.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file



### Edits below this comment will be discarded


### /usr/lib/systemd/system/bluetooth.service
# [Unit]
# Description=Bluetooth service
# Documentation=man:bluetoothd(8)
# ConditionPathIsDirectory=/sys/class/bluetooth

Make it look like this:

### Editing /etc/systemd/system/bluetooth.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

[Unit]

Before=graphical.target

### Edits below this comment will be discarded


### /usr/lib/systemd/system/bluetooth.service
# [Unit]
# Description=Bluetooth service
# Documentation=man:bluetoothd(8)
# ConditionPathIsDirectory=/sys/class/bluetooth
you are viewing a single comment's thread
view the rest of the comments
[–] DasFaultier 4 points 1 day ago (1 children)

I'm not much of an expert on Bluetooth, but I would expect that you can create an override for the corresponding Systemd service (bluetoothd perhaps, or some Logitech daemon) and make it depend on a Target that is reached earlier in the boot process.

Sorry that I can't be more helpful...

[–] [email protected] 4 points 1 day ago

Hey, thanks for your comment! Someone on Reddit was able to help out, I posted the solution in the OP.