Skip to content

Commit fe21ddf

Browse files
committed
Working governor override on Snap package
1 parent 69ef913 commit fe21ddf

File tree

3 files changed

+21
-15
lines changed

3 files changed

+21
-15
lines changed

auto_cpufreq/core.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@
5959
auto_cpufreq_stats_file = None
6060

6161
# track governor override
62-
STORE = "/opt/auto-cpufreq/override.pickle"
62+
if os.getenv("PKG_MARKER") == "SNAP":
63+
governor_override_state = Path("/var/snap/auto-cpufreq/current/override.pickle")
64+
else:
65+
governor_override_state = Path("/opt/auto-cpufreq/current/override.pickle")
6366

6467
if os.getenv("PKG_MARKER") == "SNAP":
6568
auto_cpufreq_stats_path = Path("/var/snap/auto-cpufreq/current/auto-cpufreq.stats")
@@ -86,20 +89,20 @@ def get_config(config_file=""):
8689
return get_config.config
8790

8891
def get_override():
89-
if os.path.isfile(STORE):
90-
with open(STORE, "rb") as store:
92+
if os.path.isfile(governor_override_state):
93+
with open(governor_override_state, "rb") as store:
9194
return pickle.load(store)
9295
else:
9396
return "default"
9497

9598
def set_override(override):
9699
if override in ["powersave", "performance"]:
97-
with open(STORE, "wb") as store:
100+
with open(governor_override_state, "wb") as store:
98101
pickle.dump(override, store)
99102
print(f"Set governor override to {override}")
100103
elif override == "reset":
101-
if os.path.isfile(STORE):
102-
os.remove(STORE)
104+
if os.path.isfile(governor_override_state):
105+
os.remove(governor_override_state)
103106
print("Governor override removed")
104107
elif override is not None:
105108
print("Invalid option.\nUse force=performance, force=powersave, or force=reset")
@@ -367,6 +370,7 @@ def deploy_daemon():
367370
bluetooth_disable()
368371

369372
auto_cpufreq_stats_path.touch(exist_ok=True)
373+
governor_override_state.touch(exist_ok=True)
370374

371375
print("\n* Deploy auto-cpufreq install script")
372376
shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install")
@@ -442,8 +446,8 @@ def remove_daemon():
442446
os.remove("/usr/local/bin/auto-cpufreq-remove")
443447

444448
# delete override pickle if it exists
445-
if os.path.exists(STORE):
446-
os.remove(STORE)
449+
if os.path.exists(governor_override_state):
450+
os.remove(governor_override_state)
447451

448452
# delete stats file
449453
if auto_cpufreq_stats_path.exists():

bin/auto-cpufreq

+1
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ def main(config, daemon, debug, install, remove, install_performance, live, log,
164164
python_info()
165165
print("")
166166
device_info()
167+
print(f"VALUE {governor_override_state_path}")
167168
if charging():
168169
print("Battery is: charging")
169170
else:

snap/snapcraft.yaml

+8-7
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ plugs:
4343
interface: system-files
4444
write:
4545
- /etc/auto-cpufreq.conf
46-
opt-auto-cpufreq:
47-
interface: system-files
48-
write:
49-
- /opt/auto-cpufreq/override.pickle
46+
# opt-auto-cpufreq:
47+
# interface: system-files
48+
# write:
49+
# - /opt/auto-cpufreq/override.pickle
5050

5151
apps:
5252
auto-cpufreq:
@@ -60,15 +60,16 @@ apps:
6060
- cpu-control
6161
- system-observe
6262
- hardware-observe
63-
- opt-auto-cpufreq
63+
- etc-auto-cpufreq-conf
64+
# - opt-auto-cpufreq
6465
service:
6566
command: usr/bin/snapdaemon
6667
plugs:
6768
- cpu-control
6869
- system-observe
6970
- hardware-observe
70-
- etc-auto-cpufreq
71-
- opt-auto-cpufreq
71+
- etc-auto-cpufreq-conf
72+
# - opt-auto-cpufreq
7273
environment:
7374
LC_ALL: C.UTF-8
7475
LANG: C.UTF-8

0 commit comments

Comments
 (0)