[00:04] Hm. When I'm blowing up code in 3rd_party I should probably move it under src/ shouldn't I. [00:25] RAOF, tough call [03:27] Oh, *that's* why you don't move anything from 3rd_party to src/ [03:27] It doesn't compile, because it generates hundreds of warning from ten or more different constructs. Hurray! [04:46] “I killed him, cha cha cha” [06:59] Alright. That's EOW for me. See yall Tuesday! [08:31] alf_: would moving null, logging and lttng into report also imply that as another namespace level [08:31] alf_: good morning [08:56] anpok_: good morning :) I would imagine something like mir::report in which null,logging,lttng implementation are all implementation details [08:57] anpok_: but not necessarily [09:09] hi alan_g [09:09] anpok_: ho [09:09] alf_: implementation details - as there are no public headers? or no further namespaces? [09:10] as in not needed by users of the class [09:12] sure we will get there.. [09:13] just wanted to be sure about the details [09:14] anpok_: primarily the first, but also the second i.e., mir/report/default_configuration.cpp would implement all the_*_report() methods using class internal to the reporting component (logging, lttng) [09:20] ah ok, I can see why, so all dependencies are in one direction.. [09:49] alf_: anpok_ any opinions? https://code.launchpad.net/~alan-griffiths/mir/SwitchingBundle-controls-completion-of-client_acquire-without-blocking/+merge/204294 [09:57] alan_g: looking [10:22] i am a bit puzzled by having multiple compositors [10:22] what would happen if we turn one screen off [10:23] i mean we have one compositor per output? [10:26] alan_g: will you have a chance to look at bug 1276704 any time soon? [10:26] bug 1276704 in Mir "Need way of getting PID of Session" [Undecided,New] https://launchpad.net/bugs/1276704 [10:27] greyback: I've just put it on today's list [10:27] alan_g: thanks [10:54] anpok_: we have multiple compositors (running in different threads) because 1. each output is backed by a different framebuffer that we need to draw to (exception: clone mode) 2. outputs have different vsync rates and vsync start offsets [10:56] but when one compositor is stopped it will release all buffers? [10:57] btw will you kill me for having mrn and mrl (mir::report::logging? [10:58] anpok_: we have one MultiThreadedCompositor that coordinates composition on all outputs, and each output is then handled by a (Default)DisplayBufferCompositor instance [10:58] anpok_: so which compositor are you referring to? :) [11:02] alf_: ok puzzle solved [11:03] it happens through the temporary compositor buffer being consumed as a shared ptr for the short time during composition [11:06] anpok_: @mrn,mrl, I don't mind as long as they are internal to report (although Alan may not share this preference?) [11:08] Does "internal to report" mean in the same src directory? [11:08] no in another directory underneath [11:08] i just moved everthing below report [11:09] yeah this time everything [11:09] only lttng logging and null_* === anpok_ is now known as anpok|lunch === dandrader is now known as dandrader|afk [13:17] rsalveti: Hi! I was thinking, for the dynamic backends, do you need runtime selection or package time selection (e.g., have a libmirplatformandroid and libmirplatformmesa that both provide libmirplatform)? [13:19] rsalveti: (runtime selection = being able to install both libmirplatformandroid and libmirplatformmesa at the same time and select the actual library at runtime) [13:19] alf_: any would do for now (as we have different seeds for desktop and touch), but later on it might be good to do that in runtime [13:20] in case someone installs the android one, and ends up breaking his desktop [13:24] rsalveti: the difference in mir code is minimal (since we will load server/clients backends at runtime), it's more of a packaging decision [13:26] ogra_: what do you think^? [13:26] alf_: in case you've not noticed - there's still a little android/mesa code in frontend (chosen at build time). [13:27] ogra_: I don't think we have an official way yet to decide if we're in desktop or touch during runtime [13:27] alan_g: thanks, there is also a lot of code on the client that is chosen at build time :) (I am fixing both) [13:29] :) [13:30] * ogra_ reads [13:31] no, we dont have such a way *yet* but we will need one in the future ... for the time being selection via seeds will be fine [13:31] as long as we dont tie us in with that for the future (i.e. if it still stays an easy switch i guess it is fine to re-visit in 15.04 or 15.10, whatever will have the merged seeds) === dandrader|afk is now known as dandrader === dandrader is now known as dandrader|afk === dandrader|afk is now known as dandrader [14:17] rsalveti: atm isn't there at least some android version/value that can be interrogated ? [14:18] e.g. we have hwc1.0, 1.1 as well...and if no android present you're on desktop...couldn't that be the logic ? [14:18] alf_: ^ [14:28] kgunn: probably [14:34] greyback: https://code.launchpad.net/~alan-griffiths/mir/fix-1276704/+merge/205357 [14:34] alan_g: nice, thank you [15:07] rsalveti: is the fix for bug 127662 enough to unblock you until we get dynamic backends? [15:07] bug 127662 in x11-xserver-utils (Ubuntu) "Removing insecure xhost package removes entire X server" [Medium,Expired] https://launchpad.net/bugs/127662 [15:07] rsalveti: hmm, bug 1276621 [15:07] bug 1276621 in mir (Ubuntu) "Android backend unit-tests FTBS on amd64" [Undecided,New] https://launchpad.net/bugs/1276621 [15:09] alf_: alan_g: I need a name - a factory that creates reports based on the program options / server options .. [15:09] alf_: yeah, trying that today [15:09] alf_: ogra_: but it should just be easier for now to have a separated package [15:10] and we can land it faster as well [15:10] rsalveti: sure [15:10] anpok|lunch: ReportFactory ? [15:12] I understand the reluctance to use "Factory" - if there's something less generic than a pattern name it should be preferred [15:13] is this an function, a class interface, an implementation, ...? [15:13] *a function [15:17] yeah, shiny is for later :) [15:17] alf_: thats the interface [15:18] alan_g: it is just an aggregation of three of those implementations .. for null reports logging and lttng.. [15:18] it just delegates to the real ones .. === anpok|lunch is now known as anpok [15:20] Then surely the interface is AbstractFactory? [15:20] * alan_g winces [15:21] ReportSelector? [15:22] yes that would be fine for me, but thats like the generic version of the "er"-rule for turning verbs into nouns [15:23] but since you proposed it, the rule cannot be applied by yourself [15:24] oh... thank you! [15:24] that thing does not need to implement the factory interface. === alan_g is now known as alan_g|vt === dandrader is now known as dandrader|lunch [17:13] kdub: Is mga::FBTargetLayerList::reset_composition_layers() going to be generally useful in the future? It's only used in the tests right now. === alan_g|vt is now known as alan_g [17:38] kgunn: looks like you're getting ready to land stuff. I think greyback would like this included if it gets reviewed: https://code.launchpad.net/~alan-griffiths/mir/fix-1276704/+merge/205357 === dandrader|lunch is now known as dandrader [17:41] kgunn: that I would, but landing it will demand a unity-mir rebuild since it changes server API === dandrader is now known as dandrader|bbl [18:40] alan_g: still there? [21:02] hey guys, I'm trying to run Unity8 on the desktop and I don't have any kind of cursor anywhere ... is there something I need to do in Mir or is it the shell layer that's expected to handle that in software now?