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
If I remember right, no. If I clean boot, load sddm, immediately type my password and log in, then I have to wait a while for the mouse to start working.
But if I clean boot, load sddm, wait the same 5-10 seconds, then the mouse starts working on the login screen and then just continues to work once logged in.