Αν έχετε Steam Deck και είστε περίεργοι για το πώς παίζει παιχνίδια που βασίζονται σε Windows στο Linux, τότε έχετε έρθει στο σωστό μέρος!
Εάν έχετε ένα Steam Deck, μάλλον εκπλαγείτε με το πόσο καλά τρέχουν πολλά παιχνίδια σε αυτό. Δεν είναι μόνο φορητό, αλλά είναι και φορητό που τρέχει Linux. Παρά την κακή φήμη του λειτουργικού συστήματος με την εκτέλεση βιντεοπαιχνιδιών, τίτλοι AAA όπως π.χ Cyberpunk: 2077 και Grand Theft Auto V τρέχει πολύ καλά στο Steam Deck. Αυτό οφείλεται στο Proton, το επίπεδο συμβατότητας που αναπτύχθηκε από τη Valve και την CodeWeavers.
Τι είναι το Proton; Πώς λειτουργεί;
Το Proton είναι στην πραγματικότητα μερικά χρόνια παλαιότερο από το Steam Deck, το οποίο κυκλοφόρησε για πρώτη φορά τον Αύγουστο του 2018. Εκείνη την εποχή, η Valve είπε ότι «τα παιχνίδια των Windows χωρίς έκδοση Linux που δεν είναι διαθέσιμη αυτή τη στιγμή μπορούν πλέον να είναι εγκατεστημένο και εκτελείται απευθείας από τον πελάτη Linux Steam, με το εγγενές Steamworks και το OpenVR υποστήριξη."
Πριν από την Proton, οι παίκτες στο Linux θα χρειάζονταν συχνά εγγενείς θύρες παιχνιδιών για τα συστήματά τους ή θα αναγκάζονταν να βασίζονται σε επίπεδα συμβατότητας τρίτων, όπως το Wine. Το κρασί λειτουργεί αρκετά καλά, αλλά συχνά απαιτούσε πολλές τροποποιήσεις για να λειτουργήσει τέλεια, με παιχνίδια όπως π.χ DOOM (2016) παίζεται με λίγη δουλειά.
Εδώ μπαίνει το Proton. Καταργεί την ανάγκη για οποιαδήποτε εργασία από την πλευρά του τελικού χρήστη. Η ιδέα είναι ότι μπορείτε απλώς να εγκαταστήσετε το παιχνίδι και να το παίξετε σαν να ήταν μια εγγενής θύρα χωρίς ο τελικός χρήστης να χρειάζεται ποτέ να μάθει τι συμβαίνει κάτω από την κουκούλα.
Το Proton λειτουργεί σε συνδυασμό με μια τροποποιημένη έκδοση του Wine. Το Wine λειτουργεί ως επίπεδο μεταφράζοντας κλήσεις API των Windows σε κλήσεις 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 είναι Proton-GE, το οποίο ενσωματώνει τις πιο πρόσφατες πειραματικές αλλαγές Proton. Περιέχει άλλες ενημερώσεις κώδικα και δυνατότητες που δεν έχει και η κανονική Proton.
Το μέλλον της Proton
Το Proton μπορεί πάντα να εργαστεί και να βελτιωθεί, αλλά ως έχει, είναι ήδη ένα ώριμο και ανεπτυγμένο έργο. Με τεράστιους τίτλους που μπορούν να παιχτούν ήδη μέσω αυτού, δεν υπάρχουν πολλά περισσότερα που θα μπορούσαν να ζητήσουν οι παίκτες. Εξακολουθούν να εμφανίζονται ορισμένα προβλήματα συμβατότητας και δυσλειτουργίες γραφικών, αλλά σε γενικές γραμμές, η αναπαραγωγή μέσω του Proton δεν διακρίνεται από την εγγενή αναπαραγωγή στα Windows.
Ένα πράγμα στο οποίο η Valve θα μπορούσε οπωσδήποτε να επικεντρωθεί στη συνέχεια είναι να επαναφέρει την έκδοση Wine στην οποία βασίζεται η Proton σε μια πιο πρόσφατη έκδοση. Η Proton υστερεί σε σχέση με την πιο πρόσφατη επίσημη έκδοση του Wine κατά πολλές εκδόσεις και τα έργα κοινότητας ανοιχτού κώδικα, όπως το Proton-GE, στοχεύουν να προσθέσουν πρόσθετες λειτουργίες και να ανανεώσουν τις πιο πρόσφατες εκδόσεις του Wine.
Φυσικά, ο απώτερος στόχος της Valve είναι η σταθερότητα και η συμβατότητα, γι' αυτό δεν περιλαμβάνει μόνο όλες αυτές τις αλλαγές που μπόρεσαν να επιτύχουν έργα όπως η Proton-GE. Εάν είστε ισχυρός χρήστης, τίποτα δεν σας εμποδίζει να εγκαταστήσετε και να χρησιμοποιήσετε το Proton-GE, αλλά για τον καθημερινό παίκτη, το σταθερό Proton είναι σίγουρα η καλύτερη επιλογή.