Linux proton что это
Компания Valve хочет обеспечить запуск всех Windows-игр на Linux
Компания Valve представила проект Proton — запуск Windows-игр на Linux.
Иллюстрация wccftech.com
Valve решила не останавливаться на выпуске SteamOS, своей игровой версии Linux, и объявила о выходе бета-версии сервиса Steam Play с модифицированной версией Wine, под кодовым именем Proton. Новая версия программного обеспечения позволяет, ни много ни мало, запускать Windows-игры на Linux прямиком из Steam. В целом, проект Proton ставит перед собой весьма амбициозную цель — обеспечить возможность запуска всех Windows-игр каталога Steam под Linux, что называется «из коробки».
На данный момент объявлено о полной поддержке 26 игр. Кроме того, энтузиасты могут попробовать запустить любую игру, задействовав опцию Enable Steam Play for all titles в настройках. Все результаты попыток запуска игр записываются в google-таблицу.
Для запуска Proton достаточно установить последний бета-выпуск Steam Client для Linux.
Для корректной работы бета версии необходимо наличие в системе свежих драйверов для видеокарты NVIDIA версии не ниже 396.51 или Intel/AMD из пакета Mesa 18.2.0, кроме того, потребуется увеличение лимита на число открытых файловых дескрипторов. Для Ubuntu 18.04 новые версии драйвера NVIDIA и Mesa можно установить из PPA-репозиториев (NVIDIA, Mesa).
Наработки проекта публикуются на GitHub с BSD лицензией исходных кодов. Разработка ведется уже более двух лет при непосредственном участии команды Wine HQ, и многие изменения уже переносятся в оригинальный проект Wine и связанные с ним проекты, такие как DXVK и vk3d.
В 2010 году компания Valve объявила о выпуске сервиса Steam Play, позволяющего, купив игру однажды, установить ее в любом из трёх популярных семейств ОС: Windows, macOS и Linux. За 8 лет с того момента более 3000 игр в каталоге Steam стали доступными для адептов Linux, и внедрение поддержки новых игр не прекращается до сих пор.
Однако, одновременно с попытками расширить библиотеку игр на одной платформе, Valve решила прекратить поддержку старых систем на другой платформе. В июне 2018 года компания сообщила о завершении поддержки операционных систем Windows XP и Vista.
Сегодня большинство Windows-игр отлично запускаются под Linux. Спасибо, Proton
Некоторые популярные игры, которые пока не внесены официально в белый список Steam для Linux, но получили много положительных отзывов в ProtonDB, то есть реально запускаются и хорошо работают
10 декабря 2020 года состоялся релиз долгожданной игры Cyberpunk 2077, а за день до этого вышла новая версия Proton 5.13-4 с поддержкой Cyberpunk 2077. То есть пользователи Linux смогли играть в Cyberpunk 2077 с первого же дня. Это наглядный пример, насколько великолепная ситуация сейчас с поддержкой игр на Linux-десктопах.
Если вам говорят, что Linux — отличная платформа для игр, то это уже не преувеличение! За такое положение вещей мы должны благодарить Proton.
Что такое Proton?
Proton — это относительно новый инструмент, который выпустила компания Valve Software (официальный анонс от 22.08.2018 года). Он интегрирован со Steam Play, а его задача — максимально упростить запуск Windows-игр под Linux.
Хотя Proton интегрирован со Steam Play, но его можно собрать из исходников и использовать отдельно.
Под капотом Proton работают другие популярные инструменты, такие как кастомная версия Wine (бóльшую часть сделанных Valve модификаций приняли в основную ветку) и DXVK, которые в противном случае пришлось бы устанавливать и поддерживать самостоятельно. Наличие такого интегрированного решения значительно облегчает пользователям переход на Linux без необходимости изучать базовые системы и не теряя доступ к своей библиотеке игр.
Proton пока что находится на ранней стадии развития, поэтому поддержка неидеальна, но постепенно улучшается. Прогресс реально идёт. Например, Fallout 4 раньше работал с огромным количеством глюков, куча графики просто не подгружалась, а теперь уже можно играть более-менее нормально.
Опубликованный исходный код позволяет опытным пользователям изменять и настраивать Proton, например, использовать с конкретной игрой другую версию Wine. В реальности даже Steam поставляется с несколькими версиями Proton, которые запускаются с разными играми.
Steam также поддерживает работу с локальными установками Proton, поэтому никто не мешает вручную инсталлировать его на своей машине. Для этого нужно создать новую директорию в
Что такое ProtonDB?
В базе данных ProtonDB накапливаются отчёты от геймеров, которые тестируют игры с Proton на Linux. В итоге выводится общая оценка, насколько хорошо работают игры.
Оценка игре выставляется по пятибалльной шкале:
В базе ProtonDB для каждой игры опубликованы отзывы реальных тестеров. Указана подробная конфигурация его оборудования, версия Proton и детальный отзыв по пунктам, с указанием стабильности и производительности, звука, графики и других параметров. Здесь же геймеры могут найти советы и твики, как заставить игру нормально работать в той или иной конфигурации.
Steam Play официально поддерживает ограниченный список игр, которые официально совместимы с Linux через систему Proton — так называемый «белый список». Список не такой большой, но постоянно растёт. Судя по отчётам ProtonDB, значительное количество игр, не включённых в белый список, включая многие популярные тайтлы, тоже отлично работают под Linux.
Под Linux сегодня доступны Cyberpunk 2077, Red Dead Redemption 2, Death Stranding и многие другие игры. Вообще, сложно найти игру класса AAA, которая не запускается под Linux.
Состояние VR на Linux
Под Linux есть даже шлемы виртуальной реальности. По крайней мере, Valve Index протестирован и гарантированно работает. Хотя говорят, что это единственный шлем с официальной поддержкой Linux. Однако другие шлемы типа HTC Vive или Vive Pro могут запускать игры под Linux через кроссплатформенный движок SteamVR.
Valve Index с полной поддержкой Linux
Нативно под Linux работает лишь несколько VR-игр, хотя в последнее время появляется всё больше. Но это вовсе не мешает. Дело в том, что среди Proton-совместимых тайтлов VR-игра скорее запустится под Linux, чем не-VR игра. И этих VR-игр десятки, а может и сотни.
Skyrim VR с модами. Источник: Patola
Вот Linux-совместимость самых популярных VR-игр, по рейтингам пользователей ProtonDB:
После Half-Life: Alyx начали появляться и другие сложные игры с глубокой физикой и мощной интерактивностью, такие как Karnage Chronicles (июль 2020) и The Wizard – Dark Times (июнь 2020).
«Физический рюкзак»: новая фишка, которую поддерживает всё больше VR-игр. Вы заводите руку за спину и «достаёте» рюкзак, в котором хранится инвентарь. Источник: Metro: Exodus
Так или иначе, но из десятки ProtonDB практически идеально запускаются почти все игры. Только по 8-Bit Arena VR нет отзывов, а у остальных рейтинги «платина» и «золото». Это удивительный результат, который является заслугой кроссплатформенного программного обеспечения SteamVR, с которым интегрирован Proton.
Дом SteamVR в виртуальной реальности
Справедливости ради, у SteamVR есть ряд известных багов под Linux. Например, не работает наголовная камера шлема Index и не срабатывает комбинация клавиш для скриншотов. Если бы SteamVR выпускался полностью с открытым исходным кодом, такие баги исправили моментально. К сожалению, остаётся только терпеливо ждать, когда их исправит Valve.
Для решения некоторых проблем разработаны утилиты SteamVR Utils — набор скриптов, улучшающий функциональность SteamVR на Linux, то есть исправляющий некорректное поведение в ряде ситуаций. Вот что приходится делать сообществу, когда разработчик долгое время не может запатчить баги.
Проект SteamVR официально стартовал в 2015 году, когда Valve создала программные интерфейсы OpenVR API для поддержки разнообразного VR-оборудования. Хотя основная часть SDK открыта, но сами драйверы остаются проприетарными. Это даже вынудило сообщество запустить альтернативный открытый проект Open Source Virtual Reality (OSVR). К сожалению, на данный момент его разработка приостановлена и даже сайт ушёл в офлайн. Зато вполне здравствует OpenXR (с реализацией Monado) — полностью открытая и свободная альтернатива проприетарным API от Valve. Последняя бета-версия SteamVR даже поддерживает OpenXR, наряду с нативными интерфейсами OpenVR. На самом деле опенсорсные разработки в мире VR/AR идут полным ходом. Например, можно упомянуть библиотеку XRDesktop, которая реализует в виртуальной реальности традиционные десктопные интерфейсы Linux. Поддерживается интеграция с существующими оконными менеджерами.
XRDesktop: десктопный интерфейс Linux в виртуальной реальности. Источник: Collabora
А также мультиплатформенную опенсорсную утилиту OVR Advanced Settings, которая бесплатно доступна в Steam. Очень полезный инструмент для детальной настройки VR-конфигурации.
Подводя итог. На практике под Linux можно использовать практически любое VR-устройство. Для этого нужно пойти в Steam и установить программу SteamVR.
Важность игр
Казалось бы, игры — что-то несерьёзное, не имеющее большого значения. Но это не так. На самом деле удобство и комфорт работы на настольном компьютере под Linux во многом зависит от того, какие игры здесь доступны и насколько комфортно в них играть. Поэтому так важно, чтобы под Linux выходили драйверы для последних видеокарт и они хорошо работали. То же самое касается самих игр, особенно популярных.
Игры имеют огромное, если не определяющее значение для популярности настольных дистрибутивов Linux. Игры вообще имеют кардинальное значение, в принципе. Давайте немножко пофантазируем. Представьте, что какая-то мегапопулярная игра выйдет эксклюзивно под Linux. Как думаете, что произойдёт на мировом рынке операционных систем? Насколько изменится соотношение Windows и Linux? Да многие подростки просто ради этой игры снесут Windows к чертям и поставят Linux, почему нет, если в свободной ОС поддерживаются все те же возможности, что и в Windows. Этот мысленный эксперимент демонстрирует, насколько важны игры для принятия новой операционной системы.
Вот почему система Proton для запуска игр под Linux — настолько важный проект. Будем надеяться, что Valve не забросит его.
Если сравнить количество доступных игр под Linux хотя бы десятилетие назад и сегодня, то это просто небо и земля, абсолютно иной мир. Не говоря уже о виртуальной реальности, которая отлично поддерживается в Proton. Никто даже мечтать не мог о таком невероятном будущем.
На правах рекламы
Серверы для игровых серверов и любых других задач — это про наши эпичные! Все серверы защищены от DDoS-атак. Лучше один раз попробовать.
Почему вы должны использовать Proton вместо Steam Linux Runtime
Когда вы используете Steam для запуска игр на ПК с Linux, у вас может быть возможность запустить его с помощью одной из двух утилит: Proton и Steam Linux Runtime. Из этих двух вам, вероятно, следует выбрать Proton. Вот почему.
Что такое Steam Linux Runtime?
На ПК с Linux, на котором запущен Steam, откройте свойства любой игры и просмотрите доступные варианты после установки флажка «Принудительное использование определенного инструмента совместимости Steam Play». Вы можете увидеть «Steam Linux Runtime» рядом с несколькими версиями Proton.
Если у вас есть опция 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.
Linux для игр или почему это уже не шутка
Многие, кто приходит на Linux, часто используют свою систему как и игровую платформу. В большей степени эта заслуга блогеров, работающих в этом направлении (Plafon, gamer station [on linux] и других) и популяризирующих Linux как игровую платформу. Но нечасто эти блогеры говорят о действительно стоящих инструментах для гейминга на Linux. Какие программы помогут улучшить игровой опыт? Сколько ваших игр поддерживает Linux? Какие клиенты доступны? На все эти вопросы я постараюсь дать исчерпывающий ответ в этой статье подробно описав все нюансы игрового опыта
Steam Proton
Самый известный инструмент для Linux — Steam Proton. Наверняка, многие из вас хотя бы раз слышали о нём. Если нет, то Proton (Steam Proton, Valve Proton) — это слой совместимости для Windows-игр, который позволяет запускать их в системах на базе ядра Linux.
Proton разработан Valve и CodeWeavers как форк популярного инструмента Wine, но включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базеvkd3d), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.
Для увеличения производительности многопоточных игр поддерживаются механизмы «esync» (Eventfd Synchronization) и «futex/fsync». Proton интегрирован в клиент Steam как часть «Steam Play».
Помимо официального Steam Proton существуют также его форки, например популярный форк от GloriousEggroll — Proton-GE-CUSTOM
GameMode
Следующий известный инструмент — GameMode от компании Feral Interactive (та, что портировала некоторые части серии GRID, F1, Tomb Raider, XCOM, Total War). По сути это демон (в Linux так называются аналоги служб Windows) для systemd который в автоматическом режиме оптимизирует ОС (разгон процессора, разгон видеокарты, расстановка приоритетов процессов и т.д.)
CoreCTRL
CoreCtrl — приложение, которое помогает создавать профили для разных приложений и оптимизирует под них оборудование. Поддерживается регулировка частоты центрального процессора и видеокарт AMD. Функционалом очень напоминает AMD WattMan
RyzenController
RyzenController — инструмент оверклокинга для мобильных процессоров Ryzen cо встроенной графикой. Интерфейс написан на Electron и React
MangoHUD, GOverlay, vkBasalt
MangoHUD — ещё один полезный инструмент. С помощью данного инструмента во время игровой сессии мы можем наблюдать счётчик кадров в секунду, датчик нагрузки на процессор и видеокарту, датчик использования оперативной и видеопамяти и т.д. Также можно включить ведение журнала кадров и загрузить на FlightlessMango. Благодаря этому, а также парочке тестов проведённых создателем сайта мы узнали, что CS:GO, DOTA 2, Red Dead Redemption 2, Rage 2, DOOM Eternal, Middle-earth: Shadow of Mordor лучше работают с Linux, чем с Windows
GOverlay — это проект с открытым исходным кодом, целью которого является создание графического интерфейса пользователя для конфигурации оверлеев Vulkan/OpenGL.
vkBasalt — это слой постобработки Vulkan для улучшения визуальной графики игр.
GtkStressTesting, GreenWithEnvy
GtkStressTesting — системная утилита предназначенная для стресс-теста и мониторинга различных компонентов оборудования, таких как процессор и оперативная память
GreenWithEnvy — инструмент для оверклокинга видеокарт NVIDIA
JoyShockMapper
JoyShockMapper — инструмент для использования 3-х осевого гироскопа в геймпадах DualShock 4, Nintendo Joy-Con controllers, и Nintendo Switch Pro Controller. На данный момент программа для Linux (только в рамках Steam Input) недоступна, однако она на стадии подготовки
Piper
Piper — графический пользовательский интерфейс для настройки игровых мышей. Параметры конфигурации включают в себя изменение разрешения (DPI) мыши, добавление и удаление профилей, настройку LED-подсветки и изменение поведения кнопок.
openRGB
openRGB — программное средство доступное как для Linux так и для Windows стремящиеся к централизации управлению подсветкой
openRazer, polychromatic, RazerGenie
openRazer — проект по реализации открытых драйверов для устройств компании Razer на Linux. Стоит отметить, что в openRGB частично включён этот проект, однако при помощи графических утилит через openRazer можно настроить не только подсветку, но макросы клавиатуры, поведение кнопок мыши, выбрать наиболее подходящий профиль DPI.
polychromatic — графический интерфейс и апплет для openRazer. Позволяет создавать профили для конкретных игр и т.д. Github проекта: https://github.com/polychromatic/polychromatic
RazerGenie — ещё один графический интерфейс, в отличие от предыдущего позволяет лучше управлять настройками мыши. Написан на С++ и фреймворке Qt Github проекта: https://github.com/z3ntu/RazerGenie
Cadmus
Cadmus — апплет для удаления постороннего шума в реальном времени при использовании микрофона, базирующийся на RNNoise от Xiph
NoiseTorch
NoiseTorch — программа для подавления шумов микрофона в реальном времени. Совместим с OBS, Mumble, Discord и некоторыми другими программами
Oversteer и pyLinuxWheel
Oversteer и PyLinuxWheel — аналогичные проекты по управлению гоночными рулями Logitech
Полезные программы
Discord — известный геймерам мессенджер с возможностью видеосвязи и демонстрации экрана. Он также есть и для Linux
Open Broadcaster Software (OBS) — программа с открытым исходным кодом для записи видео и ведения трансляций, используется часто профессиональными стримерами. Есть версия для Linux
Minigalaxy — клиент GOG для Linux с обновлением игр и поддержкой DLC, написан на Python с очень простым и понятным интерфейсом
GameHub — клиент для игр, который поддерживает библиотеки Steam, GOG, Humble Bundle. Добавлены слои совместимости для игр с Windows — Wine и Proton
HeroicGamesLauncher — игровой лаунчер, который синхронизируется с вашей библиотекой Epic Games. Служит графическим интерфейсом для Legendary — консольного клиента Epic Games. Интерфейс разработан профессиональным дизайнером и написан на Electron и React
Полезные сайты
Protondb.com— база данных, которая помогает игрокам определять запустится ли игра для Windows на их компьютере. Есть рейтинг работоспособности игр и статистика выгружаемая в файле JSON
Flightlessmango.com— сайт проекта MangoHUD. На этом сайте автор и игроки выкладывают логи игровых сессий, что существенно помогает определить насколько комфортно будет проводить время в той или иной игре
Gamingonlinux.com— сайт с новостями об играх и статистикой обновляемой каждый месяц
Радар релизов Feral Interactive — раздел сайта компании Feral Interactive, занимающиейся портированием игр под Linux (macOS и для мобильных устройств). Судя по портфелю тайтлов, выпущенных этим гигантом для Linux, сайт заслуживает ваше внимание
Valve выпустила Proton 6.3 для запуска Windows-игр под Linux
Компания Valve продолжает активно работать над совершенствованием своего проекта Proton, который позволяет запускать современные Windows-игры в среде ОC Linux. Запуск проекта состоялся в 2018 году, то есть не так и давно, но с тех пор инструмент неплохо эволюционировал.
Например, в декабре прошлого года компания выпустила 5.13-4 с поддержкой Cyberpunk 2077 — это произошло на следующий день после выхода самой игры. Сейчас вышла новая версия, как водится, еще более функциональная. Что там нового? Давайте посмотрим.
Главные обновления и улучшения
Пакет включает реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базе vkd3d-proton), работающие через трансляцию вызовов DirectX в API Vulkan. Кроме того, проект поддерживает многие игровые контроллеры, включая устройства от игровых консолей. А еще можно запускать игры в полноэкранном режиме независимо от поддерживаемых самими играми разрешений. Есть и механизмы улучшения производительности, которые называются «esync» (Eventfd Synchronization) и «futex/fsync».
Это то, что уже было. А вот новые возможности:
— Divinity: Original Sin 2
— Shenmue I & II
— Mass Effect 3 N7 Digital Deluxe Edition (2012)
— Tom Clancy’s Rainbow Six Lockdown
— XCOM: Chimera Squad
— Bioshock 2 Remastered
— Company of Heroes 2
— logiCally
— Rise of the Triad
— Home Behind 2
— Shadow Empire
— Arena Wars 2
— King Arthur: Knight’s Tale
— Rise of Venice
— ARK Park
— Gravity Sketch
— Battle Arena VR