Steam linux runtime soldier что это
Желаете использовать дистрибутив GNU/Linux у себя на домашнем ПК, но при этом не хотите терять возможность играть в любимые игры?! Не проблема, проект собрал по крупицам данный гайд, дабы дать вам возможность сориентироваться в этой теме и понять насколько это реально для вас.
Прежде всего, что такое Steam Play?
Итак, теперь мы точно знаем, что функция Proton в Steam-клиенте для Linux, дает нам некий уровень совместимости, позволяя в итоге запускать Windows-игры на Linux.
Некоторые игры работают безупречно, в некоторых есть серьезные проблемы, некоторые работают с частичным функционалом. И тем не менее, сообщается, что в настоящее время работают тысячи игр!
Для того, чтобы посмотреть, как работает ваша игра и работает ли она вообще, советую всегда обращаться к ресурсу:
Как я могу проверить совместимость с моими играми для Windows?
Всегда проверяйте статус нужной вам игры на ProtonDB . Вбейте в поиске на сайте нужное название игры, которую хотите увидеть, и если ее уже пытались запустить на Linux, то поиск выдаст вам её рейтинг от платины до золота, серебра, бронзы или Borked (не работает). Вы также можете следить за нашим тегом Steam Play , чтобы узнать о важных событиях, и обязательно ознакомьтесь с нашим специальным разделом Steam Play .
Если игра получила рейтинг Platinum из отчетов пользователей, все готово. Если он имеет рейтинг Gold, в большинстве случаев он будет работать без проблем, но может потребоваться некоторые настройки. Все, что ниже Gold, вероятно, потребует некоторых ручных усилий.
Чтобы упростить просмотр рейтингов, вы можете попробовать плагин Firefox « Protonтакие страницы, как эта для DOOM:DB for Steam », который добавляет отдельный пункт с рейтингом ProtonDB, прямо на страничке игры в магазине Steam.
Как включить Steam Play?
Войдите в свои настройки, нажав Steam в верхнем левом углу клиента Steam, выбрав Настройки, а затем найдите Steam Play внизу списка, как показано ниже:
Что на самом деле делает каждый флажок?
- Первый флажок изначально включал Steam Play только для тех игр, которые Valve добавили в свой белый список (см. Белый список на SteamDB здесь ). Это список игр, выбранных Valve, которые должны «просто работать» с версией Steam Play, выбранной Valve для вас. Valve на самом деле больше этого не делает, так что теперь осталось просто включить Steam Play.
- Второй флажок позволяет использовать Steam Play во всех ваших играх в вашей библиотеке Steam.
Однако на самом деле вы можете принудительно установить определенную версию Proton (название инструмента Steam Play) на любой элемент в вашей библиотеке Steam. Делая это:
Это удобно по двум причинам:
- Если вы не отметите второй флажок в настройках Steam Play, ваши игры, поддерживаемые Linux, и игры для Windows останутся в отдельных списках. Это позволяет вам выбрать отдельные игры, чтобы попробовать.
- Если игра из белого списка работает лучше в новой версии Proton, вы можете выбрать ее самостоятельно.
Как проверить, установлен ли Proton?
Steam должен делать это автоматически. Если вы выполните поиск по запросу «proton» в своей библиотеке Steam, он должен отобразить список доступных в настоящее время официальных версий Proton.
Как обновить Proton?
Он автоматический, как и другие игры и приложения в Steam. Он появится в ваших загрузках Steam.
Можно ли принудительно установить Steam Play на игры для Linux?
Да! Просто следуйте тому же методу, описанному выше, чтобы заставить игру работать с нужной вам версией, даже если она нативная.
Почему вы хотите это сделать? Версия для Linux может быть устаревшей, плохо работать, не работать в новом дистрибутиве или по любой другой причине. Steam Play, по крайней мере, дает вам возможность резервного копирования, когда такое случается. А ещё есть кривые порты на Linux и иногда версия запущенная из под Proton, работает куда лучше.
Посмотреть более подробный ролик на канале:
Что такое экспериментальный протон?
Что такое Proton GE / GloriousEggroll
А что насчет Proton вне Steam?
Для русскоязычных пользователей, доступен интересный проект PortWine Linux, где автор собрал графическую утилиту, благодаря которой, в пару кликов можно попытаться запустить нужную нам игру, даже если её нету в нашей Steam библиотеке.
Native использует системные библиотеки, Runtime использует библиотеки из рантайма, который поставляется вместе с Steam. Установи steam-native-runtime, чтобы не было ошибок при запуске.
Что лучше работает?
Native, теоретически, должен работать лучше, так как системные библиотеки новее.
Как удалить steam runtime что бы он мусолил глаза.
Если переустановить Steam то игры и программы удалятся? P.S Интернет всего 10 Мбит
Под переустановкой я подразумеваю удалить каталоги
/.local/share/Steam. Сохрани каталог
/.local/share/Steam/steamapps - все игры и программы хранятся в нем.
Kron4ek ★★★★★ ( 23.01.18 17:51:48 )Последнее исправление: Kron4ek 23.01.18 17:52:25 (всего исправлений: 1)
Переустановил, единое отличие которое заметил - изменился стиль меню в системном лотке(теперь он Gtk)
так как системные библиотеки новее.
И с несовместимым в лучшем случае API, в худшем случае ABI. При несовпадении последнего ошибку выдаст только когда уже что-то сломается. Это OpenSource — все плевали на совместимость.
Sorax_Grand , вообще, рантайм не должен вызывать проблем. Но как правило у юзеров дистров дальше стандартных дебианов или убунт он тоже может внезапно ломаться и так же внезапно чиниться.
С несовместимостью ABI ни разу не натыкался. Зато были ошибки с рантаймовскими библиотеками типа libstdc++, с которыми mesa не работал.
Теоретически это может случиться. Представь, что игра ожидает из функции foo(void) получить int, а библиотеку переделали, имя оставили, и теперь она возвращает float. Или вдруг аргументы у функции теперь другие. И хорошо, если был изменён SONAME, а если нет?
Я тоже такого не встречал, но вижу, что держать бинарную совместимость никто не хочет. Высок риск ошибок.
a1batross ★★★★★ ( 23.01.18 18:31:02 )Последнее исправление: a1batross 23.01.18 18:36:11 (всего исправлений: 1)
Ну, в случае ошибок можно будет переключиться на рантайм, благо с этим проблем нет.
И зачем, если рантайм проблем не приносит вовсе? Почти. :)
a1batross ★★★★★ ( 23.01.18 23:19:43 )Последнее исправление: a1batross 23.01.18 23:19:51 (всего исправлений: 1)
Эффект плацебо, кажется что все работает лучше :) Все равно, что рантайм, что натив запускаются в один клик, выбирай что душе угодно.
Рантайм не приносит проблем только на говномамонтовом дистре и проприетарных нвидиа дровах.
Меса с рантаймом работает через пень-колоду, периодически вылезают и другие проблемы.
Я уже несколько лет сижу со STEAM_RUNTIME=0 и steam-native-runtime, потому что с ним банально меньше траха. Болше того, с каждым годом с ним, как это ни странно, субъективно становится всё меньше траха - необходимость LD_PRELOAD встречается всё реже.
Как минимум была несовместимость abi из-за разных версий libgcrypt и libssl, с которыми статически слинкованы некоторые библиотеки стима и самих стим-игр, не входящие в рантайм. Но правда это только в дистрах, отличных от ubuntu.
Включи репозиторий multilib и установи steam-native-runtime.
Вообще, сложно сказать, что работает лучше. Я стараюсь запускать всё под Native, а если какая-то игрушка не запускается - пробую запустить под Runtime.
Native, конечно же, лучше. Т.к. адаптирован и распространяется через оффициальный репозиторий, а не включенный универсальный.
У меня кстати 3 варианта стима, 3й под вайном.
Люди там несколько лет назад придумали flatpak, пол года назад изолировали им steam, чтобы не было конфликтов между системой и рантаймом. Не знаю зачем надо есть кактусы, когда можно через пол пинка заставить все работать как надо.
Операционная система: archlinux. Ядро: 4.14.13-1-ARCH
Вася из 5Б, это ты? Я знал что ты хакер! Я из 5В.
А есть appimage? Да и что там запускать? Там же только установщик и сам стим.
Steam для Linux доступен для всех пользователей Steam. Учитывая тот факт, что каталог поддерживаемых на Linux игр растёт, а группа сообщества Steam для Linux очень активна, настало время портировать вашу игру на Linux.
Разработка игры на Linux может вызвать определенные трудности у разработчиков, хорошо знакомых с разработкой на Windows или macOS. Следующая информация поможет вам успешно портировать вашу игру в Steam для Linux.
Подготовка к работе
Сборка игры на Linux требует:
- Компьютер для разработки с последней версией Linux со всеми обновлениями. Это может быть машина с двумя ОС, выделенный на Linux компьютер и даже виртуальная машина, на которой запущен Linux. Кроме того, разработка поддерживается как на 32-, так и на 64-битных дистрибутивах Linux. Рекомендуемым дистрибутивом Linux является последняя версия Ubuntu LTS, так как Valve и сообщество Linux тестируют её больше всего. Загрузить Ubuntu можно здесь.
- Клиент Steam для Linux.
- Базовый набор инструментов для разработки на Linux (к примеру, g++, gcc и утилита make), содержащийся в пакете build-essential. Установите этот пакет с помощью Ubuntu Software Center или в окне терминала Ubuntu при помощи утилиты управления пакетами apt-get: sudo apt-get install build-essential.
- Последняя версия Steam Linux Runtime, которая включает в себя инструменты и полный набор библиотек, необходимый для отправки игр на Linux в Steam. Инструкции об использовании Steam Linux Runtime содержатся в файле README.md, включенном в репозиторий.
Инструменты Linux
Число инструментов разработки на Linux огромно, начиная от разнообразных интерфейсов командной строки и заканчивая интегрированными средами разработки с графическими интерфейсами. Следующая информация основана на опыте команды разработчиков на Linux, работающих в Valve.
Для тех, кто больше всего знаком со средствами разработки на Windows, простейшим решением будет использовать Visual Studio на Windows вместе с WinGDB — расширением Visual C++, которое позволяет отладку удаленных процессов Linux, используя интерфейс отладки Visual Studio.
- QtCreator: отладчик и интегрированная среда разработки со знакомыми по Visual Studio сочетаниями клавиш.
- SlickEdit: редактор кода с базовым и настраиваемым графическим интерфейсом, где пользователь может задать сочетания клавиш.
- gdb: популярный отладчик командной строки.
- cgdb: оболочка gdb, которая позволяет разделить экран и видеть текущее место в исходном коде во время выполнения.
- Eclipse: ещё одна интегрированная среда разработки, которую можно настроить для разработки на Linux. Доступна на Windows, macOS и Linux.
API для Linux
Vulkan — предпочтительная библиотека для высокопроизводительной графической визуализации. Это открытый аналог DirectX12 и Metal.
OpenGL является устаревшим стандартом графической визуализации. Большинство игр напрямую вызывают OpenGL, но есть и другие игры, которые используют метод перевода, который заключается в том, что устаревший код визуализации переводится в вызовы OpenGL. Этот подход использовался для таких старых игр на движке Source, как Team Fortress 2 и Counter-Strike: Source. Если для вашей игры вы выберете OpenGL, рекомендуем использовать основные функции OpenGL 3.0.
Simple DirectMedia Layer (SDL) 2.0 помимо прочего предоставляет низкоуровневый доступ к работе с аудио и окнами. Поддержка 3D-визуализации осуществляется с помощью OpenGL. Инструкции по установке можно найти здесь. Документация и подробная информация представлены на wiki-странице проекта. Valve использует SDL в Steam и большинстве наших игр для работы с окнами. SDL также предоставляет серверную поддержку для API ввода Steam.
- FreeType: визуализация как векторных, так и растровых шрифтов на Linux.
- Fontconfig: регулировка и пользовательская настройка доступа к шрифтам.
- Miles Sound System: аудиодвижок промежуточного уровня для разработки на Linux.
- Bink Video: видеокодек для разработчиков игр.
- WebM: формат открытого медиафайла, используется для записи видео в Team Fortress 2 вместо QuickTime.
Репозитории GitHub
- steam-for-linux: содержит контент для клиента Steam на Linux и баг-трекер для клиента Steam на Linux.
- steam-runtime: содержит проект Steam Linux Runtime. Его задача — предоставить стабильную среду выполнения для разработки игр Steam на Linux.
Частые вопросы
В. Моя игра на Linux зависит от многих внешних библиотек. Как решить эту проблему?
О. Многие популярные библиотеки, такие как SDL, OpenAL, FreeType и Fontconfig для вашего удобства включены в Steam Linux Runtime. Если ваша игра зависит от других библиотек, которых нет в Runtime, но они распространяются свободно, пожалуйста, сообщите о них в разделе обсуждений разработчиков Steamworks по Linux и SteamOS.
В. Поддерживается ли Steam DRM на Linux?
О. Да! Новый инструмент DRM drmtoolp поддерживает Linux. Дополнительная информация доступна в разделе Steam DRM.
В. Чем отличается производительность драйверов для Ubuntu и для Windows?
О. Если говорить о стабильности, производительности и наборе характеристик, проприетарные драйверы Nvidia сравнимы с версией для Windows. Проприетарные драйверы как AMD, так и Intel также доступны, но их текущие показатели стабильности и производительности ниже, чем аналоги для Windows.
Что касается производительности Linux, то она зависит от того, какие видеокарты и какие типы драйвера используются (открытые или проприетарные). Обычно проприетарные драйверы показывают лучшую производительность по сравнению с открытыми и имеют больший набор функций. Кроме того, производительность проприетарных и открытых версий драйверов зависит от их возраста, который может различаться.
Когда вы используете Steam для запуска игр на ПК с Linux, у вас может быть возможность запустить его с помощью одной из двух утилит: Proton и Steam Linux Runtime. Из этих двух вам, вероятно, следует выбрать Proton. Вот почему.
Что такое Steam Linux Runtime?
На ПК с Linux, на котором запущен Steam, откройте свойства любой игры и просмотрите доступные варианты после установки флажка «Принудительное использование определенного инструмента совместимости Steam Play». Вы можете увидеть «Steam Linux Runtime» рядом с несколькими версиями Proton.
Если у вас есть опция Steam Linux Runtime, это на самом деле означает, что разработчик игры предоставил Steam собственный порт игры для Linux. Конечно, не все разработчики делают это, так что в каком-то смысле вам повезло, что студия решила, что стоит обслуживать скромную толпу Linux.
Когда вы выбираете собственный порт, вы предполагаете, что разработчики имели в виду выбранный вами дистрибутив Linux при создании порта Linux. В используемом вами дистрибутиве могут не быть установлены библиотеки, с которыми работали разработчики, что может оставить вас в «аду зависимостей».
Что еще хуже, есть большая вероятность, что игровая студия потратила гораздо меньше времени и денег на версию для Linux по сравнению с версией для Windows или Mac. Простой факт заключается в том, что люди, занимающиеся Linux, значительно меньше чем у Windows и Mac, поэтому стимулов порадовать пользователей Linux полным и отполированным портом гораздо меньше.
Что делает протон лучше?
Во-первых, Valve старается убедиться, что Proton совместим с множеством дистрибутивов, а это означает, что ваш предпочтительный дистрибутив с большей вероятностью будет поддерживаться. А поскольку он активно развивается, вам не нужно беспокоиться об обновлении ОС слишком далеко от разработчиков игры.
Кроме того, в отличие от игровой студии, которая выпустила вашу любимую игру, Valve очень заинтересована в том, чтобы в Linux можно было играть в большее количество игр. Steam Deck поставляется с SteamOS, собственным дистрибутивом Linux от Valve. Таким образом, у Valve есть серьезная финансовая заинтересованность в том, чтобы сделать Proton как можно лучше.
Клапан
Фактически, игровая студия может решить не переносить свою игру на Linux полностью, исходя из предположения, что Proton будет работать достаточно хорошо. Feral Interactive, разработчик с несколькими портами для Linux, написал в Твиттере, что «С тех пор, как Valve выпустила Proton, спрос на нативные игры в целом снизился». В качестве яркого примера, планы по созданию собственного порта Linux Сага о тотальной войне: Троя были исключены вскоре после того, как Valve анонсировала Steam Deck.
Конечно, вы также можете попробовать версию вашей игры Steam Linux Runtime, если она доступна. Опять же, это может сработать отлично. Однако проблемы, скорее всего, возникнут, если не сейчас, то позже, когда вы обновите свой дистрибутив. В этом неизбежном повороте Proton станет вашим лучшим выбором.
Как начать использовать Proton
В Steam существует программа Steam Play — купив игру один раз, вы сразу получаете версии для Windows, Mac и Linux, если они есть на платформе Valve. Сегодня Steam Play расширилась: теперь программа позволяет запускать на Linux даже те игры, которых изначально на Linux не было.
Сразу отметим, что совсем уж чуда ждать не стоит: для Steam Play на Linux Valve использует Proton — модифицированную версию Wine. Это популярный инструмент совместимости, который помогает играть на Linux в игры, написанные для Windows.
У Proton есть ряд преимуществ перед Wine — Valve работала над ними в течение последних двух лет:
• Windows-игры запускаются через клиент Steam для Linux и получают родную поддержку Steamworks и OpenVR.
• Взаимодействия с DirectX 11 и 12 теперь основаны на Vulkan, что улучшает совместимость в играх и снижает потери производительности.
• Улучшен режим полного окна в играх.
• Улучшена поддержка контроллеров: если Steam распознаёт контроллер, значит, его распознает и игра.
• Производительность многопоточных игр значительно улучшена по сравнению с «ванильным» Wine.
По умолчанию Steam на Linux запускает через Proton те игры, которые есть в «белом списке». Такие игры Valve проверила лично и убедилась, что с совместимостью всё в порядке. Однако пользователям предлагают дополнительные варианты: включить Proton вообще для всех игр в каталоге Steam или установить альтернативный инструмент совместимости.
У Proton полностью открытые исходники, покопаться в них может любой желающий. В Steam позволяется внедрить пользовательскую сборку Proton и запускать игры через неё.
В «белом списке» на данный момент находится 27 игр. Среди них — как технически простые (Doki Doki Literature Club!, Into the Breach), относительно старые (Star Wars: Battlefront 2 2005-го, S.T.A.L.K.E.R.: Shadow of Chernobyl), так и весьма требовательные новинки (NieR: Automata, Tekken 7) и даже игры для VR (Beat Saber, DOOM VFR).
Новые игры для «белого списка» будут отбирать по популярности. Если у пользователя в настройках магазина стоит только Linux, его список желаемого будет расцениваться как голос. Чем больше таких голосов, тем выше шанс, что Valve рассмотрит игру для добавления в «белый список».
Как отмечает Valve, лучше всего через Proton работают те игры, которые используют графический API Vulkan. С таким условием производительность на Linux снижаться вообще не должна. А вот если разработчики встраивают хитрую DRM или сложную систему античитов, то игра может не запуститься через Proton вовсе.
Читайте также: