Это приложение позволяет вам управлять графическим процессором AMD или Nvidia в системе Linux.
Информация о графическом процессоре | Разгон | Управление вентилятором |
---|---|---|
Исторические данные | ||
Текущие возможности:
Функциональность как AMD, так и Nvidia работает в X11, Wayland или даже в автономных сеансах.
Arch Linux: установите пакет AUR (или версию -git)
Debian/Ubuntu/Производные: загрузите .deb из выпусков.
Он доступен только в Debian 12+ и Ubuntu 22.04+, поскольку более старые версии не поддерживают gtk4.
Fedora: RPM доступен в выпусках.
Gentoo: доступен в GURU.
OpenSUSE: RPM доступен в выпусках.
Поддерживается только Tumbleweed, поскольку у jump нет необходимых зависимостей в репозиториях.
NixOS: в nixpkgs доступен пакет.
В противном случае создайте сборку из исходного кода.
Почему нет AppImage/Flatpak/другого универсального формата? Смотрите здесь.
Примечание. Для поддержки Nvidia требуется собственный драйвер Nvidia с установленными библиотеками CUDA.
Чтобы получить последние исправления или функции, которые еще не были выпущены в стабильной версии, существуют пакеты, созданные на основе последней фиксации, которые вы можете установить из тестового выпуска или с помощью пакета AUR lact-git
в дистрибутивах на основе Arch.
Примечание: дата тестового выпуска не является датой сборки пакетов, фактическая дата указана рядом с прикрепленными файлами пакета.
Включите и запустите службу (иначе вы не сможете изменить какие-либо настройки):
sudo systemctl enable --now lactd
Теперь вы можете использовать графический интерфейс для изменения настроек и просмотра информации.
LACT по большей части не реализует функции для каждого поколения, а скорее предоставляет функциональные возможности, доступные в драйвере для текущей системы. Однако в следующей таблице показано, какую функциональность можно ожидать от данного поколения.
Поколение | Конфигурация часов | Ограничение мощности | Государства власти | Управление вентилятором | Примечания |
---|---|---|---|---|---|
Южные острова (HD 7000) | Не поддерживается | Неизвестный | Неизвестный | Непроверенный | Требуется опция ядра amdgpu.si_support=1 |
Морские острова (R7/R9 200) | Не поддерживается | Неизвестный | Непроверенный | Непроверенный | Требуется опция ядра amdgpu.cik_support=1 |
Вулканические острова (R7/R9 300) | Не поддерживается | Неизвестный | Непроверенный | Непроверенный | |
Арктические острова/Полярная звезда (RX 400-500) | Поддерживается | Поддерживается | Поддерживается | Поддерживается | |
Вега | Поддерживается | Поддерживается | Поддерживается | Поддерживается | |
РДНА1 (RX 5000) | Поддерживается | Поддерживается | Поддерживается | Поддерживается | |
РДНА2 (RX 6000) | Поддерживается | Поддерживается | Поддерживается | Поддерживается | |
РДНА3 (RX 7000) | Поддерживается | Ограниченный | Поддерживается | Ограниченный | Существует ненастраиваемый порог температуры, ниже которого вентилятор не включается, даже с пользовательской кривой. Ограничение мощности также иногда ниже, чем должно быть. Требуется ядро 6.7+. См. № 255 для получения дополнительной информации. |
Графические процессоры, не перечисленные здесь, по-прежнему будут работать, но могут не иметь полной функциональности. Информация о мониторинге/системе будет доступна везде. Интегрированные графические процессоры также могут иметь только базовую конфигурацию.
Все, что Maxwell или новее, должно работать, но поддержка генерации еще не была тщательно протестирована.
Файл конфигурации доступен в /etc/lact/config.yaml
. Большинство настроек доступны через графический интерфейс, но некоторые из них может оказаться полезным редактировать вручную (например, admin_groups
чтобы указать, кто имеет доступ к демону).
Настройка разрешений сокетов:
По умолчанию LACT использует либо wheel
, либо группу sudo
(в зависимости от того, что доступно) для владения сокетом unix, к которому должен подключиться графический интерфейс.
В большинстве конфигураций (например, при настройке по умолчанию в системах на основе Arch, большинстве систем на основе Debian или Fedora) вам не нужно ничего делать.
Однако некоторые системы могут иметь другую пользовательскую конфигурацию. В частности, сообщалось, что это проблема OpenSUSE.
Чтобы исправить разрешения сокетов в таких конфигурациях, отредактируйте /etc/lact/config.yaml
и добавьте свое имя пользователя или группу в качестве первой записи в admin_groups
в разделе daemon
и перезапустите службу ( sudo systemctl restart lactd
).
По умолчанию в драйвере функция разгона отключена. Есть два способа включить его:
Используя опцию «включить разгон» в графическом интерфейсе LACT. Это создаст файл в /etc/modprobe.d
, который включает необходимые параметры драйвера. Это самый простой способ, и он подойдет большинству людей.
Примечание. Будет предпринята попытка автоматического повторного создания initramfs для включения новых настроек. Он не охватывает все возможные комбинации дистрибутивов. Если вы включили разгон в LACT, но он по-прежнему не работает после перезагрузки, возможно, вам придется проверить конфигурацию вашего дистрибутива, чтобы убедиться, что initramfs обновлен. Обновление версии ядра — гарантированный способ запустить обновление initramfs.
Указание параметра загрузки. Вы можете вручную указать параметр ядра amdgpu.ppfeaturemask=0xffffffff
в своем загрузчике, чтобы включить разгон. Дополнительную информацию смотрите в ArchWiki.
Поскольку некоторые настройки графического процессора могут быть сброшены при приостановке работы системы, LACT перезагрузит их при возобновлении работы системы. Это может не работать в дистрибутивах, которые не используют systemd, поскольку он опирается на интерфейс DBus org.freedesktop.login2
.
Зависимости:
Команда для установки всех зависимостей:
sudo dnf install rust cargo make git gtk4-devel libdrm-devel blueprint-compiler
sudo pacman -S --needed base-devel git make rust gtk4 hwdata blueprint-compiler
Шаги:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
Можно изменить функции, с помощью которых будет построен LACT. Для этого замените команду make
следующим вариантом:
Безголовая сборка без графического интерфейса:
make build-release-headless
Создайте графический интерфейс с поддержкой libadwaita:
make build-release-libadwaita
Существует API, доступный через сокет Unix или TCP. См. здесь для получения дополнительной информации.
Демон LACT можно запустить на одном компьютере, а затем удаленно управлять им с другого.
По умолчанию это отключено, поскольку TCP-соединение не имеет механизма аутентификации или шифрования! Обязательно используйте его только в доверенных сетях и/или настройте соответствующие правила брандмауэра.
Чтобы включить его, отредактируйте /etc/lact/config.yaml
и добавьте tcp_listen_address
с нужным адресом и в раздел daemon
.
Пример:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
После этого перезапустите службу ( sudo systemctl restart lactd
).
Чтобы подключиться к удаленному экземпляру с помощью графического интерфейса, запустите его с помощью lact gui --tcp-address 192.168.1.10:12853
.
Также доступен CLI.
Список системных графических процессоров:
lact cli list-gpus
Пример вывода:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
Получение информации о графическом процессоре:
lact cli info
Пример вывода:
lact cli info
GPU Vendor: Advanced Micro Devices, Inc. [AMD/ATI]
GPU Model: Vega 10 XL/XT [Radeon RX Vega 56/64]
Driver in use: amdgpu
VBIOS version: 115-D050PIL-100
Link: LinkInfo { current_width: Some("16"), current_speed: Some("8.0 GT/s PCIe"), max_width: Some("16"), max_speed: Some("8.0 GT/s PCIe") }
Функциональность CLI весьма ограничена. Если вы хотите интегрировать LACT с каким-либо приложением/скриптом, вместо этого вам следует использовать API.
Сообщая о проблемах, укажите информацию о вашей системе и модель графического процессора.
Если у вас возникли проблемы с изменением конфигурации графического процессора, настоятельно рекомендуется включить снимок отладки в отчет об ошибке. Вы можете создать его, используя опцию в раскрывающемся меню:
Снимок представляет собой архив, содержащий SysFS, которую LACT использует для взаимодействия с графическим процессором.
В случае сбоя запустите lact gui
из командной строки, чтобы получить журналы графического интерфейса, проверьте журналы демона в journalctl -u lactd
на наличие ошибок и просмотрите журналы ядра dmesg
, которые могут содержать информацию о проблемах с драйверами и системой.
Вот список других полезных инструментов для графических процессоров AMD в Linux: