Οι CodeWeavers, οι προγραμματιστές του CrossOver, εργάζονται για βελτιώσεις στο DirectX 12 στα επίπεδα συμβατότητας CodeWeavers και Wine.
CodeWeavers CrossOver είναι ένας από τους πιο δημοφιλείς τρόπους εκτέλεσης εφαρμογών Windows σε άλλα λειτουργικά συστήματα. Συνδυάζει την εξαιρετική δουλειά του ανοιχτού κώδικα Οινικό έργο (στην οποία οι προγραμματιστές του CrossOver συνεισφέρουν κώδικα) με πιο εύχρηστη διεπαφή και διεπαφή. Η CodeWeavers κυκλοφόρησε το CrossOver 21 πίσω τον Αύγουστο, και τώρα η εταιρεία μοιράστηκε λεπτομέρειες σχετικά με το έργο της να φέρει τη σύγχρονη υποστήριξη παιχνιδιών σε Linux και Mac.
Πολλά πρόσφατα παιχνίδια των Windows (και άλλες εφαρμογές με βαριά γραφικά) βασίζονται στο DirectX 12, την πιο πρόσφατη έκδοση του Βιβλιοθήκη γραφικών DirectX της Microsoft, το οποίο χρησιμοποιεί API χαμηλότερου επιπέδου για την επίτευξη ταχύτερης απόδοσης. Το DirectX είναι διαθέσιμο μόνο σε Windows (και κονσόλες Xbox), επομένως το επίπεδο συμβατότητας Wine χρησιμοποιεί το VKD3D βιβλιοθήκη γραφικών για την εκτέλεση κλήσεων Direct3D πάνω από το Vulkan (το οποίο είναι διαθέσιμο σε Linux, Windows και άλλα πλατφόρμες). Η βιβλιοθήκη Vkd3d είναι
αναπτύχθηκε κυρίως από τη Valve Software για το Στρώμα συμβατότητας πρωτονίων, και η ταχεία πρόοδος στο VKD3D είναι ο κύριος λόγος για τον οποίο τόσα πολλά παιχνίδια Windows μπορούν πλέον να παίζονται στο Linux.Παρόλο που το CrossOver περιλαμβάνει ήδη το VKD3D, το CrossOver δεν υποστηρίζει επίσημα παιχνίδια DirectX 12, ενώ οι προγραμματιστές του διαπιστώνουν ορισμένα προβλήματα απόδοσης, σύμφωνα με μια νέα ανάρτηση:
Το CrossOver χρησιμοποιεί το VKD3D για την εκτέλεση παιχνιδιών DirectX 12. Το VKD3D είναι μια βιβλιοθήκη τρισδιάστατων γραφικών χτισμένη πάνω από Vulkan. Επί του παρόντος, γίνεται πολλή δουλειά για τη βελτίωση της απόδοσης του VKD3D. Με τη βοήθεια του Vulkan επέκταση ευρετηρίασης περιγραφέα, η οποία επιτρέπει λειτουργικότητα παρόμοια με τους σωρούς περιγραφικών DirectX 12, οι περιγραφείς Vulkan γράφονται λιγότερο συχνά και χρησιμοποιείται πολύ λιγότερη μνήμη GPU. Ως αποτέλεσμα, το VKD3D μπορεί να υποστηρίξει παιχνίδια που χρησιμοποιούν αρκετούς περιγραφείς ώστε να απαιτούν πόρους από υλικό Βαθμίδας 2 και Βαθμίδας 3.
Το CrossOver σχεδιάζει να ξεκινήσει επίσημα να υποστηρίζει παιχνίδια και εφαρμογές DirectX 12 στο Linux το 2022, με τη μελλοντική κυκλοφορία του CrossOver 22. Ωστόσο, η εταιρεία δεν είναι τόσο σίγουρη πότε το VKD3D θα είναι λειτουργικό σε Mac. Η Apple δεν υποστηρίζει καθόλου το Vulkan σε macOS (ή iOS), αντί να ζητά από τους προγραμματιστές να το χρησιμοποιήσουν Μεταλλική βιβλιοθήκη γραφικών. Αυτό είναι ένα πρόβλημα για το CrossOver, όπως λέει η ανάρτηση ιστολογίου:
Γενικά, το Metal κάνει το tessellation διαφορετικά, και λείπουν τα shaders γεωμετρίας και η ανατροφοδότηση μετασχηματισμού. Ειδικά για το DirectX 12 και το Metal, υπάρχει ένα πρόβλημα με τα όρια στους πόρους. Γενικά, τα παιχνίδια χρειάζονται πρόσβαση σε τουλάχιστον ένα εκατομμύριο προβολές πόρων shader (SRV). Η πρόσβαση σε τόσα πολλά SRV απαιτεί δέσμευση πόρων στο επίπεδο 2. Το Metal υποστηρίζει μόνο περίπου 500.000 πόρους ανά προσωρινή μνήμη ορίσματος, επομένως η δέσμευση πόρων Tier 2 δεν είναι δυνατή. Το όριο του μισού εκατομμυρίου του Metal είναι αρκετό για την ευρετηρίαση του περιγραφέα Vulkan, αλλά όχι για το D3D12. Αυτός ο περιορισμός σημαίνει ότι το CrossOver Mac δεν μπορεί να υποστηρίξει τη σύνδεση Tier 2 και επομένως πολλά παιχνίδια DirectX 12 δεν θα εκτελούνται.
Παρά αυτές τις προκλήσεις, το CodeWeavers ελπίζει ότι τα παιχνίδια και οι εφαρμογές του DirectX 12 θα μπορούσαν να λειτουργήσουν σε Mac με τη μελλοντική ενημέρωση CrossOver 23. Οι νέες μεγάλες εκδόσεις του CrossOver συνήθως συμβαίνουν σε ετήσια βάση, οπότε πιθανότατα θα είναι το 2023.
Ακόμα κι αν δεν χρησιμοποιείτε το CrossOver, οι περισσότερες από τις βελτιώσεις συμβατότητας που αναπτύχθηκαν από την CodeWeavers υποβάλλονται ξανά στο έργο Wine. Αυτό σημαίνει ότι η δουλειά της εταιρείας θα μπορούσε να βοηθήσει στη βελτίωση των παιχνιδιών των Windows στο Lutris, το Κονσόλα Steam Deck, PlayOnLinux και άλλα έργα που βασίζονται στο Wine. Τούτου λεχθέντος, μόλις φτάσει η πλήρης υποστήριξη του DirectX 12, το CrossOver θα μπορούσε να είναι μια συναρπαστική επιλογή για την αναπαραγωγή παιχνιδιών Windows σε Linux εκτός Steam.