Настройка ubuntu для игр

Обновлено: 04.07.2024

Могу ли я играть игры в Linux? Это один из самых часто задаваемых вопросов среди людей, которые собираются перейти на Linux. Игры часто выделяются как отдельная возможность Linux. Некоторые люди даже интересуются, смогут ли они слушать музыку и смотреть фильмы в Linux. Учитывая это, вопрос о возможности играть в Linux кажется вполне резонным.

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

Можно ли играть в игры под Linux?

Да - вы можете играть на Linux, и нет - вы не можете играть во все игры в Linux. Есть много популярных игр в Linux: Counter Strike, Metro Last Light и т д. Но вы не сможете играть во все последние игры, вышедшие для Windows, например, ту же PES 2020.

Причина этому, на мой взгляд то, что Linux занимает менее 2% доли рынка настольных PC. Эти цифры очень сильно снижают мотивацию производителей игр делать версии для Linux. Есть очень большая вероятность, что лучшие игры года, не будут доступны для Linux. Но не расстраивайтесь, есть и другие способы запуска игр в Linux, о которых мы поговорим позже. Сейчас давайте рассмотрим, какие игры для Linux бывают.

Я их разделяю на четыре группы:

  • Нативные игры
  • Игры Windows в Linux
  • Браузерные игры
  • Консольные игры

Начнём с родных, нативных игр.

1. Где взять нативные игры для Linux

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

Как видите, Linux для развлечений не так уж и непригоден, как может показаться, и игры всё-таки есть. Но возникает следующий вопрос: где же их взять? Рассмотрим несколько источников, где вы можете скачать нативные игры для linux:

Steam

Install-Steam-Ubuntu-11

Steam - это цифровая платформа для распространения видеоигр. Так же как и Amazon - платформа для распространения книг, а Itunes - музыки. Здесь вы можете покупать, устанавливать и играть в многопользовательские игры, а также общаться с другими клиентами сервиса. Все игры защищены с помощью DRM. В Steam вы можете найти тонны игр от уровня ААА до небольших инди проектов.

Несколько лет назад игровая платформа Steam объявила о поддержке Linux, и это было большой новостью. Она означала, что у игровой индустрии серьезные планы на Linux. Valve создала собственную игровую консоль, основанную на Linux, а также свой дистрибутив Linux - SteamOS. Это заставило разработчиков портировать множество игр для Linux. Об установке и настройке Steam вы можете прочитать в отдельной статье - Установка и использование Steam


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

Portable Linux Games


Itch.io


Если вы ищите нативные инди игры для Linux, то ресурс itch.io вам отлично подойдёт. Здесь вы можете получить огромное количество как платных, так и бесплатных игр. На страницах игр есть ссылки на загрузку исполняемых файлов для Linux.

Репозитории программ

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

2. Как играть Windows игры в Linux

Wine-Linux

До сих пор мы говорили только о родных играх для Linux. Но их не так много. Если быть точным, то самые популярные игры доступны только для Windows. Поэтому возникает вопрос, как же играть в Windows-игры под Linux?

С помощью таких программ, как Wine, Phoenicis (ранее известный как PlayOnLinux), CrossOver, Lutris и GameHub вы можете играть во множество популярных игр Windows в Linux.

Steam Play


Если вы уже использовали Steam для того чтобы играть нативные игры для Linux, вы можете попробовать запустить Windows игры с помощью технологии Steam Play. Она реализует прослойку совместимости для Windows игр и основана на Wine с добавлением нескольких дополнительных библиотек и технологий.

Wine - это прослойка совместимости между Windows приложениями и операционной системой, позволяет запускать Windows-игры в Linux, BSD и MacOS X. С помощью Wine можно запускать не только игры, но и огромное количество Windows-программ.

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

CrossOver

Crossover - это улучшенная версия Wine, с профессиональной технической поддержкой. Но в отличие от Wine, CrossOver не бесплатен. Вы можете приобрести годовую лицензию на программу. Каждая покупка способствует разработке Wine и поддержке им большего количества игр и программ. Цена годовой лицензии около $10.

GameHub


Программа GameHub представляет из себя центр приложений, позволяющий устанавливать игры из различных источников, например, Steam, GoG или Humble Bundle. С помощью неё вы можете управлять всеми своими играми в одном месте. Кроме нативных игр поддерживаются такие прослойки совместимости для Windows игр как Wine и Proton.

Lutris


Программа Lutris очень похожа на GameHub, только поддерживает намного больше источников. К ним относятся: Origin, Uplay, Epic Games и другие. С этой программой играть в Linux становится проще, к тому же программа очень популярна среди многих пользователей. Перед тем как её использовать посмотрите официальный список поддерживаемых игр.

Phoenicis PlayOnLinux


PlayOnLinux тоже основан на Wine, но устроен немного по-другому. У него есть графический интерфейс и пользоваться им намного удобнее, чем Wine. Так же, как и Wine, PlayOnLinux бесплатный. Поддерживаемые игры можете посмотреть на официальном сайте.

3. Браузерные игры

Chrome-Web-Store

Наверное, можно и не писать, что есть тонны игр на основе браузера, в которые можно играть в любой операционной системе, будь то Windows, Linux или MacOS. У многих мобильных игр есть свои браузерные аналоги.

Кроме того, благодаря Google Chrome Web Store, вы можете играть в некоторые игры как в родные под Linux. Эти игры установлены как отдельное приложение и будут доступны из главного меню вашего Linux-дистрибутива.

4. Консольные игры

nSnake_Linux_terminal_game

Ещё одно преимущество Linux - вы можете использовать терминал, чтобы играть в игры. Я знаю, это не самый лучший способ, но время от времени весело поиграть в простенькие игры, такие как змейка или 2048 в терминале. Здесь уже есть небольшой обзор консольных игр для Linux.

Выводы

Я думаю, что это всё, что вам нужно знать, чтобы начать играть в Linux. Если вы всё ещё сомневаетесь, устанавливайте Linux рядом с Windows. Используйте Linux как основную систему и запускайте Windows, когда хотите поиграть. А теперь меня интересует ваше мнение. Играете ли вы в игры под Linux? Какие ваши любимые? За какими блогами следите, чтобы оставаться в курсе игровых новостей?

На десерт сегодня довольно старая, но милая реклама Linux. Be Free! Be Linux!

Первый и самый очевидный способ. В свежие версии драйверов и компонентов графического стека, вносятся новые оптимизации, устраняются недоработки и так далее. Для 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

sudo apt install openbox

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

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

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

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

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

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

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


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


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

На мой взгляд, именно Steam и Lutris предлагают максимально современные и легкие решения для запуска игр. В качестве примера, поиграем в World of Tanks и World of Warships на Ubuntu 19.04.

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

С появлением DXVK (библиотеки основанной на Vulkan, позволяющей транслировать 3D приложения (игры) Direct3D 10/11), и как следствие Steam Play (Proton) – установка многих игр в Линукс стала почти такой же легкой как и в Windows.

Содержание

Запуск Windows игр в Linux с помощью Lutris

Lutris – сервис с игровым приложением, предоставляющий автоматизированные, настроенные скрипты для установки игр.


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

Установка Lutris в дистрибутивы на основе Ubuntu

Для корректной работы Lutris, разработчики рекомендуют предварительно установить Wine (версию Staging). Установить Wine в Ubuntu можно по инструкции официального сайта: Installing WineHQ packages

Для Ubuntu подобных дистрибутивов добавляем репозиторий Lutris:

Для лучшей производительности необходимо установить последнюю версию видеодрайвера и библиотеки Vulkan.

Пользователям видеокарты Nvidia нужно добавить репозиторий с новыми драйверами и затем удобным способом установить последнюю версию драйвара:

Выбрать драйвер можно с помощью встроенной утилиты Программы и обновления – Дополнительные драйверы.

Если видеокарта поддерживает Vulkan API, то устанавливаем необходимые библиотеки (скорее всего они уже установились при установке видеодрайвера. Проверить, если видеокарта поддерживает Vulkan можно по ссылке: Vulkan API):

Пользователям видеокарт AMD / Intel (Ubuntu 18.04 и выше):

Установка игр в Linux с помощью Lutris

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

Найдя игру, выбираем (если доступно) редакцию скрипта с нужным нам сервером (например для World of Tanks это будет RU DXVK version). Нажимаем на Install. В качестве примера будет показана установка игры World of Tanks в Ubuntu 19.04.


Ссылка откроется в установленном приложении Lutris, нам предложат установить игру. Нажимаем на Install.


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


Затем откроется полноэкранное окно, в котором будет осуществляться установка игры. Не пугаемся, с помощью клавиш ALT+TAB можно вернуться в рабочее окно.


Запустить установленную игру можно как из программы Lutris, так и из списка установленных приложений.

Аналогично установил игру World of Warships в Ubuntu 19.04.


Именно в Ubuntu столкнулся с проблемой, при которой курсор мыши в игре не позволял делать обороты около 180 градусов. Ранее устанавливал игру в окружениях KDE и Cinnamon (Linux Mint), такой проблемы там нет. Если курсор вывести нажатием на CTRL, то можно захватить другие обороты мыши. Решение: переключение отображения игры в оконный режим.

Устанавливаем Windows игры в Linux с помощью Steam (Proton)

Для совместимости игр с операционными системами GNU/Linux, компания Valve разрабатывает проект Proton (Steam Play), который в свою очередь состоит из различных наработок, таких как Wine, DXVK, esync. Подробнее почитать о Steam Proton можно в нашей статье: Steam Play улучшает поддержку Windows-игр для Linux.

Информация о качестве поддержки Windows игр в Steam Proton доступна по ссылке: ProtonDB.

Для включения опции Proton, нам необходимо открыть Steam – затем Настройки – Steam Play – и включить доступные опции.


Версию Steam Proton стоит выбирать самую актуальную, т.е с большим номером.

Дальнейшая установка игр ничем не отличается от установки в системе Windows. Steam Play автоматически произведет нужные настройки для установки игры.


Сравнение производительности видеокарты Nvidia Geforce 1060 в Ubuntu 19.04 и Windows 10

Сравнение проводилось на ноутбуке с видеокартой Nvidia Geforce 1060 (6 ГБ) и процессором Intel® Core™ i7 8750H. Операционные системы Windows 10 1903 (build 18362.10019), версия видеодрайвера NVIDIA GeForce Game Ready 436.15 и система Ubuntu 19.04 с версией видеодрайвера 430.40 (самый актуальный в репозитории ppa:graphics-drivers).

World of Tanks

Танковые сражения в World of Tanks в Windows 10 показывали от 115-130 fps до 150-165 fps, в зависимости от игровой сцены.


В Ubuntu 19.04 от 100 до 120 fps. Настройки Высокие, sd клиент.


World of Warships

В морских сражениях World of Warships в Windows 10 производительность держалась от 65 до 75 fps.


В Ubuntu 19.04 игра World of Warships показала производительность от 60 до 70 fps, но периодически сильно проседала до 25 fps. Настройки высокие, hight клиент.


Обе игры в Ubuntu были установлены с помощью Lutris.

War Thunder

Также, с интересом проверил производительность видеодрайвера в игре War Thunder. В Windows 10 игра была установлена с помощью нативного клиента, а в Ubuntu 19.04 с помощью Steam (нативная версия).

В морских сражениях в War Thunder в Windows 10 отображался fps от 65 до 85, в воздушных боях около 100 fps.


В Ubuntu 19.04 варьировался fps от 35-55 в морских сражениях и 75 fps в воздушных.


Версия из Lutris, использующая DXVK, в Ubuntu 19.04 показала fps от 50 до 75 в морских сражениях и 60 fps в воздушных.


Знаю, что разработчики War Thunder тестируют версию с использованием библиотек Vulkan. Не тестировал её, но уверен, что производительность будет значительно выше, чем у нативной версии, использующей OpenGL.

Euro Truck Simulator 2

В симуляторе Euro Truck Simulator 2 производительность в Windows 10 отображалась от 85 до 120 fps.


В Ubuntu 19.04 производительность игры ETS 2 варьировалась от 55 fps (в редких случаях) до 110 fps. В обоих случаях были использованы настройки Ультра.


Как видим, производительность игр в Linux уступает Windows 10, но при использовании библиотек DXVK и Vulkan разница гораздо меньше, чем при использовании OpenGL. В любом случае это прорыв для пользователей Linux: доступных игр стало гораздо больше, а их установка стала максимально простой.

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


Многие, кто приходит на Linux, часто используют свою систему как и игровую платформу. В большей степени эта заслуга блогеров, работающих в этом направлении (Plafon, gamer station [on linux] и других) и популяризирующих Linux как игровую платформу. Но нечасто эти блогеры говорят о действительно стоящих инструментах для гейминга на Linux. Какие программы помогут улучшить игровой опыт? Сколько ваших игр поддерживает Linux? Какие клиенты доступны? На все эти вопросы я постараюсь дать исчерпывающий ответ в этой статье подробно описав все нюансы игрового опыта

Steam Proton

Самый известный инструмент для Linux — Steam Proton. Наверняка, многие из вас хотя бы раз слышали о нём. Если нет, то Proton (Steam Proton, Valve Proton) — это слой совместимости для Windows-игр, который позволяет запускать их в системах на базе ядра Linux.

Proton разработан Valve и CodeWeavers как форк популярного инструмента Wine, но включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базеvkd3d), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.

Для увеличения производительности многопоточных игр поддерживаются механизмы «esync» (Eventfd Synchronization) и «futex/fsync». Proton интегрирован в клиент Steam как часть «Steam Play».

Помимо официального Steam Proton существуют также его форки, например популярный форк от GloriousEggroll — Proton-GE-CUSTOM

GameMode

Следующий известный инструмент — GameMode от компании Feral Interactive (та, что портировала некоторые части серии GRID, F1, Tomb Raider, XCOM, Total War). По сути это демон (в Linux так называются аналоги служб Windows) для systemd который в автоматическом режиме оптимизирует ОС (разгон процессора, разгон видеокарты, расстановка приоритетов процессов и т.д.)

CoreCTRL

CoreCtrl — приложение, которое помогает создавать профили для разных приложений и оптимизирует под них оборудование. Поддерживается регулировка частоты центрального процессора и видеокарт AMD. Функционалом очень напоминает AMD WattMan

RyzenController

RyzenController — инструмент оверклокинга для мобильных процессоров Ryzen cо встроенной графикой. Интерфейс написан на Electron и React

MangoHUD, GOverlay, vkBasalt

GOverlay — это проект с открытым исходным кодом, целью которого является создание графического интерфейса пользователя для конфигурации оверлеев Vulkan/OpenGL.

vkBasalt — это слой постобработки Vulkan для улучшения визуальной графики игр.

GreenWithEnvy — инструмент для оверклокинга видеокарт NVIDIA

JoyShockMapper

JoyShockMapper — инструмент для использования 3-х осевого гироскопа в геймпадах DualShock 4, Nintendo Joy-Con controllers, и Nintendo Switch Pro Controller. На данный момент программа для Linux (только в рамках Steam Input) недоступна, однако она на стадии подготовки

Piper

Piper — графический пользовательский интерфейс для настройки игровых мышей. Параметры конфигурации включают в себя изменение разрешения (DPI) мыши, добавление и удаление профилей, настройку LED-подсветки и изменение поведения кнопок.

Oversteer и pyLinuxWheel

Oversteer и PyLinuxWheel — аналогичные проекты по управлению гоночными рулями Logitech

Полезные программы

Discord — известный геймерам мессенджер с возможностью видеосвязи и демонстрации экрана. Он также есть и для Linux

Open Broadcaster Software (OBS) — программа с открытым исходным кодом для записи видео и ведения трансляций, используется часто профессиональными стримерами. Есть версия для Linux

Minigalaxy — клиент GOG для Linux с обновлением игр и поддержкой DLC, написан на Python с очень простым и понятным интерфейсом

GameHub — клиент для игр, который поддерживает библиотеки Steam, GOG, Humble Bundle. Добавлены слои совместимости для игр с Windows — Wine и Proton

HeroicGamesLauncher — игровой лаунчер, который синхронизируется с вашей библиотекой Epic Games. Служит графическим интерфейсом для Legendary — консольного клиента Epic Games. Интерфейс разработан профессиональным дизайнером и написан на Electron и React

Полезные сайты

Радар релизов Feral Interactive — раздел сайта компании Feral Interactive, занимающиейся портированием игр под Linux (macOS и для мобильных устройств). Судя по портфелю тайтлов, выпущенных этим гигантом для Linux, сайт заслуживает ваше внимание

Читайте также: