[ГАЙД] Установка и оптимизация Linux для игр

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Сегодня мы установим и оптимизируем Linux для лучшей игровой производительности, а также посмотрим на результат наших трудов в современных играх. Причиной создания инструкции послужил разгоревшийся спор в этой теме, мне захотелось опровергнуть большинство заблуждений и приобщить вас к простой установки, ибо следуя инструкции, каждый сможет установить и выжать максимум из Linux.


Для установки на компьютер операционной системы Linux, выбор автора пал на дистрибутив ArchLinux, что является одним из лучших, если речь идёт об игровой производительности и выжимки максимума.  

Подготовка

Для установки системы будет использоваться AnarhyInstaller это графический установщик ArchLinux.
Для установки системы необходим съёмный носитель информации: USB флешка, CD-DVD диск, съёмный Hard.


1. Скачиваем образ системы c Github.
2. Скачиваем средства записи Rufus или любой другой аналог.
3. Вставляем USB флешку в компьютер и запускаем Rufus, выбираем образ формата iso через кнопку выбрать и нажимаем старт, на все вопросы отвечаем да.

4. По завершении записи перегружаем компьютер и нажимаем горячие клавиши, мы должны выбрать съёмный носитель, как загрузчик, у всех по-разному, но обычно это клавиши F11 или F2.

Установка

В установке нет ничего сложного, просто следуйте шагам ниже, я постараюсь давать пояснение к каждому параметру.
Выбираем самый верхний параметр UEFI.



1. После окончания загрузки служб вводим 1 и нажимаем ENTER.
2. Нас приветствует выбор языка установщика, выбираем Русский.
3. Выбор языка раскладки клавиатуры, пожалуйста, выбирайте US во избежание бага.
4. Выбор и сортировка зеркал серверов обновления системы и программ, просто тыкаем ENTER.
5. Выбор страны зеркал вашей страны, я выбираю RU — Россия.
6. Выбор языка программ и системы, я выбираю ru_RU — UTF 8 — для Русского языка.
7. Настройка времени, выбираем или местное время по странам или сразу UTC.
8. Разметка диска, выбираем автоматически и жмём ENTER.
9. Выбираем на какой диск хотим установить систему и жмём ENTER.
10. Выбор файловой системы зависит от предпочтений, но автор советует BTRFS.
11. Выбор файла подкачки, на ваше усмотрение, но я жму нет.
12. Выбор раздела разметки, если у вас новый пк — жмите да.
13. Подтверждаем запись.
14. Выбираем ядро и графическое окружение сами для избежания мусора, Anarhy-Advenced.
15. Выбор ядра, zen, ибо оно быстрее.
16. Выбор шела, на вкус и цвет, но автор выбирает zsh.
17. ENTER.
18. ENTER.
19. ENTER.
20. 32-битные библиотеки необходимы для работы Steam, включаем.
21. Включать ли интернет при старте, да.
22. Включить ли поддержку WIFI? Выбираем сами.
23. Нет, но если вы из 2004, то вам это нужно.
24. Если вы хотите установить рядом с Windows или любой другой системой, то жмите да, я же жму нет.
25. Да.
26. Выбираем More-Desctop, нажимаем ENTER.
27. Выбираем Gnome и жмём пробел, а потом ENTER.
28. Отказываемся от EXSTRA, ибо оно ведёт к захламлению системы.
29. Если у вас ноутбук, то ставим.
30. Устанавливаем менеджер входа.
31. Я выберу gdm.
32. Водим имя нашего пк.
33. Вводим пароль для root.
34. Создаём нового пользователя и аналогично указываем для него пароль, жмём готово.
35. Запускаем установку и PROFFIT.

На самом деле в установке нет ничего сложного, ибо она занимает минут 8, главное, следовать шагам и у вас всё получится.

Видео если не понятно.



Оптимизация

После установки системы и успешного входа необходимо выполнить оптимизацию и настройку системы для удобства работы.

1. Удаление лишнего мусора и программ в Gnome 3.
Открываем терминал — обзор>> T>>терминал.

sudo pacman -R gnome-books gnome-boxes gnome-calculator gnome-calendar gnome-contacts gnome-maps gnome-music gnome-weather gnome-clocks gnome-documents gnome-photos gnome-software gnome-user-docs totem xterm vim malcontent yelp gnome-getting-started-docs


Данные команды отвечают за удаление ненужного мусора, что после перезагрузки позволит уменьшить потребление оперативной памяти и центрального процессора.


2. Все последующие программы будем собирать с нативными флагами, то есть компилировать их под наше оборудование, но сначала установим зависимости.

sudo pacman -S  base-devel# Пакет для сборки программ.
sudo pacman -S nano # Простой консольный редактор, аналог текстового документа.
sudo nano /etc/makepkg.conf # Тут мы с вами запускаем от имена админа редактирование makepkg.conf через nano.

Привести строчки CFLAGS и СXXFLAGS в параметры native, как на картинке.
Сохранить изменения Ctrl+x, Y, ENTER.

3. Установка Русского языка, драйверов и программ.
Русский язык устанавливается весьма просто — обзор >>параметры>>Регион и язык и жмём +>>добавить.

Переключение раскладки доступно через отдельное дополнение Gnome-tweak.
sudo pacman -S gnome-tweak-tool
Запускаем tweak — обзор >>weak>>дополнительные настройки>>клавиатура и мышь>>дополнительные параметры.

Установка драйверов.

Nvidia
sudo pacman -S nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader

AMD
sudo pacman -S lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader

Intel
sudo pacman -S lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader

Компиляция игрового ядра под процессор.

Особенностью Linux-систем, в отличие от Windows, является открытость исходного кода ядра, что позволяет выполнить нативную компиляцию ядра под оборудование, но и не простого ядра, а игрового.

Предварительно создадим папку tools в домашнем каталоге.

Открываем консоль и вводим.

cd tools # Переходим в папку tools.
sudo pacman -S git # Устанавливаем помощник скачивания.

git clone https://aur.archlinux.org/linux-lqx.git # Скачиваем с помощью помощника исходники в папку tools.
cd linux-lqx # переходим в папку linux-lqx.
sudo nano PKGBUILD # Приводим параметр _makenconfig=y и сохраняем.
makepkg -si # Запускаем компиляцию и на все вопросы отвечаем да.

Выполняем в точности, как на картинках, полный размер доступен под спойлером.

Нажмите, чтобы развернуть
Содержимое спойлера
1
2
3
4
5
6
7
8
9
10
11
12

Мы выполнили с вами оптимизацию под центральный процессор, отключили динамические тики процессора, отключили ненужные проверки Tracers, а также выполнили оптимизацию общения внутренних компонентов cpu под малоядерные 4-6. Возвращаемся в главное меню с помощью ESCAPE и нажимаем F6, а потом ещё ESCAPE и пойдёт компиляция.

Установка ядра успешно выполнена и прежде чем переходить на него, давайте выключим Spectre и Meltdown с прочей гадостью, что снижают производительность.

sudo pacman -S grub-customizer # Программа, что позволит выполнить редактирование загрузчика в упрощенном виде.
Обзор>>Grub.

Вводим данные команды в параметр ядра.
quiet splash noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off rootfstype=btrfs lpj=изменить на ваш nowatchdog raid=noautodetect ipv6.disable=1 nvidia-drm.modeset=1 mitigations=off

Узнать свой.
dmesg | grep 'lpj=' 
nvidia-drm.modeset=1
# Только для nvidia.
rootfstype=btrfs
# Ваша файловая система.

Сохраняем и переходим в первую вкладку, переносим linux-lqx в самый верх с помощью стрелочки и сохраняем.

Перезагружаем ПК и проверяем ядро и код процессора для ускорения системы и игр.
uname -r # Покажет установленное ядро, отлично, оно наше.
systemd-analyze # Покажет время загрузки системы и что загружает.  Не установился микрокод — исправляем.

 

Для установки микрокода вводим по порядку.

sudo pacman -S intel-ucode iucode-tool(Intel) # Установить микрокод.
sudo pacman -S amd-ucode iucode-tool  (AMD) # Установить микрокод.
sudo nano /etc/mkinitcpio.conf # Приводим строчки, как на скриншоте.
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)

sudo mkinitcpio -p linux-lqx # команда собирает Ram образы систем.
sudo grub-mkconfig -o /boot/grub/grub.cfg
# Обновить загрузчик.

Теперь выключаю компьютер и проверяю микрокод. # Не перезагрузка — это важно.
Загрузка заняла 4 секунды.

Установка демонов-служб контроля для повышения производительности


В Linux — службы зовутся демонами, а в нашем ArchLinux после установки не хватает парочки, а значит давайте это исправим, благо автор собаку съел и знает, что необходимо для качественной производительности.

1. Zramswap — это специальный демон, что сжимает оперативную память ресурсами центрального процессора, создает в оперативной памяти файл подкачки.
cd  tools # Переход в папку tools.
git clone https://aur.archlinux.org/zramswap.git # Скачивание исходников.
cd zramswap # Переход в zramswap.
makepkg -si # Сборка и установка.
sudo systemctl enable zramswap.service # Включаем службу.

1.1 Nohang — это демон повышающий производительность путём обработки и слежки за потреблением памяти.
cd  tools # Переход в папку tools.
git clone https://aur.archlinux.org/nohang-git.git # Скачивание исходников.
cd nohang-git # Переход в nohang-git
makepkg -si # Сборка и установка.
sudo systemctl enable --now nohang-desktop # Включаем службу.

1.2 Ananicy — это демон повышающий приоритет задач, его установка очень сильно повышает отклик.
cd tools # Переход в папку tools.
git clone https://aur.archlinux.org/ananicy.git # Скачивание исходников.
cd ananicy # Переход в ananicy.
makepkg-si # Сборка и установка.
sudo systemctl enable ananicy # Включаем службу.

1.3
Включаем TRIM — полезно SSD и жестким дискам.
sudo systemctl enable fstrim.timer # Включаем службу.

1.4 Сron — это демон, что будет сам очищать нашу систему от мусора.
sudo pacman -S cronie # Установить cron.
sudo systemctl enable cronie.service
# Запускает службу.
sudo EDITOR=nano crontab -e # Редактируем параметр.
И добавляем:
15 10 * * sun /sbin/rm /var/cache/pacman/pkg/*
Таким образом наша система будет сама себя чистить раз в неделю, в воскресенье в 15:10.

Оптимизация интерфейса и установка игр с программами

1. Gnome-shell — добавляем полуофициальные патчи, что ускоряют отзывчивость системы.
cd tools # Переход в папку tools.
git clone https://aur.archlinux.org/gnome-shell-performance.git # Скачивание исходников.
cd gnome-shell-performance # Переход в gnome-shell-performance.
makepkg-si   # Сборка и установка.

1.2 Mutter-perfomance — ещё сильнее ускорит интерфейс.
cd tools # Переход в папку tools.
git clone https://aur.archlinux.org/mutter-performance.git# Скачивание исходников.
cd mutter-performance # Переход в mutter-performance.
makepkg-si   # Сборка и установка.

Установим браузер, видеоплеер, Steam и ccleaner.
sudo pacman -S chromium vlc steam bleachbit lutris

Поздравляю, мы полностью выполнили оптимизацию под нашу систему, конечно, ещё осталось пару фокусов, но они нам ни к чему, так давайте установим Ведьмака 3 и посмотрим, что это нам даст.

Запуск Ведьмака 3 и других Windows программ

Для запуска 3 ведьмака устанавливаем Wine.

sudo pacman -S wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader

После установки открываем наш lutris и добавляем нашего ведьмака.
Как добавлять и настраивать.

Выводы

Возможно вам могло показаться, что это очень сложно и муторно, но на самом деле это позволяет выжимать намного больше FPS по сравнению с любой версией Windows и не занимает многого времени, а Ведьмак теперь работает намного лучше того, что было на Windows. С вами был Павел, еще увидимся.