Steam linux runtime что это
Перейти к содержимому

Steam linux runtime что это

  • автор:

Steam linux runtime что это

21 сен. 2020 в 1:41

What is Steam Linux Runtime?

I’ve been looking all over the web for some clarification but it was no use.

I’ve read that Steam Linux Runtime — Soldier runs games on a container that tries to be the same for every Linux distro. But my question is how does it compare to Proton? I am currently running all my games with the latest Proton but I wanted to know if I’m missing anything by not using Steam Linux Runtime.

Thanks for your time. I’m using Ubuntu 20.04 by the way.

Сообщения 1 – 11 из 11

21 сен. 2020 в 1:53

proton is an ’emulation’ layer for windows games.
steam linux runtime is a set of native linux libraries.

21 сен. 2020 в 3:14

It seems to be a set of libs used to compile games on.

It seeks to provide a compatible way for Game creators to make Steam-hosted games.
The compilation is supposed to be done within a docker provided by valve, but there’s other techniques too.

It is definitely not proton since the products of steam runtime (i.e. game installation) wouldn’t need an emulator (Proton is just a python script wrapping a software emulator called wine).

21 сен. 2020 в 4:38

Автор сообщения: dirk.dierickx

proton is an ’emulation’ layer for windows games.
steam linux runtime is a set of native linux libraries.

Автор сообщения: catbox

its also steam’s answer to prolong game compatibility as distributions continue to drop older support.
ie: i386

its a basic set of libraries for games to run on, instead of the system libraries
which is why its on the steamplay tab. and you can run a game with that runtime selected

You are saying that Steam Linux Runtime is what valve uses to run games that are native in Linux? Like Hlaf-Life and Hollow Knight? And proton is used to run non-native games? If that’s so Steam must interchange them when needed because I am using proton but I also play native Linux games. I thought it was using proton to do all that.

Отредактировано olho_arregalado; 21 сен. 2020 в 4:39

21 сен. 2020 в 5:31

Proton is not used to play native Linux games, and if you are forcefully using a a windows copy to run via proton then you’re kinda doing a moot job.

21 сен. 2020 в 5:45

Yes, that’s exactly it.

There are plenty of games on steam that have a native linux version available (all those with the SteamOS icon on the store, which used to be a penguin icon but foolishness struck them and they changed it. )

Proton is only for windows-exclusives (or to force-use the windows version of a game even when it has a native linux version).

Both the steam linux runtimes and proton are called into use by the steam launcher only when needed by a specific game.

And you can even have multiple versions of Proton coexisting to be able to select the ine that works best for a specific game.

21 сен. 2020 в 7:13

So what I select in the dropdown menu in the Setting / Steam Play tab will be forced on all the titles? Or it will just be forced on games not native to Linux?

21 сен. 2020 в 7:28

I don’t suppose that «force use of steam play» would override a native linux game. I am playing Last epoch’s native linux build, no proton/wine visible there.

21 сен. 2020 в 11:07

IIRC the global setting (Steam > Settings) won’t force linux native titles to use proton, but the game-specific setting (Steam > Library > Game > Properties) definitely does have that ability (I use it with Dicey Dungeons, which has a native linux version but on my PC only the Proton version launches correctly

Отредактировано Marlock; 21 сен. 2020 в 11:09

22 сен. 2020 в 8:19

Автор сообщения: Marlock

IIRC the global setting (Steam > Settings) won’t force linux native titles to use proton, but the game-specific setting (Steam > Library > Game > Properties) definitely does have that ability (I use it with Dicey Dungeons, which has a native linux version but on my PC only the Proton version launches correctly

Yeah you’re right, in the Steam > Settings the dropdown menu is only applied to titles that are supported by Steam Play. I guess what I found weird was the option to use Steam Linux Runtime to run games that aren’t supported by Steam Play. Because if Steam Linux Runtime is what Steam play uses then it look a bit redundant. Or maybe I’m not getting the full picture

22 сен. 2020 в 18:15

There is one bit missing from the picture that may help you piece this design quirk together:

Valve calls the entire framework for compatibility layers «Steam Play».

Not all compatibility layers are for windows games, though the most prominent official layer (Proton) is there for that exact purpose.

They also made it possible for us to provide custom layers. and some folks jumped at the oportunity, making custom forks of DOSBox (for DOS games), ScummVM (for 2D click-and-play games like Curse of Monkey Island) and other opensource alternate game engines which can use game resources from an original game. These forks do more or less what proton did to Wine (integrating steam achievements, cloud sync for saves, steam controller and overlay integration, etc).

Steam Runtimes wasn’t seen by Valve exactly as a compatibility layer. first because it exists before «Steam Play» was invented. second, because it includes a base set of libs for games to be able to use Steam features consistently everywhere (including a windows version of the Steam Runtimes on Steam on Windows), plus a standard version of basic libs any executable needs, to avoid issues between distros with different versions of said libs, etc.

What put Steam Linux Runtimes in the list of compatibility layers was a more recent development (internally called Pressure Vessel) where Valve learned to use Linux namespaces to run a native linux game in a dedicated sandboxed space which provides a complete set of those Steam Linux Runtime libs in the sandbox.

. and to use this for a game they just added the stuff to Steam’s Steam Play framework, which already supported offering multiple compatibility layers of varied nature for any game including linux native ones.

They could have used «Pressure Vessel 1.0″ instead of Steam Linux Runtimes» in the droplist, or «namespaces 1.0». maybe it would avoid a couple mixups. but what’s inside the bottle is the runtimes and that is what needs more care with versioning control, etc.

Чем отличается Steam native от runtime?

Native использует системные библиотеки, Runtime использует библиотеки из рантайма, который поставляется вместе с Steam. Установи steam-native-runtime, чтобы не было ошибок при запуске.

Kron4ek ★★★★★
( 23.01.18 17:33:29 MSK )
Ответ на: комментарий от Kron4ek 23.01.18 17:33:29 MSK

Что лучше работает?

( 23.01.18 17:35:29 MSK ) автор топика
Ответ на: комментарий от Sorax_Grand 23.01.18 17:35:29 MSK

Native, теоретически, должен работать лучше, так как системные библиотеки новее.

Kron4ek ★★★★★
( 23.01.18 17:39:14 MSK )
Ответ на: комментарий от Kron4ek 23.01.18 17:39:14 MSK

Как удалить steam runtime что бы он мусолил глаза.

( 23.01.18 17:40:18 MSK ) автор топика
Ответ на: комментарий от Sorax_Grand 23.01.18 17:40:18 MSK

Переустанови Steam, и запускай только «Steam (Native)», тогда рантайм не будет распаковываться. Как его вычистить из текущей установки — не знаю, ибо там есть и нужные файлы.

Kron4ek ★★★★★
( 23.01.18 17:46:31 MSK )
Ответ на: комментарий от Kron4ek 23.01.18 17:46:31 MSK

Если переустановить Steam то игры и программы удалятся? P.S Интернет всего 10 Мбит

( 23.01.18 17:48:20 MSK ) автор топика
Ответ на: комментарий от Sorax_Grand 23.01.18 17:48:20 MSK

Под переустановкой я подразумеваю удалить каталоги ~/.steam и ~/.local/share/Steam. Сохрани каталог ~/.local/share/Steam/steamapps — все игры и программы хранятся в нем.

Kron4ek ★★★★★
( 23.01.18 17:51:48 MSK )
Последнее исправление: Kron4ek 23.01.18 17:52:25 MSK (всего исправлений: 1)

Ответ на: комментарий от Kron4ek 23.01.18 17:51:48 MSK

Переустановил, единое отличие которое заметил — изменился стиль меню в системном лотке(теперь он Gtk)

( 23.01.18 18:06:19 MSK ) автор топика
Ответ на: комментарий от Kron4ek 23.01.18 17:39:14 MSK

так как системные библиотеки новее.

И с несовместимым в лучшем случае API, в худшем случае ABI. При несовпадении последнего ошибку выдаст только когда уже что-то сломается. Это OpenSource — все плевали на совместимость.

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

a1batross ★★★★★
( 23.01.18 18:06:52 MSK )
Ответ на: комментарий от a1batross 23.01.18 18:06:52 MSK

С несовместимостью ABI ни разу не натыкался. Зато были ошибки с рантаймовскими библиотеками типа libstdc++, с которыми mesa не работал.

xDShot ★★★★★
( 23.01.18 18:20:45 MSK )
Ответ на: комментарий от xDShot 23.01.18 18:20:45 MSK

Теоретически это может случиться. Представь, что игра ожидает из функции foo(void) получить int, а библиотеку переделали, имя оставили, и теперь она возвращает float. Или вдруг аргументы у функции теперь другие. И хорошо, если был изменён SONAME, а если нет?

Я тоже такого не встречал, но вижу, что держать бинарную совместимость никто не хочет. Высок риск ошибок.

a1batross ★★★★★
( 23.01.18 18:31:02 MSK )
Последнее исправление: a1batross 23.01.18 18:36:11 MSK (всего исправлений: 1)

Ответ на: комментарий от a1batross 23.01.18 18:06:52 MSK

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

Kron4ek ★★★★★
( 23.01.18 18:57:09 MSK )
Ответ на: комментарий от Kron4ek 23.01.18 18:57:09 MSK

И зачем, если рантайм проблем не приносит вовсе? Почти. 🙂

a1batross ★★★★★
( 23.01.18 23:19:43 MSK )
Последнее исправление: a1batross 23.01.18 23:19:51 MSK (всего исправлений: 1)

Ответ на: комментарий от a1batross 23.01.18 23:19:43 MSK

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

Kron4ek ★★★★★
( 24.01.18 00:59:13 MSK )
Ответ на: комментарий от a1batross 23.01.18 23:19:43 MSK

Рантайм не приносит проблем только на говномамонтовом дистре и проприетарных нвидиа дровах.

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

Я уже несколько лет сижу со STEAM_RUNTIME=0 и steam-native-runtime, потому что с ним банально меньше траха. Болше того, с каждым годом с ним, как это ни странно, субъективно становится всё меньше траха — необходимость LD_PRELOAD встречается всё реже.

infine ★
( 25.01.18 08:26:37 MSK )
Ответ на: комментарий от xDShot 23.01.18 18:20:45 MSK

Как минимум была несовместимость abi из-за разных версий libgcrypt и libssl, с которыми статически слинкованы некоторые библиотеки стима и самих стим-игр, не входящие в рантайм. Но правда это только в дистрах, отличных от ubuntu.

Khnazile ★★★★★
( 25.01.18 08:44:34 MSK )

Включи репозиторий multilib и установи steam-native-runtime.
Вообще, сложно сказать, что работает лучше. Я стараюсь запускать всё под Native, а если какая-то игрушка не запускается — пробую запустить под Runtime.
Native, конечно же, лучше. Т.к. адаптирован и распространяется через оффициальный репозиторий, а не включенный универсальный.
У меня кстати 3 варианта стима, 3й под вайном.

fehhner ★★★★★
( 25.01.18 12:52:39 MSK )
Ответ на: комментарий от infine 25.01.18 08:26:37 MSK

Люди там несколько лет назад придумали flatpak, пол года назад изолировали им steam, чтобы не было конфликтов между системой и рантаймом. Не знаю зачем надо есть кактусы, когда можно через пол пинка заставить все работать как надо.

maxis11 ★
( 03.02.18 23:57:24 MSK )

Операционная система: archlinux. Ядро: 4.14.13-1-ARCH

Вася из 5Б, это ты? Я знал что ты хакер! Я из 5В.

( 09.02.18 17:34:55 MSK )
Ответ на: комментарий от maxis11 03.02.18 23:57:24 MSK

А есть appimage? Да и что там запускать? Там же только установщик и сам стим.

Steam linux runtime что это

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 содержатся в файле, включенном в репозиторий.

Инструменты 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.

В. Чем отличается производительность драйверов для Ubuntu и для Windows?
О. Если говорить о стабильности, производительности и наборе характеристик, проприетарные драйверы Nvidia сравнимы с версией для Windows. Проприетарные драйверы как AMD, так и Intel также доступны, но их текущие показатели стабильности и производительности ниже, чем аналоги для Windows.

Что касается производительности Linux, то она зависит от того, какие видеокарты и какие типы драйвера используются (открытые или проприетарные). Обычно проприетарные драйверы показывают лучшую производительность по сравнению с открытыми и имеют больший набор функций. Кроме того, производительность проприетарных и открытых версий драйверов зависит от их возраста, который может различаться.

В. Оверлей Steam не работает при запуске за пределами Steam.
О. В Linux вы должны установить переменную среды LD_PRELOAD, чтобы она загружала

Это будет выглядеть примерно так:

Почему вы должны использовать Proton вместо Steam Linux Runtime

Логотип Valve Steam на синем фоне

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

Что такое Steam Linux Runtime?

На ПК с Linux, на котором запущен Steam, откройте свойства любой игры и просмотрите доступные варианты после установки флажка «Принудительное использование определенного инструмента совместимости Steam Play». Вы можете увидеть «Steam Linux Runtime» рядом с несколькими версиями Proton.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Steam Linux Runtime указан в инструментах совместимости Steam для Linux

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

Итак, это родное издание – это то, во что вы будете играть, если выберете опцию Steam Linux Runtime. Между игрой и вашей операционной системой не будет выполняться слой совместимости. Которые могут звук вроде идеальная ситуация. И действительно, он может работать отлично. Однако, скорее всего, это не так.

Почему Steam Linux Runtime – отстой

Когда вы выбираете собственный порт, вы предполагаете, что разработчики имели в виду выбранный вами дистрибутив Linux при создании порта Linux. В используемом вами дистрибутиве могут не быть установлены библиотеки, с которыми работали разработчики, что может оставить вас в «аду зависимостей».

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

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

Что делает протон лучше?

Когда вы пытаетесь запустить игру только для Windows в Steam на ПК с Linux, Proton – это то, что Steam запускает в фоновом режиме, чтобы убедиться, что он работает. Это собственный уровень совместимости Valve, который позволяет вам играть в игры для Windows без необходимости использования Windows. Этот дополнительный уровень может показаться ненужным, если у вас уже есть собственный порт, но по нескольким причинам у вас, вероятно, будет больше опыта с Proton.

Во-первых, 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

Если вы хотите начать использовать Proton в Linux, это просто. Вы можете следовать нашему подробному руководству по началу работы с Proton. И когда вы не играете, вы должны знать, что Proton – не единственный вариант для запуска программного обеспечения Windows в Linux.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *