HomeLab.net.ua

Твоє залізо. Твої правила. Твоя мова.

Proton у Steam на Linux: сумісність, версії і проблеми

Опубліковано

Proton у Steam на Linux: сумісність, версії і проблеми

Proton – шар сумісності в Steam, який запускає Windows-ігри на Linux через Wine, DXVK і пов’язаний стек. Proton у Steam на Linux варто розглядати як штатний спосіб запуску, якщо гра не впирається в античіт, старий launcher або кривий Vulkan у системі.

Більшість збоїв виникає через дрібниці: вимкнений Steam Play, невдала версія Proton, старий драйвер GPU або античіт без підтримки Linux. Тому перед першим запуском краще пройти коротку перевірку, а не одразу додавати параметри в Launch Options.

Де перевірити, чи гра взагалі запускається через Proton

Найшвидший спосіб – подивитися статус гри в Steam Deck compatibility та звіти користувачів на ProtonDB. Цього зазвичай достатньо, щоб зрозуміти, чи гра стартує одразу, чи потребує певної версії, або впирається в античіт чи DRM.

Steam Deck compatibility корисний як перший фільтр. Якщо гра має статус Verified або Playable, шанс на запуск високий. Але це не гарантія для звичайного десктопа з іншою відеокартою, Wayland-сесією або двома моніторами.

У ProtonDB варто дивитися не тільки рейтинг, а й свіжі звіти. Старі записи часто плутають картину. Після оновлення гри або самого шару сумісності поведінка змінюється, а найцінніше там – згадки про конкретну версію, симптоми і робочі параметри запуску.

Якщо в картці гри згадується kernel-level anti-cheat, шансів мало. У таких випадках Proton у Steam на Linux впирається в політику розробника, а не в локальні налаштування.

Де в Steam вмикається Proton для всієї бібліотеки і для окремої гри

Глобальне ввімкнення робиться в налаштуваннях Steam через розділ Compatibility. Для окремої гри версію можна зафіксувати локально у властивостях. Глобальний режим зручний для великої бібліотеки, локальний – коли конкретний тайтл запускається лише з певною збіркою.

Увімкнення Steam Play для всієї бібліотеки

  1. Відкрийте Steam.
  2. Перейдіть у Settings – Compatibility.
  3. Увімкніть Enable Steam Play for supported titles.
  4. Якщо потрібен запуск усіх Windows-ігор, увімкніть Enable Steam Play for all other titles.
  5. У полі вибору встановіть типову версію Proton.
  6. Перезапустіть Steam.

Після цього Windows-ігри в бібліотеці почнуть показувати кнопку встановлення так само, як нативні Linux-релізи. Якщо система ще готується під ігри, стане в пригоді базове налаштування Debian: без коректних репозиторіїв і драйверів збої почнуться ще до запуску першої гри.

Прив’язка конкретної версії до однієї гри

  1. У бібліотеці Steam відкрийте Properties потрібної гри.
  2. Перейдіть у Compatibility.
  3. Позначте Force the use of a specific Steam Play compatibility tool.
  4. Виберіть потрібну версію зі списку.

Це корисно, коли одна гра працює на Proton 8, а інша стартує лише на Experimental. Для кількох тайтлів такий підхід нормальний. Для десятків ручне керування версіями вже починає дратувати, і тут краще не чіпати глобальну збірку без потреби.

Яку версію ставити: stable, Experimental чи старішу

Починати варто з типової stable-версії, яку пропонує Steam. Якщо гра не стартує або має свіжий regression, переходять на Proton Experimental. Старі збірки потрібні тоді, коли новий реліз зламав конкретну гру або змінив поведінку launcher’а.

Stable підходить для більшості давно відомих ігор. Така збірка зазвичай дає менше сюрпризів після оновлень і краще тримається в бібліотеці, де не хочеться ловити випадкові злами сумісності.

Experimental корисний для нових релізів і випадків, коли виправлення ще не дійшли до stable. Є й зворотний бік: одна гра запускається краще, інша отримує новий збій. Через це Proton у Steam на Linux не варто тримати на Experimental глобально, якщо решта бібліотеки вже працює нормально.

Старішу версію варто ставити за двох умов: є підтвердження в ProtonDB або гра після оновлення почала падати ще до меню. Частий сценарій – старий launcher, який новий Wine-бекенд обробляє інакше. У такій ситуації відкат дає більше, ніж черговий набір параметрів у запуску.

Що перевірити до першого запуску гри

Перед першим стартом треба перевірити драйвер відеокарти, вільне місце на диску, актуальність Steam і коректність Vulkan. Якщо один із цих пунктів зламаний, гра може не дійти навіть до головного меню, а лог покаже лише загальний збій ініціалізації.

Мінімум, без якого запуск часто валиться

  1. Оновіть Steam і систему.
  2. Переконайтеся, що встановлений робочий драйвер GPU.
  3. Перевірте підтримку Vulkan.
  4. Переконайтеся, що на диску вистачає місця під гру і shader cache.
  5. Не додавайте Launch Options до першого старту без потреби.

На HDD багато ігор створюють префікс довго. Якщо вікно зависло на першому запуску, це ще не збій. Steam може мовчки розпаковувати redistributables і створювати prefix, а на повільному диску очікування інколи затягується довше, ніж сама інсталяція гри.

Команди для швидкої перевірки Vulkan

Якщо пакет vulkan-tools встановлений, достатньо однієї команди:

vulkaninfo --summary

Якщо команди немає, встановіть інструменти. Для Debian і сумісних систем:

sudo apt update
sudo apt install vulkan-tools

Коли vulkaninfo падає або не бачить пристрій, до запуску гри через цей шар сумісності переходити рано. Спершу треба довести до ладу драйвер і userspace-бібліотеки.

Чому гра не стартує і де зазвичай ламається

Найчастіших причин чотири: античіт без підтримки Linux, проблеми з драйвером або Vulkan, невдала версія сумісності і зламаний game launcher. Рідше винен пошкоджений prefix або старі файли після невдалого запуску з іншими параметрами.

Античіт і DRM

Якщо гра використовує античіт, який розробник не дозволив для Linux, запуску не буде навіть при правильному налаштуванні. Перебір версій тут нічого не дає. Обмеження лежить вище за compatibility layer.

Збій до появи вікна гри

Коли кнопка Play на секунду змінюється на Stop і повертається назад, проблема часто в launcher’і, Vulkan або префіксі. У такому випадку допомагає зміна версії, перевірка цілісності файлів і видалення локального prefix для цієї гри.

Чорний екран або зависання після старту

Тут зазвичай ламається ініціалізація графіки, fullscreen-режим або компіляція шейдерів. На Wayland деякі старі ігри поводяться гірше, ніж на X11. Якщо збій повторюється тільки в fullscreen, варто перевірити запуск у вікні через параметри гри.

Коли винен сам prefix

Steam-префікс зберігає налаштування, redistributables і кеш для конкретної гри. Після серії невдалих запусків з різними версіями він інколи лишається в напівзламаному стані. Це той випадок, коли чистий старт після видалення compatdata спрацьовує швидше за ручний ремонт.

Як зібрати логи і відрізнити збій гри від проблеми системи

Мінімальна діагностика робиться через змінну PROTON_LOG=1. Вона створює лог запуску, за яким уже видно місце збою: Steam, префікс, Vulkan, launcher або сама гра. Це швидкий спосіб відсікти випадки, де винна система, а не Proton у Steam на Linux.

Як увімкнути лог для однієї гри

  1. Відкрийте Properties гри у Steam.
  2. У полі Launch Options додайте:
PROTON_LOG=1 %command%

Після запуску Steam створить лог у домашньому каталозі. Назва зазвичай виглядає як steam-<appid>.log.

Що шукати в логу

Якщо там є помилки на кшталт vulkan, dxvk або failed to create device, спершу перевіряють драйвер і Vulkan-стек. Якщо лог обривається на launcher’і або media foundation, частіше допомагає інша версія. Коли файл майже порожній, збій інколи стається ще до нормального старту compatibility tool.

Для глибшого розбору журналів системи стане в пригоді окремий матеріал про збір логів у Linux. Це корисно, коли разом із грою падає сам клієнт Steam або сесію валить драйвер GPU.

Швидка перевірка, що винна не система

  1. Запустіть іншу відому гру через ту саму версію.
  2. Перевірте vulkaninfo --summary.
  3. Подивіться, чи не падає Steam без запуску гри.
  4. Звірте версію і симптоми з ProtonDB.

Якщо інші ігри йдуть нормально, а збій повторюється тільки в одній, проблема майже напевно локальна для цього тайтлу. Якщо не стартує все підряд, Proton у Steam на Linux лише показує поломку нижче – зазвичай у драйвері, 32-bit бібліотеках або самому клієнті Steam.

Коли краще змінити підхід

Є сценарії, де час на тюнінг не окупається. Якщо гра прив’язана до несумісного античіту, вимагає специфічного launcher’а або регулярно ламається після патчів, краще одразу шукати інший спосіб: dual boot, cloud gaming або окрему Windows-машину.

Dual boot має сенс для мережевих ігор з жорстким античітом. Для рідкісного запуску одного проблемного тайтлу це простіше, ніж щоразу ламати prefix і перевіряти нові Experimental-збірки.

Для кількох старих одиночних ігор цей підхід зазвичай виправданий. Але коли кожен другий реліз вимагає окремої версії, ручних фіксів і перевірки форумів, межа зручності вже пройдена. У такій точці проблемні ігри краще віддати окремому Windows-середовищу, а Linux залишити для того, що працює стабільно.

Офіційна документація Steam Play і Proton доступна в Steam Support, а код і список змін – у репозиторії Valve Proton.

Коментарі

Коментарів ще немає. Обговорення - у Telegram.