Karton για VM σε KDE Plasma

Το Karton, είναι ένα project του φοιτητή Derek Lin, που πήρε μέρος και βραβεύτηκε στο Google Summer of Code. Το συγκεκριμένο project θα αντικαταστήσει εργαλεία όπως το virt-manager και το GNOME Boxes σαν επιλογή για τους χρήστες του KDE Plasma.

Λίγες εβδομάδες μετά την έναρξη της επίσημης περιόδου προγραμματισμού, ο Lin, ο κύριος προγραμματιστής στο project, δημοσίευσε μια ενημέρωση, που δείχνει πώς προχωρά η εφαρμογή, καθώς πλησιάζει σε μια σταθερή έκδοση.

Το πρώτο που πρέπει να γνωρίζετε είναι ότι το πρόγραμμα εγκατάστασης εικονικής μηχανής δεν εξαρτιέται από το virt-install. Το Karton θα χρησιμοποιεί το libosinfo για να αναγνωρίσει το λειτουργικό σύστημα από μια εικόνα ISO ή VHD και δημιουργεί την απαραίτητη ρύθμιση σαν libvirt XML από μόνο του.

Ο Lin ενημέρωσε επίσης τις ενότητες QML, οι οποίες είναι τα δομικά στοιχεία του KDE για τη δημιουργία διεπαφών χρήστη. Αυτές χρησιμοποιούνται πλέον για έναν πιο τυπικό τρόπο διαχειρισμού στοιχείων εφαρμογών.

Ωστόσο, το μεγαλύτερο μέρος της πρόσφατης εργασίας έχει επικεντρωθεί στην κατασκευή ενός SPICE client από την αρχή. Το SPICE, αν δεν το γνωρίζετε, είναι ένα πρωτόκολλο απομακρυσμένης επιφάνειας εργασίας που χειρίζεται την απόδοση της οθόνης, του ήχου και των εισόδων του επισκέπτη. Ο Lin ανέφερε ότι αφιέρωσε πολύ χρόνο απλώς για να κάνει την οθόνη της εικονικής μηχανής να εμφανίζεται σωστά μέσα σε ένα εγγενές παράθυρο του KDE.

Αφού δοκίμασε διαφορετικούς τρόπους για να χειριστεί τα δεδομένα εικόνας, ανακάλυψε ότι η βασική αιτία ήταν ένα πρόβλημα χρονισμού: ο κώδικάς του προσπαθούσε να διαβάσει τα δεδομένα εμφάνισης την ίδια στιγμή που το SPICE προσπαθούσε να τα γράψει, προκαλώντας ένα χάος. Η λύση ήταν αρκετά απλή: απλώς έκανε ένα γρήγορο αντίγραφο των δεδομένων πριν τα εμφανίσει και κατέληξε να φαίνεται πολύ καλύτερα:

Έτσι μετά την απόδοση της οθόνης, ετοιμάζει τις ενέργειες χρήστη, όπως τα κλικ του ποντικιού και τα πατήματα του πληκτρολογίου, ώστε να λειτουργούν χωρίς προβλήματα τώρα στην εικονική μηχανή.

Ένας μικρός πονοκέφαλος είναι ότι τα Qt key events χρησιμοποιούν evdev scancodes, ενώ το SPICE περιμένει την παλαιότερη μορφή PC XT, επιβάλλοντας μια χειροκίνητη αντιστοίχιση (προς το παρόν).

Μετά από μήνες σκληρής δουλειάς λοιπόν, δημοσίευσε ένα βίντεο του Karton να τρέχει μια εικονική μηχανή Fedora:

Στο βίντεο, τα πράγματα είναι αρκετά αργά, αλλά αυτό θα αντιμετωπιστεί σε κάποια μελλοντική ενημέρωση.

Όσο για το τι ακολουθεί, ο Lin αναγνωρίζει ότι η τρέχουσα μέθοδος απόδοσης είναι αναποτελεσματική. Ελπίζει να διερευνήσει το gl-scanout property του SPICE για μια καλύτερη απόδοση.

Εάν ενδιαφέρεστε για το project, μπορείτε να δείτε τη σελίδα του στο GitLab και να διαβάσετε την ανακοίνωση του Lin στο blog του KDE.

follow us
Previous Article

Παρακολουθείται το τηλέφωνό σας; εντοπίστε τα σημάδια

Next Article

OpenAI θα κυκλοφορήσει πρόγραμμα περιήγησης

Leave a Comment

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).