Разработка под Steam Deck без девкита

Под катом вольный перевод статьи от Valve, опубликованной на портале для разработчиков игр в Steam.

Оригинал здесь.

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

Разработка под Steam Deck без девкита

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

Кроме того, рассылаемые девкиты всего лишь прототипы розничных устройств. В них нет никакого дополнительного железа или программного обеспечения, способного облегчить разработку. Для получения точного представления о том, как ваша игра будет работать на Steam Deck, вы можете использовать доступное оборудование. Итак, давайте рассмотрим методы тестирования по пунктам и обратим внимание на основные вещи, которые будут искать наши тестировщики в вашей игре.

Устройства ввода

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

Это легко проверить. Просто подключите геймпад к своему компьютеру и сыграйте в игру. Использование контроллера от PS4 или PS5 полностью покроет все типы ввода на Steam Deck (включая трекпад и гироскоп). Xbox controller, Steam controller и Switch Pro controller тоже подойдут. В процессе игры обратите внимание на моменты, где вам нужно использовать клавиатуру или мышь. В этих местах тестировщики отметят, что геймпады не имеют полной поддержки.

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

Разработка под Steam Deck без девкита

Дисплей

Ваша игра должна поддерживать разрешение по умолчанию в Steam Deck (1280 x 800 или 1280 x 720) и отображать разборчиво текст на 7 дюймовом дисплее.

Для того, чтобы это проверить, вы можете попробовать следующее. Для начала поставьте разрешение вашей игры 1280 x 800, чтобы убедиться, что она работает. После этого попробуйте уменьшить окно игры до 7 дюймов от вашего монитора, чтобы увидеть читаемость текста. Дополнительные очки тому, кто догадается, как сделать это всё одновременно.

Или вы можете попробовать (если хотите) купить маленький монитор, которые имеет схожие характеристики с дисплеем в Steam Deck. Мы смогли найти маленький 7-дюймовый монитор с разрешением 1280 x 800 на Amazon за 73$ (прим. Переводчика: около 5’321 рублей)

Мы не смогли найти банан, так что вот банка для демонстрации масштаба
Мы не смогли найти банан, так что вот банка для демонстрации масштаба

Любой монитор, который поддерживает 720p даст вам представление о том, как ваша игра будет смотреться в таком размере и разрешении. Напоминаем, что не обязательно покупать монитор — это просто ещё один способ проверить игру.

Совместимость с системой

Это самая сложная часть, с точки зрения разработки «в домашних условиях», потому что лучший способ узнать, как ваша игра будет работать на Steam Deck с Linux в основе — протестировать в среде с Linux.

Вам необходимо установить Linux на компьютер, скачать Steam и запустить свою игру через Proton (или не запускать, если у вас есть нативный билд под Linux). Вам не нужно бежать и покупать новый ПК, вы можете установить Linux на одном из разделов вашего диска в своём рабочем компьютере. Тем не менее, лучше иметь иметь отдельный диск под систему с Linux. Если вы используете уже существующий ПК, то вам придётся постоянно перезагружаться между этапами тестирования и разработки.

Мы установим дистрибутив Manjaro, который основан на дистрибутиве Arch, и схож с тем, что используется на Steam Deck. Мы выбрали KDE Plasma, потому что эта же среда рабочего стола поставляется со Steam Deck. Всё это создаёт почти идентичную систему для тестирования системной поддержки, в сравнении с окружением операционной системы на Steam Deck.

Разработка под Steam Deck без девкита

Шаг 1: Создайте загрузочный диск

  1. Для начала нам нужно создать загрузочный диск, чтобы установить Manjaro. Зайдите на этот сайт и скачайте образ KDE редакции от Manjaro (это бесплатно). Первая ссылка для скачивания прекрасно подойдет.

  2. Затем вам нужно с помощью программы создать загрузочный диск. Я использовал Rufus (тоже бесплатно).

  3. И наконец, вам нужна флешка (4 ГБ или больше). Вставьте её, запустите Rufus и используйте скачанный ISO образ с Manjaro для создания загрузочного диска.
Разработка под Steam Deck без девкита

Шаг 2: Установите Manjaro

  1. Вставьте загрузочный диск в ПК, перезапустите компьютер и зайдите в параметры запуска. На разных компьютерах будут разные клавиши, но на моём компьютере для этого используется F7.
  2. Запустите систему с установочного диска Manjaro (Manjaro USB DRIVE).
  3. Следуйте инструкциям установки. Здесь достаточно простой установщик, который даёт возможность создавать разделы на диске, если вам это необходимо.
  4. Когда вы закончите, вас выкинет на ваш рабочий стол KDE. Он выглядит очень знакомо: панель задач, меню Пуск, оконные приложения и т.п.

Разработка под Steam Deck без девкита

Шаг 3: Установите Steam

  1. Мы почти закончили. Осталось установить Steam. Преимущество Manjaro — Steam уже предустановлен.
  2. Просто откройте меню Пуск и найдите Steam в категории «Игры».
  3. Запустите Steam и после его обновления войдите в свой аккаунт.

Шаг 4: Включите Proton для всех игр

  1. Нам нужно включить Proton с помощью одного пункта в Настройках.
  2. Заходим в Настройки -> Steam Play и включаем Steam Play для всех игр. По умолчанию стоит значение Proton Experimental.
Разработка под Steam Deck без девкита

Шаг 5: Протестируйте свою игру

  1. Установите игру и сыграйте в неё.
  2. Если тестируете с контроллером (что следует делать) зайдите в режим Big Picture чтобы получить доступ к внутриигровому оверлею и настройкам.
  3. Поиграйте в игру, чтобы проверить поддержку Proton.
Разработка под Steam Deck без девкита

Разработка

Постоянные обновление и установка билдов из Steam — это не самый удобный способ работы, поэтому мы создали программы для работы с билдами. Но для их использования вам необходимо иметь ПК с Linux отдельно от вашей рабочей машины.

Мы сделали доступными SteamOS Dev Kit Client и SteamOS Dev Kit Service. Эти инструменты теперь бесплатны для скачивания в Steam. С их помощью вы сможете загружать билды, писать и просматривать логи, дебажить свой билд — в целом работать намного быстрее чем через SteamPipe.

Всё, что вам нужно — скачать SteamOS Dev Kit Client на ваш рабочий ПК, скачать SteamOS Dev Kit Service на компьютер с Linux. Запустите их и подключите рабочий компьютер к ПК с Linux. Ссылки для скачивания и ресурсов для изучения этих инструментов вы можете найти здесь.

Разработка под Steam Deck без девкита

Производительность

И последнее — производительность. Если вы хотите найти ПК для тестирования, который будет схож по производительности со Steam Deck (опять же, это необязательно для тестирования), то здесь есть несколько вариантов. Наша команда нашла mini-pc на Amazon, который схож по характеристикам со Steam Deck:

  • AMD Ryzen 7 3750H
  • Radeon RX Vega 10 Graphics
  • 16GB of DDR4 RAM
Разработка под Steam Deck без девкита

Команда считает, что если игра хорошо работает на этом mini-pc при разрешении 1280 x 800, то она точно будет хорошо работать на Steam Deck. По сравнению со Steam Deck пропускная способность у видеокарты меньше, но процессор немного мощнее. Этот mini-pc не такой мощный, как Steam Deck, но он лучше всех подходит из всех доступных для покупки в данный момент.

Этот mini-pc стоит $660 (прим. Переводчика: около 48’113 рублей) на Amazon, но можно найти и другие. Просто ищите CPU / GPU с похожими характеристиками. В идеале это должен быть AMD чип и карта Radeon для максимального сходства со Steam Deck.

Всё вместе

Наконец, если вы хотите проверить всё выше описанное за раз, то можете собрать всё вместе. Установите Manjaro на ПК со схожими характеристиками, подключите к нему маленький монитор и контроллер — и вы устроили себе небольшой hackendeck*. С таким оборудованием вы сможете одновременно протестировать устройства ввода, дисплей, совместимость с системой и производительность.

Фото было сделано, когда бананы ещё были
Фото было сделано, когда бананы ещё были

Опять же, вы не обязаны всё это делать, чтобы протестировать свою игру для Steam Deck. Вы можете просто проверить с уже имеющимся подходящим железом. Просто помните, что производительность и отображение на мониторе могут отличаться.

Предостережение насчет системы под Linux

Steam Deck работает не на Manjaro, а на другой операционной системе, поэтому всё специфичное для Steam Deck: например, композитор gamescope и пользовательский интерфейс** — не может быть протестировано. В скором времени мы подготовим образ Steam Deck, который вы сможете использовать на своих тестовых машинах для работы со всеми специфическими функциями. Когда мы его выпустим, у вас появится более подходящее окружение для тестирования.

* - понятия не имею, что значит hackendeck. Я пытался найти инфу, но безрезультатно

** - вообще в оригинале было написано «gamepad-ui». Возможно имеется ввиду замена Big Picture в качестве интерфейса на Steam Deck, а может какие-то конкретные элементы интерфейса для использования их трекпада.

7676
44 комментария

понятия не имею, что значит hackendeckТут скорее всего игра слов со steam deck, типа устройство, похожее на него.
Как macintosh и hackintosh.

50
Ответить

Спасибо валв за гайд по установке линукса

25
Ответить

Комментарий недоступен

9
Ответить

а где его купить можно?

Ответить

То что Уебунта была послана, это было само собой разумеющимся.
Предсказуем и выбор Маньяры, она более стабильна чем Гурада, Харка и другие уродцы.
Одного не пойму - почему КДЕ, ведь по их фунциклированию на сабже были вопросы даже у черлида кед!
И ОЗУ оно ест от 1Гб, и видеопамяти больше 800мб!
Только из-за популярности КДЕ в народе?

2
Ответить

Не гном - уже хорошо.
Возможно, из-за того, что в KDE уже всё есть. А при характеристиках дека разницы в производительности на разных DE всё равно не будет.
Manjaro они посоветовали, потому что Арч установить разработчикам, которым в принципе нужно такое руководство, будет сложно, а Манжаро - проще некуда, но работать будет так же.

7
Ответить

Ооо, манжарка с кедами, уважаемо.
Я хоть и не разраб, но как пользователю их выбор для сравнения приятен.
Жду не дождусь steam os 3.0 что бы накатить на свою пеку.

4
Ответить