Компания 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».
Это то, что уже было. А вот новые возможности:
- Сейчас пакет синхронизирован с выпуском Wine 6.3 (прошлая ветка основывалась на wine 5.13). Так, в upstream добавлена целая серия накопившихся ранее патчей, которые входят в основной состав Wine. Плюс ко всему, обновлена до версии 1.8.1 прослойка tream, которая транслирует вызовы в API Vulkan. VKD3D-Proton обновили до версии 2.2. Это ответвление создали для улучшения поддержки Direct3D 12 в Proton 6.3. Разработчики не обошли вниманием и аудиосистему — компоненты FAudio с реализацией звуковых библиотек DirectX (API XAudio2, X3DAudio, XAPO и XACT3) обновлены до выпуска 21.03.05.
- Оптимизирована поддержка раскладок клавиатуры для дополнительных языков.
- Поддержка видео в играх получила обновление. Если формат не поддерживается, то показывается заглушка — настроечная таблица.
- Оптимизирована поддержка контроллеров от PlayStation 5.
- Добавлена возможность настройки приоритетов активных потоков. Для их настройки используются RTKit или Unix-утилиты для управления приоритетами (nice, renice).
- Оптимизирована поддержка виртуальной реальности.
- Сборочная система тоже оптимизирована — это сделано для сокращения времени сборки.
- Конечно же, добавлена поддержка новых игр:
— 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
- Оптимизирован процесс горячего подключения контроллеров в двух играх — Slay the Spire и Hades.
- Теперь нет проблем с подключением к сервису Uplay.
- Устранены проблемы в Microsoft Flight Simulator с использованием шлемов виртуальной реальности
- И, наконец, теперь нормально отображаются кат-сцены в игре Bioshock 2 Remastered.
Выпуск находится вот по этой ссылке.
DarkSavant
Как оно по производительности по сравнению с виндой?
Понятно, что должно быть медленнее, но насколько в среднем?
NixGuy
Пробовал запускать Nioh 2 на связке wine + dxvk, без каких-либо дополнительных твиков. Производительность, на глаз, такая же или очень близкая к той, что на windows 10. Но вылезла одна неприятная вещь: инпут-лаг, задержка заметно больше чем в windows. В такой игре это критично.
Скорей всего, других играх все по-своему.
loltrol
В dota 2 даже в нативную версию под linux играть не возможно нормально, супер заметный лаг. Так что тут проблема глобальная. Где то читал что там надо и частоту опроса инпут девайсов повысить, и где то там в иксах подтвикать, но к сожалению я забил и не проверил.
GarretThief
Всё зависит от линукса, у меня на кубунте разницы с вообще не было, работало даже лучше, чем на винде. Ну и вообще,
NixGuy
Похоже, что от игры зависит тоже. К примеру, попробовал Nier: Automata, там лага не заметил.
webkumo
Пару лет назад в нативной дота2 под линуксом была только заметная проблема — хоткеи, сцуко, вешались не на кнопки, а на их значение. Переключил для чатика раскладку на русский — и фиг тебе, а не хоткеи...
Gordon01
Settings — Hotkeys — To Advanced Hotkeys — Bind keys based on keyboard position
webkumo
спасибо, посмотрю.
Denai
А как такую настройку появить? В стандартных такого нет. Какой-то популярный пакет твиков?
Gordon01
Это в самой дотце
Denai
Жаль, много где пригодилось бы
Shirami
Увы, но эта проблема Доты в принципе, а не нативной под Линукс.
У меня на 10-й винде по умолчанию статистика открывается на "~", но при переключении на русскую раскладку кнопка не работает.
webkumo
Плевать бы на эту статистику — она не самый важный и срочный хоткей, а я про самые активные хоткеи говорю — те, которые на qwert висят...
IntActment
У меня и на винде эта проблема была долгое время. Пока не появилась галочка в настройках — приходилось страдать (особенно когда у тебя больше двух раскладок на клавиатуре).
Architector
Несколько лет без проблем играю в Доту на Linux.
interprise
Это из-за устаревшего x11, причем я этот импут лаг, ощущаю даже просто при работе, не говоря уже про игры. Перешел на wayland, но когда игры будут работать не известно. Я не знаю почему. но еще многие люди защищают x11, а про wayland говорят «ненужно»
eumorozov
Потому что для работы wayland — пипец как неудобно. Не весь софт работает, тот что работает — работает непривычно и встречаются баги (очень много багов при работе firefox под wayland, например).
Последней каплей лично для меня стала боль при записи экрана. У меня появилась необходимость делать скринкасты, записывать видео своей работы. В wayland не работает 99% софта, предназначенного для записи с экрана. А тот, что работает, делает это крайне криво и ненадежно, либо просто катастрофически неудобен (встроенный в gnome, например, ничерта толком не позволяет настроить, и вообще, сложно понять, пишет он, или нет). Еще хуже, когда по непонятным причинам утилита писавшая видео вчера, без какой-либо диагностики перестает работать сегодня. Если видео пишешь не для хобби, а для работы (например, надо записывать скринкасты для студентов), то это финал — непрофессионально срывать занятие по причине: "Извините, у меня Wayland и из-за него сегодня не удается записать видео".
interprise
Изменилось апи и архитектура, неработоспособность некоторого спецефисного софта невозможно избежать. Любой софт под x11 имеет доступ ко всему экрану, в wayland это не так. В самой архитектуре заложены различия, придется ждать когда софт допилят.
Вы же не хотите сказать, что это повод оставаться на устаревшем, медленном апи с кучей проблем?
DistortNeo
Проблема в том, что Wayland уже больше 10 лет, а он до сих пор кривой и неюзабельный. Сколько можно ждать-то?
Am0ralist
Как будто в x11 проблем не было и все исправили за 10 лет…
DistortNeo
Проблемы-то архитектурные. Пользователь их не видит. Тем более, что всё скрыто за GTK и Qt.
Am0ralist
не считая проблем, которые пользователь из-за этого получал… хотя бы при нескольких мониторах помню были танцы.
Vilgelm
А в Wayland завезли аналог\поддержку x11 forwarding?
DistortNeo
Waypipe, например.
lizarge
на самом деле если игра пошла на wine то производительность почти всегда одинакова с нативным winapi, во всяком случае если речь идет о чистом wine, а не о Proton
lostero
Зависит от игры и физической поддержки Vulkan.
Написанные под Vulkan обычно лучше; под DX хуже, если через DXVK запускаешь, то не сильно заметно.
Хуже всего с процессородробительными играми на DX (финал пошаговых стратегий), там чуть быстрее в слайд шоу уходишь чем на винде, т.к. трансляция отнимает время у проца.
А так есть же ОСи чисто игровые, там должно быть лучше за счёт большего кол-ва физ. ресурсов доступных игре.
13werwolf13
Я практически не играю, а те игры в которые играю чаще всего есть нативно на линукс. Тем не менее немножжко вкурсе темы.
1) есть игры которые под wine/proton показывают себя лучше чем на том же железе на винде (яркий пример WoW)
2) есть игры которые показывают производительность меньше чем под виндой (GTA5) хотя разница обычно невелика и на моём железе (неигровой xeon и не шибко хорошая 1050 3gb) в ту же gta5 я играл без проблем
3) есть игры которые не запустятся так вообще (чаще всего дело не в самой игре а в прибитом к ней гвоздями кривому античиту, яркий пример Black Desert)
Kromeshnaja
"есть игры которые под wine/proton показывают себя лучше чем на том же железе на винде "
Есть реальные тесты где-то? Это звучит, мягко говоря, неправдоподобно.
13werwolf13
Где-то есть, но честно говоря мне лень искать и не уверен что найду. Разница в 5-10 фпс, и чуть быстрее прогружающиеся локации… Было бы на что смотреть…
PrinceKorwin
Почему? Такое раньше было довольно частое явление. За счёт того, что не все визуальные свистелки были реализованы в Wine. Игры шли быстрее, но картинка была проще.
saboteur_kiev
Так а разве в винде нельзя тогда выставить не максималку и получить ту же скорость с упрощенной картинкой?
AtachiShadow
Очень даже правдоподобно. Обычно быстрее Винды идут игры с однопоточными обработчиками (не важно аудио, графика, геометрия или ещё что-то), которые Wine в силу своей архитектуры обрабатывает в несколько потоков. В итоге игра получает результаты вычислений в Винде в виде очереди на один поток, а в Вайне в виде очереди на несколько потоков. Не помню где, но точно такое случалось.
Так же добавим сюда оптимизации ФС самого Линукса. Может случиться так, что операции с данными на диске быстрее пройдут в окружении Линукса (из-за грамотного состояния компонентов системы) чем в окружении Винды.
Но чаще всего профит от применения Вайна в одном месте может быть уравновешен замедлением в другом месте. Вопрос весьма специфичен в виду неоднородности софта в играх.
Kromeshnaja
Пока оба ответа «не помню где, не помню как». Не путайте маркетинг и реальные тесты.
Axelaredz
Реальные тесты всё там же… ютуб дот ком fps linux vs windows
… наверно многих ещё больше удивит тот факт, что Google Stadia тоже на линухе)
fallart
это все же очень субъективно видимо. у меня вов тупо не запустился на линуксе, после двух дней танцев с бубном, просто установил Винду в дуалбут. было гораздо проще чем запустить под вайном. (пробовал на убунте и минте)
13werwolf13
Погугли portwine
Но все современные бутылки сделаны с использованием dxvk и если твоя Видюха не умеет в вулкан… Страдай…
fallart
я решил вопрос проще — ушел с линукса обратно на Винду. легче настроить рабочее окружение на Винде, чем использовать дуалбут или настраивать вайн
13werwolf13
Не у всех есть столько нервов чтобы терпеть выкрутасы винды и дорабатывать то что мелкомягкие не могут осилить… Тем более что её закрытость постоянно мешает это делать.
fallart
я ничего не дорабатывал, меня все устраивает из коробки) а вот линукс постоянно что-то выкидывал
a1111exe
Не могу сравнивать с виндой (не пользуюсь), но на данный момент имею в Steam 365 (да, сам удивился) игр, из которых 42 установлены прямо сейчас. Включая многие AAA. ОС Убунту, проц. Ryzen 2700X, видеокарта RTX 2070, RAM 64GB, SSD. Очень многие (и чем дальше, тем больше) игры без поддержки линукс запускаются и играются без бубна и без тормозов (ну да, в последнем Tomb Raider ставил 1080p, чтобы оставить остальные настройки графики на максимуме, так же делаю в некоторых других играх, но есть и такие, что шустро бегают и в 4К). Иногда бубен всё же нужен, но очень часто он описан в protondb.com и для постоянного пользователя Linux является достаточно тривиальным в воспроизведении. В общем, если кто-то думает заставить себя более рационально использовать время за компьютером через переход на Linux, увы и ах. :)
DarkSavant
О, спасибо вам и всем за инфу.
Я как бы один два раза в месяц играю, но тем не менее иногда есть желание, и нет желания плясать с бубном. А винду то только из-за этого держу)
Anshi85
Долгое время основной системой был Linux, в частности Ubuntu/Linux mint, играть на Linux можно, но довольно часто это бывает больно. Если говорить о Steam (Proton), то перед покупкой/установкой игры надо идти на сайт protondb и смотреть какой рейтинг у игры, какие манипуляции надо совершить, для того чтобы поиграть, часто бывает надо ставить дополнительные библиотеки, шрифты, windows media player и тд. В общем иногда чтобы комфортно поиграть, надо пару часов потратить на настройку системы, поиски информации в гугле или в SOF, мне этого хватает и на работе, поэтому я держу две системы Win10 для игр и Linux Mint для работы. Прибавьте к этому, что производительность будет ниже на 20-30% чем в Windows, опять же некоторые сетевые игры например Call of Duty MW 2019 или Cold War нормально поиграть не получится. В целом такой себе гейминг получается, играть можно но мирясь с косяками или танцами с бубном.
a1111exe
Имхо, про пару часов это сильно преувеличено. Я пока столкнулся только с двумя мажорными проблемами: в Borderlands 3 не проигрывалось видео, и HoMM 7 сильно тормозила и глючила. Первая проблема решилась следованием инструкции на protondb.com, для второй решения найти не получилось, но она решилась сама собой, когда попробовал запустить через несколько месяцев на новой версии Proton. В обоих случаях не думаю, что потратил больше получаса. Как бы там ни было, решения проблем, когда они есть (они всё чаще есть), сводятся к двум-трём основным типам — воспроизвёл один раз, и все последующие случаи решаются на полуавтомате за несколько минут. При этом чем дальше развивается Proton, тем больше игр запускаются и работают вообще без всякого бубна.
У этих цифр есть серьёзные источники? У меня далеко не самая сильная видеокарта (RTX 2070), думаю, игры типа Doom Eternal (высокая чувствительность к FPS) заставили бы меня это почувствовать.
До сих пор некоторые тайтлы недоступны, но этот список постоянно сокращается. Прежде, чем покупать игру, надо заходить на ProtonDB и просматривать отзывы. Довольно просто быстро определить, стоит ли связываться. В целом же, если игры это абсолютный приоритет, то тогда, конечно, только Windows. И если есть принципиальная неготовность иногда "марать руки" командами в терминале или кастомными флагами запуска. В остальных случаях Linux вполне играбельна.
Anshi85
У меня на аккаунте Steam 211 игр, в основном это ААА проекты, в качестве примера могу привести Resident Evil Revelations 2, ставил по ссылкам из protondb WMP, но так и не смог поиграть, там для отображения меню нужен WMP, потратил пару часов и забил, другой пример старая игра Enclave, кстати есть нативная поддержка Linux, так вот она вообще не устанавливается, потратил пол дня на изучение проблемы, написал тикет в тех поддержку в итоге, через два ответили что то невнятное, про запуск 32 битных игр, к тому моменту я забил уже.
По поводу производительности, например запускал через Wine World of Warcraft, да играть можно, но по сравнению с Windows FPS будет в 1,5 меньше! При этом нужно молится, чтобы Близзард не обновили клиент, потому что придется пару дней, искать решение или ждать пока разработчики того же portwine-linux выкатят обновление.
Перечитайте еще раз мой комментарий, на который отвечаете, я то же самое писал, что захожу смотрю рейтинги на protondb, опять же ищу информацию там или в гугле, я не говорю, что играть на Linux нельзя, наоборот играть можно, но надо будет тратить время на настройку, а ведь часто хочется просто прийти с работы и поиграть час другой в свое удовольствие, тут даже дело не в неготовности «марать руки», мне этого хватает на работе, у меня семья, дети, есть домашние дела и тратить драгоценное свободное время на работу в личное время, для меня нецелесообразно. Если же вам нравится играть под Linux, то пожалуйста, я не пытаюсь вас переубедить, я высказал лишь свое мнение, а именно играть можно, но если хочется играть без танцев с бубном, то лучше использовать Windows
Sl1mShady
Не всегда медленнее. МК9 в свое время под вайном работал быстрее, чем под вин7 на том же ПК. Под виндой был баг, игра иногда в слоумо уходила, а в Линуксе все ок.