Найти в Дзене
Новости мира IT

NixOS + Дискретная видеокарта = Мощь и контроль!

Современные ноутбуки с двумя графическими картами предоставляют пользователям мощные возможности для выполнения ресурсоемких задач, таких как игры, видеомонтаж и 3D-моделирование. Однако настройка правильной работы дискретной графики может оказаться непростой задачей, особенно если вы используете нестандартные операционные системы, такие как NixOS Эта статья посвящена настройке работы дискретной видеокарты на ноутбуке с использованием NixOS, однако описанные здесь принципы применимы практически к любым дистрибутивам Linux. Независимо от того, используете ли вы Ubuntu, Fedora, Arch Linux или любую другую ОС из семейства Linux, вы найдете здесь полезные советы и рекомендации, которые помогут вам максимально эффективно использовать ресурсы вашего ноутбука. Поскольку в моем ноутбуке используется две видеокарты Intel и AMD, необходимо использовать PRIME, но сперва нужно в файлах конфигурации NixOS указать на использование драйвера amdgpu. В configuration.nix необходимо указать драйвер для

Современные ноутбуки с двумя графическими картами предоставляют пользователям мощные возможности для выполнения ресурсоемких задач, таких как игры, видеомонтаж и 3D-моделирование. Однако настройка правильной работы дискретной графики может оказаться непростой задачей, особенно если вы используете нестандартные операционные системы, такие как NixOS

Эта статья посвящена настройке работы дискретной видеокарты на ноутбуке с использованием NixOS, однако описанные здесь принципы применимы практически к любым дистрибутивам Linux. Независимо от того, используете ли вы Ubuntu, Fedora, Arch Linux или любую другую ОС из семейства Linux, вы найдете здесь полезные советы и рекомендации, которые помогут вам максимально эффективно использовать ресурсы вашего ноутбука.

Использование Prime в NixOS

Поскольку в моем ноутбуке используется две видеокарты Intel и AMD, необходимо использовать PRIME, но сперва нужно в файлах конфигурации NixOS указать на использование драйвера amdgpu.

В configuration.nix необходимо указать драйвер для приложений, использующих X server:

services.xserver.videoDrivers = [ "amdgpu" ];

В файле hardware-configuration.nix прописываем использование модуля amdgpu:

boot.initrd.kernelModules = [ "amdgpu" ];

Теперь необходимо выяснить ID видеокарты. В терминале вводим команду, не забыв предварительно установив пакет lshw:

sudo lshw -c display

Получаем ответ следующего вида

*-display
physical id: 0 bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi bus_master cap_list rom
configuration: driver=radeon latency=0 resources: irq:31 memory:b0000000-b7ffffff memory:b8000000-b803ffff ioport:4000(size=256) memory:b8040000-b805ffff
*-display
product: i915drmfb
physical id: 2 bus info: pci@0000:00:02.0
logical name: /dev/fb0
version: 06
width: 64 bits
clock: 33MHz
capabilities: msi pm bus_master cap_list rom fb
configuration: depth=32 driver=i915 latency=0 resolution=1366,768 resources: irq:33 memory:b9000000-b93fffff memory:a0000000-afffffff ioport:5000(size=64) memory:c0000-dffff

Нас здесь интересует строка bus info: pci@0000:01:00.0. Необходимо задать это значение переменной DRI_PRIME перед запуском программы.

Чтобы убедиться, что мы все сделали верно, можно просто запустить glxinfo:

DRI_PRIME=pci-0000_01_00_0 glxinfo | grep 'OpenGL renderer'

Если все получилось, то по аналогии запускаем другие программы. Я установил PortProton через Flatpack, и чтобы передать ему значение переменной, использовал Flatseal.

-2

Надеемся вам удалось справится с настройкой дискретной видеократы, посмотрите и другие наши статьи:

Telegram | VK