Some systemd services don't autostart on boot & other systemd problems

Hi all. I recently received my Framework laptop (it's awesome, btw), and installed Garuda on it. I'm running into some weird issues with systemd services. Here's what's happening:

Two services, tlp and auto-cpufreq, don't start on boot.

What I've done with this one:

  1. I used Garuda Assistant Settings tab to install and enable them.
  2. On the next boot, I checked and they weren't running. I ran systemctl enable [service] and systemctl start [service] for both of them and verified they were running. On the next boot, the same thing happened again. I have to run these commands for both services on every reboot.

Can't start libinput-gestures unless I add --user flag; seeing same issue as above

  1. I set up libinput-gestures and it works fine, but whenever I restart, I lose it.
  2. After each reboot, I need to enable and start libinput-gestures again, just as with tlp and auto-cpufreq. However, if I try to do this without the --user flag, I get the following error: Failed to enable unit: Unit file libinput-gestures.service does not exist.

I appreciate any help anyone can provide. Below is my inxi -Faz.

System:    Kernel: 5.15.7-arch1-1 x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux root=UUID=ef574ab0-1538-46e0-a34d-3f23365f683d rw
[email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 resume=UUID=b3c5bc0a-f639-438b-a23a-ee9e1649f589 loglevel=3
Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:   Type: Laptop System: Framework product: Laptop v: AA serial: <superuser required>
Mobo: Framework model: FRANBMCP0A v: AA serial: <superuser required> UEFI: INSYDE v: 03.06
date: 10/18/2021
Battery:   ID-1: BAT1 charge: 45.3 Wh (83.6%) condition: 54.2/55.0 Wh (98.5%) volts: 16.5 min: 15.4
model: NVT Framewo type: Li-ion serial: <filter> status: Discharging
CPU:       Info: Quad Core model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP arch: Tiger Lake
family: 6 model-id: 8C (140) stepping: 1 microcode: 88 cache: L1: 320 KiB L2: 5 MiB L3: 8 MiB
flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 38720
Speed: 1335 MHz min/max: 400/4200 MHz Core speeds (MHz): 1: 802 2: 1360 3: 1542 4: 1221 5: 1280
6: 1131 7: 1371 8: 1286
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel bus-ID: 00:02.0
chip-ID: 8086:9a49 class-ID: 0300
Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver: loaded: intel
unloaded: modesetting alternate: fbdev,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 2256x1504 s-dpi: 96 s-size: 596x397mm (23.5x15.6") s-diag: 716mm (28.2")
Monitor-1: eDP1 res: 2256x1504 hz: 60 dpi: 205 size: 280x190mm (11.0x7.5") diag: 338mm (13.3")
Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:     Device-1: Intel Tiger Lake-LP Smart Sound Audio driver: snd_hda_intel v: kernel
alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3 chip-ID: 8086:a0c8 class-ID: 0403
Sound Server-1: ALSA v: k5.15.7-arch1-1 running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: no
Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:   Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi v: kernel bus-ID: aa:00.0
chip-ID: 8086:2725 class-ID: 0280
IF: wlp170s0 state: up mac: <filter>
Bluetooth: Device-1: Intel AX210 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 3-10:4
chip-ID: 8087:0032 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:    Local Storage: total: 953.87 GiB used: 66.79 GiB (7.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 model: T-FORCE TM8FP8001T size: 953.87 GiB block-size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: V9002s77 temp: 39.9 C scheme: GPT
Partition: ID-1: / raw-size: 936.61 GiB size: 936.61 GiB (100.00%) used: 66.79 GiB (7.1%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 576 KiB (0.2%) fs: vfat
dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 936.61 GiB size: 936.61 GiB (100.00%) used: 66.79 GiB (7.1%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 936.61 GiB size: 936.61 GiB (100.00%) used: 66.79 GiB (7.1%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 936.61 GiB size: 936.61 GiB (100.00%) used: 66.79 GiB (7.1%) fs: btrfs
dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 16.96 GiB used: 0 KiB (0.0%) priority: -2
dev: /dev/nvme0n1p3 maj-min: 259:3
ID-2: swap-2 type: zram size: 15.42 GiB used: 4.8 MiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 46.8 C mobo: N/A
Fan Speeds (RPM): N/A
Info:      Processes: 300 Uptime: 47m wakeups: 1731 Memory: 15.42 GiB used: 6.02 GiB (39.0%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1440 lib: 398
Shell: fish v: 3.3.1 default: Bash v: 5.1.12 running-in: konsole inxi: 3.3.09

If you have power-profiles-daemon installed then this will take priority and prevent other power management services from running. Turns out that power-profiles-daemon is actually the better general option, but you can force TLP etc. if you want them. https://wiki.archlinux.org/title/CPU_frequency_scaling#power-profiles-daemon

If it's a user service then you have to use the --user flag, so e.g. systemctl --user enable libinput-gestures to start it on login.

Thanks! That all makes sense.

I'm still confused as to why enabling libinput-gestures doesn't make it start on the next boot, though.

Check its systemctl --user status libinput-gestures and journalctl --user -u libinput-gestures.

5 Likes

Sorry, been a crazy couple of weeks, but I have time to get back to this now. Thanks for the reply!

Here's systemctl --user status libinput-gestures immediately after a reboot.

○ libinput-gestures.service - Actions gestures on your touchpad using libinput
Loaded: loaded (/usr/lib/systemd/user/libinput-gestures.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://github.com/bulletmark/libinput-gestures

Here's the last 3 boots from journalctl --user -u libinput-gestures. It's reliably stopping it every time, but there are no error messages to help understand why...

-- Boot 8f92d12a84334d5f80c8364b31c782ff --
Dec 16 15:57:43 framework systemd[1351]: Started Actions gestures on your touchpad using libinput.
Dec 18 20:16:08 framework systemd[1351]: Stopping Actions gestures on your touchpad using libinput...
Dec 18 20:16:08 framework systemd[1351]: Stopped Actions gestures on your touchpad using libinput.
Dec 18 20:16:08 framework systemd[1351]: libinput-gestures.service: Consumed 10.785s CPU time.
-- Boot b950ca7d04ba48799aea84e624962803 --
Dec 18 20:19:35 framework systemd[1247]: Started Actions gestures on your touchpad using libinput.
Dec 18 21:49:54 framework systemd[1247]: Stopping Actions gestures on your touchpad using libinput...
Dec 18 21:49:54 framework systemd[1247]: Stopped Actions gestures on your touchpad using libinput.
Dec 18 21:49:54 framework systemd[1247]: libinput-gestures.service: Consumed 2.810s CPU time.
-- Boot 6e4835c29bdb4c14885e7edb1c30168b --
Dec 21 15:49:05 framework systemd[1221]: Started Actions gestures on your touchpad using libinput.
Dec 22 07:42:14 framework systemd[1221]: Stopping Actions gestures on your touchpad using libinput...
Dec 22 07:42:14 framework systemd[1221]: Stopped Actions gestures on your touchpad using libinput.
Dec 22 07:42:14 framework systemd[1221]: libinput-gestures.service: Consumed 7.071s CPU time.

Did you read https://github.com/bulletmark/libinput-gestures#configuration ?

1 Like

I thought I had :laughing: , but I just read it again, and realized that KDE doesn't play well with libinput-gestures as a systemd service. I switched it to running as a desktop application, set it up according to the readme, rebooted, and it works great. Thanks! :dog:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.