Использование Proton для запуска сторонних Windows программ. — Noostyche blog

Использование Proton для запуска сторонних Windows программ. — Noostyche blog World of Tanks

Вступление.

Для запуска Windows-программ в среде Linux применяется Wine, в свою очередь, Proton (Steam Play), развиваемый компанией Valve, ориентируется на запуск Windows-игр с использованием клиента Steam, но на деле можно запускать самые разные Windows-программы. Если Wine используется через команды терминала, то Proton можно задействовать через графический интерфейс Steam.

Что такое protondb?

В базе данных

накапливаются отчёты от геймеров, которые тестируют игры с Proton на Linux. В итоге выводится общая оценка, насколько хорошо работают игры.

Оценка игре выставляется по пятибалльной шкале:

На данный момент в базу включено 109 984 отчёта о 16 754 играх. Вот как выглядит рейтинг 10 самых популярных:

Из этой десятки самых популярных игр у трёх рейтинг «золото», у двух — серебро, у трёх — бронза, а две игры не запускаются или неиграбельны. То есть 50% из десятки топовых игр нормально запускаются под Linux. Если взять сотню самых популярных игр, то этот показатель составляет 80%. Таким образом, большинство игр действительно работают в линуксовой среде.

В базе ProtonDB для каждой игры опубликованы отзывы реальных тестеров. Указана подробная конфигурация его оборудования, версия Proton и детальный отзыв по пунктам, с указанием стабильности и производительности, звука, графики и других параметров. Здесь же геймеры могут найти советы и твики, как заставить игру нормально работать в той или иной конфигурации.

Steam Play официально поддерживает ограниченный список игр, которые официально совместимы с Linux через систему Proton — так называемый «белый список». Список не такой большой, но постоянно растёт. Судя по отчётам ProtonDB, значительное количество игр, не включённых в белый список, включая многие популярные тайтлы, тоже отлично работают под Linux.

Под Linux сегодня доступны Cyberpunk 2077, Red Dead Redemption 2, Death Stranding и многие другие игры. Вообще, сложно найти игру класса AAA, которая не запускается под Linux.

Что такое proton?

— это относительно новый инструмент, который выпустила компания Valve Software (

). Он интегрирован со Steam Play, а его задача — максимально упростить запуск Windows-игр под Linux.

Хотя Proton интегрирован со Steam Play, но его можно собрать из исходников и использовать отдельно.

Под капотом Proton работают другие популярные инструменты, такие как кастомная версия Wine (бóльшую часть сделанных Valve модификаций приняли в основную ветку) и DXVK, которые в противном случае пришлось бы устанавливать и поддерживать самостоятельно.

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

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

Steam также поддерживает работу с локальными установками Proton, поэтому никто не мешает вручную инсталлировать его на своей машине. Для этого нужно создать новую директорию в ~/.steam/root/compatibilitytools.d/ и поместить туда содержимое dist, полученное после сборки из исходников.

Cadmus

Cadmus — апплет для удаления постороннего шума в реальном времени при использовании микрофона, базирующийся на RNNoise от Xiph

Corectrl

CoreCtrl — приложение, которое помогает создавать профили для разных приложений и оптимизирует под них оборудование. Поддерживается регулировка частоты центрального процессора и видеокарт AMD. Функционалом очень напоминает AMD WattMan

Gamemode

Следующий известный инструмент — GameMode от компании Feral Interactive (та, что портировала некоторые части серии GRID, F1, Tomb Raider, XCOM, Total War). По сути это демон (в Linux так называются аналоги служб Windows) для systemd который в автоматическом режиме оптимизирует ОС (разгон процессора, разгон видеокарты, расстановка приоритетов процессов и т.д.)

Gtkstresstesting, greenwithenvy

GtkStressTesting — системная утилита предназначенная для стресс-теста и мониторинга различных компонентов оборудования, таких как процессор и оперативная память

Joyshockmapper

JoyShockMapper — инструмент для использования 3-х осевого гироскопа в геймпадах DualShock 4, Nintendo Joy-Con controllers, и Nintendo Switch Pro Controller. На данный момент программа для Linux (только в рамках Steam Input) недоступна, однако она на стадии подготовки

Mangohud, goverlay, vkbasalt

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

Про WoT:  14 Day Weather Forecast | World Weather Online

Noisetorch

NoiseTorch — программа для подавления шумов микрофона в реальном времени. Совместим с OBS, Mumble, Discord и некоторыми другими программами

Openrazer, polychromatic, razergenie

openRazer — проект по реализации открытых драйверов для устройств компании Razer на Linux. Стоит отметить, что в openRGB частично включён этот проект, однако при помощи графических утилит через openRazer можно настроить не только подсветку, но макросы клавиатуры, поведение кнопок мыши, выбрать наиболее подходящий профиль DPI.

Openrgb

openRGB — программное средство доступное как для Linux так и для Windows стремящиеся к централизации управлению подсветкой

Oversteer и pylinuxwheel

Oversteer и PyLinuxWheel — аналогичные проекты по управлению гоночными рулями Logitech

Piper

Piper — графический пользовательский интерфейс для настройки игровых мышей. Параметры конфигурации включают в себя изменение разрешения (DPI) мыши, добавление и удаление профилей, настройку LED-подсветки и изменение поведения кнопок.

Ryzencontroller

RyzenController — инструмент оверклокинга для мобильных процессоров Ryzen cо встроенной графикой. Интерфейс написан на Electron и React

Важность игр

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

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

Как думаете, что произойдёт на мировом рынке операционных систем? Насколько изменится соотношение Windows и Linux? Да многие подростки просто ради этой игры снесут Windows к чертям и поставят Linux, почему нет, если в свободной ОС поддерживаются все те же возможности, что и в Windows. Этот мысленный эксперимент демонстрирует, насколько важны игры для принятия новой операционной системы.

Вот почему система Proton для запуска игр под Linux — настолько важный проект. Будем надеяться, что Valve не забросит его.

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

Запуск windows программы из библиотеки steam с помощью proton.

ВАЖНО!Нужно именно редактировать кнопку запуска (ярлык), а не отдельно добавлять в библиотеку Steam исполняемый файл установленной программы. Если добавить отдельно, то будет создан новый префикс, а не использоваться тот, в который установили.

Отредактируем кнопку запуска (ярлык), чтобы она запускала исполняемый файл установленной программы. Для это нажать ПКМ и выбрать «Свойства»:

В появившемся окне перейти на вкладку «Ярлык»:

Здесь можно выбрать иконку для ярлыка, поменять название, указать дополнительные опции в строке «Параметры запуска», а так же поменять путь до исполняемого файла.

В примере показан ранее указанный путь до установочного файла Battle.net-Setup.exe. Его необходимо заменить на путь до исполняемого файла установленного клиента Battle.net, так же можно поменять название ярлыка (кнопки запуска).

Информация о системе

Операционная система: Manjaro Linux

Версия KDE Plasma: 5.22.5

Версия KDE Frameworks: 5.86.0

Версия Qt: 5.15.2


Версия ядра: 5.14.7-2-MANJARO (64-бита)

Графическая платформа: X11

Процессоры: 4 × Intel® Core™ i5-2500K CPU @ 3.30GHz

Память: 7,7 ГиБ ОЗУ


Графический процессор: GeForce GTX 560 Ti/PCIe/SSE2

Графический драйвер:

Уголок новичка: Драйвера видеокарты

Как запустить steam proton вне steam?

Про WoT:  Боевые резервы в Укрепрайонах: «Авиаудар» и «Артобстрел» | Клановые войны | World of Tanks

А логика здесь очень простая —

Про WoT:  Тестирование видеокарт в демо-программе World of Tanks enCore RT с трассировкой лучей

Кратко.

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

Далее подробно.

На правах рекламы

и любых других задач — это про наши

эпичные

! Все серверы защищены от DDoS-атак. Лучше один раз попробовать.

Подготовка.

Сначала стоит удостовериться, включено ли использование Proton: Steam / Настройки / Steam Play

Необходимо отметить обозначенные опции. Версию Proton выбрать самую свежую.

Полезные программы

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

Предположение

Это не точно, но я предполагаю, что видеокарта использует только OpenGL, а Steam в протоне пытается запускать игры через Vulkan

Проблемы в steam

В Steam не могу запустить игру через Proton всех версий, включая кастомные версии из

Проблемы в wine/portproton

Так же, не могу запустить игру «Warcraft 3» через команду:

wine "war3.exe" -opengl

При запуске, меняет разрешение экрана, и ничего не происходит. В Ubuntu все хорошо запускалось. Вот логи консоли:

0024:err:ole:com_get_class_object apartment not initialised
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
ALSA lib pcm_dmix.c:1035:(snd_pcm_dmix_open) unable to open slave
0024:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably wont work.
winegstreamer error: decodebin0: В вашей установке GStreamer отсутствует модуль.
winegstreamer error: decodebin0: ../gst-plugins-base/gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: Audio Video Interleave (AVI) (video/x-msvideo)

winegstreamer: failed to create avidemux, are 32-bit GStreamer "good" plugins installed?

(wine:119534): GStreamer-CRITICAL **: 00:03:57.312: gst_pad_unlink: assertion 'GST_IS_PAD (sinkpad)' failed

(wine:119534): GStreamer-CRITICAL **: 00:03:57.312: gst_object_unref: assertion 'object != NULL' failed
winegstreamer error: decodebin1: В вашей установке GStreamer отсутствует модуль.
winegstreamer error: decodebin1: ../gst-plugins-base/gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstBin:bin2/GstDecodeBin:decodebin1:
no suitable plugins found:
Missing decoder: Audio Video Interleave (AVI) (video/x-msvideo)

winegstreamer: failed to create avidemux, are 32-bit GStreamer "good" plugins installed?

(wine:119534): GStreamer-CRITICAL **: 00:03:57.386: gst_pad_unlink: assertion 'GST_IS_PAD (sinkpad)' failed

(wine:119534): GStreamer-CRITICAL **: 00:03:57.386: gst_object_unref: assertion 'object != NULL' failed
[FAIL] s_pGraph->RenderFile(wFile, NULL) = -21472209680024:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x176b326
    ~  0070:err:rpc:RpcAssoc_BindConnection receive failed with error 1726 


Warcraft 3 смог запустить через программу «PortProton», но она не позволяет запускать несколько сеансов.

Мне необходимо запустить еще один file.exe, для игры по сети. «PortProton» сразу закрывает сеанс, при попытке запустить еще одну программу.В Ubuntu Wine мог поддерживать несколько сеансов

Состояние vr на linux

Под Linux есть даже шлемы виртуальной реальности. По крайней мере, Valve Index

. Хотя говорят, что это единственный шлем с официальной поддержкой Linux. Однако другие шлемы типа HTC Vive или Vive Pro могут запускать игры под Linux через кроссплатформенный движок SteamVR.

Использование Proton для запуска сторонних Windows программ. — Noostyche blog
Valve Index с полной поддержкой Linux

Нативно под Linux работает лишь несколько VR-игр, хотя в последнее время появляется всё больше. Но это вовсе не мешает. Дело в том, что среди Proton-совместимых тайтлов VR-игра скорее запустится под Linux, чем не-VR игра. И этих VR-игр десятки, а может и сотни.

Оцените статью
TankMod's
Добавить комментарий