Всё рекомендуется выполнять от имени пользователя с использованием sudo, где необходимо.
Для того, что бы использовать AUR, установим yay:
pacman -S yay
Обновимся:
yay -Suy
Устанавливаем необходимые пакеты для сборки:
yay -S gcc cc clang nvc pgcc icc icx
yay -S ruby bison
yay -S nvc fakeroot
Есть 2 варианта драйверов:
Смотрим версию ядра:
uname -a
Запоминаем версию ядра(в моем случае это 6.12…) и устанавливаем проприетарные драйвера nvidia:
yay -S nvidia
И тут требуется указать цифрой версию ядра и драйвера. Для себя я выбирал linux612-nvidia (Последняя доступная версия драйвера для 6.12 ядра)
mhwd -a pci nonfree 0300
И поверх нужно установить стандартные (Сам стандартный драйвер, как я думаю, не ставиться. Это нужно что бы установились некие дополнения, в виде модулей ядра и тд)
Устанавливаем “патчер”, для gnome display manager`а:
yay -S gdm-prime
Установим сам optimus-manager:
yay -S optimus-manager
yay -S optimus-manager-qt По желанию. Пакет нужен для иконки трея, по идее он сделан под kde, но у меня на gnome я смог его запустить 1 раз
Самое важное - запускаем сервис менеджера:
sudo systemctl enable optimus-manager
Перезагружаемся:
reboot
Запускаем приложение(Если ставили qt пакет) и можем отредактировать параметры под себя.
optimus manager
Если пакет qt не ставили, или он просто не работает, то конфигурируем всё ручками:
optimus-manager --status #Смотрим актуальную конфигу
optimus-manager --switch nvidia #Меняем способ вывода изображения
optimus-manager --print-startup #Смотрим что будет использоваться при следующем запуске
Так же можно редактировать всё персистентно в конфиге
Ставим vim, дабы не пользовать vi
yay -S vim
Открываем конфиг
vim /etc/optimus-manager/optimus-manager.conf
И выставляем постоянное значение мода и ещё много вкусного:
...
[nvidia]
DPI=120 #Меняем по желанию, это что-то типа масштабирования, но только лучше
...
[optimus]
...
startup_auto_battery_mode=integrated
startup_auto_extpower_mode=nvidia
startup_mode=nvidia
...
Если необходимо указать какие-то xrandr команды, для того или иного мода, можно использовать файлы:
/etc/optimus-manager/{xsetup-nvidia.sh,xsetup-hybrid.sh,xsetup-integrated.sh}
После установки практически любого дистрибутива у меня не работал второй монитор. Он у меня приоритетный, поэтому я даже не мог нормально залогиниться. Как оказалось - мой монитор не умеет работать в режиме 50Гц, а система очень хочет использовать его именно так, никак иначе. Все утилиты типа xrandr не умеют в герцовку, поэтому проблема ими не решается.
Как оказалось - gnome прекрасно запоминал все настройки, выставленные в GUI. А проблема выключенного монитора при старте системы решается очень просто:
cp /home/user/.config/monitors.xml /var/lib/gdm/.config/
Копируем файл конфигурации мониторов из пользовательского окружения в глобальное. Но пользовательское удалять нельзя, после логина используется именно он.
Для масштабирования в современных системах используется DPI, в gnome его можно найти в gnome-tweeks:
[]$ gnome-tweeks
Шрифты-Размер-Коэффициент масштабирования
Ссылки:
https://gitlab.manjaro.org/packages/extra/optimus-manager/-/blob/0ebdb7b5c6a8665a2dc85b56acd37b40d68b229e/README.md
При просмотре видео могут возникать разрывы изображения, как будто бы нижняя половина экрана не успевает за верхней и посередине экрана формируется полоска.
Это можно пофиксить через nvidia-setting, следующим образом:
Переходим в расширенные настройки:
И выставляем галочки:
Далее жмем “apply” - теперь разрывы должны уйти. Что бы сохранить это навсегда - жмем “save to x configuration”. В mangaro, если драйвера установлены через mhwd, то конфиг кладем в соответствующую директорию:
И в теории это должно применяться при старте системы. Если после перезагрузки это не применяется, то делаем через консоль.
Для каждого пользователя (Что пользуется графикой) необходимо сделать .desctop файл:
vim /home/user/.config/autostart/nvidia-pipeline.desktop
[Desktop Entry] Name=NVIDIA Force Composition Pipeline Comment=Enable ForceFullCompositionPipeline for tearing-free compositing Exec=sh -c "nvidia-settings --assign CurrentMetaMode='3440x1440_100 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}'" Terminal=false Type=Application X-GNOME-Autostart-enabled=true
Что касается строки:
nvidia-settings --assign CurrentMetaMode='3440x1440_100 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}'
Тут 3440x1440_100 +0+0
- это конфигурация монитора (в моем случае - основного). В теории указывать это не обязательно, если настройки дисплея автоматически выставляются автоматически правильно - можно не прописывать.
Сам этот “мод” можно взять из конфига, который сохраняли ранее:
cat /etc/X11/mhwd.d/xorg.conf | grep 'Section "Screen"' -A 10
Вывод примерно такой:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "HDMI-0"
Option "metamodes" "3440x1440_100 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
И на нужен мод, прописанный в строке:
Option "metamodes" "3440x1440_100 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
Теперь после перезагрузки все параметры должны примениться.