Новая портативная консоль Valve. Разбор платформы SteamOS

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

В последние дни интернет заполнился новостями о выходе новой портативной консоли «SteamPal» от Valve. Действительно ли Steam хорошая платформа для портативных игр или «SteamPal» ждет очередной провал?


Во время интервью в Новой Зеландии, Гейб Ньюелл, глава Valve, неоднозначно ответил на вопрос о выходе игр Steam на консолях, что породило огромное количество статей о появлении очередной консоли от Steam, и совсем недавно разработчик steamdb.com рассказал о неком SteamPal и готовящихся «SteamPal Games».  На Reddit один из пользователей даже назвал характеристики готовящегося устройства, однако это может оказаться фейком.

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

Начинка

Если верить «слухам», то внутри будет APU от AMD, с графикой на микроархитектуре RDNA2. И это отличная микроархитектура, которая в производительности на ватт выигрывает у Ampere.

Учитывая что у AMD отлично развит открытый видеодрайвер mesa, немалый вклад в который сделала Valve, разработав компилятор шейдеров ACO, за аппаратную поддержку можно будет не переживать.

Что касается производительности, Aya Neo (портативная консоль на Ryzen 4500U c Vega 6) показывает неплохой результат в Doom Eternal (60-90 fps на 1280x800 на минимальных настройках графики), в GTA V (в районе 70 fps), однако на ноутбуке, где у этого чипа больше простора за счет более вместительного корпуса, а следовательно и хорошего охлаждения, в той же GTA V выдает в среднем 46 fps 900p на средних. 


Так же было представлено устройство One Xplayer, в которое инженеры установили решение конкурента (i7-1185G7 с графикой iRIS Xe Graphics 96EU), и в ноутбуке этот показывает в среднем 47 fps/900p на средних.

Хоть для портативного устройства, эти параметры определенно являются победой, учитывая что Nintendo Switch показывает куда более скромные результаты (Doom Eternal 30 fps/(540-720p) на низком пресете графики), эстетам требующим как минимум 1080p при 60 кадрах на ультра в GTA V,  этого будет недостаточно, даже если новый чип покажет 50% прирост производительности от существующих решений,

Что касается батареи, то достигнуть результата Switch (от 2.5 до 6.5 часов игры), навряд ли окажется проблемой, даже ранее указанные устройства, по заверениям представителей, способны работать от 6-8 часов во время игры.

Цена

Наряду с отсутствием игр на SteamOS, цена была один из самых главных факторов провала Steam Machines. На данный момент портативные ПК стоимостью от 600$ не могут запустить GTA V в заветных 1080/60/ultra, в то время как более дешевые представители работают еще хуже. Однако Valve может себе позволить продавать устройства в небольшой убыток, ведь эта корпорации владеет самым крупным магазином видеоигр на ПК и если цена будет в 399$, устройство может стать одним из самых успешных проектов Valve.

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

Steam как платформа

Если рассматривать Steam как платформу на ядре Linux можно выделить огромное количество как плюсов, так и минусов.


Поскольку софтверная часть скорее всего будет развитием существующей SteamOS, многие уже начали предрекать провал, но Linux-гейминг за последние 5 лет настолько развился, что вполне может быть полноценной игровой платформой наряду с Windows.

Нативные игры, игры которые скомпилированы под Linux изначально, появляются не так часто, а порой с заметной задержкой, тем не менее среди тысячи самых популярных игр в Steam, 21% имеет нативную поддержку.

Для всего остального на помощь приходит Proton, оболочка над Wine, позволяющая запускать Windows игры в Linux среде, и все что Valve рекомендует делать разработчикам, это использовать Vulkan, который местами работает быстрее DirectX 11/12 (раз, два, три), и избегать «инвазивых» DRM. Что есть уже сейчас: более 14тыс работающих игр, из которых более 3 тыс работают из коробки. Последние крупные релизы, вроде Biomutant, Resident Evil Village и Days Gone, так же работают.

Но как написано выше из 14 тыс, из коробки работаeт около 21%, а значит для всех остальных придется делать какие-либо манипуляции. Хоть Proton уже и не настолько сырой продукт, как пару лет назад, развивать его придется еще достаточно долго, а учитывая насколько издатели любят все сломать, идеальным он станет не скоро.

Стоит отметить что огромное количество мультиплеерных игр не работает, потому что они используют крайне агрессивные античиты, которые прописываются в ядро Windows, и поскольку wine является интерпретатором, а не эмулятором, необходимых для работы античита функций он не имеет, но в такие игры как Overwatch, Dota, GTA Online, RDR Online вы все еще можете поиграть.

И даже учитывая все эти проблемы, раз появился раздел «SteamPal Games», значит Valve, будет контролировать выборку игр для консоли, и нерабочие или требующие дополнительной конфигурации не будут отображаться. А учитывая что разработчики EAC работают с Valve, к выходу устройства проблемы с античитами уже может и не быть.

Steam Big Picture и система в целом

SteamOS — это Steam Big Picture запущенный без окружения рабочего стола операционной системы. За счет этого система умещается в 500 мб RAM, что для пользователей Windows 10 просто недостижимая цифра.

Steam Big Picture уже сейчас выглядит отлично на небольшом экране благодаря тому, что этот режим изначально разрабатывался для телевизоров, где важны крупные шрифты и различимые элементы интерфейса.

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

Гибкость инструментария

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

Несмотря на то что Steam в основном развивается только для продуктов (на альтруизме тысячи сотрудников не прокормить), Valve все же оставляет простор для любителей что-нибудь модифицировать. Так, например, в Steam можно с лёгкостью превратить RPCS3, PPSSPP, Dolphin или YUZU в отдельную оболочку для запуска игр, что является огромным плюсом, особенно это касается эмуляторов других портативных консолей. Написав небольшой сервер для модификации vdf с кастомными ярлыками, вы сможете добавлять игры с другого ПК, даже не притрагиваясь к консоли, а благодаря сервису вроде steamgriddb можно подобрать обложки для кастомных игр.

Для того чтобы сделать оболочку для эмулятора потребуется создать всего 3 файла, которые необходимо разместить по пути $HOME/.steam/steam/compatibilitytools.d/yuzu (пример для yuzu, под другие эмуляторы путь и файлы нужно отредактировать):

Нажмите, чтобы развернуть

compatibilitytools.vdf:

"compatibilitytools"<br />{<br />  "compat_tools"<br />  {<br />    "yuzu" // Для смены названия в стим, нужно изменить тут <br />    {<br />      "install_path" "."<br /><br />      "display_name" "yuzu" // и тут<br /><br />      "from_oslist"  "windows"<br />      "to_oslist"    "linux"<br />    }<br />  }<br />}

toolmanifest.vdf:

"manifest"<br />{<br />  "version" "2"<br />  "commandline" "/wrapper %verb%"<br />  "use_sessions" "0"<br />}

wrapper:

#!/bin/bash<br /><br />shift 1<br />exec yuzu -f -g "$@" // тут нужно изменить название эмулятора и флаги

После чего, вы без проблем сможете выбрать соответствующую оболочку в Steam:

Пример с YUZU
Пример с ppsspp
Игры в Steam Big Picture с добавленными обложками

Для быстрого добавления игры в библиотеку, нужно написать небольшое GUI приложение для редактирования shortcuts.vdf, но лучше это оставить для отдельной статьи. 

Для тех кому это интересно. 

Shortcuts.vdf расположен в $HOME/.steam/steam/userdata/STEAM_ID/config/shortcuts.vdf, а информацию по байтам файла можно найти на сайте valvesoftware

Так же c помощью launch options можно добавлять свои прослойки вроде steamtinkerlaunch или gamemoderun для быстрого конфигурирования игр или просто для увеличения производительности и отзывчивости игр, за счет повышения частот cpu и gpu.

Заключение

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

Несмотря на слухи, появление консоли может не состояться в принципе, но автор будет очень рад, если консоль увидит свет.