... ovvero MIR, un display server per domarli tutti (Wayland permettendo)
In chiusura del keynote dell’Ubuntu Developer Summit del 2011, il benevolente dittatore di Ubuntu, Mark Shuttleworth, dichiarava a chiare lettere di voler portare Ubuntu su un range di dispositivi molto diversi dal canonico computer. Tre anni dopo i diversi progetti paralleli portati avanti per concretizzare questo intento stanno per raggiungere il grande pubblico. Primo fra tutti c’è MIR, il display server che è stato espressamente pensato per sostituire e migliorare un mostro sacro come X Window System. Quali nuove prospettive offre a utenti e sviluppatori? Quale il rapporto con altre soluzioni software simili? Scopriamolo insieme, su Ubuntu 14.10.
4. dicono sia stato un anno
importante
anche prima che arrivasse era già famoso, tipo il 2000...
5. From: rws@mit-bold (Robert W. Scheifler)
To: window@athena
Subject: window system X
Date: 19 Jun 1984 0907-EDT (Tuesday)
6. “This is not the ultimate window
system, but I believe it is a good
starting point for experimentation”
platform-independent graphics system to link together its heterogeneous
multiple-vendor systems
9. From: Oliver Ries <oliver.ries at canonical.
com>
To: ubuntu-devel@lists.ubuntu.com.
Subject: taking Unity to the next level
Date: Mon Mar 4 17:46:54 UTC 2013
10. “After thorough research, looking
at existing options and weighing in
costs & benefits we have decided
to roll our own Display Server,
Mir”
Also, driven by Ubuntu Touch we are starting to move Unity over to a Qt/QML
based implementation
11. 2013, giusto poche ore più tardi
Le notizie viaggiano veloci al tempo di Internet
20. Read the FAQs
What is wrong with X?
The problem with X is
that... it's X
Why Mir?
[...] However, users
nowadays expect a more
consistent and a more
integrated user
experience than what is
possible to offer on top of
the X window system. [...]
23. FINESTRE
X WINDOW SYSTEM
HARDWARE / KERNEL
X Window System Architecture for dummies
24. X-CLIENT X-CLIENT X-CLIENT
X Server
Device Driver
WINDOW MANAGER
&
COMPOSITOR
KMS - evdev - kernel
INPUT INPUT OUTPUT
X Window System Architecture for wannabe nerds
25. 1. kernel “legge” un evento e lo interpreta via evdev
2. x server determina su quale finestra/client ha effetto l’evento, manda l’
Follow the rendering
evento alla finestra/client
3. x client pondera e valuta l’evento, nel caso manda una richiesta (di
rendering) al server
4. x server prepara e invia una richiesta (di rendering) al driver e valuta quale
porzione di schermo è stata “danneggiata”
5. il danneggiamento è gestito compositor che decide, nel caso, di fare un’
altra richiesta di rendering per l’intero schermo
6. x server gestisce la richiesta di rendering di compositor
26. X è un protocollo vecchio e
inefficiente
(per un sistema desktop o mobile moderno)
33. Nessun mir-protocol
“We don't intend to support re-implementations of the Mir client libraries” --
http://bit.ly/1wseZBj
34. uh?
1 2
6 MIR
3
5 4
1. inter-app data exchange
2. application management
3. output management
4. shell
5. compositor
6. input management
35. libmirserver
implement a compositor and provide
arbitration for the system to the gpu
and displays
libmirclient
allow applications to communicate
with Mir servers, used by toolkits or
applications directly
43. “ It can cause issues everywhere
and that affects the development
and maintenance costs of all
applications.”
-- Martin Gräßlin
My recommendation to application developers is to never accept patches for
this mess Canonical created.
46. “These days Ubuntu is less a
traditional Linux distro and more
somewhat like OS X is to BSD”
from Arstechnica, 10 years of Ubuntu @ http://bit.ly/1romPZl