this post was submitted on 28 Apr 2025
25 points (90.3% liked)

Linux

53756 readers
2195 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

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
top 6 comments
sorted by: hot top controversial new old
[–] dukatos@lemm.ee 1 points 1 day ago (1 children)

Does it work after sleep / suspend?

[–] Alaknar@lemm.ee 2 points 1 day ago

I didn't notice any slowness in connection after sleep/suspend, but I can't say I was overly paying attention.

[–] DasFaultier@sh.itjust.works 6 points 4 days ago (1 children)

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...

[–] Alaknar@lemm.ee 5 points 4 days 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 0 points 4 days ago (1 children)

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?

[–] Alaknar@lemm.ee 3 points 4 days 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.