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
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…
Hey, thanks for your comment! Someone on Reddit was able to help out, I posted the solution in the OP.