[ГАЙД] Установка и оптимизация Linux для игр
Сегодня мы установим и оптимизируем Linux для лучшей игровой производительности, а также посмотрим на результат наших трудов в современных играх. Причиной создания инструкции послужил разгоревшийся спор в этой теме, мне захотелось опровергнуть большинство заблуждений и приобщить вас к простой установки, ибо следуя инструкции, каждый сможет установить и выжать максимум из Linux.
Тестовый пк и Linux
- Процессор: Intel Pentium G4560 2/4 3.5 Гигагерц
- Видеокарта: Nvidia Geforce 1050 2Gb
- Оперативная память: 2x4 2400
- Материнская плата: H110M-DGS R3.0 Bios 7.50
Для установки на компьютер операционной системы 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 # Запускаем компиляцию и на все вопросы отвечаем да.
Выполняем в точности, как на картинках, полный размер доступен под спойлером.












Мы выполнили с вами оптимизацию под центральный процессор, отключили динамические тики процессора, отключили ненужные проверки 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. С вами был Павел, еще увидимся.
97 комментариев
Добавить комментарий
gpg --keyserver keys.gnupg.net --recv-keys ваш ключ.
А так, как-то нет смысла заморачиваться с пропатчиванием KDE под FreeBSD.
Спасибо, я в курсе. Это называется проще: часть игр не работает.
Зачем тогда нужны эти пляски с бубном, если проще поставить винду, или поиграть через облако на чем угодно, даже на тв-приставке на Андроиде?
Но проблема осталась — линукс это «после сборки обточить напильником», т.е. плотно покопаться в консоли, особенно если что-то пошло не по гайду из-за особенностей железа и его поддержки в конкретном билде.
Я, конечно, все понимаю, но Линукс до сих пор не рассматриваю как что-то большее, чем рабочий, узкоспециализированный инструмент. Для домашних юзверей, а тем более, для игрушек, он малопригоден.
2. Зачем? Так уже не первая статья, что меньше потребление и больше фпс.
3. Нет, просто я описал свой способ исходя из своего опыта и знаний, существует уйма дистрибутивов, что допиливать нет необходимости.
Пс и система наверно лучшая в плане одиночного гейминга.
2. Это не эмулятор…
отсутствие железа не мешает тебе делать такой вывод, статья мне даже понравилась, вот ток нафига, зачем? И ты сам осознавая решил ну чуточку приукрасить, соврать))
будь у тя железо получше и ОС была бы получше- windows))) Вот так и представляю покупаешь 3090 и такой- надо линукс срочно ставить, там же будет больше ФПС XD
2. winE- windows emulator
1050ti диагноз, затычка вместо видеокарты и недоОС подстать
Для экспериментов выбрал какой-то дистрибутив на основе ubuntu — Ubuntu GamePack. Т.к. выделять целый диск не хотелось просто взял уже имеющийся USB-HDD и редактором разделов сделал еще два, один для линукса, второй для свопа, если вдруг понадобится. Разделы все первичные идут ntfs/ntfs/ext2/swap.
Линукс установился без проблем, но при попытке загрузки в режиме USB-HDD grub не может прочитать разделы: unknown file system grub rescue. Если этот диск вытащить из USB-бокса и подключить как SATA все грузится аж бегом, но он мне в таком виде не нужен, нужен именно как USB-HDD.
Пробовал разные инструкции по исправлению ошибки unknown file system grub rescue, но все бесполезно, ни один из разделов не читается unknown file system. Вероятно нужно подгружать драйвер USB или еще что-то.
Как вправить мозги загрузчику чтобы он научился понимать разделы, или может надо установить какой-нибудь grub2dos?
Не может прочитать потому, что ошибка в файловой системе.
Вероятно нужно сделать форматирование в другую файловую систему и использовать grub 3.
Ответ 87638502@vkontakte на комментарий
Да прям, при подключении как SATA нет ошибок, а как USB так сразу ошибки, причем во всех сразу разделах всех дисков?
Ответ 87638502@vkontakte на комментарий
EXT2 перестала быть нативной для линукса?
Никакой пляски с разделами и загрузчиками!
При наличии винды запускать под линем — странная идея. И по совместимости, и по скорости (если, конечно, это не натив под линь).
Десятка мне не нравится — монструозная плюс калечный, заточенный под пальцы интерфейс. Я бы пользовался и дальше семеркой, но M$ прокручивает свой коронный номер, намеренно не выпускает новый DirectX для «старых» ОС. Этот финт опробовали еще при выдавливании пользователей с WinNT, и с тех пор повторяют регулярно. Также начинаются проблемы с драйверами, их просто не будут делать под Win7.
Линукс вполне может стать альтернативой, если с играми будет более или менее нормально, то почему и не.
Ну и на счет нормального железа и «пофиг»: весь ненужный хлам занимает память, а постоянно работающие ненужные сервисы лишь почем зря греют воздух, пожирая заряд батареи.
Ответ 107416002336099215845@google на комментарий
А я не собираюсь пользоваться «некоторым софтом», все что мне нужно для работы дома, есть в разных вариантах на всех доступных сейчас ОС, включая андроид.
ОС это инструмент, а инструмент должен быть удобным тому, кто им пользуется. На этом все.
Дальше можно не читать.
Ответ 101213634604024129943@google на комментарий
из статьи в консоль, я что зря 8 часов потратил на описание каждой команды?
Линукс всегда был системой для энтузиастов, да и в странах СНГ в школах/учагах/универах учат только винде, поэтому понимание найти сложно.
так, а зачем ставить мусор-то? К тому же, Гном — это вообще не для игровых ПК, если уж на то пошло. Если нужно минимум отдавать на DE, то уж ставить XFCE или вообще что-то минималистичное, но никак не Гном.
>> Выбор ядра, zen, ибо оно быстрее.
Это ядро для AMD процессоров, а в статье у Вас Intel. Zen заточен под AMD, на Интел-CPU ему делать абсолютно нечего.
>>Zramswap
Вы пишете статью про повышение производительности, но при этом отказываетесь от свопа в самом начале, и далее размещаете недосвоп в ОЗУ, которое еще при этом сжирает время CPU на работу, и тем самым труды по перекомпиляции ядра под Ваше железо теряет смысл, так как Вы тратите лишние тики на работу Zramswap. К тому же, свопа надо не менее 1 размера ОЗУ.
>>CFLAGS и СXXFLAGS в параметры native
Если уж перекомпилировать под свое железо, то native не всегда подходит, нужно выбирать конкретный march.
>>Nvidia, Intel
А в статье то и дело проскакивают рекомендации для Radeon\AMD. Зачем?
>>sudo nano /etc/mkinitcpio.conf # Приводим строчки, как на скриншоте.
>>MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
Это вообще не про микрокод!
>>sudo pacman -S amd-ucode iucode-tool (AMD) # Установить микрокод.
Для AMD-CPU не нужна iucode-tool, так как iucode-tool предназначена для манипуляций с микрокодом Intel-CPU.
Также, для компиляции своих пакетов с помощью make надо менять команду make на
make -j$(nproc)
(использование всех доступных ядер при компиляции)
Или make -j4
(использование 4 ядер, вставьте сколько не жалко ядер для компиляции).
Уверяю, процесс пойдет быстрее.
Ну и также, в статье есть много опечаток
С минимально возможным количеством телодвижений для типового игруна, и максимально доступной производительностью и совместимостью.
Кстати, SteamOS что-то так и не взлетела.
потому, что основа выбрана не верная.
Мышь с переходом на GTK3 кушает теперь неотличимо от других DE больше, а также имеет ужасную поддержку со стороны производителей видеокарт, что выливается в невозможность пофиксить тиринг.
2. Zramswap нужен не только для маломощных систем с малым количеством оперативной памяти, обращение происходит к файлу подкачки, что находится в оперативной памяти и является динамически изменяемым и выгружаемым, так как большинство приложений не очень хочет сбрасывать свои данные в рам это повышает отзывчивость системы в не зависимости.
3. Мне подошло.
4. Просто пропустите этот шаг если у вас другая видеокарта и я не говорил, что это микрокод — включино лишь из-за параметров запуска ниже.
5. Заблуждение, при установке с этим инсталлером нужен — ибо имеет баг.
6. Я в курсе, но при включении nproc некоторые пакеты теряются в последовательности установки и привет баг.
8. В рот я шатал опечатки, я 8 часов потратил на неё и 6 прогонов через нейронную сеть.
Пс — автор вообще-то дальше просит установить lqx ядро.
Про какую последовательность установки пакетов идет речь, если речь изначально идет про компиляцию исходников?
>>2
Вы неверно понимаете принцип работы и назначения swap. При чем тут малое кол-во ОЗУ? Если приложение использует анонимные страницы памяти, то они и сбрасываются в своп. Если нет, то на нет и суда нет. Это как минимум. Скорости особо своп в ram не прибавит, а вот лишнюю ОЗУ отберет, и лишние тики.
>>5
При чем тут инсталлер ОС, если действия по микрокоду делаются уже на установленной системе и из установленной системы?
>>В рот я шатал опечатки
Очень плохо, товарищ:)
>>Мышь с переходом на GTK3 кушает теперь неотличимо от других DE больше
Да ну? Xfce в целом как DE потребляет в районе 300мб. Но опять же, если речь про игровую платформу, то имеет смысл, как я сказал выше, сделать минималистичнее.
Да ускоряет, проверено на многих тестах и это не обычный zram
Давайте запускать игры из иксов.
Проверил. А что я должен увидеть? Pacman при установке amd-ucode не требует iucode-tool, никогда не требовал.
>>это не обычный zram
Пусть будет так :)
>>Давайте запускать игры из иксов
А что, кроме Гнома, Голых иксов и XFCE нет ничего? Можно поставить i3, openbox и прочее, цель-то — запускать игры. Если не хочется копаться с настройками, то LXDE вполне подходит.
При пересборки не подхватываются без переустановки.
самая лучшая ОС в мире™ тоже не умеет работать без костылей в ж*пе?
А anon-pages куда деваются-то? Производительность будет падать из-за устаревших анонимных страниц, которые будут забирать место у более важных задач. Начинается совокупная конкуренция за память. Хоть это Винда, хоть Линукс, хоть, господи, Солярис.
При чем тут ДОС? Просто брякнули, лишь бы брякнуть? :)
Если память не нужна, то она должна метиться как доступная, если нужна — то не свопиться пока есть доступная.
ДОС — это ОС, странно, что Вы этого не знаете.
Ну, печально, что Вы не знаете, зачем предназначен swap или раздел подкачки. Рекомендую прочитать, узнаете много нового.
>>ДОС — это ОС
Ухтыж, как. Ок. Напишите статью, как Вы в ней выполняете ежедневные задачи :)
Пруфы для слабаков, джентльмены верят на слово)
2) Никто не сможет уличить тебя в подтасовке, если не давать никаких цифр;)
Возможность наделять однопоточные игры многопоточностью — например сталкер будет показывать больше фпс используя все ядра центрального процессора, а не крутиться на 1.
Программы скомпилированные с нативными флагами, будут запускаться быстрее.
Ядро оптимизированное лишь под ваши модули ( этого нет в гайде, но могу помочь) будет запускаться в разы быстре из-за того, что не будет вынуждено тянуть лишнии модули.
Гайд был не в смысле легкая установка, гайд был в смысле легкая устанока следуя шагам основанных на опыте автора.
https://anarchyinstaller.gitlab.io/
Добавить комментарий