adjustor 3.4.5__tar.gz → 3.4.7__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {adjustor-3.4.5/src/adjustor.egg-info → adjustor-3.4.7}/PKG-INFO +1 -1
- {adjustor-3.4.5 → adjustor-3.4.7}/pyproject.toml +1 -1
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/const.py +20 -5
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/asus/__init__.py +29 -15
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/asus/settings.yml +1 -1
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/general/__init__.py +30 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/general/settings.yml +9 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/smu/qam.yml +1 -1
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/fuse/driver.py +16 -3
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/fuse/utils.py +12 -5
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/hhd.py +4 -1
- {adjustor-3.4.5 → adjustor-3.4.7/src/adjustor.egg-info}/PKG-INFO +1 -1
- {adjustor-3.4.5 → adjustor-3.4.7}/LICENSE +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/MANIFEST.in +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/readme.md +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/setup.cfg +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/__main__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/acpi.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/alib.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/lenovo.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/core/platform.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/amd/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/amd/power-profiles-daemon.dbus.xml.in +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/amd/ppd.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/amd/settings.yml +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/lenovo/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/lenovo/settings.yml +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/smu/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/smu/smu.yml +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/events.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/fuse/__init__.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/fuse/gpu.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/i18n.py +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/settings.yml +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor.egg-info/SOURCES.txt +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor.egg-info/dependency_links.txt +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor.egg-info/entry_points.txt +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor.egg-info/requires.txt +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor.egg-info/top_level.txt +0 -0
- {adjustor-3.4.5 → adjustor-3.4.7}/usr/share/dbus-1/system.d/hhd-net.hadess.PowerProfiles.conf +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: adjustor
|
3
|
-
Version: 3.4.
|
3
|
+
Version: 3.4.7
|
4
4
|
Summary: Adjustor, a userspace program for managing the TDP of handheld devices.
|
5
5
|
Author-email: Kapenekakis Antheas <pypi@antheas.dev>
|
6
6
|
Project-URL: Homepage, https://github.com/hhd-dev/adjustor
|
@@ -25,11 +25,12 @@ ALIB_PARAMS = {
|
|
25
25
|
"temp_target": A(0x03, 0, 105),
|
26
26
|
}
|
27
27
|
|
28
|
+
ALIB_PARAMS_5040: dict[str, AlibParams] = ALIB_PARAMS
|
28
29
|
ALIB_PARAMS_7040: dict[str, AlibParams] = ALIB_PARAMS
|
29
30
|
ALIB_PARAMS_6040: dict[str, AlibParams] = ALIB_PARAMS
|
30
31
|
ALIB_PARAMS_8040: dict[str, AlibParams] = ALIB_PARAMS
|
31
32
|
|
32
|
-
|
33
|
+
DEV_PARAMS_30W: dict[str, DeviceParams] = {
|
33
34
|
"stapm_limit": D(0, 4, 15, 30, 40),
|
34
35
|
"skin_limit": D(0, 4, 15, 30, 40),
|
35
36
|
"slow_limit": D(0, 4, 20, 32, 43),
|
@@ -52,10 +53,23 @@ DEV_PARAMS_28W: dict[str, DeviceParams] = {
|
|
52
53
|
# Temp
|
53
54
|
"temp_target": D(60, 70, 85, 90, 100),
|
54
55
|
}
|
56
|
+
DEV_PARAMS_25W: dict[str, DeviceParams] = {
|
57
|
+
"stapm_limit": D(0, 4, 15, 25, 32),
|
58
|
+
"skin_limit": D(0, 4, 15, 25, 32),
|
59
|
+
"slow_limit": D(0, 4, 20, 27, 35),
|
60
|
+
"fast_limit": D(0, 4, 25, 30, 37),
|
61
|
+
# Times
|
62
|
+
"slow_time": D(5, 5, 10, 10, 10),
|
63
|
+
"stapm_time": D(100, 100, 100, 200, 200),
|
64
|
+
# Temp
|
65
|
+
"temp_target": D(60, 70, 85, 90, 100),
|
66
|
+
}
|
55
67
|
|
56
|
-
|
57
|
-
|
58
|
-
|
68
|
+
DEV_PARAMS_5000: dict[str, DeviceParams] = DEV_PARAMS_25W
|
69
|
+
DEV_PARAMS_6000: dict[str, DeviceParams] = DEV_PARAMS_30W
|
70
|
+
DEV_PARAMS_7040: dict[str, DeviceParams] = DEV_PARAMS_30W
|
71
|
+
DEV_PARAMS_8040: dict[str, DeviceParams] = DEV_PARAMS_30W
|
72
|
+
DEV_PARAMS_LEGO = DEV_PARAMS_30W
|
59
73
|
|
60
74
|
DEV_DATA: dict[str, tuple[dict[str, DeviceParams], dict[str, AlibParams], bool]] = {
|
61
75
|
"NEO-01": (DEV_PARAMS_28W, ALIB_PARAMS_7040, False),
|
@@ -69,7 +83,8 @@ CPU_DATA: dict[str, tuple[dict[str, DeviceParams], dict[str, AlibParams]]] = {
|
|
69
83
|
# GPD Win 4
|
70
84
|
# model name : AMD Ryzen 7 6800U with Radeon Graphics
|
71
85
|
# 28W works fine, 30W is pushing it
|
72
|
-
"AMD Ryzen 7
|
86
|
+
"AMD Ryzen 7 5800U": (DEV_PARAMS_6000, ALIB_PARAMS_6040),
|
87
|
+
"AMD Ryzen 7 6800U": (DEV_PARAMS_6000, ALIB_PARAMS_6040),
|
73
88
|
"AMD Ryzen 7 7840U": (DEV_PARAMS_7040, ALIB_PARAMS_7040),
|
74
89
|
"AMD Ryzen 7 8840U": (DEV_PARAMS_8040, ALIB_PARAMS_8040),
|
75
90
|
# AMD Athlon Silver 3050e (Win600, will it support tdp?)
|
@@ -13,10 +13,10 @@ logger = logging.getLogger(__name__)
|
|
13
13
|
APPLY_DELAY = 0.7
|
14
14
|
TDP_DELAY = 0.1
|
15
15
|
SLEEP_DELAY = 4
|
16
|
-
|
17
|
-
|
16
|
+
MIN_TDP = 7
|
17
|
+
MAX_TDP = 30
|
18
18
|
# FIXME: add AC/DC values
|
19
|
-
|
19
|
+
MAX_TDP_BOOST = 35
|
20
20
|
|
21
21
|
FTDP_FN = "/sys/devices/platform/asus-nb-wmi/ppt_fppt"
|
22
22
|
STDP_FN = "/sys/devices/platform/asus-nb-wmi/ppt_pl2_sppt"
|
@@ -139,6 +139,7 @@ class AsusDriverPlugin(HHDPlugin):
|
|
139
139
|
|
140
140
|
self.queue_fan = None
|
141
141
|
self.queue_tdp = None
|
142
|
+
self.queue_charge_limit = None
|
142
143
|
self.new_tdp = None
|
143
144
|
self.new_mode = None
|
144
145
|
self.old_target = None
|
@@ -206,6 +207,10 @@ class AsusDriverPlugin(HHDPlugin):
|
|
206
207
|
if (self.startup and lim != "disabled") or (
|
207
208
|
lim != self.old_conf["charge_limit"].to(str)
|
208
209
|
):
|
210
|
+
self.queue_charge_limit = curr + APPLY_DELAY
|
211
|
+
|
212
|
+
if self.queue_charge_limit and self.queue_charge_limit < curr:
|
213
|
+
self.queue_charge_limit = None
|
209
214
|
match lim:
|
210
215
|
case "p65":
|
211
216
|
set_charge_limit(65)
|
@@ -237,14 +242,15 @@ class AsusDriverPlugin(HHDPlugin):
|
|
237
242
|
if new_tdp:
|
238
243
|
# For TDP values received from steam, set the appropriate
|
239
244
|
# mode to get a better experience.
|
240
|
-
if new_tdp == (13 if ally_x else 10):
|
241
|
-
|
242
|
-
elif new_tdp == (17 if ally_x else 15):
|
243
|
-
|
244
|
-
elif new_tdp == 25 or new_tdp == 30:
|
245
|
-
|
246
|
-
else:
|
247
|
-
|
245
|
+
# if new_tdp == (13 if ally_x else 10):
|
246
|
+
# mode = "quiet"
|
247
|
+
# elif new_tdp == (17 if ally_x else 15):
|
248
|
+
# mode = "balanced"
|
249
|
+
# elif new_tdp == 25 or new_tdp == 30:
|
250
|
+
# mode = "performance"
|
251
|
+
# else:
|
252
|
+
# mode = "custom"
|
253
|
+
mode = "custom"
|
248
254
|
conf["tdp.asus.tdp_v2.mode"] = mode
|
249
255
|
elif new_mode:
|
250
256
|
mode = new_mode
|
@@ -281,6 +287,14 @@ class AsusDriverPlugin(HHDPlugin):
|
|
281
287
|
else:
|
282
288
|
steady = conf["tdp.asus.tdp_v2.custom.tdp"].to(int)
|
283
289
|
|
290
|
+
if self.enforce_limits:
|
291
|
+
if steady < MIN_TDP:
|
292
|
+
steady = MIN_TDP
|
293
|
+
conf["tdp.asus.tdp_v2.custom.tdp"] = steady
|
294
|
+
elif steady > MAX_TDP:
|
295
|
+
steady = MAX_TDP
|
296
|
+
conf["tdp.asus.tdp_v2.custom.tdp"] = steady
|
297
|
+
|
284
298
|
steady_updated = steady and steady != self.old_conf["tdp_v2.custom.tdp"].to(
|
285
299
|
int
|
286
300
|
)
|
@@ -289,11 +303,11 @@ class AsusDriverPlugin(HHDPlugin):
|
|
289
303
|
|
290
304
|
steady_updated |= tdp_reset
|
291
305
|
|
292
|
-
if self.startup and (steady >
|
306
|
+
if self.startup and (steady > MAX_TDP or steady < MIN_TDP):
|
293
307
|
logger.warning(
|
294
308
|
f"TDP ({steady}) outside the device spec. Resetting for stability reasons."
|
295
309
|
)
|
296
|
-
steady = min(max(steady,
|
310
|
+
steady = min(max(steady, MIN_TDP), MAX_TDP)
|
297
311
|
conf["tdp.asus.tdp_v2.custom.tdp"] = steady
|
298
312
|
steady_updated = True
|
299
313
|
|
@@ -326,13 +340,13 @@ class AsusDriverPlugin(HHDPlugin):
|
|
326
340
|
set_tdp(
|
327
341
|
"fast",
|
328
342
|
FTDP_FN,
|
329
|
-
min(max(steady,
|
343
|
+
min(max(steady, MAX_TDP_BOOST), int(steady * 35 / 25)),
|
330
344
|
)
|
331
345
|
time.sleep(TDP_DELAY)
|
332
346
|
set_tdp(
|
333
347
|
"slow",
|
334
348
|
STDP_FN,
|
335
|
-
min(max(steady,
|
349
|
+
min(max(steady, MAX_TDP_BOOST), int(steady * 30 / 25)),
|
336
350
|
)
|
337
351
|
time.sleep(TDP_DELAY)
|
338
352
|
set_tdp("steady", CTDP_FN, steady)
|
@@ -7,6 +7,7 @@ import time
|
|
7
7
|
import signal
|
8
8
|
from hhd.plugins import Context, HHDPlugin, load_relative_yaml
|
9
9
|
from hhd.plugins.conf import Config
|
10
|
+
from threading import Event
|
10
11
|
import logging
|
11
12
|
|
12
13
|
logger = logging.getLogger(__name__)
|
@@ -16,6 +17,7 @@ class GeneralPowerPlugin(HHDPlugin):
|
|
16
17
|
|
17
18
|
def __init__(
|
18
19
|
self,
|
20
|
+
is_steamdeck: bool = False,
|
19
21
|
) -> None:
|
20
22
|
self.name = f"adjustor_general"
|
21
23
|
self.priority = 8
|
@@ -25,6 +27,10 @@ class GeneralPowerPlugin(HHDPlugin):
|
|
25
27
|
self.old_sched = None
|
26
28
|
self.sched_proc = None
|
27
29
|
self.ppd_supported = None
|
30
|
+
self.is_steamdeck = is_steamdeck
|
31
|
+
self.ovr_enabled = False
|
32
|
+
self.should_exit = Event()
|
33
|
+
self.t_sys = None
|
28
34
|
|
29
35
|
def settings(self):
|
30
36
|
sets = load_relative_yaml("./settings.yml")
|
@@ -71,6 +77,9 @@ class GeneralPowerPlugin(HHDPlugin):
|
|
71
77
|
else:
|
72
78
|
del sets["children"]["sched"]
|
73
79
|
|
80
|
+
if not self.is_steamdeck:
|
81
|
+
del sets["children"]["steamdeck_ovr"]
|
82
|
+
|
74
83
|
self.logged_boost = True
|
75
84
|
return {
|
76
85
|
"tdp": {"general": sets},
|
@@ -134,6 +143,24 @@ class GeneralPowerPlugin(HHDPlugin):
|
|
134
143
|
stderr=subprocess.DEVNULL,
|
135
144
|
stdout=subprocess.DEVNULL,
|
136
145
|
)
|
146
|
+
|
147
|
+
# Handle steamdeck_ovr
|
148
|
+
if self.is_steamdeck:
|
149
|
+
new_ovr = conf.get("tdp.general.steamdeck_ovr", False)
|
150
|
+
if new_ovr and not self.ovr_enabled:
|
151
|
+
self.ovr_enabled = True
|
152
|
+
logger.info("Starting FUSE mount for /sys (Overclock).")
|
153
|
+
from ...fuse import prepare_tdp_mount, start_tdp_client
|
154
|
+
|
155
|
+
stat = prepare_tdp_mount(passhtrough=True)
|
156
|
+
if stat:
|
157
|
+
self.t_sys = start_tdp_client(
|
158
|
+
self.should_exit,
|
159
|
+
None,
|
160
|
+
1,
|
161
|
+
15,
|
162
|
+
20,
|
163
|
+
)
|
137
164
|
|
138
165
|
def close_sched(self):
|
139
166
|
if self.sched_proc is not None:
|
@@ -144,3 +171,6 @@ class GeneralPowerPlugin(HHDPlugin):
|
|
144
171
|
|
145
172
|
def close(self):
|
146
173
|
self.close_sched()
|
174
|
+
if self.t_sys:
|
175
|
+
self.should_exit.set()
|
176
|
+
self.t_sys.join()
|
@@ -25,3 +25,12 @@ children:
|
|
25
25
|
scx_bpfland: bpfland
|
26
26
|
scx_rusty: rusty
|
27
27
|
default: disabled
|
28
|
+
|
29
|
+
steamdeck_ovr:
|
30
|
+
type: bool
|
31
|
+
tags: [advanced,expert]
|
32
|
+
title: Steamdeck Overclock (Requires Reboot)
|
33
|
+
hint: >-
|
34
|
+
Allows setting the Steam TDP slider from 1-20W instead of 4-15W.
|
35
|
+
Unchecked, it is still setting TDP to 15W.
|
36
|
+
default: False
|
@@ -157,7 +157,7 @@ class Xmp(Fuse):
|
|
157
157
|
def fsinit(self):
|
158
158
|
os.chdir(self.root)
|
159
159
|
|
160
|
-
def main(self, *a, **kw):
|
160
|
+
def main(self, *a, passthrough=False, **kw):
|
161
161
|
os.makedirs(FUSE_MOUNT_DIR, exist_ok=True)
|
162
162
|
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
163
163
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
@@ -167,6 +167,7 @@ class Xmp(Fuse):
|
|
167
167
|
self.file_class = XmpFile
|
168
168
|
XmpFile.h = Handler(sock)
|
169
169
|
XmpFile.cache = {}
|
170
|
+
XmpFile.passthrough = passthrough
|
170
171
|
|
171
172
|
code = Fuse.main(self, *a, **kw)
|
172
173
|
sock.close()
|
@@ -196,10 +197,15 @@ class Handler:
|
|
196
197
|
class XmpFile:
|
197
198
|
h: Handler
|
198
199
|
cache: dict[str, bytes]
|
200
|
+
passthrough: bool
|
199
201
|
|
200
202
|
def __init__(self, path, flags, *mode):
|
201
203
|
self.path = path
|
202
|
-
|
204
|
+
power_attr = "power1_cap" in path or "power2_cap" in path
|
205
|
+
# Allow passing through writes if we are the steam deck
|
206
|
+
passthrough = XmpFile.passthrough and path.endswith("_cap")
|
207
|
+
|
208
|
+
if power_attr and not passthrough:
|
203
209
|
print(f"GPU Attribute access: {path} {flags} {mode}")
|
204
210
|
|
205
211
|
# Receive file contents from hhd
|
@@ -373,6 +379,13 @@ def main():
|
|
373
379
|
default="/",
|
374
380
|
help="GPU device private bind mount point",
|
375
381
|
)
|
382
|
+
server.parser.add_option(
|
383
|
+
mountopt="passthrough",
|
384
|
+
metavar="PASSTHROUGH",
|
385
|
+
action="store_true",
|
386
|
+
default=False,
|
387
|
+
help="Allow tdp write passthrough, e.g., for the Steam Deck.",
|
388
|
+
)
|
376
389
|
server.parse(values=server, errex=1)
|
377
390
|
|
378
391
|
try:
|
@@ -382,7 +395,7 @@ def main():
|
|
382
395
|
print("can't enter root of underlying filesystem", file=sys.stderr)
|
383
396
|
sys.exit(1)
|
384
397
|
|
385
|
-
server.main()
|
398
|
+
server.main(passthrough=getattr(server, "passthrough", False))
|
386
399
|
except KeyboardInterrupt:
|
387
400
|
pass
|
388
401
|
finally:
|
@@ -37,7 +37,7 @@ def find_igpu():
|
|
37
37
|
return None
|
38
38
|
|
39
39
|
|
40
|
-
def prepare_tdp_mount(debug: bool = False):
|
40
|
+
def prepare_tdp_mount(debug: bool = False, passhtrough: bool = False):
|
41
41
|
try:
|
42
42
|
gpu = find_igpu()
|
43
43
|
logger.info(f"Found GPU at:\n'{gpu}'")
|
@@ -53,9 +53,13 @@ def prepare_tdp_mount(debug: bool = False):
|
|
53
53
|
|
54
54
|
if not os.path.ismount(TDP_MOUNT):
|
55
55
|
logger.info(f"Creating bind mount for:\n'{gpu}'\nto:\n'{TDP_MOUNT}'")
|
56
|
-
|
56
|
+
cmd = f"mount --bind '{gpu}' '{TDP_MOUNT}'"
|
57
|
+
r = os.system(cmd)
|
58
|
+
assert not r, f"Failed:\n{cmd}"
|
57
59
|
logger.info(f"Making bind mount private.")
|
58
|
-
|
60
|
+
cmd = f"mount --make-private '{TDP_MOUNT}'"
|
61
|
+
r = os.system(cmd)
|
62
|
+
assert not r, f"Failed:\n{cmd}"
|
59
63
|
else:
|
60
64
|
logger.info(f"Bind mount already exists at:\n'{TDP_MOUNT}'")
|
61
65
|
|
@@ -68,9 +72,12 @@ def prepare_tdp_mount(debug: bool = False):
|
|
68
72
|
f"{exe_python} -m adjustor.fuse.driver '{gpu}'"
|
69
73
|
+ f" -o root={TDP_MOUNT} -o nonempty -o allow_other"
|
70
74
|
)
|
75
|
+
if passhtrough:
|
76
|
+
cmd += " -o passthrough"
|
71
77
|
if debug:
|
72
78
|
cmd += " -f"
|
73
|
-
os.system(cmd)
|
79
|
+
r = os.system(cmd)
|
80
|
+
assert not r, f"Failed:\n{cmd}"
|
74
81
|
except Exception as e:
|
75
82
|
logger.error(f"Error preparing fuse mount:\n{e}")
|
76
83
|
return False
|
@@ -156,7 +163,7 @@ def _tdp_client(should_exit: Event, set_tdp, min_tdp, default_tdp, max_tdp):
|
|
156
163
|
def start_tdp_client(
|
157
164
|
should_exit: Event, emit, min_tdp: int, default_tdp: int, max_tdp: int
|
158
165
|
):
|
159
|
-
set_tdp = lambda tdp: emit({"type": "tdp", "tdp": tdp})
|
166
|
+
set_tdp = lambda tdp: emit and emit({"type": "tdp", "tdp": tdp})
|
160
167
|
|
161
168
|
logger.info(f"Starting TDP client on socket:\n'{FUSE_MOUNT_SOCKET}'")
|
162
169
|
t = Thread(
|
@@ -269,6 +269,7 @@ def autodetect(existing: Sequence[HHDPlugin]) -> Sequence[HHDPlugin]:
|
|
269
269
|
):
|
270
270
|
drivers.append(AsusDriverPlugin("RC72L" in prod))
|
271
271
|
drivers_matched = True
|
272
|
+
min_tdp = 7
|
272
273
|
|
273
274
|
if os.environ.get("HHD_ADJ_DEBUG") or os.environ.get("HHD_ENABLE_SMU"):
|
274
275
|
drivers_matched = False
|
@@ -326,7 +327,9 @@ def autodetect(existing: Sequence[HHDPlugin]) -> Sequence[HHDPlugin]:
|
|
326
327
|
from .drivers.general import GeneralPowerPlugin
|
327
328
|
|
328
329
|
logger.info(f"No tdp drivers found for this device, using generic plugin.")
|
329
|
-
|
330
|
+
|
331
|
+
is_steamdeck = "Jupiter" in prod or "Galileo" in prod
|
332
|
+
return [GeneralPowerPlugin(is_steamdeck=is_steamdeck)]
|
330
333
|
|
331
334
|
return [
|
332
335
|
*drivers,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: adjustor
|
3
|
-
Version: 3.4.
|
3
|
+
Version: 3.4.7
|
4
4
|
Summary: Adjustor, a userspace program for managing the TDP of handheld devices.
|
5
5
|
Author-email: Kapenekakis Antheas <pypi@antheas.dev>
|
6
6
|
Project-URL: Homepage, https://github.com/hhd-dev/adjustor
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{adjustor-3.4.5 → adjustor-3.4.7}/src/adjustor/drivers/amd/power-profiles-daemon.dbus.xml.in
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{adjustor-3.4.5 → adjustor-3.4.7}/usr/share/dbus-1/system.d/hhd-net.hadess.PowerProfiles.conf
RENAMED
File without changes
|