Posts Tagged ‘xorg’

X on Wayland

June 13, 2012

A rather cool feature on Weston compositor is xwayland, to support X11 native applications on Wayland. It’s a quite important feature because gives the compatibility with the “old” windowing system, so say you have an application written on Motif/Xt or even something more “fancy” like a Web browser all tied with GTK2 and whatever dependency, then you better not bother yourself re-writing it to native Wayland or porting to a modern toolkit — it should just work seamlessly on it. Hence, X on Wayland fits pretty well with our overall transition plan.

The architecture behind and the mechanisms are a little tricky though, let’s take a look.

Once Weston is started, it launches the xwayland module which creates an X socket, adds it to the main Weston loop and waits for X clients to be connected into. When the first client gets connected, it triggers Weston to fork and exec one X server. Weston continues its normal execution but unregister itself that socket.

The X server, with the Wayland backend on it (xwayland), keeps listening Weston via a special Wayland protocol interface. Weston binds such interface and announces back the socket that X clients will be connecting to (xserver_send_listen_socket event) and the first X client that was just connected (xserver_send_client event). The idea is to give now to X the responsibility of clients trying to be connected, naturally. Worth to mention that this lazy initialization method was intentionally designed in order to avoid extra lags at Weston start up and memory overhead when X11 applications are not being used. So the X server is started on demand, only when actually needed.

At this point now, Weston also starts its own X Window Manager. In short, the main task of it is to proxy X applications built based on those old WM standards, such as EWMH and the jurassic ICCCM, and plumb them into the shiny Wayland desktop shell interface. In other words, the idea is to map different type of X windows on Wayland surfaces (xserver_set_window_id request), and specially give some meaningful user-interface policies on X Windows to the desktop shell, for instance making a surface to get maximized, or say to resize/move it around.

Other tasks the Weston X window manager performs are embed a pretty decoration frame around windows and also make sure the client-to-client communication such as copy and paste (selection) and eventually drag and drop work nicely. Remark that the X protocol doesn’t define policy but the WMs, and this is a challenge for Wayland, that does define. So the Weston X WM has to come up with the right amount of salt to fit perfectly the policies that were already straighten up by Wayland’s desktop shell… hmm way too philosophical.

All X windows created from now on will be redirected to offscreen pixmap and stored on a DRM buffer (via the xwayland video driver); that’s how compositing works on Wayland. The idea is that a X client will behave very likely as a regular Wayland client. Therefore, there’s no protocol calls or any major task involved on xwayland and all happens seamlessly, with the protocol “conversion” penalty close to nil.

The architecture for input handling looks good already as well. At X init time, it’s created fake devices, the keyboard and the pointer, and the concept goes the other way around of window creation: it gives the input devices capabilities from Weston to Xorg. We’re still shaping the cursor settings, the complex logic of client and surface grabbing, among other features, but the basics are most definitely in place already.

So the video is there for demoing what we’ve got until now. You can see in practice all these rather cool building blocks I mentioned. It’s rather cool.. specially for developers; one has to have the know-how on X11 and Wayland protocols, Xorg and Weston internals, X Window Manager standards, etc. Lot of fun!!!

X characterization for MeeGo

April 20, 2011

Actually this is not a big news but it’s nice to see on practice X being used on the advanced age :) Here I’ve played with some UI configuration settings, browsed for while, toyed with facebook, opened some photos in the viewer and etc, all for about 5 minutes:


x-meego-Apr2011

and zooming in the X11 core slice we have:


x-meego-x11only-Apr2011

Moral of the story: as showed on the last figure, most of the traffic from the core protocol is related with window management, window state changes and notifications of positioning for clients. Actual drawing doesn’t happen on the core X11 at all. Everything goes through GL, GLES and similar APIs where DRI2 manages in some way them. And well, XRender is something to be deprecated soon on modern UIs. Its big slice part there is due a bug on Qt for not proper disabling glyphs for font rendering still. Another interesting fact (not on those figures) is that compositor manager is taking ~15% of the total interaction with X server – so then again, not big news for us.


This doesn’t necessarily need to use the recent Erkki and Rami’s XRes additions for doing client tracking in the server side, but for who likes to hack on the server side, it’s quite easy to do. The hack I’ve done with Pauli’s help and using XRes version 1.2 is on this branch.

X Census (for 1.10)

February 28, 2011

Following is the census of 1.10 window for all X infrastructure – raw numbers here. I did it in a similar way as the previous version. Worth to mention that there’s almost no relation between the cycles of development from each of the components listed below, which can lead to some misunderstanding. Anyway, still a nice indicative to see and evaluate how the free desktop community behaved.

Numbers for X implementation (xserver, proto, lib and xcb repositories):

Processed 1258 csets from 93 developers
70 employers found
A total of 139275 lines added, 58982 removed (delta 80293)

Developers with the most changesets
Alan Coopersmith 243 (19.3%)
Gaetan Nadon 193 (15.3%)
Peter Hutterer 121 (9.6%)
Adam Jackson 94 (7.5%)
Jon TURNEY 43 (3.4%)
Keith Packard 37 (2.9%)
Jeremy Huddleston 36 (2.9%)
Jesse Adkins 34 (2.7%)
Pauli Nieminen 29 (2.3%)
Jamey Sharp 28 (2.2%)

Developers with the most changed lines
Matt Dew 57959 (35.7%)
Jeremy Huddleston 25002 (15.4%)
Fernando Carrijo 16739 (10.3%)
Gaetan Nadon 15750 (9.7%)
Alan Coopersmith 11850 (7.3%)
Adam Jackson 4273 (2.6%)
Keith Packard 2754 (1.7%)
Jesse Adkins 2516 (1.5%)
Peter Hutterer 2083 (1.3%)
James Jones 1876 (1.2%)

Developers with the most lines removed
Jeremy Huddleston 3726 (6.3%)
Adam Jackson 3617 (6.1%)
Jesse Adkins 2489 (4.2%)
Jamey Sharp 1497 (2.5%)
Søren Sandmann Pedersen 757 (1.3%)
James Cloos 187 (0.3%)
Adrian Bunk 184 (0.3%)
Tiago Vignatti 118 (0.2%)
Jon TURNEY 116 (0.2%)
Chris Wilson 72 (0.1%)

Developers with the most signoffs (total 1429)
Alan Coopersmith 315 (22.0%)
Peter Hutterer 191 (13.4%)
Gaetan Nadon 174 (12.2%)
Keith Packard 133 (9.3%)
Adam Jackson 96 (6.7%)
Jon TURNEY 52 (3.6%)
Jeremy Huddleston 36 (2.5%)
Jesse Adkins 34 (2.4%)
Pauli Nieminen 30 (2.1%)
Jamey Sharp 29 (2.0%)

Developers with the most reviews (total 882)
Alan Coopersmith 83 (9.4%)
Daniel Stone 78 (8.8%)
Peter Hutterer 76 (8.6%)
Julien Cristau 73 (8.3%)
Keith Packard 61 (6.9%)
Adam Jackson 49 (5.6%)
Mikhail Gusarov 41 (4.6%)
Jeremy Huddleston 38 (4.3%)
Colin Harrison 38 (4.3%)
Chase Douglas 35 (4.0%)

Developers with the most test credits (total 48)
Colin Harrison 16 (33.3%)
Gaetan Nadon 6 (12.5%)
Cyril Brulebois 5 (10.4%)
Alan Coopersmith 3 (6.2%)
Jeremy Huddleston 2 (4.2%)
Julien Cristau 1 (2.1%)
Aaron Plattner 1 (2.1%)
Luc Verhaegen 1 (2.1%)
Dirk Wallenstein 1 (2.1%)
Simon Thum 1 (2.1%)

Developers who gave the most tested-by credits (total 48)
Jon TURNEY 16 (33.3%)
Peter Hutterer 8 (16.7%)
Alan Coopersmith 7 (14.6%)
Dan Nicholson 4 (8.3%)
Michel Dänzer 2 (4.2%)
Gaetan Nadon 1 (2.1%)
Jeremy Huddleston 1 (2.1%)
Julien Cristau 1 (2.1%)
Aaron Plattner 1 (2.1%)
Luc Verhaegen 1 (2.1%)

Developers with the most report credits (total 21)
Julien Cristau 2 (9.5%)
Justin Mattock 2 (9.5%)
Peter Hutterer 1 (4.8%)
Aaron Plattner 1 (4.8%)
Cyril Brulebois 1 (4.8%)
Simon Thum 1 (4.8%)
Thierry Vignaud 1 (4.8%)
meng 1 (4.8%)
Sebastian Glita 1 (4.8%)
Bartosz Brachaczek 1 (4.8%)

Developers who gave the most report credits (total 21)
Peter Hutterer 7 (33.3%)
Julien Cristau 3 (14.3%)
Jamey Sharp 3 (14.3%)
Alan Coopersmith 2 (9.5%)
Eamon Walsh 2 (9.5%)
Michel Dänzer 1 (4.8%)
Gaetan Nadon 1 (4.8%)
Kristian Høgsberg 1 (4.8%)
Jesse Barnes 1 (4.8%)

Top changeset contributors by employer
Oracle 244 (19.4%)
Red Hat 225 (17.9%)
memsize@videotron.ca 193 (15.3%)
Nokia 122 (9.7%)
Intel 46 (3.7%)
jon.turney@dronecode.org.uk 43 (3.4%)
Apple 36 (2.9%)
jesserayadkins@gmail.com 34 (2.7%)
NVidia 30 (2.4%)
jamey@minilop.net 28 (2.2%)

Top lines changed by employer
matt@osource.org 57958 (35.7%)
Apple 27540 (17.0%)
fcarrijo.lists@gmail.com 16729 (10.3%)
memsize@videotron.ca 16611 (10.2%)
Oracle 14567 (9.0%)
Red Hat 8089 (5.0%)
Intel 4574 (2.8%)
Nokia 3153 (1.9%)
jesserayadkins@gmail.com 2528 (1.6%)
jon.turney@dronecode.org.uk 2110 (1.3%)

Employers with the most signoffs (total 1429)
Oracle 315 (22.0%)
Red Hat 293 (20.5%)
memsize@videotron.ca 174 (12.2%)
Intel 144 (10.1%)
Nokia 127 (8.9%)
jon.turney@dronecode.org.uk 52 (3.6%)
Apple 36 (2.5%)
jesserayadkins@gmail.com 34 (2.4%)
NVidia 29 (2.0%)
jamey@minilop.net 29 (2.0%)

Employers with the most hackers (total 96)
Red Hat 8 (8.3%)
Nokia 8 (8.3%)
Intel 7 (7.3%)
Canonical 3 (3.1%)
VMWare 3 (3.1%)
Oracle 2 (2.1%)
NVidia 2 (2.1%)
memsize@videotron.ca 1 (1.0%)
jon.turney@dronecode.org.uk 1 (1.0%)
Apple 1 (1.0%)

Development of X input drivers and input event processing tools (xf86-input-*, xkbcomp, xkeyboard-config repositories):

Processed 293 csets from 33 developers
29 employers found
A total of 34645 lines added, 26556 removed (delta 8089)

Developers with the most changesets
Peter Hutterer 152 (51.9%)
Sergey V. Udaltsov 32 (10.9%)
Alexandr Shadchin 21 (7.2%)
Alan Coopersmith 17 (5.8%)
Gaetan Nadon 12 (4.1%)
Trevor Woerner 6 (2.0%)
Nikolai Kondrashov 5 (1.7%)
Chase Douglas 4 (1.4%)
Simon Thum 4 (1.4%)
Joe Shaw 3 (1.0%)

Developers with the most changed lines
Sergey V. Udaltsov 30425 (79.0%)
Peter Hutterer 3377 (8.8%)
Alexandr Shadchin 1263 (3.3%)
Alan Coopersmith 806 (2.1%)
Chase Douglas 572 (1.5%)
Denis 'GNUtoo' Carikli 180 (0.5%)
Simon Thum 133 (0.3%)
Gaetan Nadon 110 (0.3%)
Bryce Harrington 99 (0.3%)
Nikolai Kondrashov 81 (0.2%)

Developers with the most lines removed
Alexandr Shadchin 1239 (4.7%)
Alan Coopersmith 739 (2.8%)
Chase Douglas 418 (1.6%)
Peter Hutterer 183 (0.7%)
Gaetan Nadon 61 (0.2%)
Peter Korsgaard 51 (0.2%)
Nikolai Kondrashov 35 (0.1%)
Jesse Adkins 16 (0.1%)
Javier Acosta 6 (0.0%)
Adam Jackson 6 (0.0%)

Developers with the most signoffs (total 304)
Peter Hutterer 197 (64.8%)
Alan Coopersmith 25 (8.2%)
Alexandr Shadchin 21 (6.9%)
Gaetan Nadon 11 (3.6%)
Trevor Woerner 6 (2.0%)
Nikolai Kondrashov 5 (1.6%)
Thomas Hellstrom 5 (1.6%)
Chase Douglas 4 (1.3%)
Simon Thum 4 (1.3%)
Joe Shaw 3 (1.0%)

Developers with the most reviews (total 126)
Trevor Woerner 37 (29.4%)
Alan Coopersmith 25 (19.8%)
Benjamin Tissoires 11 (8.7%)
Chris Bagwell 9 (7.1%)
Daniel Stone 9 (7.1%)
Chase Douglas 8 (6.3%)
Adam Jackson 7 (5.6%)
Cyril Brulebois 6 (4.8%)
Matt Turner 5 (4.0%)
Peter Hutterer 3 (2.4%)

Developers with the most test credits (total 25)
Alan Coopersmith 23 (92.0%)
Benjamin Tissoires 1 (4.0%)
Abdoulaye Walsimou Gaye 1 (4.0%)

Developers who gave the most tested-by credits (total 25)
Peter Hutterer 24 (96.0%)
Gaetan Nadon 1 (4.0%)

Developers with the most report credits (total 2)
Dave Airlie 2 (100.0%)

Developers who gave the most report credits (total 2)
Peter Hutterer 2 (100.0%)

Top changeset contributors by employer
Red Hat 155 (52.9%)
svu@gnome.org 32 (10.9%)
alexandr.shadchin@gmail.com 21 (7.2%)
Oracle 18 (6.1%)
memsize@videotron.ca 12 (4.1%)
twoerner@gmail.com 6 (2.0%)
Canonical 6 (2.0%)
spbnick@gmail.com 5 (1.7%)
simon.thum@gmx.de 4 (1.4%)
VMWare 3 (1.0%)

Top lines changed by employer
svu@gnome.org 30437 (79.1%)
Red Hat 4428 (11.5%)
alexandr.shadchin@gmail.com 1263 (3.3%)
Oracle 825 (2.1%)
Canonical 713 (1.9%)
gnutoo@no-log.org 180 (0.5%)
simon.thum@gmx.de 133 (0.3%)
memsize@videotron.ca 113 (0.3%)
spbnick@gmail.com 93 (0.2%)
jacmet@sunsite.dk 59 (0.2%)

Employers with the most signoffs (total 304)
Red Hat 199 (65.5%)
Oracle 26 (8.6%)
alexandr.shadchin@gmail.com 21 (6.9%)
memsize@videotron.ca 11 (3.6%)
Canonical 6 (2.0%)
twoerner@gmail.com 6 (2.0%)
spbnick@gmail.com 5 (1.6%)
VMWare 5 (1.6%)
simon.thum@gmx.de 4 (1.3%)
joe@joeshaw.org 3 (1.0%)

Employers with the most hackers (total 33)
Red Hat 3 (9.1%)
Oracle 2 (6.1%)
Canonical 2 (6.1%)
alexandr.shadchin@gmail.com 1 (3.0%)
memsize@videotron.ca 1 (3.0%)
twoerner@gmail.com 1 (3.0%)
spbnick@gmail.com 1 (3.0%)
VMWare 1 (3.0%)
simon.thum@gmx.de 1 (3.0%)
joe@joeshaw.org 1 (3.0%)

for userspace video drivers (libdrm, mesa and all xf86-video-*):

Processed 5223 csets from 131 developers
100 employers found
A total of 452414 lines added, 289531 removed (delta 162883)

Developers with the most changesets
Brian Paul 579 (11.1%)
Eric Anholt 512 (9.8%)
Vinson Lee 432 (8.3%)
Dave Airlie 357 (6.8%)
Marek Olšák 324 (6.2%)
Chia-I Wu 252 (4.8%)
José Fonseca 247 (4.7%)
Kenneth Graunke 210 (4.0%)
Luca Barbieri 210 (4.0%)
Ian Romanick 190 (3.6%)

Developers with the most changed lines
Brian Paul 70178 (13.0%)
Luca Barbieri 58946 (10.9%)
Kenneth Graunke 35433 (6.5%)
Chia-I Wu 34790 (6.4%)
Ian Romanick 30961 (5.7%)
Jerome Glisse 28641 (5.3%)
Eric Anholt 27906 (5.2%)
Christoph Bumiller 22352 (4.1%)
Dave Airlie 21625 (4.0%)
Alex Deucher 19210 (3.5%)

Developers with the most lines removed
Kenneth Graunke 19727 (6.8%)
Matt Turner 3052 (1.1%)
Henri Verbeet 1398 (0.5%)
Kristian Høgsberg 832 (0.3%)
Adam Jackson 248 (0.1%)
Jesse Adkins 161 (0.1%)
Nicolas Kaiser 43 (0.0%)
Andre Maasikas 34 (0.0%)
Pierre Allegraud 17 (0.0%)
Patrice Mandin 17 (0.0%)

Developers with the most signoffs (total 930)
Chris Wilson 181 (19.5%)
Jerome Glisse 99 (10.6%)
Brian Paul 82 (8.8%)
Dave Airlie 81 (8.7%)
Alex Deucher 59 (6.3%)
Tilman Sauerbeck 44 (4.7%)
Thomas Hellstrom 40 (4.3%)
Alan Coopersmith 30 (3.2%)
Jakob Bornecrantz 29 (3.1%)
Daniel Vetter 28 (3.0%)

Developers with the most reviews (total 69)
Jakob Bornecrantz 23 (33.3%)
Ian Romanick 10 (14.5%)
Eric Anholt 9 (13.0%)
Julien Cristau 6 (8.7%)
Mikhail Gusarov 4 (5.8%)
Brian Paul 2 (2.9%)
Alex Deucher 2 (2.9%)
Matt Turner 2 (2.9%)
José Fonseca 2 (2.9%)
Michel Dänzer 2 (2.9%)

Developers with the most test credits (total 6)
Guillermo S. Romero 1 (16.7%)
Michel Hermier 1 (16.7%)
Sitsofe Wheeler 1 (16.7%)
Bjørn Mork 1 (16.7%)
Michal Marek 1 (16.7%)
Manoj Iyer 1 (16.7%)

Developers who gave the most tested-by credits (total 6)
Chris Wilson 2 (33.3%)
Guillermo S. Romero 1 (16.7%)
Xiang, Haihao 1 (16.7%)
Xavier Chantry 1 (16.7%)
Jesse Barnes 1 (16.7%)

Developers with the most report credits (total 23)
Julien Cristau 2 (8.7%)
Matthias Hopf 2 (8.7%)
Jeff Chua 2 (8.7%)
Sitsofe Wheeler 1 (4.3%)
Bjørn Mork 1 (4.3%)
Michal Marek 1 (4.3%)
José Fonseca 1 (4.3%)
Daniel Vetter 1 (4.3%)
Cyril Brulebois 1 (4.3%)
Peter Clifton 1 (4.3%)

Developers who gave the most report credits (total 23)
Chris Wilson 19 (82.6%)
Xiang, Haihao 2 (8.7%)
Ian Romanick 1 (4.3%)
Kenneth Graunke 1 (4.3%)

Top changeset contributors by employer
VMWare 1582 (30.3%)
Intel 1292 (24.7%)
Red Hat 546 (10.5%)
maraeo@gmail.com 324 (6.2%)
LunarG 252 (4.8%)
luca@luca-barbieri.com 210 (4.0%)
e0425955@student.tuwien.ac.at 158 (3.0%)
AMD 156 (3.0%)
hverbeet@gmail.com 65 (1.2%)
currojerez@riseup.net 60 (1.1%)

Top lines changed by employer
Intel 132677 (24.5%)
VMWare 105087 (19.4%)
Red Hat 87373 (16.1%)
luca@luca-barbieri.com 67407 (12.5%)
LunarG 38973 (7.2%)
e0425955@student.tuwien.ac.at 22548 (4.2%)
AMD 19690 (3.6%)
maraeo@gmail.com 14329 (2.6%)
richard@richard-desktop3.(none) 12426 (2.3%)
noviktor@seznam.cz 11676 (2.2%)

Employers with the most signoffs (total 930)
Intel 235 (25.3%)
Red Hat 215 (23.1%)
VMWare 159 (17.1%)
AMD 59 (6.3%)
tilman@code-monkey.de 44 (4.7%)
Oracle 30 (3.2%)
daniel.vetter@ffwll.ch 28 (3.0%)
jesserayadkins@gmail.com 24 (2.6%)
currojerez@riseup.net 18 (1.9%)
mattst88@gmail.com 12 (1.3%)

Employers with the most hackers (total 138)
Intel 17 (12.3%)
VMWare 13 (9.4%)
Red Hat 7 (5.1%)
Canonical 4 (2.9%)
Novell 2 (1.4%)
AMD 1 (0.7%)
tilman@code-monkey.de 1 (0.7%)
Oracle 1 (0.7%)
daniel.vetter@ffwll.ch 1 (0.7%)
jesserayadkins@gmail.com 1 (0.7%)

Pixman library (pixman):

Processed 223 csets from 15 developers
12 employers found
A total of 10985 lines added, 6139 removed (delta 4846)

Developers with the most changesets
Søren Sandmann Pedersen 124 (55.6%)
Siarhei Siamashka 64 (28.7%)
Andrea Canciani 11 (4.9%)
Dmitri Vorobiev 5 (2.2%)
Rolland Dudemaine 4 (1.8%)
Cyril Brulebois 2 (0.9%)
Jon TURNEY 2 (0.9%)
Liu Xinyun 2 (0.9%)
Maarten Bosmans 2 (0.9%)
Benjamin Otte 2 (0.9%)

Developers with the most changed lines
Søren Sandmann Pedersen 6335 (45.3%)
Siarhei Siamashka 3119 (22.3%)
Liu Xinyun 1318 (9.4%)
Jonathan Morton 721 (5.2%)
Andrea Canciani 586 (4.2%)
Dmitri Vorobiev 62 (0.4%)
Benjamin Otte 62 (0.4%)
Maarten Bosmans 56 (0.4%)
Rolland Dudemaine 32 (0.2%)
Mika Yrjola 7 (0.1%)

Developers with the most lines removed
Liu Xinyun 1318 (21.5%)
Maarten Bosmans 11 (0.2%)
Rolland Dudemaine 2 (0.0%)

Developers with the most signoffs (total 7)
Cyril Brulebois 2 (28.6%)
Jon TURNEY 2 (28.6%)
Liu Xinyun 1 (14.3%)
Alan Coopersmith 1 (14.3%)
Chen Miaobo 1 (14.3%)

Developers with the most reviews (total 1)
Matt Turner 1 (100.0%)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Red Hat 126 (56.5%)
Nokia 64 (28.7%)
ranma42@gmail.com 11 (4.9%)
Movial 7 (3.1%)
rolland@ghs.com 4 (1.8%)
jon.turney@dronecode.org.uk 2 (0.9%)
kibi@debian.org 2 (0.9%)
mkbosmans@gmail.com 2 (0.9%)
Intel 2 (0.9%)
Oracle 1 (0.4%)

Top lines changed by employer
Red Hat 7969 (57.0%)
Nokia 3156 (22.6%)
Intel 1318 (9.4%)
Movial 805 (5.8%)
ranma42@gmail.com 619 (4.4%)
mkbosmans@gmail.com 57 (0.4%)
rolland@ghs.com 40 (0.3%)
tml@iki.fi 7 (0.1%)
jon.turney@dronecode.org.uk 6 (0.0%)
kibi@debian.org 2 (0.0%)

Employers with the most signoffs (total 7)
Intel 2 (28.6%)
jon.turney@dronecode.org.uk 2 (28.6%)
kibi@debian.org 2 (28.6%)
Oracle 1 (14.3%)

Employers with the most hackers (total 15)
Movial 3 (20.0%)
Red Hat 2 (13.3%)
Intel 1 (6.7%)
jon.turney@dronecode.org.uk 1 (6.7%)
kibi@debian.org 1 (6.7%)
Oracle 1 (6.7%)
Nokia 1 (6.7%)
ranma42@gmail.com 1 (6.7%)
mkbosmans@gmail.com 1 (6.7%)
rolland@ghs.com 1 (6.7%)

X11 comformance’s XTS, taken from Peter’s repository:

Processed 36 csets from 2 developers
2 employers found
A total of 3114 lines added, 3339 removed (delta -225)

Developers with the most changesets
Peter Hutterer 21 (58.3%)
Aaron Plattner 14 (38.9%)

Developers with the most changed lines
Peter Hutterer 3242 (90.0%)
Aaron Plattner 136 (3.8%)

Developers with the most lines removed
Peter Hutterer 264 (7.9%)

Developers with the most signoffs (total 35)
Peter Hutterer 21 (60.0%)
Aaron Plattner 14 (40.0%)

Developers with the most reviews (total 4)
Joe Kain 2 (50.0%)
Adam Cheney 2 (50.0%)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Red Hat 21 (58.3%)
NVidia 14 (38.9%)

Top lines changed by employer
Red Hat 3402 (94.4%)
NVidia 200 (5.6%)

Employers with the most signoffs (total 35)
Red Hat 21 (60.0%)
NVidia 14 (40.0%)

Employers with the most hackers (total 2)
Red Hat 1 (50.0%)
NVidia 1 (50.0%)

X documentation (doc repository):

Processed 108 csets from 7 developers
7 employers found
A total of 28556 lines added, 212807 removed (delta -184251)

Developers with the most changesets
Alan Coopersmith 57 (52.8%)
Gaetan Nadon 45 (41.7%)
Matt Dew 2 (1.9%)
Peter Hutterer 1 (0.9%)
Samuel Thibault 1 (0.9%)
Jesse Adkins 1 (0.9%)
Marc Balmer 1 (0.9%)

Developers with the most changed lines
Gaetan Nadon 146676 (67.0%)
Matt Dew 59191 (27.0%)
Alan Coopersmith 6927 (3.2%)
Samuel Thibault 7 (0.0%)
Jesse Adkins 7 (0.0%)
Peter Hutterer 3 (0.0%)
Marc Balmer 3 (0.0%)

Developers with the most lines removed
Gaetan Nadon 129581 (60.9%)
Matt Dew 52738 (24.8%)
Alan Coopersmith 1932 (0.9%)
Jesse Adkins 7 (0.0%)

Developers with the most signoffs (total 109)
Alan Coopersmith 59 (54.1%)
Gaetan Nadon 47 (43.1%)
Jesse Adkins 1 (0.9%)
Peter Hutterer 1 (0.9%)
Samuel Thibault 1 (0.9%)

Developers with the most reviews (total 28)
Alan Coopersmith 17 (60.7%)
Gaetan Nadon 4 (14.3%)
Peter Hutterer 2 (7.1%)
Daniel Stone 1 (3.6%)
Dan Nicholson 1 (3.6%)
Julien Cristau 1 (3.6%)
Matt Turner 1 (3.6%)
Adam Jackson 1 (3.6%)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Oracle 57 (52.8%)
memsize@videotron.ca 45 (41.7%)
matt@osource.org 2 (1.9%)
Red Hat 1 (0.9%)
marc.balmer@arcapos.com 1 (0.9%)
samuel.thibault@ens-lyon.org 1 (0.9%)
jesserayadkins@gmail.com 1 (0.9%)

Top lines changed by employer
memsize@videotron.ca 152747 (69.7%)
matt@osource.org 59195 (27.0%)
Oracle 7088 (3.2%)
samuel.thibault@ens-lyon.org 7 (0.0%)
jesserayadkins@gmail.com 7 (0.0%)
Red Hat 3 (0.0%)
marc.balmer@arcapos.com 3 (0.0%)

Employers with the most signoffs (total 109)
Oracle 59 (54.1%)
memsize@videotron.ca 47 (43.1%)
samuel.thibault@ens-lyon.org 1 (0.9%)
jesserayadkins@gmail.com 1 (0.9%)
Red Hat 1 (0.9%)

Employers with the most hackers (total 7)
Oracle 1 (14.3%)
memsize@videotron.ca 1 (14.3%)
samuel.thibault@ens-lyon.org 1 (14.3%)
jesserayadkins@gmail.com 1 (14.3%)
Red Hat 1 (14.3%)
matt@osource.org 1 (14.3%)
marc.balmer@arcapos.com 1 (14.3%)

About Nokia and Microsoft alliance? I was deeply shocked yes, but well, I guess I’m cool and over it now. I’m sure MeeGo is not dead by any chance though… Nevertheless, Nokia’s contribution to X11 development will be obviously diminishing. It’s sad. Our Graphics Team were just feeling the first effects of the new introduced culture for pushing whatever work (well the ones we are allowed) to upstream and now all was cracked down. So, unfortunately this won’t happen with the same volume anymore and the collected numbers of 1.10 is definitely a mark for Nokia.

late Christmas gift: freedesktop’s Xorg for MeeGo

December 29, 2010

Moikka.

If you follow here [0] you will see a set of Debian packages that Graphics team at Nokia are continuously working to deploy a X11 implementation for MeeGo-Harmattan, where we target embedded systems only. Feel free to use it!


At this point, we are very proud of ourselves because 99% of the content on these repositories are based on the ones at X main-stream of development. IWO we are directly fetching the X code-base from freedesktop.org. More important, we are shaping freedesktop implementation for embedded devices. So at this moment, we are pretty much aligned with X version 1.9.2, plus a few of other commits from master branch; the rest of components, like client side libraries, are mostly what we have on freedesktop master also.

We are quite happy because it follows exactly what we’ve planned some time ago when we strategically decided to contribute to X at freedesktop community, centralizing the development there and not ignoring it. So, no-no for kdrive, no-no for massively code-drop on the top of freedesktop’s, no-no for a proprietary X implementation, no-no for major hacks or anything like that. Aside from the video driver stack, everything was dumped at freedesktop.

Next, the plan pretty much fits with MeeGo-MeeGo cause we just needs to get the work we’ve been doing straight from freedesktop, avoiding any cross fetching between down-streams of development. Hyvää!

[0] yeah, the name of the repository is not trivial at all – and probably we will change it in a near future. So poke me if you need this later on.

X Census (for 1.9)

September 2, 2010

Topic’s name is a funny (and friendly) devotion to GNOME Census. So let’s take a look at some numbers from the time Xorg 1.9 was in development – raw data is here.

Would be unfair to measure only the work that happened e.g. in X server or in the drivers being developed and come up with the statistics about “who developed X”. X and X development community are quite extensive and don’t concern only “graphics” related, i.e., pixel information that appears on your display screen. This is a very common mistake.


X does input device event processing, device keys mapping (e.g. keyboard), pixel rasterization, output and input devices hotplug and configuration, devices and user session pairing, (different) 2D/3D graphics implementation, frame-buffer content management, X application and session security, application memory resources testing, analysis and debugging and etc. So it’s far from just pixel showing up on screen.

X is a generic graphical system. I prefer to see X as an implementation that doesn’t handle (or should not) system-level resources like memory or frame-buffer content. Other people see a bit differently. Given so, I divided all X development in the following groups, that you’ll see below as bold. Statistics were generated from the time people were working on 1.9 Xorg (02 Apr to 20 Aug):

The proto set of repositories represents the X11 core protocol description together with its extensions. The implementation of X11 and extensions to be used by clients are inside lib and xcb. lib also contains some few libraries to be used within xserver. xserver contains the server implementation of X. So here are the numbers for X implementation (xserver, proto, lib and xcb repositories):

Processed 874 csets from 74 developers
59 employers found
A total of 291730 lines added, 155222 removed (delta 136508)

Developers with the most changesets
Alan Coopersmith 134 (15.3%)
Jamey Sharp 106 (12.1%)
Gaetan Nadon 84 (9.6%)
Keith Packard 66 (7.6%)
Tiago Vignatti 55 (6.3%)
Peter Hutterer 54 (6.2%)
Mikhail Gusarov 41 (4.7%)
Jeremy Huddleston 38 (4.3%)
Matt Dew 21 (2.4%)
Fernando Carrijo 19 (2.2%)

Developers with the most changed lines
Matt Dew 172273 (53.2%)
Alan Coopersmith 75739 (23.4%)
Gaetan Nadon 13199 (4.1%)
Mikhail Gusarov 8979 (2.8%)
Keith Packard 6438 (2.0%)
Jeremy Huddleston 5750 (1.8%)
Jamey Sharp 5535 (1.7%)
Tiago Vignatti 5227 (1.6%)
Marko Myllynen 5154 (1.6%)
Yaakov Selkowitz 3614 (1.1%)

Developers with the most lines removed
Marko Myllynen 4729 (3.0%)
Tiago Vignatti 3922 (2.5%)
Mikhail Gusarov 3670 (2.4%)
Yaakov Selkowitz 3523 (2.3%)
Josh Triplett 3141 (2.0%)
Adam Jackson 2521 (1.6%)
Jamey Sharp 2036 (1.3%)
Daniel Stone 312 (0.2%)
Fernando Carrijo 221 (0.1%)
Pierre-Loup A. Griffais 91 (0.1%)

Developers with the most signoffs (total 1007)
Keith Packard 184 (18.3%)
Alan Coopersmith 155 (15.4%)
Gaetan Nadon 105 (10.4%)
Jamey Sharp 103 (10.2%)
Peter Hutterer 88 (8.7%)
Tiago Vignatti 56 (5.6%)
Mikhail Gusarov 42 (4.2%)
Jeremy Huddleston 39 (3.9%)
Fernando Carrijo 19 (1.9%)
Adam Jackson 18 (1.8%)

Developers with the most reviews (total 530)
Keith Packard 74 (14.0%)
Peter Hutterer 63 (11.9%)
Jamey Sharp 62 (11.7%)
Alan Coopersmith 46 (8.7%)
Adam Jackson 44 (8.3%)
Julien Cristau 34 (6.4%)
Dan Nicholson 30 (5.7%)
Daniel Stone 23 (4.3%)
Alex Deucher 21 (4.0%)
Tiago Vignatti 18 (3.4%)

Developers with the most test credits (total 42)
Gaetan Nadon 11 (26.2%)
Tiago Vignatti 8 (19.0%)
Jeremy Huddleston 2 (4.8%)
Colin Harrison 2 (4.8%)
Richard Barnette 2 (4.8%)
Eric Anholt 2 (4.8%)
Keith Packard 1 (2.4%)
Peter Hutterer 1 (2.4%)
Dan Nicholson 1 (2.4%)
Dave Airlie 1 (2.4%)

Developers who gave the most tested-by credits (total 42)
Jamey Sharp 11 (26.2%)
Alan Coopersmith 9 (21.4%)
Keith Packard 8 (19.0%)
Tiago Vignatti 2 (4.8%)
Yaakov Selkowitz 2 (4.8%)
Kristian Høgsberg 2 (4.8%)
Jon TURNEY 2 (4.8%)
Peter Hutterer 1 (2.4%)
Mikhail Gusarov 1 (2.4%)
Pierre-Loup A. Griffais 1 (2.4%)

Developers with the most report credits (total 13)
Richard Barnette 2 (15.4%)
Jamey Sharp 1 (7.7%)
Dave Airlie 1 (7.7%)
Robert Hooker 1 (7.7%)
Fabio Pedretti 1 (7.7%)
Julien Cristau 1 (7.7%)
Matt Turner 1 (7.7%)
Kalle Olavi Niemitalo 1 (7.7%)
Chris Ball 1 (7.7%)
邓逸昕 1 (7.7%)

Developers who gave the most report credits (total 13)
Julien Cristau 3 (23.1%)
Tiago Vignatti 2 (15.4%)
Peter Hutterer 2 (15.4%)
Jamey Sharp 1 (7.7%)
Dave Airlie 1 (7.7%)
Alan Coopersmith 1 (7.7%)
Chris Wilson 1 (7.7%)
Michel Dänzer 1 (7.7%)
Pauli Nieminen 1 (7.7%)

Top changeset contributors by employer
Oracle 135 (15.4%)
jamey@minilop.net 106 (12.1%)
Intel 89 (10.2%)
Red Hat 87 (10.0%)
memsize@videotron.ca 84 (9.6%)
Nokia 75 (8.6%)
dottedmag@dottedmag.net 41 (4.7%)
Apple 38 (4.3%)
matt@osource.org 21 (2.4%)
fcarrijo@yahoo.com.br 19 (2.2%)

Top lines changed by employer
matt@osource.org 172273 (53.2%)
Oracle 77967 (24.1%)
memsize@videotron.ca 15840 (4.9%)
Red Hat 9684 (3.0%)
dottedmag@dottedmag.net 9029 (2.8%)
Intel 7898 (2.4%)
Apple 6162 (1.9%)
jamey@minilop.net 5986 (1.8%)
Nokia 5548 (1.7%)
yselkowitz@users.sourceforge.net 3652 (1.1%)

Employers with the most signoffs (total 1007)
Intel 207 (20.6%)
Oracle 155 (15.4%)
Red Hat 119 (11.8%)
memsize@videotron.ca 105 (10.4%)
jamey@minilop.net 103 (10.2%)
Nokia 78 (7.7%)
dottedmag@dottedmag.net 42 (4.2%)
Apple 39 (3.9%)
fcarrijo@yahoo.com.br 19 (1.9%)
yselkowitz@users.sourceforge.net 17 (1.7%)

X drivers, although decreasing in functionality with the time, they still touching kernel and system-level tasks. And that’s why I prefer see those separated from the rest of X implementation. The numbers of development of X input drivers and input event processing tools (xf86-input-*, xkbcomp, xkeyboard-config repositories):

Processed 285 csets from 28 developers
24 employers found
A total of 20679 lines added, 17716 removed (delta 2963)

Developers with the most changesets
Gaetan Nadon 115 (40.4%)
Peter Hutterer 62 (21.8%)
Sergey V. Udaltsov 45 (15.8%)
Chris Bagwell 7 (2.5%)
Daniel Stone 7 (2.5%)
Stephan Hilb 5 (1.8%)
Simon Thum 4 (1.4%)
Adam Jackson 3 (1.1%)
Julien Cristau 3 (1.1%)
Oliver McFadden 3 (1.1%)

Developers with the most changed lines
Sergey V. Udaltsov 17613 (74.3%)
Gaetan Nadon 3096 (13.1%)
Peter Hutterer 1024 (4.3%)
Stephan Hilb 479 (2.0%)
Daniel Knittl-Frank 272 (1.1%)
Simon Thum 189 (0.8%)
Daniel Stone 152 (0.6%)
Chris Bagwell 81 (0.3%)
Michel Dänzer 66 (0.3%)
Patrick Curran 46 (0.2%)

Developers with the most lines removed
Gaetan Nadon 2244 (12.7%)
Peter Hutterer 206 (1.2%)
Fernando Carrijo 10 (0.1%)
Alan Coopersmith 7 (0.0%)
Julien Cristau 2 (0.0%)
Paulo Ricardo Zanoni 1 (0.0%)

Developers with the most signoffs (total 238)
Gaetan Nadon 115 (48.3%)
Peter Hutterer 79 (33.2%)
Daniel Stone 9 (3.8%)
Chris Bagwell 7 (2.9%)
Alan Coopersmith 6 (2.5%)
Fernando Carrijo 3 (1.3%)
Oliver McFadden 3 (1.3%)
Bartosz Brachaczek 2 (0.8%)
Adam Jackson 2 (0.8%)
Ævar Arnfjörð Bjarmason 2 (0.8%)

Developers with the most reviews (total 52)
Rémi Cardona 14 (26.9%)
Fernando Carrijo 9 (17.3%)
Jamey Sharp 9 (17.3%)
Peter Hutterer 8 (15.4%)
Alan Coopersmith 4 (7.7%)
Dan Nicholson 3 (5.8%)
Gaetan Nadon 1 (1.9%)
Simon Thum 1 (1.9%)
Julien Cristau 1 (1.9%)
Magnus Kessler 1 (1.9%)

Developers with the most test credits (total 5)
Peter Hutterer 2 (40.0%)
Bartek Iwaniec 2 (40.0%)
Magnus Kessler 1 (20.0%)

Developers who gave the most tested-by credits (total 5)
Bartosz Brachaczek 2 (40.0%)
Peter Hutterer 1 (20.0%)
Chris Bagwell 1 (20.0%)
Patrick Curran 1 (20.0%)

Developers with the most report credits (total 3)
Peter Hutterer 1 (33.3%)
Julien Cristau 1 (33.3%)
Gabor Z. Papp 1 (33.3%)

Developers who gave the most report credits (total 3)
Gaetan Nadon 2 (66.7%)
Gabor Z. Papp 1 (33.3%)

Top changeset contributors by employer
memsize@videotron.ca 115 (40.4%)
Red Hat 65 (22.8%)
svu@gnome.org 45 (15.8%)
daniel@fooishbar.org 7 (2.5%)
chris@cnpbagwell.com 7 (2.5%)
Oracle 5 (1.8%)
stephan@ecshi.net 5 (1.8%)
simon.thum@gmx.de 4 (1.4%)
VMWare 4 (1.4%)
Nokia 3 (1.1%)

Top lines changed by employer
svu@gnome.org 17683 (74.6%)
memsize@videotron.ca 3304 (13.9%)
Red Hat 1273 (5.4%)
stephan@ecshi.net 479 (2.0%)
knittl89+git@googlemail.com 272 (1.1%)
simon.thum@gmx.de 189 (0.8%)
daniel@fooishbar.org 181 (0.8%)
chris@cnpbagwell.com 81 (0.3%)
VMWare 67 (0.3%)
pjcurran@wisc.edu 46 (0.2%)

Employers with the most signoffs (total 238)
memsize@videotron.ca 115 (48.3%)
Red Hat 81 (34.0%)
daniel@fooishbar.org 9 (3.8%)
chris@cnpbagwell.com 7 (2.9%)
Oracle 6 (2.5%)
Nokia 3 (1.3%)
fcarrijo@yahoo.com.br 3 (1.3%)
simon.thum@gmx.de 2 (0.8%)
avarab@gmail.com 2 (0.8%)
b.brachaczek@gmail.com 2 (0.8%)

for userspace video drivers (libdrm, mesa and all xf86-video-*):

Processed 5608 csets from 107 developers
84 employers found
A total of 528511 lines added, 1345893 removed (delta -817382)

Developers with the most changesets
Brian Paul 599 (10.7%)
Eric Anholt 597 (10.6%)
Gaetan Nadon 431 (7.7%)
Vinson Lee 426 (7.6%)
Marek Olšák 415 (7.4%)
José Fonseca 357 (6.4%)
Kenneth Graunke 326 (5.8%)
Ian Romanick 321 (5.7%)
Carl Worth 233 (4.2%)
Chris Wilson 208 (3.7%)

Developers with the most changed lines
Eric Anholt 957175 (56.3%)
Jeremy Huddleston 146459 (8.6%)
Kenneth Graunke 58744 (3.5%)
Jakob Bornecrantz 46941 (2.8%)
xgi0007 37147 (2.2%)
Brian Paul 36067 (2.1%)
Carl Worth 25201 (1.5%)
Jerome Glisse 22808 (1.3%)
Kristian Høgsberg 20469 (1.2%)
José Fonseca 18998 (1.1%)

Developers with the most lines removed
Eric Anholt 930476 (69.1%)
Jakob Bornecrantz 37952 (2.8%)
Kristian Høgsberg 6935 (0.5%)
Keith Whitwell 3829 (0.3%)
Gaetan Nadon 3113 (0.2%)
Daniel Vetter 956 (0.1%)
Chia-I Wu 451 (0.0%)
George Sapountzis 269 (0.0%)
Owain Ainsworth 58 (0.0%)
Joakim Sindholt 26 (0.0%)

Developers with the most signoffs (total 926)
Gaetan Nadon 363 (39.2%)
Chris Wilson 186 (20.1%)
Jerome Glisse 50 (5.4%)
Dave Airlie 42 (4.5%)
Daniel Vetter 37 (4.0%)
Brian Paul 27 (2.9%)
Alex Deucher 22 (2.4%)
Jeremy Huddleston 18 (1.9%)
Adam Jackson 16 (1.7%)
José Fonseca 14 (1.5%)

Developers with the most reviews (total 24)
Alan Coopersmith 6 (25.0%)
Rémi Cardona 4 (16.7%)
Ian Romanick 2 (8.3%)
Eric Anholt 2 (8.3%)
Corbin Simpson 2 (8.3%)
George Sapountzis 2 (8.3%)
Gaetan Nadon 1 (4.2%)
Chris Wilson 1 (4.2%)
Adam Jackson 1 (4.2%)
José Fonseca 1 (4.2%)

Developers with the most test credits (total 11)
Nick Bowler 2 (18.2%)
Calvin Walton 2 (18.2%)
Aaron Plattner 1 (9.1%)
Marek Olšák 1 (9.1%)
Tom Fogal 1 (9.1%)
Brian Rogers 1 (9.1%)
Arkadiusz Miśkiewicz 1 (9.1%)
Krzysztof Halasa 1 (9.1%)
Sven Arvidsson 1 (9.1%)

Developers who gave the most tested-by credits (total 11)
Daniel Vetter 5 (45.5%)
Chris Wilson 2 (18.2%)
Dan Nicholson 1 (9.1%)
Marcin Slusarz 1 (9.1%)
Francisco Jerez 1 (9.1%)
Tom Stellard 1 (9.1%)

Developers with the most report credits (total 17)
Aaron Plattner 1 (5.9%)
Brian Rogers 1 (5.9%)
Arkadiusz Miśkiewicz 1 (5.9%)
Julien Cristau 1 (5.9%)
Kenneth Graunke 1 (5.9%)
Thomas Bächler 1 (5.9%)
Niels Ole Salscheider 1 (5.9%)
Roy Spliet 1 (5.9%)
Gianluca Anzolin 1 (5.9%)
Sergey Samokhin 1 (5.9%)

Developers who gave the most report credits (total 17)
Chris Wilson 11 (64.7%)
Marek Olšák 2 (11.8%)
Julien Cristau 1 (5.9%)
Ian Romanick 1 (5.9%)
Gaetan Nadon 1 (5.9%)
Maarten Maathuis 1 (5.9%)

Top changeset contributors by employer
VMWare 1870 (33.3%)
Intel 1552 (27.7%)
memsize@videotron.ca 431 (7.7%)
maraeo@gmail.com 415 (7.4%)
kenneth@whitecape.org 326 (5.8%)
LunarG 195 (3.5%)
Red Hat 183 (3.3%)
luca@luca-barbieri.com 127 (2.3%)
mostawesomedude@gmail.com 72 (1.3%)
AMD 64 (1.1%)

Top lines changed by employer
Intel 1057613 (62.3%)
Apple 238512 (14.0%)
VMWare 173210 (10.2%)
kenneth@whitecape.org 67387 (4.0%)
Red Hat 47856 (2.8%)
xgi0007@linux.site 37148 (2.2%)
LunarG 29790 (1.8%)
maraeo@gmail.com 15014 (0.9%)
memsize@videotron.ca 9531 (0.6%)
luca@luca-barbieri.com 6345 (0.4%)

Employers with the most signoffs (total 926)
memsize@videotron.ca 363 (39.2%)
Intel 210 (22.7%)
Red Hat 110 (11.9%)
VMWare 58 (6.3%)
daniel.vetter@ffwll.ch 36 (3.9%)
AMD 22 (2.4%)
Apple 18 (1.9%)
Oracle 12 (1.3%)
maraeo@gmail.com 11 (1.2%)
NVidia 11 (1.2%)

Pixman library (pixman) is a special one because can be used inside X and for other components on the system like cairo. It’s used for pixel manipulation, e.g. fast path to get advantages of CPU features:

Processed 78 csets from 8 developers
8 employers found
A total of 3088 lines added, 1270 removed (delta 1818)

Developers with the most changesets
Søren Sandmann Pedersen 54 (69.2%)
Siarhei Siamashka 9 (11.5%)
M Joonas Pihlaja 6 (7.7%)
Jeff Muizelaar 3 (3.8%)
Andrea Canciani 2 (2.6%)
Brad Smith 1 (1.3%)
Marek Vasut 1 (1.3%)
Siddharth Agarwal 1 (1.3%)

Developers with the most changed lines
Søren Sandmann Pedersen 2207 (64.7%)
Siarhei Siamashka 462 (13.6%)
M Joonas Pihlaja 185 (5.4%)
Andrea Canciani 119 (3.5%)
Marek Vasut 69 (2.0%)
Brad Smith 24 (0.7%)
Jeff Muizelaar 20 (0.6%)
Siddharth Agarwal 2 (0.1%)

Developers with the most lines removed

Developers with the most signoffs (total 5)
Egor Starkov 1 (20.0%)
Rami Ylimaki 1 (20.0%)
Jeff Muizelaar 1 (20.0%)
Marek Vasut 1 (20.0%)
Siarhei Siamashka 1 (20.0%)

Developers with the most reviews (total 0)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Red Hat 54 (69.2%)
Nokia 9 (11.5%)
jpihlaja@cc.helsinki.fi 6 (7.7%)
jmuizelaar@mozilla.com 3 (3.8%)
ranma42@gmail.com 2 (2.6%)
brad@comstyle.com 1 (1.3%)
sid.bugzilla@gmail.com 1 (1.3%)
marek.vasut@gmail.com 1 (1.3%)

Top lines changed by employer
Red Hat 2320 (68.1%)
Nokia 666 (19.5%)
jpihlaja@cc.helsinki.fi 185 (5.4%)
ranma42@gmail.com 123 (3.6%)
marek.vasut@gmail.com 69 (2.0%)
brad@comstyle.com 24 (0.7%)
jmuizelaar@mozilla.com 20 (0.6%)
sid.bugzilla@gmail.com 2 (0.1%)

Employers with the most signoffs (total 5)
Nokia 3 (60.0%)
marek.vasut@gmail.com 1 (20.0%)
jmuizelaar@mozilla.com 1 (20.0%)

A very important work for X11 comformance testing is XTS, that was broken for while and now is working again:

Processed 41 csets from 4 developers
4 employers found
A total of 2244 lines added, 4078 removed (delta -1834)

Developers with the most changesets
Peter Hutterer 17 (41.5%)
Aaron Plattner 12 (29.3%)
Dan Nicholson 9 (22.0%)
Jon TURNEY 2 (4.9%)

Developers with the most changed lines
Aaron Plattner 3854 (74.1%)
Peter Hutterer 245 (4.7%)
Dan Nicholson 141 (2.7%)
Jon TURNEY 5 (0.1%)

Developers with the most lines removed
Aaron Plattner 2000 (49.0%)
Dan Nicholson 1 (0.0%)

Developers with the most signoffs (total 42)
Peter Hutterer 19 (45.2%)
Aaron Plattner 12 (28.6%)
Dan Nicholson 9 (21.4%)
Jon TURNEY 2 (4.8%)

Developers with the most reviews (total 10)
Dan Nicholson 7 (70.0%)
Peter Hutterer 3 (30.0%)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Red Hat 17 (41.5%)
NVidia 12 (29.3%)
dbn.lists@gmail.com 9 (22.0%)
jon.turney@dronecode.org.uk 2 (4.9%)

Top lines changed by employer
NVidia 4726 (90.9%)
Red Hat 245 (4.7%)
dbn.lists@gmail.com 225 (4.3%)
jon.turney@dronecode.org.uk 5 (0.1%)

Employers with the most signoffs (total 42)
Red Hat 19 (45.2%)
NVidia 12 (28.6%)
dbn.lists@gmail.com 9 (21.4%)
jon.turney@dronecode.org.uk 2 (4.8%)

X documentation (doc repository):

Processed 22 csets from 6 developers
6 employers found
A total of 315 lines added, 45930 removed (delta -45615)

Developers with the most changesets
Alan Coopersmith 12 (54.5%)
Gaetan Nadon 3 (13.6%)
Thomas Hellstrom 2 (9.1%)
Julien Cristau 2 (9.1%)
Yaakov Selkowitz 2 (9.1%)
Dirk Wallenstein 1 (4.5%)

Developers with the most changed lines
Alan Coopersmith 45843 (99.3%)
Julien Cristau 52 (0.1%)
Gaetan Nadon 36 (0.1%)
Yaakov Selkowitz 23 (0.0%)
Thomas Hellstrom 4 (0.0%)
Dirk Wallenstein 2 (0.0%)

Developers with the most lines removed
Alan Coopersmith 45627 (99.3%)
Gaetan Nadon 18 (0.0%)

Developers with the most signoffs (total 23)
Alan Coopersmith 13 (56.5%)
Gaetan Nadon 3 (13.0%)
Thomas Hellstrom 2 (8.7%)
Julien Cristau 2 (8.7%)
Yaakov Selkowitz 2 (8.7%)
Dirk Wallenstein 1 (4.3%)

Developers with the most reviews (total 4)
Alan Coopersmith 2 (50.0%)
Gaetan Nadon 1 (25.0%)
Dan Nicholson 1 (25.0%)

Developers with the most test credits (total 0)

Developers who gave the most tested-by credits (total 0)

Developers with the most report credits (total 0)

Developers who gave the most report credits (total 0)

Top changeset contributors by employer
Oracle 12 (54.5%)
memsize@videotron.ca 3 (13.6%)
yselkowitz@users.sourceforge.net 2 (9.1%)
jcristau@debian.org 2 (9.1%)
VMWare 2 (9.1%)
halsmit@t-online.de 1 (4.5%)

Top lines changed by employer
Oracle 46053 (99.7%)
jcristau@debian.org 52 (0.1%)
memsize@videotron.ca 36 (0.1%)
yselkowitz@users.sourceforge.net 23 (0.0%)
VMWare 4 (0.0%)
halsmit@t-online.de 2 (0.0%)

Employers with the most signoffs (total 23)
Oracle 13 (56.5%)
memsize@videotron.ca 3 (13.0%)
jcristau@debian.org 2 (8.7%)
yselkowitz@users.sourceforge.net 2 (8.7%)
VMWare 2 (8.7%)
halsmit@t-online.de 1 (4.3%)

Nothing or close to nothing was done in the old font scheme (font repo), bitmap and cursor data. Also, from the total of 85 X traditional applications (apps), only 180 changesets were made and mostly concerning autoconf clean up.

Of course lines of code and changeset are far from being a good metric to see actually how the development happened. But still, it does represents something. For sure, there’s also a lot of other inaccurate information that I’m missing from this all. For instance, companies like Collabora does X development but sometimes get the merits for Nokia. Is that fair? I don’t know. And I don’t want to discuss this either :)

PS: Canonical, where are you here? Hint hint hint.

Xorg server 1.9 minimal

August 18, 2010

That’s what I’m using for MeeGo now. Autoconf parameters, theeere we go:


--disable-static --disable-aiglx --disable-config-dbus --disable-config-hal --disable-dbe --disable-dga --disable-dpms --disable-dri --disable-glx --disable-glx-tls --disable-int10-module --disable-ipv6 --disable-screensaver --disable-secure-rpc --disable-tcp-transport --disable-vbe --disable-vgahw --disable-xdm-auth-1 --disable-xinerama --disable-xwin --disable-xaa --disable-xace --disable-xdmcp --disable-xf86vidmode --disable-xfree86-utils --disable-xnest --disable-xvmc --disable-libdrm --enable-config-udev --enable-dri2 --enable-null-root-cursor --enable-record --enable-unit-tests --enable-visibility --enable-xorg --with-sha1=libsha1

PS: stop use kdrive hardware servers (Xfbdev and variants). They are dead!

Linux Graphics for Small Devices at FISL

July 30, 2010

Last week I’ve been in Brazil at 11th International Free Software Forum (FISL) talking about Linux Graphics for Small Devices*. I tried to cover a bit of everything that I learned in the world I’ve been immersed in some near past – I guess there aren’t many news for freedesktopers though. Anyway, everyone is very welcome to give any kind of feedback and comment on it. Just follow here.

*actually, two nights in Porto Alegre and two nights in Curitiba. Was great to see most of my friends!

adopt a child and make multi-card work on Linux

June 23, 2010

Previously, the message was for toolkit, now it targets new upcoming developers… okay, if I’d be offensive I could say it targets vendor distributions which care for desktop on Linux :)

I have started hacking on X due the laboratory at my university I was working was running an amazing project to employ computer labs in all high-schools of the state I was living, in Brazil. It was a successful and all 2.100 schools used the multiseat computing model.

The beginning of my work in this project happened back in 2006 [0], and on that time I was trying to understand the situation that Linux using multiple graphics cards was living – that is only part of the needed work for making multiseat. The work proceeded but I never could actually push the patches to the mainline. Afterwards, and now at Nokia, I took this work again targeting some clean-up on X server code. It mostly went upstream (see VGA arbiter, libpciaccess and current xserver code). But the code is buggy and lot of work still needs to make it work properly.

Seems that I have a son now, but he (or should be she?) is a rebel baby and generates lot of trouble. Rather, I’m mean and want to give he away!

I don’t care about multi-card development nowadays and for an unknown reason no one also cares. But people use a lot: try to mix old graphics cards with new cards…. boom! Try to use multi-card with decent hw acceleration… boom! Try to hotplug graphics devices… no way! Hotswitch… hardly! Perform close to a single-card system… only in your dream! Some guys are kindly contributing sending patches for a while and unfortunately our open-source community are lacking man-power to make it get reviewed properly and eventually land at upstream. So here’s your big chance:

ADOPT IT!

[0] BTW, I found the first patch I sent for X. It dates back in April 2006 and was against Xgl, GLX backend. Very funny :)

Toolkit, please: Xlib -> XCB

June 15, 2010

We all know since 2006 (?) that the world is turning to use XCB instead Xlib as the interface between X clients and the server. The advantages of using XCB is well know but, even so, it’s being adopted very slowly for some reason – for instance no toolkits yet ported it. If this serves as a motivation, Alan got a really nice measurements porting a simple X app.

Translate your toolkit and application now! :)

Scrutinizing X memory, part 2: what’s taking all that memory?

March 25, 2010

So here goes some statistics of the Xorg process running. All the informations were fetch from /proc/`pidof Xorg`/{smaps, status}. I used also a script found on the Web to parse and organize these informations; Mikhail Gusarov has extended this script to show a very useful output.

Xorg per se

Running just one standalone `Xorg -retro`. In my system it represents:
VmRSS: 5440 kB
VmSize: 13620 kB

from those 5440 kB of RSS:
3404 kB (63 %) come from code
1628 kB (30 %) come from malloc/mmap in anonymous memory (heap)
228 kB (4 %) come from other data mapped in memory
180 kB (3 %) come from rodata

from those same 5440 kB of RSS:
1628 kB (30 %) come from malloc/mmap in anonymous memory (heap) somewhere*
1200 kB (22 %) come from Xorg
628 kB (12 %) come from libc
316 kB (6 %) come from libcrypto
164 kB (3 %) come from libint10
136 kB (2.5%) come from libXfont
128 kB come from libxaa
120 kB come from libpixman
116 kB come from nv_drv
112 kB come from ld
102 kB come from libglx
100 kB come from swrast_dri
88 kB come from libfb
60 kB come from libpthread
48 kB come from evdev
xxx kB come from other libraries**

* just looking into /proc/, there’s no way to determine if the allocations came either from the binary itself or some DSO. I’ll definitely analyse carefully this in a near future using another approach.

** it’s missing from these numbers the input hotplug layer, which mostly systems are using today. In another data collected, I’ve seen dbus + hal taking 268 kB against amazingly 64 kB from libudev.

These measurements are not perfect; they are a snapshot of the memory when the server just started. The same footprint brought to memory at Xorg’s initialization time will differs a lot from the regular usage of the rest of Xorg’s life, which would deals with clients and users interacting. For instance, libint10 is mapping 164 kB and it’s likely that will never be swapped back to the memory again. Likewise, the heap portion will increase when clients starts to allocate pixmaps on the server.

Even though, we can see some nice facts. From the first chart, we see that almost 2/3 in RSS is used by instructions. Is it a normal behaviour of a graphics server? I don’t know. In the other chart, we see a huge footprint of libcrypto. In such library, when not counting shared mappings (e.g. used by openssl), it’s using 88 kB of RSS for private mappings only – sigh. We probably can replace it by other SHA1 implementation (in fact, we have already others inside the server) or use our built-in. We have also libpthread, used in GLX, which is being built even on systems that are not using it (e.g. Maemo on N900). libXfont shows up as a surprise to me either, taking a considerable amount of memory. We’re probably able to tweak it a bit though.

the code being started

Another way to analyse Xorg, is getting informations per code and modules being started. So I first set a breakpoint in InitOutput() function. Until InitOutput() be called:
VmRSS: 1728 kB
VmSize: 8788 kB

from 1728 kB in RSS:
1336 kB (77.3 %) come from code
132 kB (7.6 %) come from malloc/mmap in anonymous memory (heap)
144 kB (8.3 %) come from other data mapped in memory
116 kB (6.7 %) come from rodata

from 1728 kB in RSS:
436 kB (25.2 %) come from libc
328 kB (19 %) come from Xorg
316 kB (18.3 %) come from libcrypto

A breakpoint in InitOutput() means the very first steps of Xorg initialization: command line processing, OS layer being started and other basic routines. At this point, naturally it wasn’t executed much code inside Xorg yet, neither any drivers were loaded. Therefore, almost half memory usage of the process (44 %) came from basic libraries start up such as libc, libcrypto, etc.

The next chart, when setting a break point at InitInput(), shows the moment that the output is mostly done. I.e., internal loader initialized, configuration and its parsing done and output drivers already loaded. Until InitInput() be called:
VmRSS: 4436 kB
VmSize: 13724 kB

from 4436 kB in RSS:
3352 kB (75.6 %) come from code
676 kB (15.2 %) come from malloc/mmap in anonymous memory (heap)
228 kB (5.1 %) come from other data mapped in memory
180 kB (4 %) come from rodata

We see the the server’s RSS has jumped 2708 kB from the previous chart. In other words, it represents 2708 kB, or 50%, just being used to output’s initialization, and that 1004 kB (18.4 %) will be used for input initialization routines.

Well, I’m already happy with these preliminary statistics. I guess we have already work to do just looking into. Now, I plan to investigate a bit further X’s heap creation and how efficiently X clients are using pixmaps.

As always, I appreciate any corrections, suggestions and improvements.

* this text was kindly reviewed by Mikhail Gusarov.