今天刷到一條技術(shù)圈的消息,挺有意思。那個(gè)專門(mén)讓W(xué)indows游戲能在Linux上跑的翻譯層VKD3D-Proton,它的核心開(kāi)發(fā)者最近被《極限競(jìng)速:地平線6》搞得很頭疼。這位老哥在提交代碼補(bǔ)丁的時(shí)候沒(méi)忍住,直接來(lái)了句:"This game is extremely broken"——這游戲極其破碎。
事情是這樣的。我在做PC版性能分析的時(shí)候,這游戲在Windows上跑得挺順,各種配置都能玩,也沒(méi)遇到什么bug。但Linux玩家那邊完全是另一幅景象,問(wèn)題一堆。好在VKD3D-Proton的開(kāi)發(fā)者Hans-Kristian Arntzen可能找到了根源。
![]()
先給不太懂的朋友解釋一下VKD3D-Proton是干嘛的。你可以把它想象成一個(gè)翻譯官——Windows游戲說(shuō)的是Direct3D 12,Linux系統(tǒng)聽(tīng)不懂,這個(gè)軟件就把它翻譯成Vulkan,這樣游戲就能在Linux上跑了。GamingOnLinux最先發(fā)現(xiàn)了Arntzen提交的一批新補(bǔ)丁,都是針對(duì)《地平線6》的兼容性修復(fù)。
但比代碼更有趣的是開(kāi)發(fā)者的吐槽。Arntzen在提交說(shuō)明里寫(xiě)得很直白,說(shuō)這游戲"極其破碎"。具體技術(shù)細(xì)節(jié)對(duì)普通玩家來(lái)說(shuō)可能像天書(shū),但有一條我看得懂:游戲存在"use-before-alloc"的bug,也就是"先使用后分配"——程序在把資源提交給GPU之后才開(kāi)始分配,還在GPU運(yùn)行的時(shí)候往描述符堆里寫(xiě)指針。
這啥概念呢?打個(gè)比方,Direct3D 12的世界里,你得先把房間收拾好、東西擺好,再告訴GPU"可以進(jìn)來(lái)了"。你要是邊收拾邊喊人進(jìn)來(lái),或者東西還沒(méi)擺好就讓人動(dòng)手,那不亂套才怪。GPU可能會(huì)要一個(gè)根本不存在的數(shù)據(jù),或者直接崩潰。
有意思的是,這些問(wèn)題很多跟AMD RDNA 2及更新顯卡的代碼有關(guān),但RTX顯卡也沒(méi)逃掉。Nvidia已經(jīng)表態(tài)了,說(shuō)會(huì)在"即將到來(lái)的驅(qū)動(dòng)更新"里修復(fù)。所以兩邊都有鍋,不只是翻譯層的適配問(wèn)題。
我去ProtonDB上瞄了一眼,Linux玩家確實(shí)怨聲載道。但有個(gè)現(xiàn)象挺反常:Steam Deck用戶的評(píng)價(jià)大多還不錯(cuò)。這很重要,因?yàn)镾team Deck也是靠Proton跑Windows游戲的。如果Xbox Game Studios完全沒(méi)打算讓這游戲在翻譯層上運(yùn)行,那它根本沒(méi)必要跟Valve合作搞Steam Deck驗(yàn)證。
所以情況有點(diǎn)微妙。官方是認(rèn)證過(guò)Steam Deck的,說(shuō)明至少在一定程度上支持這種運(yùn)行方式。但實(shí)際體驗(yàn)差距這么大,Deck用戶說(shuō)好、桌面Linux用戶叫苦,可能是硬件差異、Proton版本、或者具體配置不同導(dǎo)致的。
Arntzen的補(bǔ)丁還在等待合并到VKD3D-Proton主線。對(duì)Linux玩家來(lái)說(shuō),這至少是個(gè)盼頭——有人正在從翻譯層這邊想辦法。但核心問(wèn)題還是游戲本身的代碼質(zhì)量,翻譯層開(kāi)發(fā)者再厲害,也只能是打補(bǔ)丁,沒(méi)法重寫(xiě)游戲。
這件事也讓我想到一個(gè)老問(wèn)題:PC游戲的"PC"到底包不包括Linux?嚴(yán)格來(lái)說(shuō),官方只承諾了Windows版本能玩。但Steam Deck驗(yàn)證的存在,又讓人覺(jué)得Linux至少是個(gè)"半官方"平臺(tái)。現(xiàn)在這種承諾和體驗(yàn)之間的落差,最難受的還是玩家。
至于Windows玩家,目前看來(lái)影響倒不大。我測(cè)試的時(shí)候沒(méi)遇到這些底層問(wèn)題,游戲跑得挺穩(wěn)。但如果你是在Linux上玩,或者打算用Steam Deck跑,可能得等幾輪更新——不管是Nvidia的驅(qū)動(dòng),還是VKD3D-Proton的新版本。
最后說(shuō)句實(shí)在的:翻譯層開(kāi)發(fā)者能這么直白地吐槽一款3A大作"極其破碎",在開(kāi)源圈子里也不算多見(jiàn)。通常大家都會(huì)客氣一點(diǎn),說(shuō)"存在一些兼容性挑戰(zhàn)"之類的。這次直接上強(qiáng)度,說(shuō)明問(wèn)題可能確實(shí)有點(diǎn)離譜。游戲發(fā)售初期的技術(shù)債務(wù),最后往往還是玩家和社區(qū)開(kāi)發(fā)者來(lái)還。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.