0

On Manjaro Linux (kernel 5.5) I created a script for overclocking my GPU, and a systemd service to start it at boot:

/usr/local/bin/amdoverclock

#!/bin/bash
echo 'manual' > power_dpm_force_performance_level
echo 's 1 1925' > pp_od_clk_voltage
echo 'm 1 900' > pp_od_clk_voltage
echo 'vc 0 800 750' > pp_od_clk_voltage
echo 'vc 1 1363 918' > pp_od_clk_voltage
echo 'vc 2 1925 1085' > pp_od_clk_voltage
echo 'c' > pp_od_clk_voltage

/etc/systemd/system/amdoverclock.service

[Unit]
Description=Tweaks GPU core and memory clocks

[Service]
Type=oneshot
WorkingDirectory=/absolute/path/to/powerstates/files
ExecStart=/usr/local/bin/amdoverclock

[Install]
WantedBy=multi-user.target

When enabled, the service fails but only at startup with a PERMISSION DENIED on each echo script line. If I REBOOT system, everything works flawlessly. Chmod is 755 for script, 644 for service unit. Deleting WorkingDirectory and putting the absolute path in the script changes nothing.

How can I make this thing work?

1 Answer 1

0

As I found here the problem is resolved adding After=multi-user.target to Unit section and changing WantedBy=multi-user.target into WantedBy=graphical.target in the Install section.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.