/srv/irclogs.ubuntu.com/2014/06/11/#ubuntu-mir.txt

kdub_color me annoyed00:44
* kdub_ has to go bump the android headers package00:45
=== chihchun is now known as chihchun_afk
* RAOF resists the urge to write std::zip and std::infinite_seq02:24
anpok_hi vila06:41
anpok_RAOF: do we actually want to use egl/gles2 in cases which we would have to fall back to swrast?06:41
vilaanpok_: hey !06:42
RAOFanpok_: Yes, ish.06:42
anpok_ok, ish06:43
RAOFanpok_: We certainly want to let _clients_ render with egl/gles206:43
RAOFYou're correct that we don't particularly want EGL on the final composition pass, though.06:44
RAOFExcept that Unity8 uses it for that :)06:44
anpok_yeah, but there is still usc..06:45
RAOFRight. usc shouldn't use EGL in the swrast case.06:46
RAOFIt should instead be using something designed for it, like pixman.06:47
anpok_but that cpu based composition pass is not really a new graphics platfrom, but rather a fall back option for all our platforms06:47
anpok_hm or we make it a separate platform, but share a lot of code with the mesa platform ..06:49
anpok_and if we want to provide the same for android .. come up with something similar06:50
anpok_hm but that could be a per-output decision06:51
RAOFI don't think it's a per-output decision?06:59
RAOFAlthough you're right; it both is and isn't a new platform.07:00
RAOFIt shares the ‘how do we get this buffer to the physical display’ part of an existing platform, while adding a shared ‘how do I composite these things’ bit.07:01
RAOFboost::asio is maddeningly documented.07:01
anpok_RAOF: hm in case of an usb display07:08
RAOF...you want to render on the gpu, and shuttle buffers to the usb display.07:08
anpok_ack07:09
alan_gdednick: welcome back. Got time to discuss "trust[ed] [prompt] session" terminology?10:24
dednickalan_g: hi. sure10:25
alan_gYou seem to disagree with the terminology in https://wiki.ubuntu.com/Security/TrustStoreAndSessions - or do I misunderstand?10:28
alan_gWhich do you think is the right document to base the terminology on?10:28
alan_gdednick: ^10:37
dednickalan_g: ... well i think the whole "prompt" thing may be a bit specific, which is why I dropped it. I thought that was more directed to the use case of a dialog popping up asking the user if it wants to allow access to a resource (UAC)10:39
dednickand tvoss started to use the terminology of "trusted particiapant" a while later.10:40
alan_gdednick: OTOH a discussion of "trust sessions" and "trusted sessions" is confusing for everyone. It would make sense as "trusted prompt sessions" and "trusted prompt providers"10:41
dednickthe participant(s) is the "trust promp provider" in the wiki as far as i understand10:42
alan_gBRB10:43
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
dednickalan_g: well if it's helping to make sense of it, I can't really complain.10:49
alan_gdednick: the problem is that when the code doesn't match the documentation people don't trust either10:50
alan_gAnd the Wiki and "Application Embedding & Trusted Helpers" documents are what people look at to make sense of the MP10:51
dednickalan_g: sure.10:52
alan_gAlso, you seem to have both the app and the TPP as "trusted session" without distinguishing them. Can that be right?10:52
alan_gI've seen "trusted participant" in the code (but not noticed it in the docs) - is it just a TPP or can it be the App too?10:55
dednickalan_g: i didn't see any reason for distinguishing the participants of the trust session.10:55
dednickboth app and tpp are participants of a trust session.10:56
dednick"According to the description given before, three participants of a trust prompt session can be identified"10:56
alan_gdednick: but they have different roles - the tpp is overlaid on the app10:56
dednickalan_g: right, but when we're talking about layering, it's just an order. app first, then tpp.10:58
alan_gack. But I take that as descriptive not introducing it as a term10:58
alan_gSo there's significance to the order things are processed in for_each_participant_in_trust_session()?11:00
dednickin the shell there is.11:01
alan_gOK, then we need an acceptance test that spells out that requirement.11:02
alan_gBut wouldn't it be simpler to just query the App and the TPP? Like we do the trust helper?11:03
dednickalan_g: hm. i guess putting that kind of assumption in is not really a great idea, but it's a bit of a necessity when dealing with multiple layers of tpp's. Perhaps we should add another "type" of participant (as we did for trust_helper).11:04
dednickwhen inserting/querying in the container/manager i mean11:05
* alan_g doesn't grok "multiple layers of tpp's" - are they all part of one TPS, or are they nested TPS's?11:05
dednickalan_g: as far as I understood, all part of one TPS. see page 4/5 of the google doc.11:06
dednickthe gallery, content hub and FB will all have surfaces.11:07
alan_gI see it. But don't really follow how to make it work.11:09
dednickfyi, at the moment, i believe the "select dest" is done by the gallery, so there aren't any surfaces on the content hub.11:10
alan_gI can see race conditions adding the different TPPs (they need not be added in the order the TPH adds them if they've not connected to Mir.)11:11
alan_gAlthough that probably doesn't matter - I imagine each would be added in response to a user action and that will serialise them.11:13
dednick1) gallery initiates content hub though dbus/whatever11:14
dednick2) content hub creates trust session with gallery app id.11:14
dednick3) content hub calls new fd for trust session (2 fds)11:14
dednick4) content hub creates session for dest picker (with fd from 3)11:14
dednick5)   user see's dest picker overlayed on top of gallery (due to trust session)11:14
dednick6)   user picks face book as destination11:14
dednick7) content hub intiates facebook app with second fd from 311:14
dednick8) FB starts and is overlayed on top of content hub session.11:14
dednickalan_g: yeah, race will exist if you add 2 participants for apps which we start. but the use cases for app starts are in response to user action.11:16
dednickalan_g: i'm not really sure how this fits into the trust store model though...11:17
alan_gLOL11:18
dednicktheres a bit of a disconnect between the security side of this, and the user side of it.11:18
alan_gYes. I'm starting to think we have "prompt client", "prompt session", "prompt helper" and "prompt provider" - and trust is implicit. ;)11:20
dednickindeed.11:21
dednicki've been implementing application embedding using security terminology.11:23
alan_gThe terminology used is a big hurdle to understanding what the code supports.11:25
dednickright. but this was supposed to be an initial phase of something that is "trust" related.11:27
alan_gBut really, the "trust" part isn't implemented in Mir. And "trust"/"trusted" in the names is confusing every reviewer.11:31
dednickyeah. i have no idea how the security bit is supposed to hook into this. perhaps we should drop the "trust" for "prompt". Trust(ed)Session/Helper/Participant -> PromptSession/Helper/Participant11:34
alan_gI assume it "hooks in" by controlling which connections can create a prompt session.11:36
dednickalan_g: i meant where it's going to live if not mir.11:36
dednickperhaps the shell.11:38
alan_gdednick: I assume the same place that decides who can connect, configure_display, or screencast11:39
dednickalan_g: right. but at that point, it does become "trusted"11:41
alan_gYes, the shell provides a custom SessionAuthorizer to control session permissions. (Or Mir defaults to being trusting.)11:41
dednickbut since we dont call them "trusted_screencast"...11:42
alan_g...we should call it "prompt_session_is_allowed()"11:43
dednickbut now we don't match the documentation anymore :)11:43
dednickso lets change the documentation!11:43
alan_gWell, maybe.11:44
alan_gBut it would be easier to explain11:46
alan_g "application" => "application"11:46
alan_g "trusted prompt session" => "prompt session"11:46
alan_g "trusted helper" => "prompt helper"11:46
alan_g "trusted prompt provider" => "prompt provider"11:46
alan_gthan what we have now11:47
dednick+111:49
alan_galf_: anpok_  Opinions? ^^11:49
alf_alan_g: dednick: what about "interactive session"? Does it make sense to differentiate between the two in mir?11:50
alf_s/interactive session/interaction session/11:51
alan_gwhich two?11:51
alf_alan_g: dednick: in the docs there is also an "trusted interaction session"11:51
alf_alan_g: dednick: so "trusted interaction session" vs "trusted prompt session"11:52
* alan_g thinks there are two many docs to remember 11:52
dednickalan_g: hm: i would have said embedded before "interaction"11:52
anpok_is prompting the user for decisions the only relavant use case?11:52
dednickalf_: ^11:52
dednickanpok_: at the moment, yes; can't say about the furture though.11:54
alan_gI like "embedding session" - but worry where to find it in the docs (without rewriting them all)11:54
alan_gIt is always good to stick with the use cases we know about.11:55
anpok_funny - then the overall purpose - the reason why focus management/surface order needs to be aware of it - suddenly becomes obvious11:55
anpok_so I would really prefer that naming, if it is not a simplification or only a small aspect of the problems to solve.11:56
alan_gI've got to go make lunch (it is my turn) please reach a consensus.11:57
alan_gI'll catch up when I get back11:57
dednicki think we should check with tvoss before making the decision though. Since he has the grander plan in mind.11:57
=== alan_g is now known as alan_g|lunch
alan_g|lunchIf Saviq agrees then we can convince tvoss11:58
alf_dednick: I wasn't proposing "interaction session". I was referring to "trusted interaction session" use case presented in the docs, and whether it would be make sense to have a "prompt session" in mir instead of something that would cover all use cases.12:03
alf_dednick: assuming that what is expected from mir doesn't change for each use case12:04
alf_anpok_: alan_g|lunch: ^^12:05
alf_dednick: (repeating since you probably missed this) I wasn't proposing "interaction session". I was referring to "trusted interaction session" use case presented in the docs, and whether it would be make sense to have a "prompt session" in mir instead of something that would cover all use cases.12:09
alf_dednick: assuming that what is expected from mir doesn't change for each use case12:09
anpok_alf_: hm looking at the docs it is hard to see whether a (trust*) session for prompts behaves different than a (trust*) session for 'interaction'12:29
anpok_i think they might differ in the used surface properties/window types?12:30
alf_anpok_: yeah that was my point, they seem similar enough not to warrant a special distinction (sorry I think I expressed this the other way around than I meant)12:30
alf_anpok_: i.e., we shouldn't have a "prompt session" in mir, but rather something more general12:31
anpok_so introducing prompt as a term for both is maybe not the right solution12:31
anpok_yes12:31
anpok_but I am all for not using trust - as it seems to be a distraction of what this functionality is about..12:32
anpok_which is providing and dealing with some sort of grouped session based on12:33
anpok_existing sessions..12:33
alf_anpok_: it is an unfortunate and confusing coincidence that we are using the term 'session' in Mir to represent mir clients.12:35
anpok_why is it unfortunate? I think we should try to treat (trust*) session like a session.12:37
anpok_ah ok .. that would not reflect the nesting12:38
=== alan_g|lunch is now known as alan_g
alan_gAnyone that thinks "it is a  an unfortunate and confusing coincidence that we are using the term 'session' in Mir to represent mir clients" should join the "scene::Session => scene::Application" discussion.12:43
alan_gI'm afraid that "interaction session" might be premature generalization. If when we come to "interaction session" use cases we find that we can implement a "prompt session" using it then we can provide a new API and deprecate the old one. If we use "interaction session" now and when we come to the non-prompt use cases we we cannot generalise then we have "painted ourselves into a corner".12:49
=== danielg4 is now known as DonkeyHotei
=== pete-woods is now known as pete-woods-lunch
=== olli_ is now known as olli
camakoalan_g, it seems we are finally getting somewhere with the terminology14:18
alan_gcamako: I hope so. I don't think it is quite settled yet.14:19
DonkeyHoteican the reliance on libegl be eliminated?14:19
camakoalan_g, but I don't remember reading abt "interaction session"... Could you provide a link to the doc?14:20
alan_gcamako: https://wiki.ubuntu.com/Security/TrustStoreAndSessions14:21
alan_g"Trusted Interaction Session"14:21
=== chihchun_afk is now known as chihchun
camakoOo this doc..14:22
alan_gToo many documents not enough acceptance tests14:23
camakoalan_g, ok now I remember reading about it...14:25
camakoalan_g, I don't know what this phrase means, "Potentially system chrome"?14:26
alan_gDammit! "Reading symbols from bin/mir_unit_tests...Segmentation fault (core dumped)"14:26
alan_g"chrome" is shiny stuff14:27
alan_gMy feeling is we should go with the use case we understand (prompt session)14:28
camakoAt least we all agree to drop "trust(ed)"..14:28
alan_galf_: ^^14:29
=== pete-woods-lunch is now known as pete-woods
camako"prompt" is somewhat limiting though...14:29
alan_gdednick: anpok ^^14:30
=== alan_g is now known as alan_g|tea
camakocould get obsolete/nonsensical as soon as another use-case emerges14:31
alf_DonkeyHotei: @libegl, no, at least not at the moment... we depend on EGL throughout Mir14:31
alf_DonkeyHotei: what do you want to do?14:31
camako... which interaction session is another use-case but a bit nebulous14:31
DonkeyHoteialf_: bug 130495914:32
ubot5bug 1304959 in mir (Ubuntu) "No support for older intel hardware, or no clear message about not being supported." [Medium,Confirmed] https://launchpad.net/bugs/130495914:32
camako"Prompt" also sort of means "on top of everything"14:33
alf_DonkeyHotei: We are working on using software GL rendering through Mesa/llvmpipe if no HW accel is available14:35
alf_anpok: ^^14:35
DonkeyHoteialf_: how soon?14:36
dednick"embedding/ed session" ?14:36
=== alan_g|tea is now known as alan_g
* anpok waves 14:39
alan_gI'm afraid that "embedding/ed session" might be premature generalization. If when we come to "embedding/ed session" use cases we find that we can implement a "prompt session" using it then we can provide a new API and deprecate the old one. If we use "embedding/ed session" now and when we come to the non-prompt use cases we we cannot generalise then we have "painted ourselves into a corner".14:40
=== dandrader is now known as dandrader|afk
alan_gBut if we feel we know enough for confidence about the future I'll wait and see.14:43
camakoyeah embedded/ing also has the connotation that things are inside other stuff.. In a general sense, it may not always be the case14:43
anpokalan_g: camako: dednick: I can vote for using prompt now and having a rename while we add new stuff to it... the only thing I am still missing is that the functionality is about some sort of <session> created by multiple processes.. and prompt does not say that14:43
alan_gTrue - it implies the implementation, not the requirement14:44
camakoHow about "cooperative session"?14:44
camakoI think it 'd cover both the interaction and prompt14:45
alan_gThat's so general it says very little14:45
dednickhm. bit too general14:45
anpokthe other thing ..are we going to see further changes that will make sessions and sessions look the same from the server side api?14:45
dednicka session looks pretty much like a session to me :)_14:46
dednickyou mean a trust session and a session?14:46
anpoki erased the word trust already :)14:46
alan_gA [trusted] prompt session14:46
dednickpossibly could be deriving from a common focusable object in the future. but it hasn't really been discussed.14:47
* alan_g has tried to persuade tvoss that "session" was a bad name for it. And persuade mir developers that "session" is a bad name...14:48
anpokDonkeyHotei: there is no mesa dri driver for n450?14:48
DonkeyHoteishould be14:48
camako"trust session" and "interaction session" have little in common, so whatever term we choose, it will have to be pretty general - and won't explain either...14:48
alan_gI vote for "prompt session" now14:50
dednick"prompt session" for me too . mainly because I want the pain to end. :)14:50
alan_gdednick: who said the pain would end?14:51
alan_g;^)14:51
dednickwell. actually it will just begin since, that's when the renaming game starts.14:51
alan_gRenaming is easy. I do it all the time.14:51
dednicki hadn't noticed! :)14:52
alan_gfind -name \*.cpp -or \*.h | xargs sed --in-place ...14:52
camakoprompt session sounds good, then14:54
dednickthere's a lot of trust around. trust session, trusted session, [trusted] participants, trust session manager, trust helper, trust listener, trust session container. trust session events, blah blah14:54
alan_gI don't mind doing the renames - if we are agreed on the naming scheme14:55
kgunnis tvoss hiding ? :P14:56
kgunnwonder if tvoss cares about the naming...14:56
alan_gkgunn: we spoke to tvoss yesterday. And he's been absent from here ever since14:57
kgunncamako: alan_g dednick ...so basically, we're scrubbing trust, replacing with prompt...in all instances of trust<something>14:58
dednickalan_g: it's ok. it'll ease me back into working after a bit too long in the sun :)14:58
camakokgunn, my understanding is that14:58
camakowe are using this name in our code14:58
dednickkgunn: for mir yes14:59
camakonot changing tvoss' doc14:59
alan_gkgunn: not quite that simple. But that's a big chunk of it14:59
kgunnack...i figure some paradigms won't match quite that easy14:59
kgunngotta get a coffee, i'll be on standup in minutes14:59
dednickalan_g: are we going for "prompt session participants", or "application + prompt provider"?15:00
alan_gdednick: I'd suggest application()  helper() and for_each_provider()15:03
alan_gbut that's a slightly independent change15:03
dednickalan_g: sure.15:05
anpokDonkeyHotei: ok - I think I have an even older netbook than that, which uses a similar gpu15:07
anpokbut havent tried mir on it yet.15:07
=== dandrader|afk is now known as dandrader
DonkeyHoteianpok: i believe mine is n450 with i945 graphics15:08
anpokintel has some intersting naming schemes ther gma950 i945 .. 945G .. but yes.. i will try this evening15:10
DonkeyHoteii already tried, black screen15:12
DonkeyHoteiit tries to use libegl which fails15:13
anpokDonkeyHotei: so egl/glesv2 usage would always fail on 945?15:54
AlbertAheh, a fix committed before the an external bug: https://bugs.launchpad.net/mir/+bug/1328952 yippeee15:54
ubot5Ubuntu bug 1328952 in Mir "Compositing with invisible surfaces" [High,Fix committed]15:54
DonkeyHoteianpok: bug 130495915:55
ubot5bug 1304959 in mir (Ubuntu) "No support for older intel hardware, or no clear message about not being supported." [Medium,Confirmed] https://launchpad.net/bugs/130495915:55
kdub_rsalveti, any plans to get the android 4.3 headers from libhardware into the android-headers package? hit a snag with the api between 4.2 and 4.4 when trying to enable hwc alpha blending16:09
kdub_specifically, I need to use the hwc_layer_1_t::planeAlpha field introduced in android-4.316:10
kdub_https://android.googlesource.com/platform/hardware/libhardware/+/android-4.3.1_r1/include/hardware/hwcomposer.h16:11
rsalvetikdub_: goal is to update it to be based on 4.4, just never spent cycles on it as we didn't have any request for the update til now :-)16:15
kdub_rsalveti, great, anything I can do to help?16:18
rsalvetikdub_: mind creating a bug and assigning that to me16:19
rsalveti?16:19
rsalvetican take care of that later today16:19
kdub_rsalveti, will do16:19
kdub_thanks16:19
ogra_kgunn, will reverting split greeter also revert the boot animation ability ? (that came in alongside)16:24
kdub_rsalveti, here's the bug: https://bugs.launchpad.net/ubuntu/+source/libhybris/+bug/1328971, can't assign/set priority on it though16:26
ubot5Ubuntu bug 1328971 in libhybris (Ubuntu) "android 4.4 headers needed for hwc_layer_1_t::planeAlpha field" [Undecided,New]16:26
kgunnogra_: initially, we'd have to ask mterry about adding that animation into inproc greeter16:34
kgunnsuppose it might actually be easier16:34
ogra_kgunn, i think u-s-c ships it atm, we could just not rip it out16:34
mterrykgunn, ogra_, no doesn't affect our ability there16:34
kgunn(in terms of transitions)16:34
ogra_mterry, great !16:34
mterryogra_, kgunn: we don't need to rip out any part of it, and animation doesn't care if it stops at split greeter or user session16:34
ogra_yeah16:35
ogra_thats what i thought16:35
ogra_would be a shame to do RTM with a black screen through the whole boot16:35
kdub_mterry, is boot animation that a usc client? or does it override the compositor for a bit16:36
mterrykdub_, it's written as a USC client16:36
kdub_cool, just curious16:37
mterryThat the USC knows about especially16:37
=== alan_g is now known as alan_g|EOD
=== chihchun is now known as chihchun_afk
=== dandrader is now known as dandrader|lunch
rsalvetikdub_: thanks17:39
=== dandrader|lunch is now known as dandrader
kdub_AlbertA, we don't have a way to discern whether abgr_8888 has premultiplied alpha or not, do we?18:41
racarr_Another new GCC CI failure https://jenkins.qa.ubuntu.com/job/mir-team-mir-development-branch-utopic-amd64-ci/385/console18:50
racarr_syncfence.cpp:6818:50
anpokkdub_: but if it is a buffer from a client19:02
anpokwe are safe to assume that19:02
kdub_we probably assume that, but aren't safe to do so19:04
anpokwell safer than assuming the opposite19:12
=== dandrader is now known as dandrader|afk
AlbertAkdub_: no19:28
AlbertAkdub_: you need to?19:28
kdub_AlbertA, eh, probably will go on the 'todo' pile19:33
AlbertAkdub_: in any case, we now assume pre-multiplied instead of straight alpha19:34
AlbertAkdub_: which makes more sense19:34
kdub_right19:40
=== dandrader|afk is now known as dandrader

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!