Upload
luca-ferretti
View
175
Download
3
Embed Size (px)
DESCRIPTION
... 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.
Citation preview
this = that… ovvero MIR, un display server per domarli tutti
LinuxDay 2014 - Roma
this = that… ovvero MIR, un display server per domarli tutti … Wayland permettendo
… c’è da aggiungere altro?
1984
anche prima che arrivasse era già famoso, tipo il 2000...
dicono sia stato un anno importante
From: rws@mit-bold (Robert W. Scheifler)To: window@athenaSubject: window system XDate: 19 Jun 1984 0907-EDT (Tuesday)
platform-independent graphics system to link together its heterogeneous multiple-vendor systems
“This is not the ultimate window system, but I believe it is a good starting point for experimentation”
2013
certi annunci si fanno ancora per email
From: Oliver Ries <oliver.ries at canonical.com>To: [email protected]: taking Unity to the next levelDate: Mon Mar 4 17:46:54 UTC 2013
Also, driven by Ubuntu Touch we are starting to move Unity over to a Qt/QML based implementation
“After thorough research, looking at existing options and weighing incosts & benefits we have decided to roll our own Display Server, Mir”
Le notizie viaggiano veloci al tempo di Internet
2013, giusto poche ore più tardi
U-ah! U-ah! U-ah!
2013, giusto poche ore più tardi
from Arstechnica, 10 years of Ubuntu @ http://bit.ly/1romPZl
“Violating unwritten Linux taboos”
e Mark aveva detto che stavolta portava le pizze per tutti, ecco
La community open source aveva scelto Wayland
One Year Later
2014, LinuxDay
Una domanda aleggia su questo talk...
ecco … cioè … s’è fatta una certa …
Meglio Wayland o MIR?
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
X Window System Architecture for dummies
FINESTRE
X WINDOW SYSTEM
HARDWARE / KERNEL
X Window System Architecture for wannabe nerds
X Server
Device Driver
X-CLIENT X-CLIENT X-CLIENTWINDOW MANAGER
&COMPOSITOR
INPUT INPUT OUTPUT
KMS - evdev - kernel
Follow the rendering
1. kernel “legge” un evento e lo interpreta via evdev2. x server determina su quale finestra/client ha effetto l’evento, manda l’
evento alla finestra/client3. x client pondera e valuta l’evento, nel caso manda una richiesta (di
rendering) al server4. 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 schermo6. x server gestisce la richiesta di rendering di compositor
(per un sistema desktop o mobile moderno)
X è un protocollo vecchio e inefficiente
http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)
Entering: Wayland
Wayland Architecture for wannabe nerds
WAYLAND COMPOSITOR(Weston, Mutter, KWin, …)
WAYLAND CLIENT
WAYLAND CLIENT
WAYLAND CLIENT
COSE 3D
INPUT INPUT
libinput - evdev
DRMKMS
OUTPUT
per far parlare un compositor e un client … che si avranno da dire?
Wayland è un protocollo
Scegli una libreria, un toolkit o fattelo da solo
No rendering, ci pensa il client
Display server e compositor uniti
http://en.wikipedia.org/wiki/Mir_(software)
Entering: MIR
“We don't intend to support re-implementations of the Mir client libraries” -- http://bit.ly/1wseZBj
Nessun mir-protocol
uh?
MIR
1 2
36
5 4
1. inter-app data exchange2. application management3. output management4. shell5. compositor6. input management
libmirserverimplement a compositor and provide arbitration for the system to the gpu and displays
libmirclientallow applications to communicate with Mir servers, used by toolkits or applications directly
A Mir server that compositites between sessions, greeters and boot screens
unity-system-compositor
greeter and user shell implemented using Mir
unity greeter / unity8
integrate with existing graphics hardware ( GBM, DRM and KMS)
on Ubuntu Touchvson the Free Graphics Driver Stack
this = that?
Dipende dal punto di vista :-)
Che ce frega del display seve’, noi c’avemo il frame work!
“the display server doesn't matter”-- Robert Ancell
U-ah! U-ah! U-ah!
2013, giusto poche ore più tardi
My recommendation to application developers is to never accept patches for this mess Canonical created.
“ It can cause issues everywhere and that affects the development and maintenance costs of all applications.”-- Martin Gräßlin
Ma Canonical c’è o ci fa?
from Arstechnica, 10 years of Ubuntu @ http://bit.ly/1romPZl
“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”
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
↑ ↑ ↓ ↓ ← → ← → Tap Tap
Il mio input è differente
B2C vc B2B
Il mio target è differente
qualcuno ha pensato “NVIDIA”?
Il mio driver è differente??
8~10 ottobre ultimi scorsi
2014 X.Org Developer's Conference
Refactor to plug into DRM-KMS -- new EGL extensions
“Enabling Alternative Window Systems with a non-Mesa Graphics Driver Implementation”
Che sta per OpenGL ES Native Platform Graphics Interface
Parola d’ordine: EGL
Il web è cambiato
Entering: The Browser
e ormai solo l’engine JavaScript veloce non fa più hipe
Ai browser moderni non piace essere lenti
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 LinuxDayby Luca & Flavia@elleuca -- @deindre_