пятница, 5 февраля 2016 г.

Собираем собственную SteamOS на основе Ubuntu

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

А что может не устраивать? Например далеко не всем может понравиться графическое окружение GNOME, используемое в SteamOS в режиме рабочего стола. Убунтовская Unity тоже не всем по нраву, но ведь есть Xubuntu, Kubuntu, Lubuntu и так далее. Поэтому вы вольны выбрать графическое окружение, которое лучше подходит вам. Я для примера возьму обычную Ubuntu с Unity, так как она наилучшим образом подходит для экрана телевизора, и Xubuntu, где используется простая и нетребовательная графическая среда Xfce, которая любима очень многими и очень удобна на обычном компьютере.

Наш игровой дистрибутив будет содержать свежие версии ядра и графических компонентов (драйвера, Xorg, Mesa), несколько игровых эмуляторов, пару полезных утилит, опционально Wine+Playonlinux.

Итак, скачиваем нужный вариант дистрибутива (только 64 бит), и устанавливаем как обычно.

Если вы устанавливали систему без подключения к интернету, то вам необходимо русифицировать её и установить обновления:

sudo apt-get update && sudo apt-get dist-upgrade
sudo apt install language-pack-gnome-ru-base language-pack-gnome-ru myspell-ru

или же русифицировать систему в меню настроек. Чтобы немного увеличить отзывчивость системы, установим lowlatency-ядро:

sudo apt install linux-image-lowlatency linux-headers-lowlatency

Далее подключаем несколько необходимых PPA-репозиториев:

Свежие иксы, mesa и так далее:

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

Свежие проприетарные драйверы для видеокарт Nvidia:

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

Откройте менеджер драйверов и установите самую последнюю предлагаемую версию драйвера Nvidia.

Simple Screen Recorder - утилита для записи с экрана:

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder

OBS - Open Broadcast Software, утилита для записи и стриминга игр (и прочего, что происходит на экране) на такие сервисы, как Twitch. В Ubuntu 14.04 прежде всего необходимо установить FFmpeg (в 16.04 не нужно):
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update && sudo apt-get install ffmpeg

Теперь подключаем репозиторий OBS:

sudo add-apt-repository ppa:obsproject/obs-studio

PCSX2 - эмулятор консоли Playstation 2:

sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa

Dolphin Emu - эмулятор консолей Nintendo GameCube и Wii:

sudo add-apt-repository ppa:dolphin-emu/ppa

Wine - слой совместимости для запуска приложений Windows:

sudo add-apt-repository ppa:ubuntu-wine/ppa

Если вы планируете играть в Minecraft или другие игры, написанные на Java, то вам понадобится, собственно, Java. Можно обойтись открытым OpenJDK, но бывает что в нём некоторые игры тормозят. В таком случае можно установить проприетарную JDK от Oracle. Обычно её нужно скачивать с официального сайта, распаковывать и так далее. Но ребята из Webupd8team создали PPA с весьма удомным установщиком Oracle JDK. Внимание. Перед установкой Oracle JDK, удалите OpenJDK:

sudo add-apt-repository ppa:webupd8team/java

Теперь устанавливаем ВСЁ:

sudo apt-get update
sudo apt install steam simplescreenrecorder simplescreenrecorder-lib:i386 obs-studio pcsx2-unstable dolphin-emu-master pcsxr wine1.8 winetricks playonlinux oracle-java8-installer ubuntu-restricted-extras

Ждём когда всё это добро установится, а затем перезагружаемся. Проверяем работу всех установленных приложений. Steam, при первом запуске, скачает необходимые компоненты (около 300 мегабайт). Для возможности запуска Steam в режиме BigPicture прямо с рабочего стола, создайте ярлык:

sudo touch /usr/share/applications/steam-bigpicture.desktop
sudo nano /usr/share/applications/steam-bigpicture.desktop

со следующим содержимым:

[Desktop Entry]
Name=Steam BigPicture
Comment=Run Steam in BigPicture mode
Exec=/usr/games/steam -tenfoot -enableremotecontrol %U
Icon=steam
Terminal=false
Type=Application
Categories=Network;FileTransfer;Game;
MimeType=x-scheme-handler/steam;
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;
Keywords=Games


Ярлык появится в меню приложений, откуда его можно будет перетащить на рабочий стол. Что касается полноэкранной сессии BigPicture - то тут не всё так просто. Запустить её на экране входа в систему легко, но вот корректно вернуться в режим рабочего стола.....я пока работаю над этим. Уже есть кое-какие результаты, о которых сообщу позднее и дополню статью. Хотя, можно поместить вышесозданный ярлык в автозагрузку, и после загрузки системы, Стим запустится в режиме BigPicture.
Для эмулятора PCSX2 понадобится файл BIOS с оригинальной консоли. Скачать можно тут. PCSXR - это эмулятор первой Playstation. Вообще, в Линуксе очень много эмуляторов игровых консолей. Так что при желании, вы можете обеспечить себя играми со множества платформ. Вот что получится в итоге:




Вот, собственно, и всё. Теперь у вас есть своя "SteamOS", которая будет одинаково пригодна и для консоли Steam Machine (или просто медиацентра), и для десктопа. В дополнение можно установить медиацентр Kodi (бывший Xbmc), дабы получить ещё больше мультимедиа возможностей. Вы также можете подключить репозиторий самой SteamOS, и поставить оттуда, скажем, ядро. Но делать этого я не рекомендую. Всё же там всё собирается под Debian 8, и можно поломать зависимости или вывести систему из строя. Если у вас есть ещё какие-либо идеи и пожелания - пишите в комментариях.

Ссылки:

Увеличение игровой производительности в Linux
Во что поиграть в Linux 

4 комментария:

  1. В итоге от обычной ubuntu с клиентом steam отличаться будет только lowlatency-ядром,я так понимаю.Каков в таком случае будет выйгрыш в производительности?

    ОтветитьУдалить
    Ответы
    1. Во первых будут всегда самые свежие графические драйвера и прочий графический стек. В SteamOS с этим проблемы, там только дрова обновляют, и то не часто. Во-вторых - не теряется функционал нормального десктопа. SteamOS использовать на десктопе проблематично. В третьих - все прелести Убунты, в виде изобилия софта и PPA-репозиториев. Кстати выйгрыш в производительности ещё будет благодаря оконной системе Ubuntu - Compiz может отрубаться во время запуска игры, в отличии от гномьего Mutter

      Удалить
    2. Ну убнту ведь не только с юнити бывает.Было бы интересно посмотреть сравнение производительности различных дистров и различных окружений одного дистрибутива.
      И грядёт же вейлэнд у окружений гнома и кед(кстати ситуация с кедами в убунту до сих пор не понятна)и мир в юнити на замену xorg - этот фактор так же должен отразиться на производительности графики.

      Удалить
    3. Сравнение окружений провести можно. А вот что касается Wayland и Mir: первый наболее (но не полностью) готов только в Гноме, второй в наличии только в Ubuntu, и пока не готов для десвтопа. Плюс ко всему - нет поддержки этого добра в проприетарных драйверах. Потому пока такое сравнение отложим до лучших времён. Я мог бы провести сравнение на свободных драйверах, если бы у меня была видеокарта от AMD. Что же ксается ситуации с KDE в Ubuntu - всё нормально. Пакеты обновляются, хотя и медленно, плюс создан отдельный репозиторий KDE Neon, где будут выкладывать тестовые сборки из гита, для Убунты.

      Удалить