Commit Graph

2046 Commits

Author SHA1 Message Date
Serphentas 85f6a6201b
coolit: add experimental support for H110i GT (#637)
Related: #142
Related: #147
2024-04-30 16:05:57 -03:00
Jonas Malaco 47e82005ba Revert "ci: Force MacOS runner to macos-12"
This reverts commit 85b32a7f3e.
2024-04-30 05:42:39 -03:00
Jonas Malaco 6d073ae2d5 ci: use git pyusb due for library loading on apple silicon
Related: pyusb/pysub#511
Related: https://github.com/liquidctl/liquidctl/pull/637#issuecomment-2081156293
2024-04-30 05:42:32 -03:00
Aleksa Savić 85b32a7f3e ci: Force MacOS runner to macos-12
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-28 07:33:33 -03:00
Jonas Malaco b815655ccd ci: update checkout and setup-python actions 2024-04-11 22:01:08 -03:00
Aleksa Savić 255821125c kraken3: Rename to self._fw; init to None
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-10 15:30:41 -03:00
Jonas Malaco a86237cc66 yoda: fix indentation in --unsafe flag description 2024-04-06 20:26:00 -03:00
Aapo Kössi daa34b0975
yoda: add support for --unsafe flag (#683) 2024-04-06 20:25:28 -03:00
Aleksa Savić 726f42a8bc kraken3: Add missing self.fw init to test
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić c8e59ddf21 kraken3: Cache fw version
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić f052b19bb9 kraken3: Raise NotSupportedByDriver instead of logging if fw version is unsupported
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić b7802f81e4 error: Extend NotSupportedByDriver with an optional explanation
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić cc9ab6ef40 kraken3: Use just `device` in unsupported_fw_version()
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić beee521cbf kraken3: Add _get_fw_version() to KrakenZ3 and use it to check
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić 31de7e5e74 kraken3: Move adding fw version to _status out of parse_firm_info()
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Aleksa Savić 09c05937d5 kraken3: Allow Kraken 2023 Elite for LCD setting
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-06 11:27:21 -03:00
Ivan Shapovalov 726aab80cb keyval: do not use os.O_DIRECTORY as it does not exist on Win32 2024-04-05 17:13:22 -03:00
Ivan Shapovalov ff14100f78 keyval: perform f.flush() within _open_with_lock() 2024-04-05 17:13:22 -03:00
Ivan Shapovalov 6f2ecdf5b5 keyval: do not set +x on newly created files
Pass 0o666 into os.open() because we do not intend the newly created
files to be executable. NB: we do not pass 0o644 or 0o600 here because
the unwanted access mode bits will be further pruned by the umask
which can in turn be overridden by applicable default ACLs.

Fixes: d8da208c7b
2024-04-05 17:13:22 -03:00
Ivan Shapovalov f136bc0178 keyval: fix broken os.open() flags parsing in _open_with_lock()
1. `flags | ...` is always true (wrong bitwise operation);
2. O_* constants are not guaranteed to be non-zero (e. g. on Linux
   O_RDONLY == 0), thus simply doing a  `flags & ...` is also wrong.

os.O_ACCMODE is a mask of all bits that represent the access mode;
use that to extract the access mode from flags and test it using simple
equality comparisons.

Fixes: 7890b4320e
2024-04-05 17:13:22 -03:00
Ivan Shapovalov 670677cb58 keyval: do not break ACLs on state directories
Fixes: 4706ceb6ef
2024-04-05 17:13:22 -03:00
Sam Birch fb697e05c0 hydro_platinum: add support for H115i Elite RGB 2024-02-26 01:54:27 -03:00
Jonas Malaco f20c4f0d3c corsair_hid_psu: fix input power curves for HX1000i (2022) and HX1500i
Previously the curves were incorrectly computed in normalized mode,
while liquidctl expects them to yield absolute input power values.

Fixed by regenerating the curves with [`interpolate`] and suitable
`--rated` values.

[`interpolate`]: https://github.com/liquidctl/collected-device-data/blob/master/psu-efficiency/interpolate

Fixes: 3e3f36bd1e
Fixes: #675
Related: 4da9df3cfb
2024-02-23 15:21:50 -03:00
Aleksa Savić 07db14dd86 kraken3: Show an error when trying to set a screen on unsupported fw
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-02-22 21:44:41 -03:00
Aleksa Savić 99b10f3d01 kraken3: Record fw version as tuple of ints, not a string
Makes life easier later.

Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-02-22 21:44:41 -03:00
Aleksa Savić 2a39b8bfb0 aquacomputer: Add explanation why both hwmon attributes are required
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-02-17 15:52:22 -03:00
Aleksa Savić fb1bb6362c Revert "aquacomputer: Write to pwmX_enable only if it's available"
This reverts commit 14dd33acc6.

The in-tree driver allows only setting pwmX. While this works,
the value will only be applied to the fan if the channel mode
is direct PWM. As a patch for setting that mode together with
PWM value was rejected upstream, revert this commit as setting
pwmX_enable became a hard requirement for being sure that the
value is correctly applied.
2024-02-17 15:52:22 -03:00
Aleksa Savić 14dd33acc6 aquacomputer: Write to pwmX_enable only if it's available
Otherwise, use just pwmX as many kernel versions have only that.

Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-02-14 18:02:24 -03:00
Jonas Malaco d831273145 conftest: ignore prometheus-liquidctl-exporter with correct filename
Fixes: 2e4e424939
2024-02-11 11:03:59 -03:00
Jonas Malaco 2e4e424939 contest: ignore prometheus-liquidctl-exporter due to additional dependency 2024-02-11 11:02:08 -03:00
Jonas Malaco 834b9c6259 extra: make all python shebang lines consistent 2024-02-11 10:57:54 -03:00
Jonas Malaco 42260deb04 docs: adjust references and links to yoda 2024-02-11 10:57:31 -03:00
Jonas Malaco 087ce57e9f yoda: add self-changelog entry 2024-02-11 10:50:28 -03:00
Jonas Malaco 23182df34d extra: run black over the recently renamed modules
Related: 9246219656 ("extra: adopt .py extension in python scripts")
2024-02-11 10:50:03 -03:00
Jonas Malaco a50752b595 yoda: output CPU frequency with the correct unit of MHz
Fixes: 912dd0ad61 ("msi: support Coreliquid K360 and two similar variants (#564)")
2024-02-11 10:45:41 -03:00
Jonas Malaco 995221e647 yoda: make psutil optional
A request has been made for yoda to be packaged in Arch AUR liquidctl-git.
However, on Linux (and BSD) yoda has an extra dependency of psutil,
which is used to access the system sensors.

To avoid bloating the dependency list of liquidctl as a whole, while
still not requiring separate packages, make psutil into an optional
requirement.
2024-02-11 10:40:53 -03:00
Jonas Malaco 9246219656 extra: adopt .py extension in python scripts
The primary motivation is to allow them, and any doctests contained in
them, to be discovered by pytest. The tests fixed in 31998d666ded had
been broken for for 3 years!

The change also makes sense in more general terms, as (with the
exception of prometheus-liquidctl-exporter), the scripts are
cross-platform and therefore may run in contexts (Windows) without
support for #!.
2024-02-11 10:19:48 -03:00
Jonas Malaco d95c002309 yoda: remove redundant import 2024-02-11 10:19:48 -03:00
Jonas Malaco a53bd94822 yoda: fix doctests
Most issues were minor changes causes by some case changes introduced by
5f3d287fa7 ("extra: yoda: fix output casing").

However, the new early ValueError message, introduced in 912dd0ad61
("msi: support Coreliquid K360 and two similar variants (#564)"), has
been changed (slightly) once again. For simplicity, the supported
profile names are no longer supported; we can bring them back later, if
really necessary.
2024-02-11 10:19:36 -03:00
Jonas Malaco 0123b6ac32 readme: fix flags for MSI MPG Coreliquid devices
See: https://github.com/liquidctl/liquidctl/pull/564#issuecomment-1915297539
2024-01-29 15:12:58 -03:00
Jonas Malaco 7965516965 tree: fix formatting issues from new black 24 style
Ran black 24.1.1 on the tree.

Related: #568
2024-01-28 04:31:58 -03:00
Jonas Malaco fbfd22e8fc man: fix capitalization of MSI K360 in subsection heading
Fixes: 912dd0ad61
2024-01-28 04:23:59 -03:00
Jonas Malaco 8d0f8bcdb5 readme: remove outdated notes from MSI K360 entry in supported devices
See: 38a33cb4ab
See: a890b62bf8
Fixes: 912dd0ad61
2024-01-28 04:23:59 -03:00
Jonas Malaco fdd4cbbede msi: warn if get_status is disabled due to missing unsafe feature
Fixes: 912dd0ad61
2024-01-28 04:23:59 -03:00
Jonas Malaco ff996850ff msi: format long list in 8 × lines block 2024-01-28 04:23:56 -03:00
Aapo Kössi 912dd0ad61
msi: support Coreliquid K360 and two similar variants (#564) 2024-01-28 04:09:48 -03:00
Jonas Malaco c1cb21e2e2 cli: prevent contradiction in --json description vs experimental fields
Fixes: 38a33cb4ab ("tree: remove "experimental" notes and suffixes")
2024-01-13 09:17:21 -03:00
Jonas Malaco 905d954085 tree: indicate devices known to be currently broken in major ways
We have a few devices that are essentially long-term broken, due to
firmware changes. Communicate that to our users in place of the old
experimental tags.

Related: #662
2024-01-13 08:57:14 -03:00
Jonas Malaco 38a33cb4ab tree: remove "experimental" notes and suffixes
In the early days of the project it was important to communicate to our
users how well they could expect a device to work with liquidctl. This
was done, for new or still unstable devices, with an `e`/experimental
note (in the supported devices table) and an `(experimental)` suffix in
their description. However, it doesn't make sense to do that anymore:

- we have many more drivers, supported devices, and contributors, and so
  our capability to *accurately* gauge that, across all configurations,
  use cases, firmware versions, etc, has likely degraded;
- our development pace has reduced substantially, degrading the temporal
  resolution (and, thus, accuracy) of any such claim;
- and, on the other hand, *most drivers* either work well from the start
  or have quickly and easily been fixed.

Exceptionally, `(experimental)` suffixes have been kept for a few
untested EVGA and ASUS GPUs, since their support require the passing of
corresponding unsafe flags to be enabled.
2024-01-13 08:57:14 -03:00
Jonas Malaco e3f91793b3 github: enable ci testing with python 3.12 2024-01-12 04:08:25 -03:00