ilya-zlobintsev / LACT

Linux GPU Configuration Tool
MIT License
1.46k stars 35 forks source link

Cannot build on EL8 #377

Closed xander-st-aubyn closed 2 months ago

xander-st-aubyn commented 2 months ago

Checklist

Bug description

Glib-2.56 (the version installed on EL8) is too old for the version of the rust crate glib-sys requires which is 2.68 I believe or 67.

Since Enterprise Linux 8 is supported until nearly the end of the decade it would be great if one could use lact on it.

System info

- LACT version: Any
- GPU model: AMD Radeon RX 6650 XT - AMD/ATI Navi 23
- Kernel version: 4.18 (Though I am planning to compile a newer perhaps 5x or 6x)
- Distribution: Enterprise Linux 8.10 (any RHEL 8x)
ilya-zlobintsev commented 2 months ago

RHEL 8 doesn't ship GTK4. LACT requires GTK4 (short of using only the daemon without GUI). Maybe you could build GTK/glib from source, but it's likely not a simple process.

You might however be able to run LACT inside of a newer distro's environment using something like distrobox, provided the container has root access to /sys.

xander-st-aubyn commented 2 months ago

Honestly, I would be fine with a small service and all it does is take a fan curve from a config file and override that zero-speed fan control so they run according to the curve. It's just LACT is the only piece of software I have found that actually.. functions in respect to my gfx card on Linux. On Windows I used MSI Afterburner for the exact same purpose.

Also, I thought this was a GTK3 program? Anyway, so if I ran say a Fedora 40 chroot I could likely manually start the service and even run the GUI program (x11 is a wonderful thing)? I been meaning to experiment with a good host selection (from scratch) and chroots and more advanced container solutions plus some legacy VMware'ing.

ilya-zlobintsev commented 2 months ago

I would be fine with a small service and all it does is take a fan curve from a config file and override that zero-speed fan control so they run according to the curve

It should be possible to do this with LACT already - you can build with make build-release-headless and it will not depend on GTK at all. Also see the api description.

xander-st-aubyn commented 2 months ago

I believe from reading some of the files here that if I build headless and use the cli command to get the gpu id it uses then I can just use the settings otherwise from a fedora install right? No JSON API needed.

ilya-zlobintsev commented 2 months ago

Yes, that is correct. The changes should even be detected automatically when you edit the config file.

xander-st-aubyn commented 2 months ago

Success. Were you planning to expand the cli functionality? Cause it would seem to me that either the cli functionality should be expanded or the daemon and core should be split from the UI to promote many different solutions for a frontend cli or GUI.

ilya-zlobintsev commented 2 months ago

The daemon is already separated - you've just built it separately, and there are headless builds provided in releases. However the CLI is indeed very limited. I think maybe it would be better to document the configuration file and make it easier to manually edit rather than adding everything via cli commands though.

xander-st-aubyn commented 2 months ago

Well I mean different binaries. a lact-daemon lact-cli and lact-gui.

ilya-zlobintsev commented 2 months ago

https://github.com/ilya-zlobintsev/LACT/pull/379 should give more options with your setup: now you can run the daemon on your primary system, and connect to it remotely from another environment that's new enough for the GUI (container or otherwise).

ilya-zlobintsev commented 2 months ago

There are prebuilt packages for RHEL now as well.