Как работи Proton на Steam Deck

Ако имате Steam Deck и сте любопитни как играе базирани на Windows игри на Linux, значи сте попаднали на правилното място!

Ако имате Steam Deck, вероятно сте изумени колко добре работят много игри на него. Това е не само преносим компютър, но и преносим компютър, който работи с Linux. Въпреки лошата репутация на операционната система при стартиране на видео игри, AAA заглавия като напр Киберпънк: 2077 и Grand Theft Auto V работи много добре на Steam Deck. Това е благодарение на Proton, слоя за съвместимост, разработен от Valve и CodeWeavers.

Какво е протон? Как работи?

Proton всъщност е няколко години по-стар от Steam Deck, който беше пуснат за първи път през август 2018 г. По това време Valve каза, че „Игрите за Windows без налична в момента версия на Linux вече могат да бъдат инсталиран и стартиран директно от Linux Steam клиента, заедно с родния Steamworks и OpenVR поддържа."

Преди Proton геймърите на Linux често се нуждаеха от собствени портове на игри за своите системи или бяха принудени да разчитат на слоеве за съвместимост на трети страни, като Wine. Wine работи доста добре, но често изискваше много настройки, за да работят перфектно, с игри като

DOOM (2016) да може да се играе с малко работа.

Ето къде се намесва Proton. Премахва необходимостта от каквато и да е работа от страна на крайния потребител. Идеята е, че можете просто да инсталирате играта и да я играете, сякаш е роден порт, без крайният потребител да има нужда да знае какво се случва под капака.

Proton работи във връзка с модифицирана версия на Wine. Wine работи като слой, превеждащ Windows API повиквания към POSIX (интерфейс на преносима операционна система) повиквания като същевременно пресъздава структура на директория на Windows и осигурява алтернативни реализации на системата услуги. Wine не използва никаква емулация или виртуализация за изпълнение на двоични файлове на Windows.

Другата част от Proton, която е от съществено значение за уравнението на игрите, е способността му да превежда извиквания на Direct3D API. Той включва DXVK, базиран на Vulkan преводен слой за Direct3D 9, 10 и 11, с поддръжка за Direct3D 12, предоставена чрез VKD3D-Proton, разклонение на VKD3D от Wine.

Що се отнася до Direct3D, това е графичен API за Windows машини и е част от DirectX, а Proton по същество интерпретира тези извиквания на Direct3D API. Proton създава своя собствена версия на тази библиотека, с която игрите могат да взаимодействат. След това Proton вътрешно насочва тези обаждания към API на Vulkan, което позволява на играта да работи, сякаш е на машина с Windows.

Proton е с изцяло отворен код, за което Valve казва, че ще „позволи на напредналите потребители възможността да променят Proton“. Най-популярната персонализирана конструкция на Proton е Протон-GE, който включва най-новите експериментални промени на Proton. Той съдържа други пачове и функции, които обикновеният Proton също не съдържа.

Бъдещето на Proton

Proton винаги може да се работи върху него и да се подобрява, но както е сега, той вече е зрял и разработен проект. С огромни заглавия, които вече могат да се играят чрез него, няма много повече, което геймърите могат да искат. Все още има някои проблеми със съвместимостта и графични проблеми, които се появяват, но като цяло, играта през Proton е неразличима от играта на Windows.

Едно нещо, върху което Valve абсолютно може да се съсредоточи, е да пребазира версията на Wine, на която е базиран Proton, към по-нова версия. Proton изостава от най-новата официална версия на Wine с няколко издания и проекти на общността с отворен код като Proton-GE имат за цел да добавят допълнителни функции и пребазиране към по-нови версии на Wine.

Разбира се, крайната цел на Valve е стабилност и съвместимост, поради което тя не включва само всички тези промени, които проекти като Proton-GE са успели да постигнат. Ако сте опитен потребител, тогава нищо не ви спира да инсталирате и използвате Proton-GE вместо това, но за ежедневния геймър стабилният Proton определено е по-добрият вариант.