У 2010 році ми представили Steam Play: новий спосіб отримати доступ до ігор Steam відразу на Windows, на Mac і на Linux, заплативши лише одного разу. З тих пір в Steam були додані більше 3000 ігор з підтримкою Linux, і це число продовжує зростати. Ми продовжуємо докладати зусиль, щоб ще більше спростити доступ до ігор для користувачів Linux.
Два роки тому ми почали працювати над тим, щоб поліпшити якість і продуктивність рішень для сумісності ігор з Windows. Зокрема, ми підтримуємо Wine та інші проекти, що забезпечують сумісність. Також ми інтегруємо ці інструменти в клієнт Steam, щоб забезпечити автоматичне налаштування, пропоновану звичайними іграми на Linux.
Наша мета полягає в тому, щоб у користувачів Steam, що використовують Linux, була можливість отримати доступ до безлічі ігор заднім числом. Ми думаємо, що це дозволить майбутнім розробникам легко пристосувати свої продукти з інших платформ для Linux. Це дасть їм можливість замість незручностей з портированием зосередитися на поліпшенні ігрового процесу для всіх користувачів, наприклад, завдяки впровадженню підтримки Vulkan.
В результаті нашої роботи виходить нова і вдосконалена бета-версія Steam Play для всіх користувачів Linux! Вона включає модифікований дистрибутив Wine під назвою Proton, що забезпечує сумісність з іграми на Windows. Наведемо приклади пропонованих удосконалень:
- Ігри на Windows без доступної версії для Linux тепер можна завантажити і запускати безпосередньо з клієнта Steam на Linux, куди вже вбудована підтримка Steamworks і OpenVR.
- Реалізація DirectX 11 і 12 тепер грунтується на Vulkan, що покращує сумісність ігр та зменшує вплив на продуктивність.
- Покращена підтримка повноекранного режиму: ігри будуть бездоганно розтягнуті на екран бажаного розміру, при цьому вбудоване дозвіл монітора спотворюватися не буде і не буде вимагати використання віртуального робочого столу.
- Покращена підтримка ігрових контролерів: ігри будуть автоматично розпізнавати всі контролери, які підтримуються в Steam. Очікується навіть більша сумісність з готовими контролерами в порівнянні з оригінальною версією гри.
- Продуктивність багатопоточних ігор значно покращилася в порівнянні зі стандартною Wine.
Дане поліпшення йде руку об руку з тестуванням всього каталогу Steam. В результаті тестів ми визначимо, які ігри нормально працюють в цьому середовищі сумісності, і знайдемо і усунемо проблеми в іграх, які не працюють в цьому середовищі. Вихідний список ігор, які підтримує при випуску цієї бета-версії:
- Beat Saber
- Bejeweled 2 Deluxe
- Doki Doki Literature Club!
- DOOM
- DOOM II: Hell on Earth
- DOOM VFR
- Fallout Shelter
- FATE
- FINAL FANTASY VI
- Geometry Dash
- Google Earth VR
- Into The Breach
- Magic: The Gathering - Duels of the Planeswalkers 2012
- Magic: The Gathering - Duels of the Planeswalkers 2013
- Mount & Blade
- Mount & Blade: With Fire & Sword
- NieR: Automata
- PAYDAY: The Heist
- QUAKE
- STALKER: Shadow of Chernobyl
- Star Wars: Battlefront 2
- Tekken 7
- The Last Remnant
- Tropico 4
- Ultimate Doom
- Warhammer® 40,000: Dawn of War® - Dark Crusade
- Warhammer® 40,000: Dawn of War® - Soulstorm
Ми будемо додавати і інші ігри в майбутньому в міру тестування і розробки. А поки користувачі-ентузіасти можуть спробувати запустити гри, не включені в список, використовуючи відповідні налаштування в клієнті Steam. У майбутньому користувачі зможуть проголосувати за включення своїх улюблених ігор в Steam Play, вказавши платформу в списку бажаного.
Під час бета-тестування підтримувані в Steam Play гри не будуть пропонуватися для покупок або позначатися в магазині Steam як гри, які можна запустити на Linux.
Інструмент, який використовується Steam Play для забезпечення сумісності з Windows, - Proton, - містить особливу версію Wine, а також додаткові бібліотеки, розроблені разом з нею. Він є загальнодоступним і знаходиться на GitHub !
Якщо ви знайомі зі створенням проектів з відкритим кодом, ви можете створювати свої локальні збірки Proton: клієнт Steam підтримує їх використання для запуску ігор замість вбудованої версії. Приєднуйтесь до обговорень в системі відслідковування помилок та діліться своїми виправленнями і результатами тестування з усіма учасниками спільноти!
Що потрібно, щоб почати?
Трохи. Ось про що необхідно пам'ятати:
В. Що таке Proton? Чим він відрізняється від стандартної версії Wine? Хто над ним працював?
Proton - це дистрибутив, заснований на зміненої версії Wine. Удосконалення Wine були фінансовані Valve і розроблялися спільно з CodeWeavers. Наведемо приклади того, над чим ми працювали з 2016 року:
- vkd3d , Реалізація Direct3D 12, заснована на Vulkan
- OpenVR і вбудовані в Steamworks сполучні інтерфейси API bridges
- Виправлені помилки продуктивності і функціонування wined3d для Direct3D 9 і Direct3D 11
- Абсолютно нова підтримка повного екрану і геймпадов
- набір оновлень esync , Призначений для удосконалення багатопотокової продуктивності
Зміни, впроваджені в модифікаціях Wine, можуть бути застосовані до оригінальним проектом, якщо вони сумісні з його цілями і вимогами. В результаті користувачі Wine вже більше року можуть скористатися результатами розробки. Все інше є як частина сховища вихідного коду для Proton і його модулів.
До того ж ми підтримуємо розробку DXVK - реалізацію Direct3D 11, засновану на Vulkan. Ця підтримка включає:
- Використання послуг розробника DXVK в нашій групі графіки з відкритим вихідним кодом з лютого 2018 року.
- Надання прямої підтримки з боку цієї групи для усунення проблем драйвера Mesa, негативно впливають на DXVK, і впровадження дослідного зразка нових функцій Vulkan для удосконалення роботи DXVK
- Робота з нашими партнерами в Khronos, NVIDIA, Intel і AMD для координації підтримки функцій і драйверів Vulkan
В: А як щодо продуктивності?
Продуктивність ігор, що вимагають перекладу графічного API, може виявитися різною, проте підстав для того, щоб гра з Vulkan запускалася повільніше, немає.
В: Чи є ігри, які не будуть працювати з Proton?
Існує ймовірність, що ігри, що використовують складні DRM або системи антічита, буде складно або зовсім неможливо підтримувати.
В: Коли додаткові гри будуть відзначені як сумісні з новою системою Steam Play?
Ми будемо додавати в список нові партії ігр в міру тестування, але певних термінів ми не задаємо. При додаванні нових ігор в систему оновлювати клієнт Steam не буде потрібно.
В: Чи можна запустити гру з Proton, навіть якщо вона не позначена як сумісна?
Так. Ви зможете активувати його для всіх ігор в опціях Steam Play клієнта Steam.
В: А чи є в планах підтримка для macOS?
Тоді як Wine і Proton працюють на macOS, в даний момент ми не плануємо підтримувати нову функцію Steam Play на macOS.
В: Я розробник. Якщо моя гра вже підтримує Linux, чи змінюється щось з новою функцією?
Напевно ні. Якщо ви вже портувала загальний код або використовуєте движок, що підтримує Linux, просто продовжуйте свою роботу.
В: Я розробник і не планував працювати з Linux. Як найкраще використовувати новий Steam Play?
Рекомендується працювати з вбудованим Vulkan, щоб забезпечувати кращу продуктивність на всіх платформах або, принаймні, пропонувати цю опцію, якщо можливо. Також рекомендується уникати будь-яких агресивних сторонніх міжплатформених програм DRM, оскільки вони іноді перешкоджають роботі функцій сумісності.
В: Я розробник. Моя гра потрапила в список дозволених в Steam Play. Чи означає це, що я повинен підтримувати додаткову платформу?
Ні. Якщо гра потрапила в список після нашого тестування, це означає, що ми оцінили процес гри як ідентичний (за винятком очікуваного помірного впливу на продуктивність). Користувачі, які відіграють в Steam Play і відчувають проблеми, пов'язані з Linux, повинні бути спрямовані за підтримкою в Steam. Пам'ятайте, що користувачі, швидше за все, вже грають в вашу гру за допомогою Wine. Тепер ви лише більше поінформовані про це.
Якщо у вас залишилися питання, будь ласка, задавайте їх тут !
П'єр-Лу
Що потрібно, щоб почати?Що таке Proton?
Чим він відрізняється від стандартної версії Wine?
Хто над ним працював?
В: Чи є ігри, які не будуть працювати з Proton?
В: Коли додаткові гри будуть відзначені як сумісні з новою системою Steam Play?
В: Чи можна запустити гру з Proton, навіть якщо вона не позначена як сумісна?
В: А чи є в планах підтримка для macOS?
Якщо моя гра вже підтримує Linux, чи змінюється щось з новою функцією?
Як найкраще використовувати новий Steam Play?