วิธีการทำงานของโปรตอนบน Steam Deck

หากคุณมี Steam Deck และอยากรู้ว่ามันเล่นเกมที่ใช้ Windows บน Linux ได้อย่างไร แสดงว่าคุณมาถูกที่แล้ว!

ถ้าคุณมี ดาดฟ้าอบไอน้ำคุณอาจประหลาดใจกับจำนวนเกมที่เล่นได้ดีมาก ไม่เพียงแต่เป็นอุปกรณ์พกพาเท่านั้น แต่ยังเป็นอุปกรณ์พกพาที่ใช้ Linux อีกด้วย แม้ว่าระบบปฏิบัติการจะมีชื่อเสียงไม่ดีในการรันวิดีโอเกม แต่เกมระดับ AAA เช่น ไซเบอร์พังค์: 2077 และ แกรนด์เธฟต์ออโต: V ทำงานได้ดีมากบน Steam Deck ต้องขอบคุณ Proton ซึ่งเป็นเลเยอร์ความเข้ากันได้ที่พัฒนาโดย Valve และ CodeWeavers

โปรตอนคืออะไร? มันทำงานอย่างไร?

จริงๆ แล้ว Proton มีอายุมากกว่า Steam Deck สองสามปี ซึ่งเปิดตัวครั้งแรกในเดือนสิงหาคม 2018 ในขณะนั้น Valve กล่าวว่า "ขณะนี้เกม Windows ที่ไม่มีเวอร์ชัน Linux สามารถเล่นได้แล้ว" ติดตั้งและรันโดยตรงจากไคลเอนต์ Linux Steam พร้อมด้วย Steamworks และ OpenVR แบบเนทีฟ สนับสนุน."

ก่อน Proton นักเล่นเกมบน Linux มักจะต้องการพอร์ตเกมดั้งเดิมสำหรับระบบของตน หรือถูกบังคับให้พึ่งพาเลเยอร์ความเข้ากันได้ของบุคคลที่สาม เช่น Wine ไวน์ทำงานได้ค่อนข้างดี แต่มักต้องมีการปรับแต่งมากมายเพื่อให้สิ่งต่าง ๆ ดำเนินไปอย่างสมบูรณ์แบบ เช่น เกมต่างๆ ดูม (2016) สามารถเล่นได้กับงานนิดหน่อย

นี่คือที่มาของโปรตอน โดยจะขจัดความจำเป็นในการทำงานใดๆ ในฝั่งผู้ใช้ปลายทาง แนวคิดก็คือคุณสามารถติดตั้งเกมและเล่นได้ราวกับว่าเป็นพอร์ตดั้งเดิมโดยที่ผู้ใช้ไม่จำเป็นต้องรู้ว่าเกิดอะไรขึ้นภายใต้ประทุน

โปรตอนทำงานร่วมกับไวน์เวอร์ชันดัดแปลง Wine ทำงานเป็นเลเยอร์ที่แปลการเรียก Windows API ไปเป็นการเรียก POSIX (Portable Operating System Interface) ในขณะเดียวกันก็สร้างโครงสร้างไดเร็กทอรี 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 จะกำหนดเส้นทางการเรียกเหล่านี้ภายในไปยัง Vulkan API ทำให้เกมทำงานเหมือนกับอยู่บนเครื่อง Windows

Proton เป็นโอเพ่นซอร์สทั้งหมดซึ่ง Valve กล่าวว่าจะ "ทำให้ผู้ใช้ขั้นสูงสามารถปรับเปลี่ยน Proton ได้" Proton รุ่นคัสตอมที่ได้รับความนิยมมากที่สุดคือ โปรตอน-GEซึ่งรวมการเปลี่ยนแปลงการทดลองล่าสุดของโปรตอนไว้ด้วย มันมีแพตช์และฟีเจอร์อื่นๆ ที่ Proton ปกติไม่มีเช่นกัน

อนาคตของโปรตอน

Proton สามารถพัฒนาและปรับปรุงได้ตลอดเวลา แต่ในปัจจุบัน มันเป็นโครงการที่เติบโตและพัฒนาแล้ว ด้วยชื่อเกมขนาดใหญ่ที่สามารถเล่นได้แล้ว ไม่มีอะไรที่เกมเมอร์จะขอได้อีกแล้ว ยังคงมีปัญหาความเข้ากันได้และข้อบกพร่องด้านกราฟิกอยู่บ้าง แต่โดยส่วนใหญ่แล้ว การเล่นผ่าน Proton นั้นแยกไม่ออกจากการเล่นแบบเนทิฟบน Windows

สิ่งหนึ่งที่ Valve สามารถมุ่งเน้นได้อย่างแน่นอนต่อไปคือการรีบูตเวอร์ชัน Wine ที่ Proton ใช้เป็นหลักให้เป็นเวอร์ชันล่าสุด Proton ล้าหลังเวอร์ชันไวน์อย่างเป็นทางการล่าสุดในหลายๆ รุ่น และโครงการชุมชนโอเพ่นซอร์ส เช่น Proton-GE มีเป้าหมายที่จะเพิ่มคุณสมบัติเพิ่มเติมและรีบูตให้กับ Wine เวอร์ชันล่าสุด

แน่นอนว่าเป้าหมายสูงสุดของ Valve คือความเสถียรและความเข้ากันได้ ซึ่งเป็นเหตุผลว่าทำไมจึงไม่เพียงแค่รวมการเปลี่ยนแปลงทั้งหมดที่โครงการต่างๆ เช่น Proton-GE สามารถทำได้สำเร็จ หากคุณเป็นผู้ใช้ระดับสูง ไม่มีอะไรหยุดคุณจากการติดตั้งและใช้งาน Proton-GE แทน แต่สำหรับเกมเมอร์ทั่วไป Proton ที่เสถียรคือตัวเลือกที่ดีกว่าอย่างแน่นอน