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

=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
RAOFI am going to be most displeased when I discover that boost::asio is the thing that's broken here...08:07
RAOFBut for the moment, EOD.08:07
anpokalan_g: do you want to have a last look at just-unregister-fd? Applied your suggestion. I would like to approve it now.10:50
alan_ganpok: looking10:51
alan_ganpok: approved10:53
anpokthx10:53
=== pete-woods is now known as pete-woods-lunch
=== alan_g is now known as alan_g|lunch
=== renato_ is now known as Guest77133
=== alan_g|lunch is now known as alan_g
DonkeyHoteianpok: how's the mesa work going?14:08
=== pete-woods-lunch is now known as pete-woods
anpokDonkeyHotei: I was gone for a week and not much progress since then. I only discovered that mir server with demo shell works really fine14:22
anpokso mesa directly works flawless14:22
anpokso there must be some kind of initialization issue when mesa runs with mir platform, that causes a corrupt driver state..14:23
anpokwhich then causes egl/mir clients to fail14:24
DonkeyHoteiwould be nice to get a trusty SRU when you fix that14:26
=== dandrader is now known as dandrader|afk
kdub_alf__, remove the stub from hwc-device-test-cleanup15:27
alf__kdub_: great, (top) approved15:30
kdub_alf__, thanks! i think track-visibility-in-default-compositor is good to go15:30
=== dandrader|afk is now known as dandrader
kgunnalf__: so racarr_ thot he might bump server, but he didn't....but i understand some recent "scene" stuff you landed most likely broke abi15:58
kgunni assume related to visibility prep15:59
kgunncan you mp the bump ?15:59
alf__kgunn: sure16:00
kgunn...note, if you do, need to also update build dep for the rdeps (unity-mir, usc, papi)16:00
kgunnat16:00
alf__kgunn: where do I find these?16:00
alf__kgunn: I mean the updated values16:01
kgunnalf__: so in mir, its the top most cmake, the debian/control...and changelog of course16:02
alf__kgunn: ah, nevermind, thought you meant it the other way around16:02
=== chihchun is now known as chihchun_afk
kgunncamako: ^ we're spreading the pain right? you break abi you buy it :)16:03
kgunnalf__: we have been using https://code.launchpad.net/~mir-team/platform-api/development-branch & https://code.launchpad.net/~mir-team/unity-mir/development-branch16:03
kgunnto stage the rdep bumps16:04
alf__kgunn: ok16:04
alf__kgunn: it sounds like we need a script for this... update_mir_abi.sh :)16:05
kgunnalf__: i have one :)16:05
kgunn2 secs16:05
kgunnalf__: https://pastebin.canonical.com/112279/16:06
kgunndoesn't address the debian/changelog obviously16:07
alf__kgunn: excellent, thanks16:08
alf__kgunn: camako: Should I also update the minor version number 0.3.0 -> 0.4.0?16:12
kgunnalf__: looks like if you need an updated u-s-c branch...you'll need to create one...16:12
kgunnsomething like ~mir-team/unity-system-compositor/devel-mir-next would be handy16:13
kgunnthen we can make it a semi-permanent vehicle16:13
Nothing_MuchI think there's a problem with the lock screen with XMir16:14
Nothing_MuchAs in16:14
Nothing_MuchIt logs out instead of locks16:14
alf__kgunn: camako: why not unity-system-compositor/development-branch so that we are consistent in all projects?16:14
kgunnalf__: only because its not really a "devel only"...its "devel for mir server abi breaks" :)16:15
kgunnand i have an outstanding action to go rename those others16:16
kgunnunity-mir/devel-mir-next, papi/devel-mir-next16:16
kgunnthis way people can continue with trunk landings not having to "wait" on mir16:16
alf__kgunn: OK. Is the policy to bump dependencies in all rdeps or only those that really need it?16:16
kgunnalf__: really only those that need it.... by that i assume you mean like, xmir uses client only..so this is a no hit to xmir16:19
alf__kgunn: created usc/devel-mir-next16:19
kgunnawesome16:20
greyback+1 on the branch renames16:20
kdub_so the policy is to scan papi, usc, unity-mir, powerd, qtsg stuff, etc for abi breaks and update them?16:21
alf__kgunn: hmm, should devel-mir-next be based off each project's development-branch or each trunk?16:22
kgunnalf__: you can base it off of trunk...the way i have the recipe set up it will merge trunk before building16:24
kgunnso you keep getting the goodness of other landings16:24
kgunnif it fails, we get a mail16:24
kgunn(or we should)16:24
kgunnonly thing is it does require merging trunk before going for a landing of the whole nut (which is what cemil or i would do)16:25
kgunnhopefully we keep rolling fast enough16:25
kgunnalf__:  that its not too much headache....16:25
kgunnheadache only really comes when we "wait" for releases16:25
alf__kgunn: camako: I am confused about the flow... when we break ABI we should propose a dependency bump MP against each affected project's devel-mir-next?16:26
* kdub_ is too16:26
alf__kgunn: camako: and then what happens?16:26
kgunnalf__: so if its strictly an abi break...that mp just sits there until its landed16:27
kgunnalf__: so, after you do this... camako will collect those 3 rdep branches (which bump debian dep on mir)16:28
kgunnalong with the mir-devel branched to 0.4.0...and attempt to land it16:28
kgunnalf__: kdub_ is it still confusing ?16:28
kdub_I have some misgivings about this approach16:29
alf__kgunn: so the MP against devel-mir-next should also contain fixes for any code broken by Mir changes?16:29
kgunndon't we all16:29
kdub_like, if we do something that changes api, it might require significant changes to the downstreams16:29
kdub_and we'd go stepping on the downstreams toes potentially in fixing the solution16:29
kgunnalf__: yes... so if you break api you should have _more_ than just a debian/dep bump on mir...you would have acutal code changes cooresponding to the mir api that you changed16:30
kgunnkdub_: this is why google hangouts/irc/launchpad were create :P16:30
kgunnanyone who's breaking _api_ (not abi) should have a reason, and they should work with the rdeps owners as to why...16:31
kdub_kgunn, sure, but we don't know who's responsibility it is to fix the downstreams in the case of a larger change16:31
kgunnbut...abi's are less disruptive in that regard16:31
alf__kgunn: will other projects continue to develop in a development-branch or move back to trunk?16:31
alf__kgunn: (I mean mir rdep projects)16:32
kgunnkdub_: name a downstream please ?16:32
kdub_like, usc16:32
kgunnkdub_: u-s-c alberto or mterry16:32
kdub_sure, I know who to talk to for the projects, roughly16:33
kdub_or at least the irc channels to bother people on16:33
kgunnkdub_: any mp must be reviewed and approved...so even if you tried to take a stab at it, you wouldn't get through until someone approved16:33
alf__kgunn: will other mir rdep downstreams continue to develop in a development-branch or move back to trunk?16:34
kgunnalf__: tldr version of events, i couldn't get papi to agree to work in a dev mode...so they are on trunk...they told me to create a mir-next branch to stage16:34
alf__kgunn: ok16:35
alf__kgunn: thanks16:35
kgunnso if you do that with 1 you do it with all16:35
kdub_kgunn, sure, but like from an actual 'getting that approval' standpoint, its sometimes tricky to jump into a downstream project and comply with all the team-rules and understand the scope of the project that they're trying to solve16:36
kdub_I'm not saying that I can't do it, it just seems  like a recipe for headaches for the mir team coders16:36
kdub_and headaches == regressions or long roundabout reviews16:37
kgunnkdub_: think of it this way wrt dealing with "downstreams"...what do you do when android changes?16:37
kgunnyou update16:37
alf__kgunn: One potential problem is that by the time we try to merge devel-mir-next (which is when we try release if I understood correctly) 1. our patches may be out of sync 2. They will not have been tested16:37
kdub_kgunn, right, i'm the downstream... in this scenario, the upstream goes to all the downstreams and updates16:37
kdub_so the analogy would be google coming in and updating mir for us when hwcomposer.h changes16:38
kgunnalf__: 1) & 2) are solved by the ci-train process locking the project16:38
alf__kgunn: I am not sure, let's say I propose an MP with a bump and changes to USC. When will this be merged to trunk and tested?16:39
kgunnkdub_: if google proactively submitted an mp to your project before they released an api change...would that not be helpful to you ?16:39
kgunncamako: i am remembering now why i never asked anyone to do this and just did it16:39
alf__kgunn: lol16:39
kdub_kgunn, sure, it would be helpful for me in the analogy, but a moderately large burden for the upstream16:40
kgunnright...the idea is for it to be a pita16:41
kgunnin order to incentivize ourselves towards getting the server api under control16:41
alf__kgunn: I think that will come naturally as we stop getting feature requests :)16:42
kgunnalf__: kdub_ note...i am not saying that _you_must_ make an MP with code changes for api changes....16:43
kgunnhowever, you just need to make sure it does exist...no matter who does it16:43
kgunnright?16:43
kgunni mean you can't release until that gets sorted16:43
kgunnand we want to build testable packages off our devel-branch...16:43
kgunnthat's where this "need" comes from16:43
kgunnotherwise, you have a devel-branch you cannot system test16:44
kdub_sure, I appreciate the need16:44
kgunndoes that make sense ?16:44
kdub_I'm just surprised that we're at 1.0 so suddenly I guess16:45
kgunnand hopefully you are working with _all_ the downstreams close enough that you can determine who is best to make a change (or at least get a spike in place)16:45
kgunnkdub_:  ?...what do you mean ?16:46
kdub_like, this approach limits the development of the server api/abi quite a bit in terms of time-to-land-a-change16:47
kdub_which, given the projects, might just be appropriate16:47
kgunnkdub_: i would say this....for ABI...we break like every 3 days it feels...updating for it is like a couple of debian control file changes & a build16:48
alf__kgunn: My concern is this: let's say that today I propose an MP against devel-mir-next for platform-api. Platform-api developers will continue working on trunk for a while (let's say a week) unaware of the changes. At the end of that week we decide it's time to release, so camako will try to merge platform-api/devel-mir-next into lp:platform-api, but lp:platform-api may have changed enough for the devel-mir-next changes to not apply. Have I mi16:48
kgunnfor API....we actually don't change too much...maybe 1 or 2 times a month,16:48
kgunnand the updates for those, really havne't been much16:49
kgunnb/c 9 times outta 10, its the downstream asking for it16:49
kgunnso...while this is all interesting irc discussion, the reality hasn't mete out that its headache/hard etc...all we're trying to solve is being able to get features from mir-devel into hands of other developers sooner than the monkey-race that is landing in trunk16:50
kdub_kgunn, I agree about the frequency of the abi/api stuff16:51
kgunnalf__: sure...might happen, conflicts...resolve the conflicts, go for landing done16:51
kdub_but am still concerned that we're just benefiting from a big chunk of our 'public' api going unused16:51
kgunnkdub_: benefiting how ?16:52
kgunnoh you mean...we have only a couple of shells16:53
kgunnso server api hasn't seen every single thing someone might ask for ?16:53
Nothing_MuchIs there a bug with XMir that causes a crash when I lock the screen?16:53
kdub_like, if we add a function to Scene, its just a simple pass-through function that we have to usc to get the wrapper class to compile16:53
kdub_but then, say usc starts to use that function somehow16:54
kgunnNothing_Much: sorry, i couldn't tell you16:54
kgunnkdub_: ok...i'm tracking...16:54
kdub_and then the kicker (in terms of headache-time) is that we figure out that this added function is a strange function for an interface16:55
kdub_and we have to reshuffle the usc code that we're somewhat unfamiliar with the requirements16:55
kdub_the summary is I guess, it'll drive more feature-branch style development in mir16:56
kdub_which... might not be that bad of a thing16:56
kdub_because if I'm driving at a new feature or a 'structural bugfix' that requires dabbling in the public headers, we shouldn't be releasing those intermediate steps publically16:57
kgunnkdub_: right, so you say ...hey, i hate that method...change it....compile usc, it won't...uh-oh, i have to talk to somone/proposeMP/not change it16:58
kdub_right, which is okay because if they're using it, they have some requirement that needs satisfying16:58
kgunn_exactly_16:58
kgunnthere's a reason behind everything....16:59
kdub_but in terms of landing things in mir, development happens in 1000 line chunks to devel these days16:59
kgunnreason behind you trying to change it...and a reason they're using it....16:59
kgunnkdub_: are all 1000 lines in include/ ?16:59
kgunn:)16:59
kgunntypically not16:59
kdub_no, 2 lines in include, and other stuff16:59
kdub_but in terms of the mir team and reviewing, if its more than 1000-1800 lines, it lingers in review17:00
kgunnright...i guess i'm kind of sitting here thinking, i've been doing exactly what we're talking about for last ~1.5 yrs17:00
kgunnand hadn't seen any real issue...17:00
kgunnsure it takes a day or 2 every now and then to sort a bigger change...but mostly17:00
kgunnits really simple17:00
kgunnkdub_: if its in review...and not landed on devel...then devel still builds for the downstreams17:01
kgunnsee what i mean17:01
kdub_kgunn, sure, I do17:01
kgunnthink of it as 1000 line mp...you're now adding a few pre-req branches & few more loc changes to make it all happy from a  build perspective17:01
* kgunn notes this irc chat probably took more time than most abi bump cycles :D17:02
kdub_kgunn, right, I mean, I think we're on the same page that we have to be more conscious of having the downstreams compile17:02
* alan_g is about to go but noticed chat for the 1st time. The main thing that would be nice is a CI that says "if this lands on devel then usc breaks".17:03
racarr_+117:03
kgunn++17:03
alan_gI've set these things up in the past. It isn't hard.17:04
kgunnalan_g: alberto_ pointed out a tool y'day...i think kdub_ even toyed with it ?17:04
=== alan_g is now known as alan_g|EOD
* kdub_ feels 'violent agreement' feelings17:04
racarr_Really? I just feel food poisioning sort of feelings.17:07
racarr_:p17:08
racarr_<- Mildly sick.17:08
kdub_hah, my suggestion I guess is that we have to shift the status quo for how we review things, and the branching strategies while we're coding17:08
alberto_abi-compliance-checker it's already a debian package you can install with apt-get17:09
kdub_and... also improve the tooling so that we know when we're breaking things17:09
alberto_I haven't tried to use it yet17:09
alberto_but from what I read it basically does what we want17:10
alberto_it generates abi and api information for a release17:10
kgunnkdub_: right...i don't think camako (or i) are asking for the world...just at least a check from every engineer "did i break abi"...we'll catch it on promotion to trunk , but engineers addressing it17:10
alberto_and you can then compare against another release version17:10
kgunnwhen they do it, would go a long way to helping to keep ppa's building, other teams using mir-devel when they need to17:10
kgunne.g. trusted session was a good example17:10
kdub_kgunn, right, I mean, I agree that we have to have to have the stack buildable without jumping through a lot of hoops or having to learn a lot of internals17:11
* kdub_ has been whining about that for a long time :)17:11
kgunnhelp me help you :)17:11
alberto_I was in my TODO list to try that tool...but the powerd/usc stuff keeps being a timesink hole17:12
kdub_kgunn, I'm just trying to come to terms with 'diff size' vs 'get the stack to compile' in terms of like, actually working on the mir code17:13
kdub_and the suggestion is to review things as feature branches17:13
kdub_and once the line of work is done, get the completed feature branch out to devel along with all the 'get the stack to compile' stuff17:14
kgunnkdub_: it can be 2 diff steps17:18
kgunnkdub_: problem is in the past...we've broken abi, and let it sit17:19
kdub_right, I'm on the same page with that being very bad for a lot of reasons :)17:20
alberto_there seems to be 2 issues here17:20
dandraderkgunn, anpok, alan_g|EOD - the fallback approach is ready  https://code.launchpad.net/~dandrader/mir/expose-android-input/+merge/22433517:20
alberto_one is the abi in mir should be bumped with the MR/MP that breaks it17:20
kgunnalberto_: eh..i could live with, bumping right after17:20
alberto_the other is once we break the abi/api in mir - who is reponsible for making changes17:20
alberto_to the other immediate dependencies17:21
alberto_umir/usc/papi17:21
alberto_I think that's one reason why asac wants all those in the same repo17:21
dandraderracarr_, https://code.launchpad.net/~dandrader/mir/expose-android-input/+merge/22433517:21
kgunnalberto_: in my mind, answer to who is only relevant for api... and usually the rdep owner b/c most of the time they're asking for it17:22
alberto_kgunn: right sorry api breaks17:22
alberto_abi is just rebuilds17:22
kgunnin case where they didn't, i'd like to see people at least provide an mp and then pick up the phone and work with the owner17:22
kgunnbut...i can live with just "owning" making sure something gets changed soon to "make the stack workie"17:23
kgunndandrader: thanks17:23
kgunnok, lunch....17:23
kdub_right, we all agree that we need a buildable/releasable stack people can go to17:23
kdub_I'm still just chewing on how to best do that within the mir team, because there's pressure to have small diffs for review, and pressure to have everything tested with decent public headers in devel17:25
kdub_If we bump api, we need to review the c++ interfaces on the server as closely as if we break the c client api17:26
kdub_and a review that says 'this interface has some smell to it' tends to snowball a 1000 line review to a 4000 line review17:26
racarr_dandrader: :D will review after I finish implementing this strange new class in Ozone.17:28
=== dandrader is now known as dandrader|lunch
kgunnracarr_: strange ?17:53
racarr_strange?17:53
racarr_Oh17:53
racarr_Yeah its just....they have a new refactoring17:54
racarr_in which um...something called a window creates something called a surface lol17:55
racarr_which isn't really even wayland terminology either17:55
racarr_so I'm calling that a strange choice :p17:55
racarr_Also I now have to implement a "SurfaceFactory" class which among other things is responsible for17:56
racarr_dlsyming eglGetProcAddress17:56
racarr_so I'm also gonna call thesurface factory "strange"17:57
racarr_lol17:57
kgunnlol17:57
racarr_Also there is this vsync provider whichI don't totally understand because wayland hasnt implemented it all yet but17:57
racarr_it may expose an interesting sort of new mirclient requirement17:58
racarr_it seems...to call this function at...some sort of interval (not yet clear to me)17:58
racarr_and then it wants you to fill in a struct17:58
racarr_with timing information about the last vsync/swap17:58
kdub_racarr_, and who uses that?17:59
racarr_That's whatI don't know yet :p17:59
kdub_racarr_, sounds sort of android-ish17:59
racarr_I mean, roughly it seems like its sent back to the host process17:59
racarr_at which point they presumably do something clever with it17:59
racarr_yeah17:59
racarr_android has that last frame input17:59
racarr_resampling18:00
racarr_thingy18:00
kdub_I think its used in android to sync input processing and frame timing18:00
racarr_it could be something like that.18:00
racarr_yeah18:00
kdub_well, more like, 'when to best fire off new frames'  as opposed to 'ensuring no tearing'18:00
racarr_Yes18:00
racarr_Anyway we may need to expose this frame timing somehow...because afaik I see now with them justcalling eglSwapBuffers there is no good way to get at it18:01
kdub_racarr_, well, we can kick out the signal from the android platform, although I don't know if mesa can do that as easily18:02
kdub_but also, I know that the android system can work off of a fake vsync signal, so that seems easier/more flexible for all platforms18:02
kdub_like, query display, 'oh you're 120 hz? i'll make a 120hz heartbeat thread'18:02
racarr_Hmm maybe...I think we should be able to get a better number on any platform though18:06
racarr_not 100% sure but I think what you want this number to converge to is the time the buffer first appears on screen18:06
kdub_yeah, we could at least sync to the last-known vsync18:06
racarr_so if there is nothing better, at least the page flip18:06
racarr_callback for mesa18:06
racarr_is pretty good18:06
racarr_yeah18:06
kdub_ilke, if its within i dunno (guesstimate coming up) 10% of the phase of the actual vsync signal, its probably good enough18:07
racarr_haha right. this is the part that I don't entirely understand...what that% is18:07
racarr_I guess need to look at the details18:08
racarr_of theinput resampling algorithm18:08
racarr_and18:08
racarr_potentially what chromium is doing18:08
racarr_:( my laptop screen just shattered in perhaps the most spectacular fashion ive ever seen18:34
racarr_also wifi broke and keyboard is failing lol18:41
racarr_luckily emergency backup of chromium tree to nexus 7 succeeded.18:41
=== dandrader|lunch is now known as dandrader
=== no_mu is now known as Nothing_Much
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
dandraderwhat does mir_surface_state_restored  mean?21:56
racarr_dandrader: normal22:03
racarr_lol22:03
racarr_as opposed to maximized or minimized, etc22:03
racarr_in particular, when you go from maximized/minimized, etc22:04
racarr_your old "floating state" is"restored"22:04
racarr_notthebest name22:04
dandraderracarr_, ah ok.22:04
dandraderracarr_, yeah, I would have understood normal22:04
racarr_or floating even22:05
dandraderas well22:05
racarr_theres an item somewhereto update themto the design language22:08

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