Играясь со Steam Deck

Ну... В общем да, Steam Deck.

Кажется, только ленивый не написал пост или сделал видео про Steam Deck. Я ленивый, так что у меня ушло около полугода на написание поста (остальное время ушло на игры со стим деком, кхм).

In English

Всё самое необходимое

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

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

Тут ещё вот какая штука: не так уж много-то и нужно настраивать на Деке. Вот краткий гайд:

  • Steam Deck запустит мои любимые игры? Скорее всего да, если они есть в стиме. Если нет — можно поискать информацию в гугле (по запросу "Название Игры Steam Deck") и там наверняка найдутся инструкции, как игру запустить или заставить работать, если есть проблемы. Большая часть игр работает без каких-либо проблем, какие-то требуют небольшой дополнительной настройки. Больше всего проблем с онлайн-играми, использующими какие-нибудь анти-чит системы, которые (пока) не поддерживают Linux в полной мере.
  • При чём тут Linux? А вот так вот, Steam Deck работает на Linux-based операционной системе. Так что щапускаются те игры, у которых есть Linux-версия, ЛИБО Windows-версия запускается через прослойку совместимости Proton (ну или другую прослойку, если захочется). Что работает на Linux, то должно работать и на Деке.
  • А как играть? Устанавливаешь и играешь.

Это всё, что надо знать.

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


Почему Steam Deck

Вообще я очень долго ждал Steam Deck. Были слухи о таком устройстве ещё в 2012, потом были Steam Machines (первая попытка в "консольный" гейминг со стороны Valve) и Steam для Linux. Получилось не очень, но на этом всё не закончилось. Linux версия Steam продолжала активно обновляться, Valve активно вкладывались в разработку ядра Linux и прослойки совместимости Wine, а позже и вовсе сделали свою (Proton).

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

Но дело не только в портативном гейминге и Valve.

Вот в чём штука: очень долгое время моей основной ОС были различные вариации Linux, к тому же я уже какое-то время искал какой-нибудь портативный ПК, который можно было бы использовать и для игр (ну точнее как, изначально я вообще хотел, чтобы можно было доту запустить, а остальное не важно), и как портативную рабочую станцию.

Мои поиски привели меня к нескольким девайсам для разных целей, но два из них, которые я серьёзно рассматривал к покупке, были Microsoft Surface и GPD Win Max.

Это конечно интересная комбинация, but hear me out. Изначальная идея была взять "лёгкий и переносимый" ноутбук. Думая в этом направлении я быстро пришёл к мысли о покупке Surface, потому что было бы прикольно иметь такой вот планшет-трансформер, с которым можно лечь играть в кроватку и играть в Artifact после работы. Но я всё ещё не был уверен, что хочу его купить, и изучал другие варианты: чтобы и портативный ПК был при себе, и "игровая машинка". Всё ещё думаю взять себе Surface однажды, но сейчас не уверен, что мне нужен.

В конце концов я бросил идею покупки планшета-трансформера для подобных нужд, но мне всё ещё хотелось взять что-то портативное, и идея с GPD Win Max мне понравилась. Мне хотелось что-то переносимое, достаточно мощное для доты, но при этом дающее мне полную свободу действий в пользовании устройством.

Surface, Aya Neo and GPD Win Max 2 (и Steam Deck, разумеется)

И Steam Deck не только оказался устройством из той же категории, но также отличной покупкой по соотношению цены-качества. И лучшая часть всего этого —  возможность использовать в качестве полноценной портативной рабочей станции в поездках. С полноценным Linux на борту можно делать очень много всего. И, да, в плане мощности и свободы действий GPD или Aya Neo были бы не хуже, но это был бы даже близко не тот уровень качества за намного большую цену.

Впечатления

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

Он выглядит немного "по-гиковски" уродливо, но мне нравится. Он здоровый (не настолько портативный, насколько хотелось бы, но он на удивление комфортно ощущается в руках. Экран... не лучший, но в ходе обычного использования это вообще не бросается в глаза. В каком-то смысле Deck — парадоксальное устройство. Всё в нём не должно работать, но работает, и делает это хорошо.

Одна из таких вещей — гейминг на Linux. Долгое время игры на Linux были чем-то из разряда легенд. Никто не ожидал, что полноценный гейминг на Linux может стать реальностью, но после того, как Valve начали показывать свой интерес в этом вопросе, экосистема начала стремительно развиваться. И сейчас, с Vulkan, VKD3D, нормальные драйвера для видеокарт и Proton, большая часть игр в целом работает без особых проблем. И для многих задач, не связанных с геймингом, тоже найдётся решение.

Немного впечатляющей статистики с ProtonDB: 84% из топ-1000 игр в стиме работают без каких-либо значительных проблем (или без них вовсе)

Это кажется ещё более странным в свете того, что Steam Deck в первую очередь является консолью (или скорее консолеподобным устройством). Гейминг на Linux обычно ассоциировался с ворохом проблем и сложными инструкциями, чтобы всё наконец заработало нормально (и скорее всего всё равно ничего не работало), в то время как консольный гейминг обычно ассоциировался с мантрой "всё просто работает". К всеобщему удивлению Valve смогли не только вревратить опыт игры на Linux и В ОСОБЕННОСТИ на Deck в что-то нечто простое, идущее как по маслу и приносящее наслаждение от игры.

Можно ещё поставить Windows на Deck (тут есть полезный гайд по теме), и это должно дать возможность играть в любую доступную игру, но я если честно не вижу в этом смысла. Устройство создано с оглядкой на Linux в первую очередь, пользовательский опыт отполирован настолько, что установка винды (со всеми её характерными проблемами и потерей ряда полезных фич) начинает казаться лишним усложнением. Возможно я однажды попробую накатить винду, но не в обозримом будущем, сейчас это просто прикольная опция в распоряжении.

Если говорить про память, как ни странно, microSD действительно оказывается очень быстрым решением, если конечно использовать карточку правильного класса (UHS-I U3, Class 10 отлично работает), так что стоит уделить внимание тому, какая карта памяти покупается. В целом, с microSD на 512 ГБ и SSD на 512 ГБ достаточно просто установить прорву игр, да ещё и останется место для всякой всячины. И грузиться всё будет с примерно одинаковой скоростью.

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

Ещё видел критику в сторону разрешения экрана, но вообще мне кажется так и должно быть. Deck может так хорошо справляться с запуском совершенно разных игр именно из-за достаточно "низкого" разрешения экрана. И его более чем достаточно на практике.

Конечно, как только захочется выйти из зоны комфорта стима, можно столкнуться с множеством проблем (да и в самом стиме некоторые игры могут работать с проблемами), но в конце-то концов это ведь Steam Deck, а не что-либо ещё Deck, правда? Ну, не обязательно, но к этому ещё вернёмся.

Самая лучшая часть касательно Steam Deck, о которой я постоянно слышу — собственно игра на устройстве. На Деке очень приятно играть, и от многих людей я слышал, что после приобретения палубы они начали игрть намного больше (особенно в игры из их библиотеки в стиме), уничтожая свой бэклог игр.

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

Моя статистика игры на Steam Deck к концу года. Числа не очень удивительные, учитывая, что в основном играю в доту, а Дек приехал ко мне ближе к концу года.

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

Играть на Деке — потрясающе, и это наверное лучший опыт от ПК-гейминга в массах. Наверное, пора учиться играть на нём в доту.

Штуки с аксессуарами

В плане аксессуаров и периферии у меня особо не было выбора. Большую часть из них я заказывал, когда дошла очередь до моего заказа (и сама посылка уже шла очень долго). Мне не очень хотелось ждать официальный док для Steam Deck (хотя врать не буду, хотел бы себе такой), но хотел найти себе что-то максимально похожее функционально.

В итоге я всё подбирал по видео LTT и поиску Amazon. Вот, что я в итоге себе взял:

  • USB-C Docking Station от OKX :  https://www.amazon.com/dp/B08F3JL4QN  —  Примечание: Вообще лучше док от JSAUX, но на тот момент у них не было версии с DisplayPort. Конечно, их M.2 Док для Дека выглядит очень круто (https://jsaux.com/products/m-2-docking-station-for-steam-deck-hb0604)
  • Docking stand (просто пластиковая подставка с резиновой подложкой): https://www.amazon.com/dp/B0B11P7M91
  • Простой резиновый чехол-бампер для Steam Deck: https://www.amazon.com/dp/B09ZXBYD56  — вообще сейчас есть альтернативы получше, ModCase от JSAUX выглядит лучше всего, как вариент ещё есть бампер от JSAUX и чехол с откидным стендом, они тоже хороши
  • Какое-то рандомное защитное стекло для Steam Deck — вообще очень пригодилось, ещё и встало как влитое в ямку с экраном, хотя конечно у экрана было антибликовое покрытие, вся польза от которого сошла на нет с блестящим экраном, так что рекомендую обращать внимание на защитные стёкла с антибликом
  • Наклейки для тачпадов в цветах портала — показались прикольными, но в итоге решил их не клеить

Дополнительно к этому у меня ещё было немного гаджетов, которые были куплены ещё до того, как до моего Дека дошла очередь:

  • Портативная клавиатура Gembird KBW-6 (в сложенном виде размером со смартфон, приходится очень кстати, когда в дороге)
  • Мышь Logitech MX Anywhere 2S (подключаю её по Bluetooth, использую как портативную мышь)
  • Клавиатура Logitech MX Keys Mini (ещё одна портативная клавиатура, но не на столько маленькая и намного более удобная)
  • Блок питания Choetech GaN PD8002 (аналогичный по характеристикам тому, что идёт с деком в комплекте)
  • Портативный монитор ASUS ROG Strix:  https://www.amazon.com/ASUS-Portable-Monitor-XG16AHPE-Renewed/dp/B09CV98KM5/  — часто использую его как дополнительный экран для моего ноута, палубы и дополнительный экран в дороге
  • ASUS ROG Strix Orion M.2 SSD Steel Case

Ещё было бы неплохо взять чехол-переноску для Дека, но в комплекте уже есть достаточно неплохой. Хуже всего тот факт, что зарядку в этот чехол особо не сложить, так как там толком нет отдела под аксессуары. И, ну, с защитным бампером и сумкой это всё уже занимает ну не так мало места, как хотелось бы (в моём случае половина основного отдела в рюкзаке).

Полезные штучки

Использовать браузер на Деке в игровом режиме достаточно просто. Стим даже предлагает установить и добавить браузер в библиотеку стима сам.

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

Что очень полезно, если нужно иметь, например, гайд под рукой. Или хочется послушать музыку или видео с YouTube.

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

Ну и на этом всё! Примерно настолько же просто всё будет и с альтернативными клиентами (вроде WebCord) или вообще любым приложением, вроде Konsole (терминалом), VLC плеером, VS Code, Telegram, LibreOffice, Thunderbird, Notion, Obsidian. Особенно хочется отметить персональную библиотеку и книгочиталку Calibre.

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

Да, да, я тоже люблю классику игростроя: Телеграм, Громоптиц, Видеолан и ВСКод

А, ну и ещё одна важная деталь, применимая ко всем приложениям, включая Discord. Если приложение при закрытии сворачивается в трей — ОТКЛЮЧИТЕ ЭТО, иначе рискуете с "зависшим" в фоне процессом, с которым ничего нельзя будет сделать.

Крутые штучки —  Epic Games, GOG, Emulation

Ну что же, возиться с тонкой настройкой, разными инсталлерами и всякими такими штуками — то, что делает возню с Deck такой весёлой.

Начнём с лаунчера Heroic, которому добавили поддержку игрового режима Deck и Steam. Этот лаунчер создан для игр из Epic Games и GOG на Linux. Он сильно упрощает загрузку и запуск игр из этих магазинов, заодно устанавливая для них нужные версии Proton и нужные компоненты. Сам я, честно говоря, не пробовал им пользоваться, не считая ряда игр с GOG, но слышал о нём достаточно, и в целом это очень полезный инструмент в арсенале.

Помимо этого запуск игр не из стима в принципе очень прост и удобен. Нужно просто добавить .exe файл как игру в стим и включить в настройках прослойку совместимости (proton). В большинстве случаев этого уже может быть достаточно, но иногда может понадобиться установить дополнительные компоненты и библиотеки. Steam делает это автоматически, а вот если делать это руками — всё немного осложняется, и нет одного универсального рецепта для всех игр. Впрочем, можно просто пойти, например, на WineHQ или сайт Lutris и поискать ответы на вопросы там.

Основное окно Heroic Game Launcher (с официального сайта)

Но больше всего интригует эмуляция на Steam Deck. Уже сам внешний вид и общий вайб устройства наводят на эту очевидную мысль.

И, ох, сообщество тут проделало отличную работу. С момента релиза Steam Deck появилось очень много крутых полезных инструментов для него. И большая часть из них может быть установлена вместе с эмуляторами, используя EmuDeck.


EmuDeck — скрипт, который может установить все эмуляторы, какие захочется, создаст структуру папок под игры, автоматически найдёт все игры (используя крутую утилиту Steam ROM Manager) и добавит игры в библиотеку Steam с красивыми обложками со SteamGridDB. Он даже может установить расширение для плагинов Decky, позволяющее расширить функицональность Steam Deck!

Steam ROM Manager (скриншот не мой, но как демонстрация работает)

Я не очень фанат эмуляции, но есть ряд игр, в которые мне бы хотелось поиграть, которые при этом не были портированы никуда (все из них я так или иначе приобрёл, но не могу или не хочу играть на оригинальном железе по той или иной причине). В моём случае это были некоторые игры с 3DS, XBox, Switch и она очень конкретная игра с Wii U.

Не очень трудно догадаться, что большая часть игр — серия The Legend of Zelda. Ocarina of Time 3D и Majora's Mask 3D мне кажутся лучшими версиями этих игр, но они находятся в заложниках на 3DS, и играть на мелком экранчике моей старой 2DS как-то вообще не прикольно. Зато они отлично себя должны чувствовать на Деке.

И, как омжно догадаться, Steam Deck справляется с эмуляцией на ура. Все старые платформы работают без каких-либо проблем, а самыми проблемными оказались Switch (Yuzu) и XBox (Xenia), но они становятся лучше с каждым днём. Лучше до степени, когда в Switch версию Breath of the Wild можно играть со стабильными 45 FPS (а то и вовсе 60, если очень хочется).

Впрочем, в случае с BotW лучшей версией игры оказывается вариант для WiiU с использованием CEMU, так как эта версия поддерживает кучу дополнительных улучшательств и бесчисленное количество модов от сообщества, а также без нареканий работает в 60 FPS (или хотя бы 40-45, если даже не пытаться что-либо настроить).


Одно примечание: если игра выглядит как-то странно пикселизированной — стоит для конкретно этой игры в настройках производительность выключить "Half-Rate Shading". Я заметил такую проблему как раз c CEMU и Dota 2.


И к слову о доте: это вообще была одна из первых игр, что я попробовал играть (наряду с Underlords, Artifact и Unreal) и... вообще играется неплохо? Ну то есть да, но не совсем. Вот в чём штука: я вообще большой фанат режима игры с геймпада в Доте, мне кажется он достаточно неплох. Но к такому управлению определённо нужно привыкать, по сути надо переучиваться делать все уже знакомые вещи заново, с новым управлением. Ну и ещё интерфейс не очень располагает к управлению с геймпада, так что изначальный пресет в любом случае надо будет подредактировать. На некоторых героях (например тех, которые требуют активных движений камеры) так очень тяжело играть — но вполне возможно.


Но в целом — работает отлично (и ощущается более естественно, нежели... другая дота-подобная игра тут, кхм). Конечно хотелось бы, чтобы в доте было больше одиночных режимов, они бы игрались идеально с таким управлением. Но даже игры с ботами ощущаются достаточно неплохо. Возможно однажды я буду играть матчи в турбо, находясь в дороге, когда привыкну к такому управлению. Впрочем, не рекомендую так играть реальные матчи, если только вы не готовы сесть и реально учиться так играть. Если хочется — лучше иметь при себе портативные мышь и клавиатуру, чтобы играть в доту с ними.

Ещё больше крутых штучек: Настройки, моддинг и улучшательства

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

Для начала про штуки-инструменты. Начнём с установки компонентов. Есть лаунчер для игр Lutris, который поддерживает интеграцию в кучу разных магазинов, имеет огромную библиотеку пользовательских скриптов и который за вас настроит и настроит всё, что нужно для игры. Главный недостаток Lutris — он не очень хорошо поддерживает Flatpak на момент написания. Но насколько я знаю уже есть бета, которая работает прекрасно, так что можно считать это универсальным решением для огромной части игр под Linux.

Основное окно Lutris (с официального сайта)

Можно спросить: а что ещё за флатпаки? Ну, вот в чём штука: у операционной системы есть свои библиотеки, встроенные программы и куча всякой всячины. У Linux нет какого-то единого набора компонентов (не считая утилиты из коллекции GNU), но большая часть дополнительных штук (начиная с рабочего стола, заканчивая драйверами для графики) устанавливается и управляется пакетами из репозиториев. Что-то вроде магазина приложений в других современных ОС, только тут это было уже много лет назад.

У всех этих пакетов есть пара общих проблем: они могут "сломать" систему, если пользователь не до конца понимает, что делает, и у них есть зависимости (другие пакеты, которые им нужны для работы). Проблема с зависимостями в том, что некоторые приложения зависят от конкретных версий компонентов, которые могут быть несовместимы с другими приложениями. И это уж не говоря о разных форматах пакетов! Что и приводит нас к Flatpak.

Флатпак — по сути очередное решение, похожее на магазин приложений. Но есть два важных отличия, которые нас волнуют. Во-первых, флатпаки работают как "контейнеры" и используют только те ресурсы, которые им разрешено использовать, а свои зависимости конкретных версий они держат рядом с собой, не конфликтуя ни с чем. Во-вторых, флатпаки устанавливаются в пространстве пользователя, то есть они никак не повлияют на систему и не сломают её. Это особенно важно на Steam Deck, потому что обновления приходят как полноценные образы системы, и сама система обычно находится в режиме только для чтения. Внести свои изменения можно, если хочется, но они сбросятся при следующем же обновлении. Так что устанавливать приложения в виде flatpak-пакетов из Discover — лучший вариант.

Ну и сама по себе натура флатпаков приводит к двум вещам: (1) некоторые крутые приложения, вроде Lutris, могут себя вести странновато и (2) приложения, вместе с их данными, не будут помещены в... привычные места. А ещё это значит, что порой придётся повозиться с дополнительными настройками тут и там, для чего может понадобиться приложение Flatseal.

UPDATE: До публикации поста успела выйти KDE Plasma 5.27 (окружение рабочего стола на Steam Deck). Вместе с кучей разных изменений также в настройках появилось управление разрешениями Flatpak, и это по сути функционально заменяет Flatseal. Так что высока вероятность, что и нужды в этом приложении больше не будет.

Flatseal

Flatseal помогает управлять дополнительными настройками, параметрами и разрешениями. Это очень полезная штука для тонкой настройки приложений или если возникает какая-то проблема (впрочем, все проблемы, что я успел встретить сам, были уже давно решены). Одна из проблем, с которой я столкнулся — тёмный режим не работал для некоторых флатпак-приложений, но фикс для этого вышел достаточно быстро.

Единственное приложение, которое не пофиксилось само — Google Chrome. Но он сам по себе был особым случаем. Для него надо было добавить особый файл ~/.var/app/com.google.Chrome/config/chrome-flags.conf с прописанными параметрами запуска:

--force-dark-mode --enable-features=WebUIDarkMode

После этого всё должно заработать нормально.

Ну и, конечно же, Lutris — не единственная штука, которая может помочь с запуском приложений вне стима. Ещё одним вариантом будет Bottles, хотя это и не настолько удобный вариант. В то время, как Lutris направлен на автоматическую установку и настройку по скрипту, Bottles просто создаёт контейнер для приложения ("Бутылку") и может даже установить ряд необходимых компонентов, но тут понадобится делать больше работы вручную и понимать, что вообще делаешь. 

Bottles

И при добавлении приложения в Bottles можно заметить особые версии Wine и Proton, которых нет в стиме. Тут-то и возникает самый подходящий момент, чтобы поговорить об альтернативных прослойках совместимости.

С точки зрения Steam Proton оказывается лишь одной из прослоек совместимости, которая уже встроена в сам Steam. А это значит, что можно установить и любую другую прослойку, если очень хочется. Есть альтернативные версии Wine и Proton (самые популярные — GE от GloriousEggroll) с рядом улучшательств и дополнительных функций, выделяющих одну версию на фоне другой. Но есть две особых прослойки, на которые стоит обратить внимание: Luxtorpeda и SteamTinkerLaunch.


Luxtorpeda — очень интересный проект. Он заменяет виндовые бинарники на нативные Linux версии для игры, если она поддерживается. Может даже заменить версию движка на open source, если она есть. Нативные версии оказываются очень кстати для игр вроде Unreal Tournament, у которых был официальный релиз для Linux много лет назад, но его не было в Steam. В случае с UT99 можно ещё и получить улучшенную версию игры с патчем OldUnreal.

Что же касается портов исходников, зачастую подобные версии игр добавляют много quality-of-life функций, улучшают графику и движок, при этом сохраняя полную совместимость с оригинальными играми. Хорошими примерами поддерживаемых игр будут The Elder Scrolls III: Morrowind (OpenMW), Doom 3 (dhewm3), Doom и игры на его движке(GZDoom), серия Quake, серия STALKER.

SteamTinkerLaunch делает немного иную вещь. Эта утилита упрощает тонкую настройку и делает это всё удобным, попутно добавляя управление модами для поддерживаемых игр.

Ну и помимо этого есть уже упомянутый Proton-GE (версия от сообщества), в которой есть ряд фиксов, которые ещё не были добавлены в основные версии.

Установить все эти прослойки можно через ProtonUp-Qt, там же можно настраивать версии Proton и выбирать конкретные версии для каждой игры.

Ну а для протона есть специально Protontricks: приложение, которое поможет настоить префикс протона (окружение для конкретной игры) точно так, как нужно, установит все дополнительные компоненты и прочие штуки.


Странные штучки: Игры, с которыми я возился

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

Одной из игр, интересовавших меня, стала Некая Аниме Игра. Вообще изначально из-за анти-чита казалось, что нет какой-то нормально возможности заставить её заработать, но как оказалось решение есть в виде An Anime Game Launcher. Там конечно есть нюансы, о которых стоит знать, но в целом из игравших на Linux ни у кого не было негативного опыта.

Аниме головного мозга

Ещё одной интересовавшей игрой стала Sonic Robo Blast 2. Я вообще очень люблю игры синим ежом, включая разнообразные моды и фанатские игры, так что естественным образом много возни пришлось именно на соникоигры.

С SRB2 всё было достаточно просто. Можно установить (неофициальную) Flatpak версию и накидать в /home/deck/.var/app/org.srb2.SRB2/.srb2/ все свои моды, ну и всё.

Ну... это действительно библиотека с играми, ничего не сказать

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

У меня установлено много фанатских игр про Соника, но что важно — у меня ещё очень много модов для Unreal и Sonic-игр. В обоих случаях игры серии собрали вокруг себя огромное сообщество моддеров и кучу улучшательств, так что естественно версии с модами оказываются лучшими версиями игр.

В случае с Unreal не было никаких осложнений. Я просто установил игры, а затем накатил моды. Ну, и ещё Luxtorpeda для нативных версий бинарников и улучшений движка. Наиболее интересным мне кажется случай с Unreal Tournament '99 и модом OldSchool'd, добавляющим поддержку для одиночных кампаний, включая оригинальные Unreal и дополнение Return to Na Pali. UT с этим модом по сути вытесняет Unreal Gold, особенно учитывая, что с ним также появляется возможность кооперативного прохождения.

Выбор одиночной кампании в Unreal Tournament '99 + OldSchool'd

Соникоигры сложнее. Тут нашлись пять игр, которые мне хотелось поиграть именно с модами: Sonic Adventure DX (чтобы протестировать один конкретный уровень, воссозданный на основе слитых версий из ранней беты), Sonic Adventure 2 (с модом "Modern SA2", улучшающим графику, баланс звука и геймплей), Sonic Heroes (с модом, похожим на Modern SA2), Sonic Forces (с Sonic Forces Reimagined, делающим основную кампанию игры похожей на игру) и Sonic Origins (с мелкими дополнениями к S3K).

Проще всего дело обстоит с Sonic Adventure и Mod Manager'ами для них. Тут всё сводится к замене оригинальных лаунчеров на загрузчик модов (это ещё можно сделать через SteamTinkerLaunch) и установке дополнительных компонентов (хотя я не помню, что устанавливал, а в интернетах пишут, что ничего и не нужно — но скорее всего какой-нибудь .NET Framework или типа того).

SteamTinkerLaunch

Сложнее всего было заставить работать Sonic Heroes с модами. Лучше всего добавлять в Heroes моды через приложение Reloaded-II, выступающего менеджером модов и своего рода платформой, поддерживающей множество разных игр, включая Persona 4 Golden, No Man's Sky и в теории вообще любую игру.

Загрузчик не работает из коробки, так что надо сначала добавить Reloaded-II в качестве стороннего приложения в Steam и попробовать запустить с прослойкой совместимости, чтобы было создано окружение. После того надо запустить Protontricks для этого приложения и установить .NET Desktop 7.0.0 x86 и x64, а следом VC2019 x86 и x64. После этого нужно найти настройки Reloaded и выключить оповещение о неподдерживаемой платформе, отредактировав файл с настройками где-то в ~/.steam/steam/steamapps/compatdata/... (префиксе игры), хотя этот шаг уже может быть не актуален для последних версий приложения.

Ну и дальше нужно ещё разобраться с синхронизацией картинки, для чего надо прописать дополнительные параметры запуска PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1, чтобы избавиться от лагов. Итоговая строка запуска игры у меня получилась такая: 
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 WINEDLLOVERRIDES="dinput8=n,b" %command% --launch "Z:\home\deck\Games\Sonic Heroes"

У Reloaded-II вообще есть полноценный гайд, как всё установить и настроить, ориентированный на пользователей Steam Deck: https://reloaded-project.github.io/Reloaded-II/LinuxSetupGuide/

Окно Reloaded-II

В случае с Sonic Forces и Sonic Generations процесс был как-то проще: нужно было лишь установить HedgeModManager, который со всем уже разберётся. Его можно установить и запустить через SteamTinkerLaunch, но можно это сделать и вручную (я делал вручную, потому что в STL поддержки HMM ещё не было на тот момент).

Я вручную создал контейнер (через Bottles) с Proton 5.0 и всё установил. Сначала нужно установить dotnet48, vcrun2019, d3dx9, d3dcompiler_47, после чего выполнить в префиксе команду wine reg add "HKCU\\SOFTWARE\\Microsoft\\Avalon.Graphics" /v DisableHWAcceleration /t REG_DWORD /d 1 /f, чтобы окно HMM вообще было видно. Ну и всё.

Ну, почти всё. Кажется, нужно ещё установить vcrun2019 и dotnet48 в префикс игры, а в случае с Forces ещё стоит выставить параметром запуска PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%. А вот в случае с Sonic Origins мне так и не удалось заставить игру работать с модами, и не вышло отследить причину проблемы (хотя сейчас уже проблемы может и не быть).

Sonic Generations, впрочем, работает отлично. Ну, практически. Нужно установить HedgeModManager и с ним установить мод Direct3D 11, чтобы достичь хорошей производительности. А в остальном  — отлично.



А ну и League of Legends на Steam Deck, как я мог забыть. Как-то из любопытства, услышав, как Коннор (из Trash Taste) сказал "Я бы взял Steam Deck, но он не может запустить лигу", мне захотелось посмотреть, как много времени понадобится, чтобы игра полностью заработала.

Это конечно было не так легко, как я думал, и по сути нужно создать отдельный контейнер для игры, используя особую версию Wine, собранную специально для League of Legends.

Эта особая версия сделана для Lutris, так что теперь можно установить Лигу одним кликом через Lutris и не заморачиваться. Но если хочется сделать всё вручную...

  1. Установи Bottles и ProtonUp-Qt, установи GE-Proton-7–29 и скачай лаунчер лиги
  2. Создай новую Бутылку с окружением "для гейминга", назови её "LoL" (именно так, чтобы не заморачиваться потом со скриптом ниже)
  3. Открой бутылку LoL и запусти исполняемый файл, выбери инсталлер лиги
  4. Подожди, пока лига скачается, но не заходи в аккаунт
  5. Скачай Lutris-GE-LoL тут: https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/7.14-GE-1-LoL — лучше именно эту версию, чтобы не править скрипт потом, но можно и какую-нибудь другую
  6. Распакуй эту версию Wine куда-нибудь (например в папку "wine" в домашней папке)
  7. Создай где-нибудь скрипт для запуска со следующим содержимым
#!/bin/bash

WINEPREFIX=/home/deck/.var/app/com.usebottles.bottles/data/bottles/bottles/LoL /home/deck/wine/lutris-ge-lol-7.14-1-x86_64/bin/wine /home/deck/.var/app/com.usebottles.bottles/data/bottles/bottles/LoL/drive_c/Riot\ Games/Riot\ Client/RiotClientServices.exe –launch-product=league_of_legends –launch-patchline=live

Ну и на этом всё. Сделай скрипт исполняемым в настройках файла, добавь в Steam в качестве игры, ну и всё, можно играть.

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

Игровой сетап настоящего мужчины

Скриншот LoL из игры со Steam Deck

В качестве заключения

Такие вот дела.

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

Мощный ли он? Да не сказать, чтобы сильно. Хорош ли Дек во всём? Да тоже нет.

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

И это я ещё не начал говорить про опыт используя Дека в качестве машинки для продуктивной работы! Но об этом напишу позже (пока не знаю ещё, когда именно).