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
  • DasFaultier@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    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…

    • Alaknár@lemm.eeOP
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

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