Go to file
2022-08-18 14:35:53 +02:00
.github/workflows Fix build 2022-06-15 17:55:34 +02:00
amdfan Update dependencies 2022-08-17 21:03:26 +02:00
amdfand Update dependencies 2022-08-17 21:03:26 +02:00
amdgpu Fix clippy 2022-08-18 14:35:53 +02:00
amdgpu-config Update dependencies 2022-08-17 21:03:26 +02:00
amdgui-helper Update dependencies 2022-08-17 21:03:26 +02:00
amdguid Fix clippy 2022-08-18 14:35:53 +02:00
amdmond Update dependencies 2022-08-17 21:03:26 +02:00
amdmond-lib Update dependencies 2022-08-17 21:03:26 +02:00
amdportsd Fix clippy 2022-08-18 14:35:53 +02:00
amdvold Update dependencies 2022-08-17 21:03:26 +02:00
assets Add glow, small build fixes 2022-02-10 09:51:53 +01:00
examples Fix invalid hwmon directory path 2021-11-28 15:36:40 +01:00
scripts Improve build 2022-06-16 08:04:45 +02:00
services Fix amdmond services 2022-05-31 18:39:00 -04:00
.gitignore Initial 2021-07-02 13:36:36 +02:00
Cargo.lock Fix clippy 2022-08-18 14:35:53 +02:00
Cargo.toml Read ports 2022-06-29 18:11:24 +02:00
LICENSE.APACHE2.txt Fix apache2 license file 2021-07-04 08:42:45 +02:00
LICENSE.md Improve monitor 2021-12-03 07:35:17 +01:00
README.md Documentation 2022-02-26 23:01:50 +01:00
rustfmt.toml Update dependencies 2022-08-17 21:03:26 +02:00

GitHub amdgpud amdgpud

Buy me a coffee This project is created with love. Please, support me

AMD GPU management tools

This repository holds couple tools for AMD graphic cards

  • amdfand - fan speed daemon (MUSL)
  • amdvold - voltage and overclocking tool (MUSL)
  • amdmond - monitor daemon (MUSL)
  • amdguid - GUI manager (GLIBC)
  • amdgui-helper - daemon with elevated privileges to scan for amdfand daemons, reload them and save config files (MUSL)

For more information please check README each of them.

Roadmap

  • Add support for multiple cards
    • Multiple services must recognize card even if there's multiple same version cards is installed
    • Support should be by using --config option
  • CLI for fan config edit
  • CLI for voltage edit
  • GUI application using native Rust framework (ex. egui, druid)

License

This work is dual-licensed under Apache 2.0 and MIT. You can choose between one of them if you use this work.

Supported OS

Only Linux is supported.

BSD OS may work if compiled from source, but it wasn't tested. I also don't know how to enable all amd gpu features on BSD.

Officially supported

  • Arch Linux
  • Ubuntu 18.04
  • Ubuntu 20.04

Other

It should be possible to run MUSL programs on any Linux distribution.

GLIBC applications depends on shared glibc libraries and version of this library MUST match.

If you have other version you may download linked version and place it in application directory.

Or you can compile it from source

Compile

./scripts/build.sh

Download missing shared libraries

Check linked versions
ldd ./amdguid

Example output:

	linux-vdso.so.1 (0x00007ffd706df000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f4254a50000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f4254a40000)
	libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f4254a3b000)
	libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f4254a31000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f4254a2c000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f4254a11000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007f4254a0a000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f4254a05000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007f425491d000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007f4254713000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f42556a6000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f425470e000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f4254706000)

If anything is missing you may download is and place it side-by-side with binary

Example:
opt/
├─ amdguid/
│  ├─ amdguid
│  ├─ shared_lib_a/
│  ├─ shared_lib_b/
usr/
├─ bin/
│  ├─ amdguid

Where:

  • /opt/amdguid/amdguid is binary file
  • /usr/bin/amdguid is shell script with following content
#!/usr/bin/env bash

cd /opt/amdguid
./amdguid