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
    3
    ·
    1 day 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
      ·
      1 day ago

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

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    1 day ago

    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?

    • Alaknár@lemm.eeOP
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      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.