Как повысить фпс в играх на линукс
Перейти к содержимому

Как повысить фпс в играх на линукс

  • автор:

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.052 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Оптимизация Linux для desktop и игр

В этой статье я хочу поделиться почти 10-летним опытом использования Linux на домашнем компьютере. За это время я провел много экспериментов над ядром, испробовал различные конфигурации для разных применений и теперь хочу все это систематизировать в длинный пост с рекомендациями как выжать из linux максимум и добиться отличной производительности, без необходимости покупать мощное железо.

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

Хоть я и пообещал, что после прочтения этой статьи, можно будет играть в Metro 2033 на калькуляторе (шутка, такого не будет), все же она начнется с рекомендации купить кое-что из железа, если у вас этого еще нет.

1. Купите SSD, если у вас его еще нет

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

Серьезно, все что описано дальше в статье даст вам какой-то прирост в производительности и времени отклика, но любой, даже самый дешевый SSD, сократит время запуска большинства программ до 0, что, визуально, будет очень заметно. Почти в любом компьютере (и сервере) главный тормоз это всегда дисковая подсистема и никакой HDD никогда не даст вам нужной скорости поиска (которая у SSD стремится к 0 мс). За все время общения с компьютерами и их апгрейда, только переход на SSD дал значительный прирост в скорости работы и отклике. Помните как медленно работают дискеты, какое у них огромное время поиска? Примерно вот так воспринимается жесткий диск после SSD.

Так что если у вас еще нет SSD, то продолжать дальше смысла нет, ваш компьютер (хоть даже оснащенный 12-ядерным Xeon’ом) все равно будет работать медленно, так что вперед за покупками.

Касательно надежности: есть миф что SSD умирают спустя год. Его рождению мы обязаны первым SSD на бажных чипах SandForce. Естественно, любой новый SSD из магазина как минимум надежнее и долговечнее современных жестких дисков, так что не стоит беспокоиться по этому поводу вообще. Свой SSD я купил 2 года назад б/у, на то время он был в использовании год. Сейчас у него 11 681 часов наработки и использование ресурса 10%, так что при том же режиме использования, мне его хватит еще на 27 лет. Думаю, к этому времени технологии хранения данных уже несколько раз изменятся. Так что повторюсь, проблемы с надежностью более чем надуманы.

Более подробно о мифах SSD расписал товарищ Вадим Стеркин в своём блоге. Правда, блог у него о Windows, но сути это не меняет. Настоятельно советую почитать, очень интересно.

В Ubuntu 14.04 SSD работают из коробки, опция discard автоматом прописывается в fstab, кроме этого больше ничего не нужно делать.
В других дистрибутивах нужно проверять, есть ли эта опция у разделов на SSD. Стоит упомянуть, что данную опцию поддерживает только ext4. Для других ФС придется пользоваться fstrim из планировщика.

2. Таблица разделов

Не делите диски на разделы.

Для домашнего компьютера это бессмысленно и вредно. На SSD у вас должен быть один раздел для корня, там у вас будет хранится система и все данные. На HDD (если нужен) у вас должен быть один раздел с точкой монтирования в /mnt (у меня /mnt/data), где будут хранится большие малоиспользуемые данные (фильмы, музыка, игры). НЕ НУЖНО делать HDD точкой монтирования /home, так как в /home 99% программ хранит свои данные и постоянно к ним обращается, поэтому /home должен быть на SSD.

Повторюсь кратко: на SSD у вас должно быть все, к чему система постоянно обращается (пишет/читает)!

Не слушайте вредных советов по вынесению таких данных на HDD, как уже было сказано проблемы износа SSD нет, это миф, и большое число циклов записи вообще не влияет на долговечность SSD. Еще раз отсылаю к стате Вадима Стеркина, там это все описано более подробно и подкреплено объяснениями.

Насчет SWAP-раздела: он вам не нужен. Если у вас не хватает оперативной памяти, то OOM-killer будет прибивать ресурсоемкие приложения, если это происходит то докупите оперативки, благо ее цена не сильно кусается. Использование swap как расширителя оперативной памяти значительно замедляет работу компьютера. Есть много мнений, что без SWAP будут какие-то проблемы, но ИМХО, корни эти разговоров растут от Win9x и на сегодня это уже мифы, лично я не замечал никаких проблем от отказа от SWAP. Как пруф: на VPS сейчас редко увидишь подключенный SWAP и работают же как-то!
suspend-to-disk вам тоже не нужен, потому что холодный старт с SSD быстрее чем восстановление из спячки с HDD, так что пользуйтесь suspend-to-ram или выключайте компьютер полностью. Единственный плюс от свапа — возможность уйти в гибридную спячку, это когда система готовится к suspend-to-disk, но выполняет suspend-to-ram, так что позже, если все хорошо, идет простой выход из спячки, а если произошел сбой питания — то система восстановится с диска.

Я использую везде файловую систему ext4, так как с другими мне не удалось получить заметной разницы в производительности, а ext4 наиболее распространена, плюс имеются утилиты для восстановления данных (но не надейтесь на них, а делайте бэкапы). При создании используйте -T largefile или largefile4.

3. Используйте 64-битное ядро

От производительности оперативной памяти мало что зависит, от нее не увеличится FPS в играх и не станут быстрее запускаться приложения. Использование 64-битных приложений тоже не дает никакого прироста для обычных задач, только для очень специфичных математических расчетов и операций архивирования. Также, использование 64 ядра не требуется для адресации более 4 ГБ памяти, PAE позволяет адресовать до 64 ГБ памяти на 32 битной системе.

Но используя 64-битное ядро, приложения могут адресовать больше чем 4 ГБ памяти, что довольно полезно, так как иначе может возникать ситуация когда OOM-killer будет прибивать программы, хотя оперативки еще достаточно. Также на 64-битной системе можно адресовать сразу же всю физическую память, на 32 битной же все что выше ~800 МБ надо постоянно ремапить, что несколько снижает скорость страничного обмена, хотя, как я уже сказал, это особо не влияет на скорость работы.

Еще замечал эффект, что OOM-killer может прибивать процессы, которые вроде бы еще не заняли 4 ГБ. У меня такое было с некоторыми играми. Проблема решилась переходом на 64 бита. Так что без 64-битного ядра уже никуда, хоть это и добавляет небольшие накладные расходы на использование памяти.

4. Используйте патсет pf-kernel

pf-kernel — это набор патчей для ядра linux, собранные украинцем Александром Наталенко (pfactum) направленные на улучшения desktop-experience linux-систем.

  • Патчсет -ck с BFS
  • BFQ I/O scheduler
  • TuxOnIce
  • UKSM

Для установки, я качаю с kernel.org необходимую версию ядра без стабилизационнх патчей и накладываю на него pf-kernel. В общем случае это выглядит так:

cd /usr/src wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz tar -xf linux-3.12.tar.xz cd linux-3.12 wget https://pf.natalenko.name/sources/3.12/patch-3.12.4-pf.bz2 bunzip2 patch-3.12.4-pf.bz2 patch -p1 < patch-3.12.4-pf 

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

Вот, например, скриншот htop при работе Dota 2 + The Sims 3 (multiseat):

image

При такой нагрузке на третьем экране можно спокойно работать и 25% (в 5-минутном окне по данным load-average) перегрузка CPU даже не чувствуется. Хотя, конечно, проц надо менять 🙁

5. Тюнингуйте ядро!

В ядре по умолчанию используются не очень оптимальные параметры, обусловленные историческим предназначением linux для серверов и доступности для отладки.

Так что делайте make xconfig

Я расскажу о наиболее важных опциях для оптимизации

Выключаем preemption, устанавливаем низкую частоту таймера и выключаем dynticks!

ДА! Мы действительно, даже вопреки документации к BFS отключаем «жизненно важные» опции для повышения отзывчивости системы. А причина в том что они — устарели, толку от них никакого и к тому же preemption негативно влияет на производительность.

Было время, когда у меня был одноядерный процессор, тогда еще в готовых ядрах не включали preemption и высокочастотный таймер, вот тогда, после включения этих опций был огромный эффект. А именно, тяжеловесное приложение, занимающее 100% CPU, даже при наличии дискового ввода-вывода и нехватке ОЗУ никак не влияло на интерактивность и отзывчивость. В те времена, еще кроме WinXP ничего не было, а подробно рассказывать как ужасно себя ведет XP в таких ситуациях, думаю, не надо, она обычно намертво виснет, заставляя тянуться к кнопке reset. Так что иметь систему, которая почти никогда не тормозит и не зависает было приятно.

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

Так что идем в Processor type and features и выбираем для параметра Preemption Model значение No Forced Preemption (Server). Не пугаемся фразы «ocasional longer delays are possible» потому что данную проблему у нас эффективно решает BFS и многоядерный процессор. Как и написано в описании, мы выигрываем в «raw processing power».

Также, в целях оптимизации, для параметра Processor family выберите свой процессор.

Далее, устанавливаем для параметра Timer frequency значение 300 HZ. 100 все же будет маловато, да и смысла особого нет (читайте в описании почему), но вы можете поэкспериментировать. Также, 300 Гц нацело делится и на 25 и 30, что является типичными частотами для видео, это вносит свой вклад в борьбу с тирингом (это из хелпа. По факту, с тирингом успешно борется только тройная буферизация + vsync).

В этом разделе есть немало интересных опций, посмотрите, например можно выключить hot-plug для cpu и памяти, так как на десктопе это просто невозможно сделать (а выключать-включать на лету ядра редко кому нужно).

Так как у меня не ноутбук, я выключаю все что связано с энергосбережением, то есть к примеру выключаю поддержку CPU Frequency scaling вообще.

Теперь отключим динамический таймер. Не уверен точно, так как не проверял конкретно, но похоже именно эта опция приводит к постоянным «подергиваниям» на некоторых видео и особенно в играх. Так что идем General setup -> Timers subsystem и для опции Timer tick handling выбираем Periodic timer ticks (constant rate, no dynticks).

По умолчанию BFQ выключен и его надо включить а также выбрать используемым по умолчанию.

Идем Enable the block layer -> IO Schedulers включаем опции BFQ I/O scheduler и BFQ hierarchical scheduling support, для опции Default I/O scheduler выбираем, очевидно, BFQ.

6. Prelink

Можно предварительно связать с исполняемыми файлами динамические библиотеки, что позволяет еще более уменьшить время запуска приложений. По этой теме есть отдельная статья от peter23.

7. Заключение

Самое главное, что я всегда замечаю — после наложения патчсета и тюнинга ядра уходят «подергивания» в играх. Чем слабее железо, тем заметнее эти подергивания, хотя у меня есть подозрения что это все же какая-то проблема в драйверах nVidia, потому что разные версии ведут себя по-разному.

Ради пруфов решил провести тесты с помощью Geekbench 3 из Steam и gputest, результаты которых немного странные:

3.14-pf:
Single-Core Score 2421
Multi-Core Score 8209
gputest: 3720 pts, 62 FPS

3.13-generic:
Single-Core Score 2646
Multi-Core Score 8414
gputest: 3713 pts, 61 FPS

Windows:
Single-Core Score 2572
Multi-Core Score 8242
gputest: 3634 pts, 60 FPS

Как видно, почему-то на «оптимизированный» вариант в тесте CPU набирает меньше попугаев, а в тесте GPU — больше. Только сейчас я заметил что тестировал разные ядра, возможно в этом и причина различий результатов. Как будет время, проведу эти же тесты на 3.16, надеюсь, удастся найти причину. Самое же веселое тут в том, что у Windows результаты хуже, особенно в 3D значительно.

Блог начинающего линуксоида.

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

Самый популярный PPA-репозиторий со свежайшим графическим стеком. Соответственно, используете вы его на свой страх и риск, так как в нём нет ничего стабильного. В этом репозитории находятся свежие версии Xorg, Mesa, свободных графических драйверов и так далее. Подключение:

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update && sudo apt-get upgrade

В этом репозитории находятся более стабильные, но одновременно свежие версии свободных графических драйверов, которые также имеют поддержку Wine Gallium-Nine и многое многое другое. Подключение:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update && sudo apt-get upgrade

Proprietary GPU Drivers

Данный репозиторий - новичок, но настоящий must have для всех, у кого видеокарта Nvidia. Здесь находятся самые свежие версии проприетарного драйвера для этих видеокарт. Подключение:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

Далее откройте менеджер драйверов, и там выберите желаемую версию драйвера

2) Установка патченого ядра.

В некоторых ситуациях, увеличить производительность игр, помогает установка модифицированного ядра. К примеру ядро Linux-RT (ядро реального времени), на моей конфигурации. дало мне прибавку в 12 FPS в некоторых играх. Данное ядро есть в стандартных репозиториях Ubuntu, и ставится командой:

sudo apt install linux-image-rt

Также положительный эффект могут дать ядра PF-Kernel и Zen-Kernel, о которых я говорил в недавней заметке.

3) Потоковая оптимизация (только для Nvidia с проприетарным драйвером).

Nvidia - лучший друг Линуксоида, когда речь заходит о 3D и играх. И начиная с драйвера версии 310, в нём появилась возможность серьёзно увеличить производительность, включив многопоточный рендеринг. По умолчанию данная опция не включена, так как есть приложения, которые не работают с ней (например игра Metro Last Light). Включить эту опцию можно следующими способами:

  • Вручную: в терминале командой export __GL_THREADED_OPTIMIZATIONS=1 ;
  • Автоматически при запуске системы: открыть файл /etc/profile и в конец вставить строку __GL_THREADED_OPTIMIZATIONS=1 ;
  • Запускать приложение с этим параметром: например __GL_THREADED_OPTIMIZATIONS=1 steam , либо в самом Steam указать данную опцию в параметрах запуска игры: __GL_THREADED_OPIMIZATIONS=1 %command%

4) Запуск в отдельном X-сервере (или в отдельных иксах).

Это давний способ увеличить производительность игры, а также решить проблему со сворачиванием игры (не все они нормально сворачиваются, некоторые перестают работать. В прочем, для Windows проблема также актуальна). Для этого:

sudo nano /etc/X11/Xwrapper.config

Меняем параметр allowed_users=console на allowed_users=anybody и сохраняем. Это нужно для того, чтобы можно было запускать X-сервер от пользователя, а не root. Далее необходимо добавить себя в группу audio, иначе звука в отдельных иксах не будет:

usermod -G audio -a имяпользователя

Далее редактируем файл ~/.Xauthority, для этого в консоли:
xauth
list

Увидим что-то вроде

blind.local:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb
[fe80::204:61ff:fe9e:c083]:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb
blind/unix:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb

Буквенно-цифровое окончание будет другим.
Пишем там же, вставив своё значение:

add :1.0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb

Запуск производится следующей командой:

xinit /путь/до/исполняемого/файла/игры $* -- :1

Например: xinit /usr/games/steam $* -- :1

Запустится отдельная сессия X, и запустится указанное приложение. Переключение обратно в режим рабочего стола производится комбинацией Ctrl+Alt+F7, вторые иксы будут (в моём случае) на F2. Альтернативный вариант: переключиться на любую свободную консоль (F1-F6), залогиниться, и запустить приложение командой:

startx /путь/до/исполняемого/файла/игры -- :1

Однако такой способ неудобен тем, что в случае если игра имеет лаунчер, или какие-то дополнительные окна при запуске, будут проблемы с их отрисовкой. Да и запускать это всё руками как-то муторно. Исправить эту проблему поможет любой легковесный оконный менеджер. Например Openbox. Устанавливаем:

sudo apt install openbox

Теперь создаём файл:

и туда записываем:

startx ~/.steamxinitrc -- :1

у вас запустится оконный менеджер Openbox, из которого вы уже можете запустить любое приложение. Если вы хотите, чтобы например Steam стартовал автоматически при запуске Openbox, сделайте так:

mkdir ~/.config/openbox
touch ~/.config/openbox/autostart
nano ~/.config/openbox/autostart

Сохраните. Теперь Стим будет запускаться автоматически, а вы можете легко перключаться между сеансами. ВНИМАНИЕ: у себя в KDE на Debian 8, я обнаружил баг, при котором после перехода в основные иксы и обратно на дополнительные, появлялись сильнешие графические артефакты в некоторых играх, а сам Стим отрисовывался кусками. Способа решения проблемы я не нашёл. Если вы знаете - напишите в комментариях, я добавлю в статью.

Соответственно, вместо Steam, вы можете добавить PlayOnLinux, если запускаете виндовые игры через него

5) Отключение графических эффектов (композитинга) для полноэкранных приложений.

Если вы используете KDE или Cinnamon, рекомендую отключить полноэкранный композитинг. В KDE: Параметры системы - Эффекты - Дополнительно - Поставить галочку на "Отключить графические эффекты для полноэкранных окон"

Для Cinnamon: Настройки - Общие - Отключить композитинг для полноэкранных окон

Вот и всё. Конечно это не избавит от проблемы кривых портов игр. Там уже вина разработчика игры. Но тем не менее, всё описанное здесь, неоднократно проверено и даёт весьма нехилый прирост производительности. Приятных игр!

P.S. если вы знаете ещё способы, или хотите что-то добавить - пишите в комментариях.

[ГАЙД] Установка и оптимизация 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. С вами был Павел, еще увидимся.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *