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.
So you’re saying after a clean boot, the mouse takes time to register and start working again? Does it work in sddm before logging in, but then lags to reconnect once loaded into your DE?
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.