LinuxDay 2014 - Roma 
this = that 
… ovvero MIR, un display server per 
domarli tutti
this = that 
… ovvero MIR, un display server per 
domarli tutti … Wayland 
permettendo
… c’è da aggiungere altro? 
1984
dicono sia stato un anno 
importante 
anche prima che arrivasse era già famoso, tipo il 2000...
From: rws@mit-bold (Robert W. Scheifler) 
To: window@athena 
Subject: window system X 
Date: 19 Jun 1984 0907-EDT (Tuesday)
“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
2013
certi annunci si fanno ancora per 
email
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
“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
2013, giusto poche ore più tardi 
Le notizie viaggiano veloci al tempo di Internet
2013, giusto poche ore più tardi 
U-ah! U-ah! U-ah!
“Violating unwritten Linux taboos” 
from Arstechnica, 10 years of Ubuntu @ http://bit.ly/1romPZl
La community open source aveva 
scelto Wayland 
e Mark aveva detto che stavolta portava le pizze per tutti, ecco
2014, LinuxDay 
One Year Later
Una domanda aleggia su questo 
talk...
Meglio Wayland o MIR? 
ecco … cioè … s’è fatta una certa …
5 minuti prima “the alien” era morto con la stessa ricerca
Forse voi volevate sapere a che 
servono Wayland e MIR
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. [...]
Ma come funziona davvero X?
X è un protocollo
FINESTRE 
X WINDOW SYSTEM 
HARDWARE / KERNEL 
X Window System Architecture for dummies
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
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
X è un protocollo vecchio e 
inefficiente 
(per un sistema desktop o mobile moderno)
Entering: Wayland 
http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)
WAYLAND COMPOSITOR 
(Weston, Mutter, KWin, …) 
libinput - evdev 
OUTPUT 
Wayland Architecture for wannabe nerds 
WAYLAND 
CLIENT 
WAYLAND 
CLIENT 
WAYLAND 
CLIENT 
COSE 3D 
INPUT INPUT 
KMS DRM
Wayland è un protocollo 
per far parlare un compositor e un client … che si avranno da dire?
No rendering, ci pensa il client 
Scegli una libreria, un toolkit o fattelo da solo
Display server e compositor uniti
Entering: MIR 
http://en.wikipedia.org/wiki/Mir_(software)
Nessun mir-protocol 
“We don't intend to support re-implementations of the Mir client libraries” -- 
http://bit.ly/1wseZBj
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
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
unity-system-compositor 
A Mir server that compositites between sessions, greeters and boot screens
unity greeter / unity8 
greeter and user shell implemented using Mir
on Ubuntu Touch 
vs 
on the Free Graphics Driver Stack 
integrate with existing graphics hardware ( GBM, DRM and KMS)
this = that?
Dipende dal punto di vista :-)
“the display server doesn't 
matter” 
-- Robert Ancell 
Che ce frega del display seve’, noi c’avemo il frame work!
2013, giusto poche ore più tardi 
U-ah! U-ah! U-ah!
“ 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.
Ma Canonical c’è o ci fa?
“Violating unwritten Linux taboos” 
from Arstechnica, 10 years of Ubuntu @ http://bit.ly/1romPZl
“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
Ottobre 2011, UDS P
Canonical sta facendo un suo 
prodotto, che richiede di 
funzionare su mobile *adesso*
MIR funziona su mobile, sarà 
portato su desktop nei prossimi 
mesi
Wayland parte dal desktop, è il 
vero “sostituto” di X
Il mio input è differente 
↑ ↑ ↓ ↓ ← → ← → Tap Tap
Il mio target è differente 
B2C vc B2B
Il mio driver è differente?? 
qualcuno ha pensato “NVIDIA”?
2014 X.Org Developer's 
Conference 
8~10 ottobre ultimi scorsi
“Enabling Alternative Window 
Systems with a non-Mesa Graphics 
Driver Implementation” 
Refactor to plug into DRM-KMS -- new EGL extensions
Parola d’ordine: EGL 
Che sta per OpenGL ES Native Platform Graphics Interface
Entering: The Browser 
Il web è cambiato
Ai browser moderni non piace 
essere lenti 
e ormai solo l’engine JavaScript veloce non fa più hipe
Entering: screen sharing / 
recording
Postilla: network “transparency”
Insomma… 
che previsioni per il futuro?
Per quest’anno X Window, sorry :’(
Aprile 2016 l’appuntamento con 
MIR
Wayland … chiedete ai fedoriani
Grazie e happy LinuxDay 
by Luca & Flavia 
@elleuca -- @deindre_

this = that