Re: Απέσυραν τον Xmir από default display server για την 13.10.

Pantelis Koukousoulas pktoss at gmail.com
Thu Oct 3 10:08:15 UTC 2013


FWIW:

2013/10/3 Konstantinos Togias <ktogias at gmail.com>:
> Για την κατάσταση του XMir μπορείτε να διαβάσετε εδώ:
> http://mjg59.dreamwidth.org/28032.html

Εντάξει, τέτοιου τύπου προβλήματα είναι όντως αναμενόμενα λόγω του ότι
οι developers είναι λίγοι (και σε αυτό εν μέρει φταίει η Canonical που δεν
εμπνέει ιδιαίτερα πια για να ασχοληθεί κανείς, βλ CLA, projects που
αναπτύσσονται under closed doors για να κάνουν περισσότερη marketing
εντύπωση κλπ. Αυτές οι στρατηγικές μπορεί να είναι καλές για την
Canonical ως επιχείρηση και ενίοτε και για τους "end users", αλλά
σίγουρα δεν εμπνέουν κανένα σοβαρό εξωτερικό παίκτη
να συνεισφέρει κώδικα στο Mir/XMir και αυτό φαίνεται
εκ του αποτελέσματος).

Γεγονός επίσης είναι ως σύνοψη της διαμάχης μεταξύ των στρατοπέδων
Mir και Wayland:

   -> Mir: developers που ξέρουν καλά από agile / test-oriented development
       κλπ.

   -> Wayland: developers που ξέρουν πολύ καλά το free software
       graphics stack.

Από εκεί και πέρα:

> Δεν είναι απλό να φτιάξεις έναν γενικού σκοπού Display Server ειδικά
> όταν δουλεύεις μόνος σου... Δεν είναι τυχαίο ότι όλες οι διανομές
> χρησιμοποιούν το X, ένα project που μετρά εμπειρία 20 και πλέον
> χρόνων, [...]

Αυτό δεν είναι 100% ακριβές όμως πλέον. Σίγουρα αν η Canonical
επιχειρούσε να φτιάξει μια εναλλακτική στο X.org πριν από 10
χρόνια και χωρίς έμπειρους "core" developers στη σύνθεση της
ομάδας, θα γελούσανε και οι πέτρες και θα τους είχανε πάει για
τρελοκομείο δεμένους κατευθείαν.

Τώρα όμως το σκηνικό έχει αλλάξει αρκετά. Πολύ μεγάλο (το
μεγαλύτερο;) κομμάτι των υπηρεσιών του X server έχει πλέον
περάσει αλλού ήδη, χωρίς οι περισσότεροι "απλοί χρήστες"
(end-users) να το πάρουν χαμπάρι ιδιαίτερα.

Π.χ.,:

   -> Server-side rendering: Πλέον καμία από τις ενδιαφέρουσες
       εφαρμογές δεν το χρησιμοποιεί, όλες κάνουν το rendering
       στον client και στέλνουν τα τελειωμένα bitmaps στον
       X server για το compositing.

  -> Input device hotplugging / lifecycle: πλέον γίνεται μέσω
      udev και evdev.

  -> Memory management μεταξύ RAM και GPU RAM: έχει περάσει
      στον kernel (βλ KMS) και κατά συνέπεια και οι graphics drivers
      πλέον δεν υπάρχει κανένας σοβαρός λόγος να είναι μέσα στο
      codebase του display server.

  -> PCI access (κάποτε ο X έγραφε στους PCI registers κατευθείαν):
      έχει περάσει στον kernel και τη libpciaccess.

  -> VGA arbitration: και αυτό έχει περάσει στον kernel

  -> Fonts: έχει πάει πλέον σε client side με fontconfig / freetype κλπ

  -> Printing (μη γελάτε, βλ Xprint): έχει πάει σε άλλο service (cups)

και αντίστοιχα για άλλες υπηρεσίες.

Το κύριο που έχει μείνει που βολεύει ως υπηρεσία είναι το compositing
(το οποίο ο X.org ΔΕΝ παρέχει και αντίθετα κάνει ping-pong με ένα
εξωτερικό compositor για να δουλέψει όπως το compiz) και το πολύ
πολύ σημαντικό και δύσκολο: ο χειρισμός των input events και η
αντιστοίχισή τους σε παράθυρα, μετατροπή των συντεταγμένων
και αποστολή στις αντίστοιχες διεργασίες, το οποίο για να δουλέψει
ιδανικά χρειάζεται συνεργασία με τον compositor άρα κι εδώ
η δουλειά του X.org δεν είναι και η καλύτερη.

Αυτά είναι ουσιαστικά που θέλουν να παρέχουν ο wayland και ο
Mir και αν δεις το μέγεθός τους είναι πολύ πολύ μικρότερο από
αυτό που είχε ειδικά στην αρχή ο x.org (θυμάστε τι τέρας ήταν
στην αρχή που ήταν ακόμα monolithic;).

Οπότε δεν είναι θέμα μόνο και μόνο οι mobile πλατφόρμες που
εμπνέουν την αλλαγή του Display server, όπως και να 'χει
η αρχιτεκτονική του X είναι πλέον σε μεγάλο βαθμό ξεπερασμένη
στα Linux συστήματα και αργά ή γρήγορα θα άλλαζε.

Το συμπέρασμα είναι ότι για το Mir ουσιαστικά η canonical κάνει
reuse όλα τα έτοιμα που της παρέχουν οι παραδοσιακοί contributors
των γραφικών (KMS, evdev κλπ) και για τα λίγα που έχουν μείνει
αρκεί να κάνει σε μεγάλο βαθμό copy-paste τον κώδικα του wayland
ως προς το input και απλά:

        * αλλάζει ορισμένα διακοσμητικά  (google protocol buffers αντί για
          in-house protocol format του wayland)

        * αλλάζει λίγο τη "φιλοσοφία του rendering" (δηλαδή το ποιος
          κάνει allocate τους buffers), βασισμένη πιστεύω σε ένα τεχνικό
          fallacy αφού αυτά που θέλουν να κάνουν τελικά μια χαρά τα
          κάνει και ο wayland.

       * κοτζάρει και ένα agile / test-oriented / QA development
         methodology

       * κοτζάρει και ένα CLA από πάνω για να έχει τον έλεγχο.


Οπότε, τα τελικό συμπεράσματα (προσωπικά μιλώντας πάντα) είναι:

    * ότι δεν είναι καθόλου αδύνατον με αυτά τα δεδομένα (ακόμα και
      ως τη 14.04 ή τη 14.10) η Canonical να παρουσιάσει ένα Mir που
      να δουλεύει και ένα XMir που να μην είναι και τόσο χάλια.

    * ότι η Canonical προσπαθεί να γίνει σαν το Android δηλαδή να
      φτιάξει ένα Display server μόνο για το Unity, γι αυτό φαίνεται
      και να πηγαίνει σχετικά γρήγορα. Το πρόβλημα δεν είναι το
      hardware (αυτό πλέον έχει πάει στον kernel) αλλά το software
      (οι πρώην X clients) που τους "κρατούσε πίσω" ως τώρα

    * Με βάση αυτά φυσικά κανένα άλλο γραφικό περιβάλλον δεν
      πιστεύω να νοιαστεί για το Mir / XMir και λογικό είναι.

Παράλληλα, το βλέπω από εμένα, το ίδιο το παραδοσιακό
desktop (γνωστό και σαν "fat client" ή "rich client") πιστεύω
ότι πεθαίνει σιγά-σιγά, πιστεύω ότι πάμε σε webtops, οικιακούς
servers / appliances και mobile πλατφόρμες.

Οπότε ο ανταγωνισμός θα είναι πια σε επίπεδο "core OS":

   * Ubuntu: upstart/Mir/Unity

   * GnomeOS: systemd/wayland/GnomeShell

   * Mer: systemd/wayland/qt με διάφορα shells από πάνω
     όπως jolla και plasma

   * FirefoxOS: android + Firefox

   * Android

κλπ κλπ, τόσο για το desktop όσο και για mobile.

Επίσης το ίδιο γίνεται σιγά σιγά και στο επίπεδο των server
και των appliances βλ. π.χ., Nitix και CoreOS.

Και αντίστοιχα η συνεργασία θα είναι σε ό,τι είναι "παραπάνω"
(π.χ., κοινά apps και services) και ό,τι είναι "παρακάτω"
(π.χ., kernel, core libraries) στο γενικό stack.

Είναι πολύ ενδιαφέρουσες εξελίξεις και προσωπικά αν δεν
είχαμε την κρίση και τα προβλήματα εδώ στην Ελλάδα θα
ήμουν ιδιαίτερα ενθουσιασμένος για το μέλλον του Linux
και του Ελεύθερου Λογισμικού, με το θάνατο του desktop
πάμε πια για "παγκόσμια κυριαρχία", χεχε :)

Χαιρετισμούς,
Παντελής


More information about the Ubuntu-gr mailing list