/srv/irclogs.ubuntu.com/2015/07/20/#ubuntu-mir.txt

=== chihchun_afk is now known as chihchun
=== duflu_ is now known as duflu
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
RAOFBah!07:46
RAOFThreadSanitizer!07:46
RAOFPlz be with the more reproducibleness.07:46
=== marcusto_ is now known as marcustomlinson
anpokhi RAOF07:56
RAOFanpok: Yo!07:56
RAOFracarr: Oh, hey! I might need a little tutoring in what MirPointerButtons mean at some point :)08:19
dufluRAOF: Is it non-obvious?08:29
duflu...08:29
* duflu looks08:29
dufluRAOF: Oh it's a set of MirPointerButton values :)08:30
RAOFYeah.08:30
* duflu likes that plural naming pattery08:31
RAOFThe interesting question is: what does membership of the set mean? :)08:31
duflupattern08:31
dufluRAOF: It means it exists in some universe and may mean up, down, or colour depending on the variable name... ? :)08:31
dufluSo it should be obvious like "MirPointerButtons buttons_down"08:32
anpokAh, pressed vs changed during that event? pick the first08:32
RAOFAh! But is that the set of buttons that are *now* down, or the set of buttons that changed for this event?08:32
RAOFanpok has the question right :)08:33
dufluRAOF: Usually in toolkit design yes. Usually the set of buttons down08:33
dufluAlthough other information is also handy08:33
anpoki believe the first.. at least i know a few places of code that assume that..08:33
RAOFThat was my understanding also.08:33
alan_g+108:33
dufluIt's not very friendly for people who use mice upside down, but we care less about them08:34
alan_gYou have reason to question that assumption?08:34
RAOFI think I'm getting confused because there's no guarantee that a pointer down event corresponds to *one* button being pressed.08:34
dufluRAOF: If you want one then you would get a MirPointerButton (singular) I guess08:34
RAOFI think my std::logic_error guard on the difference in state between the previous MirPointerButtons and the current MirPointerButtons not containing exactly one difference is being hit :)08:35
dufluAh. You need MirPointerChord then08:36
dufluWhich sounds like a joke but I have seen it in APIs before08:39
alan_ganpok: are we still trying to land 14.0?08:49
anpokthere is no 0.14.0 in wily-proposed08:49
anpoks/no/now08:50
alan_gBut not V+O?08:50
anpokthe actual process was delayed because we waited for the deprecation cleanup in qtubuntu and platform-api to land before that08:50
alan_gSure08:50
anpokdual landing did not work because we had to land packages not handled through mps... xorg-server gtk glmark..08:51
anpokand I was told it would not work..08:51
duflualan_g: AFAICT the client API bump slowed things down more than usual08:51
alan_gduflu: that was to be expected.08:52
* duflu wonders what the package count is that depends on libmirclient08:52
anpokthen on thu/fri there was a boottest failure.. because of mir landing08:52
anpokthis uncovered one mistake in the spread sheet configuration - I forgot to include an url-dispatcher MP that I prepared08:53
anpokbut still it is unclear why that boottest failure was related to that08:53
alan_gIt sounds like we should schedule a retrospective on the landing.08:53
anpokyip08:53
dufluRAOF: Come to think of it, it sounds like you need the full state "MirPointerButtons presently_down, changed_since_last_time"08:55
anpokah yes and we still need a libsdl bump which is currently in the works...08:55
RAOFduflu: Nah, I just need changed_since_last_time.08:56
dufluRAOF: So long as that's not the only thing you ever see :)08:56
dufluYou wouldn't know up from down08:56
dufluFortunately with have bit operations08:57
RAOFThat's why we have mir_pointer_action_button_down/up08:57
* duflu wonders if we can have the mouse wheel back as two buttons like other APIs do (and the hardware does)08:58
duflualf_: What approach are you using to test MPs to lp:mir with the dash?09:01
* duflu wonders if it's faster than his09:01
anpokalan_g: I also like the idea of a retrospective, because that implies that it will end some day09:01
dufluHeh09:01
alan_gAgreed09:02
duflugreyback: Silly question (not a trick): Is it easy to run unity8-dash in a Mir demo server?09:04
anpoknope09:05
anpokyou need quite a few environment variables configured..09:05
duflu-easy +possible09:05
anpokor it depends.. it might not work properly - I havent tried though..09:05
* duflu now realises it was easy for alf_ to backport changes to his phone because he already had 0.14.0 on it09:06
anpokI tried unity8 a few times.. and always forgot something09:06
anpokyes09:06
anpoki mean .. you could still grab silo4 I guess.09:07
anpokor hmm run kvm with ubuntu-desktop-next on wily-proposed09:07
anpokah you need display off09:07
greybackduflu: it's possible, I managed it a few times. You need a dbus server running and to set a couple of env vars, and to launch a few scope processes to make it useful09:12
dufluIt's fine. I already know how to do this testing. Just wishing for a simpler way09:15
alf_duflu: What I do is (in a script, which I can share if you like): stop lightdm, cross compile and copy to the phone, start lightdm09:16
=== vesar is now known as vesar_lunch
alf_duflu: For 0.14 vs 0.13 it is just a matter of using the silo vs not using it09:17
duflualf_: Yeah that's the trick. You need a 0.14 phone so as to be mostly compatible with lp:mir09:17
duflualf_: Aha! I think I can see what you did. You were flinging the dash instead of keeping your finger down, right?10:29
dufluThat is indeed worse10:29
dufluBut something I never tried10:29
alf_duflu: right10:31
duflualf_: Good to know.10:32
dufluAnnoyingly lag with finger held down is still much lower with dynamic double buffering. One thing is worse and one is better :S10:32
dufluOooh.. actually I see the same thing in Mir demos. The GPU enters low power mode if you're not touching it. That might be the problem10:33
dufluAnyone know a reliable way to keep an Android GPU in full power mode without touching the screen?10:37
* duflu tries spinning the CPU10:37
anpokchange username to carmack?10:37
dufluI thought John recommended against it...10:38
dufluBut this isn't all the time. Just sporadically10:39
duflugreyback: Possibly a more feasible question: During inertial scrolling of the dash, what's the animation frame time?10:40
greybackduflu: that animation should be ticking at the vsync rate10:40
duflugreyback: Sounds reasonable. Can I confirm it anywhere?10:41
greybackduflu: hmm, nothing obvious comes to mind without reading the renderer code10:42
duflugreyback: Just wondering because the shell's indicator pull-down thing doesn't have the same smoothness issues as the dash10:42
dufluSeems like it's done better10:43
dufluBut also it has fewer servers to pass through10:43
greybackduflu: it's all the same animation framework10:43
greybackbut I agree, there's something up10:43
greybackit's been this way for a year, I've never cracked it10:43
duflugreyback: It could also be that the number of hops from kernel to client code is double for the dash vs shell elements10:44
dufluI've seen nesting creating such bugs with Mir's demos too10:44
dufluWe need to work harder to keep the extra layer smooth10:45
greybackduflu: yeah.10:45
greybackthat's a possibility10:45
greybackbut I suspect something with qt too, or as you maybe noted above: could the gpu be clocking down if finger is not on screen10:46
anpokalan_g: btw the boottest failed because it only upgrades mir packages and then tries to reboot.. so we end up attempting to launch unity-system-compositor with mircommon4 and mircommon5 and libmirplatform7 and libmirplatform8 simultaneously10:47
greybackduflu: but that would be a lousy experience for games. maybe it's configurable?10:48
duflugreyback: I know clock-down happens because I can see it with a simple triangle (and touching it helps)10:48
anpokbecause the upgrade replaces mir-platform-graphics-drivers-android10:48
anpok+210:48
duflugreyback: GPU driver authors try to tell you to let them handle it (sleeping and power states). But they also mess it up (as Intel has on desktop too)10:49
anpokduflu: maybe that just increases the cpu time of the client10:49
anpokwakes it more frequently10:49
dufluYeah good point10:50
anpokenforces additional redraws?10:50
greybackduflu: there must be a knob somewhere, surely10:50
anpokor simply just affects the animation calc in a bad way10:50
duflugreyback: It's OK... I can see the numbers and have one idea in mind to try and fix Mir first...10:50
alan_ganpok: we need better ways to validate deployment not just fix up one scenario at a time10:50
duflu[1437388267.960199] perf: Scopes: 37.69 FPS, render time 17.79ms, buffer lag 34.87ms (2 buffers)10:50
duflu[1437388268.985012] perf: Scopes: 30.27 FPS, render time 25.22ms, buffer lag 40.29ms (2 buffers)10:50
duflu[1437388269.993894] perf: Scopes: 31.74 FPS, render time 23.42ms, buffer lag 40.46ms (2 buffers)10:50
duflu[1437388271.002470] perf: Scopes: 36.70 FPS, render time 19.13ms, buffer lag 35.59ms (2 buffers)10:50
duflu[1437388272.021942] perf: Scopes: 44.16 FPS, render time 15.96ms, buffer lag 29.12ms (2 buffers)10:50
duflu[1437388273.043734] perf: Scopes: 40.15 FPS, render time 17.85ms, buffer lag 31.90ms (2 buffers)10:50
dufluWe're missing by a few milliseconds each time10:51
dufluWhereas with triple buffers it stays around 14ms and hits the frame deadline more10:51
anpokalan_g: i now wonder if we expect that to work at all?10:51
alan_ganpok: if we don't have an automated test for it...10:52
dufluAnd that will be an adventure for Tuesday10:54
greybackduflu: /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0 on my nexus7 gives GPU clock info10:56
greybackI can see evidence of it clocking up when something animating anyway10:56
duflugreyback: Cool. I only have the old N7... do we still support the new one?10:57
greybackinterestingly it's not clocking down10:57
greybackduflu: I think it's the new one I'm using, which is supported10:57
greybackN4 has same chip tho I think10:57
* duflu jumps for joy at the lack of Tegra-ness10:57
duflugreyback: Some simple but interesting figures to ponder... https://bugs.launchpad.net/mir/+bug/147620111:03
ubot5Ubuntu bug 1476201 in Mir "Dynamic double buffering fails to detect inertial dash scrolling as slow; and stutters" [High,In progress]11:03
greybackduflu: certainly is interesting. With that /sys path I pasted above, you can force the gpu into its highest clock, might help isolate if it is a GPU thing11:05
greybackduflu: to me this motivates a mir test client which renders at 16ms11:06
duflugreyback: We already have some. Just not tested in tandem with queue scaling it seems11:07
greybackduflu: do we? Which one?11:07
dufluActually we do have that too. It's just not enough11:07
duflugreyback: slow_client_framerate_matches_compositor11:08
dufluAnd others related11:08
dufluBut that test only expects and tests 3+ buffers11:09
greybackduflu: ah ok, I was hoping it in mir-demos11:09
duflugreyback: Using mir-demos you can kind of... I use env MIR_CLIENT_PERF_REPORT=log mir_demo_client_flicker11:09
dufluAnd then watch the render time. Keep making the window bigger till the render time tips over the edge11:10
greybackthat's an idea, will try it next time11:10
alf_anpok: kgunn: hmm, I forgot that we shouldn't push to USC trunk until it is merged into usc/ubuntu, and approved a few MPs. Will that cause issues?11:58
=== alan_g is now known as alan_g|lunch
anpokalf_: hum we might get away without a usc rebuild to resolve the remaining 0.14 issues12:14
rakesh__Hi all12:50
kenvandinegreyback_, I'm working on the mouse and touchpad panel for system-settings13:07
kenvandinegreyback_, we need API's for those settings, I'm sure it's pretty similar to what jgdx was asking about for display settings13:08
greyback_kenvandine: hey. We have zero apis ready for that13:08
kenvandinei figured :)13:08
kenvandinehttps://wiki.ubuntu.com/MouseAndTouchpad13:08
kenvandinei just wanted to make sure it'13:08
kenvandines  planned13:09
greyback_it's on a list somewhere :)13:09
greyback_lemme make trello cards to track it better13:09
kenvandinegreyback_, can you make sure the plans match our spec?13:09
kenvandinegreyback_, thanks!13:09
kenvandinegreyback_, can you give me the link to your trello board?13:11
greyback_kenvandine: https://trello.com/c/ceklQc5o/177-add-apis-for-mouse-trackpad-panel-of-system-settings13:11
kenvandinegreyback_, can you add me?13:12
greyback_kenvandine: ah sorry, done13:12
kenvandinethx!13:12
greyback_feel free to add more detail to the card13:12
=== alan_g is now known as alan_g_
kgunnanpok: so catching up, i read backlog, what's the current thinking ?13:52
alan_ggreyback_: @https://code.launchpad.net/~alan-griffiths/unity-system-compositor/add-display-config-option/+merge/262110 - updated14:13
greyback_alan_g: great thanks.14:14
anpokkgunn: the problem of boottest with mir seems to only affect partial upgrades14:19
anpokwhich is what boottest really tests..14:20
anpokkgunn: so I currently look into which mir libraries collide in a breaking way.. then we should probably make sure that they do not get loaded simultaneously14:22
=== chihchun is now known as chihchun_afk
=== tvoss is now known as tvoss|afk
kgunnanpok: i suppose the question is, did we think that we could support simultaneous versions ? or did we know/expect this would be an issue ?14:29
kgunnor did we just not realize this is how proposed migration tests this ?14:30
seb128kgunn, well, proposed migration pointed a real issue14:31
seb128not a common usecase one, but still real14:31
seb128doing partial upgrades can result in a non starting u-s-c/unity814:32
seb128I bricked my device this morning by using apt to update mir without updating u-s-c14:32
kgunnseb128: yikes14:32
kgunnso we missed this14:33
anpokkgunn: I think this not yet meant to work yet. And I guess we just missed the link dependency issue we ran into14:38
anpoki mean we havent done anything yet to load a server platform library from a diferent server version that potentially comes with its own set of mirplatform/common libs..14:39
kgunnanpok: got it, and i think that even makes sense (server specific mirplatforms/common ver)14:41
kgunnso we just need a protection in place to avoid the partial upgrade14:42
=== dandrader is now known as dandrader|afk
racarrGood morning15:48
=== dandrader|afk is now known as dandrader
seb128kgunn, anpok, so what's next? do you want to try to hack-around-unblock the update? or let it stay in proposed until you figure out & land some mir changes?16:11
kgunncamako: ^16:11
camakoseb128, kgunn, This will take rebuilding mir, unfortunately. anpok will be updating the symbols map for platform lib.16:25
=== mibofra is now known as Guest28602
kgunncamako: so will we need to retest ? or is this just about build order ?16:49
camakokgunn, not a full test. Just sanity to make sure what was failing doesn't.16:49
camakothis is not a code change16:50
camakojust linker symbols16:50
kgunncamako: ok, do we need to test a partial update doesn't fail ?16:50
kgunnor will that happen with boottest anyhow16:51
camakokgunn, not sure... anpok?16:53
anpokyes .. thats what I will test16:54
kgunnthanks16:54
=== alan_g is now known as alan_g|EOD
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
racarrLunch!18:44
=== mibofra_ is now known as mibofra
popeybschaefer: kgunn I'm trying to run love2d on my nexus 7 / krillin / arale, and it seems to segfault in setMode (so I don't know if this is an SDL or Mir issue). should I file a bug or throw a click package at someone to look at? -> http://people.canonical.com/~alan/love2d.popey_0.17_armhf.click (it just tries to set a gl context full screen and segfaults when doing this)19:19
bschaeferhmm almost sounds like SDL, possibly (if the size if incorrect that'll be an issue. ie. the size of the window requested vs the size of the device)19:21
bschaeferbut i should be checking an issue like that and printing an error (but thats to a log that isn't printed)19:21
bschaeferpopey, also N7 works with unity8? Last time i tried touch didnt work on that device and unity8 crashed :)19:22
bschaeferthis was like a year ago19:22
popeynexus 7 201319:22
* bschaefer doesnt remember which n7 he has19:23
bschaefermako?19:23
bschaeferor something19:23
popeyflo19:23
popeymako = nexus 419:23
bschaefero dang19:23
popeygrouper = nexus 7 (2012)19:23
bschaeferooo yeah i have a 2012 one19:23
popeyok19:23
bschaefershoots so i dont think i can test this out19:23
popeywell I am mostly testing on arale actually19:24
bschaeferpopey, is it reproduce able on desktop?19:24
popeyam debugging with the love2d developer who is adding stuff to the game file so we can get more info for you19:24
popeyno19:24
popeyI'll get back to you when I have more info, thanks19:24
bschaeferpopey, that would be nice, getting the SDL_LogError()19:24
bschaeferwould be good19:24
bschaefererr let me double check that function19:24
bschaeferpopey, SDL_error.h:42:extern DECLSPEC const char *SDLCALL SDL_GetError(void);19:25
bschaeferbut for love2d... i think it uses19:25
bschaefersome other wrapper for SDL219:25
* bschaefer looks up love2d19:25
bschaefero nm it looks like its cpp19:26
bschaeferpopey, yeah i would check SDL_GetError() as thats where any error that is caught will be printed to19:26
bschaeferpopey, also what version of mir are you running?19:27
popeyuh19:27
bschaefer0.13? (as SDL2 isn't 100% working on that atm19:27
bschaefer)19:27
popeyyes, 0.1319:27
popeyokay19:27
bschaeferyeah theres some ABI breakage19:27
bschaeferpopey, im actually making a branch atm :)19:27
popeythe fact I have love2d launching at all was some feat :)19:27
bschaeferwell moving SDL to 0.1419:28
bschaeferpopey, i bet, anytime i try a new game out on SDL2 its usually a fight haha19:28
popey:)19:28
popeyfun though :)19:28
bschaefervery! I like the part when the pixels start changing colors :)19:28
bschaeferpopey, ill try to get this branch done in the next few days and put a ppa up19:29
popeysweet, thanks19:29
bschaefernp! thanks of testing all these new apps/devices out!19:29
popeynp :)19:29
mcphailpopey: where did you get the SDL library? The one in the repos segfaults in SDL_init19:29
popeyuhhh19:30
bschaeferyeah repos should seg fault on mir 0.1319:30
popeygood question19:30
bschaeferfrom an ABI break19:30
popeyI can't remember where I got it19:30
popey-rw-r--r-- 1 alan alan  2397348 May 22 10:46 libSDL2-2.0.so.0.4.019:30
popeyis that one of your builds mcphail :)19:30
mcphailpopey: let me find one... :)19:30
popeyhttp://termbin.com/s0si19:33
popeyoops19:33
popeywrong channel19:33
popeymcphail: which app should I steal them from?19:34
popey:)19:34
popeyneverball seems like a good bet :)19:35
mcphailpopey: d1948f790f196bc19a141c43cd453b67  libSDL2-2.0.so.0.4.0 -- probably mine :)19:38
popeyd1948f790f196bc19a141c43cd453b67  libSDL2-2.0.so.0.4.019:39
popeyyup19:39
mcphailhave you managed to get access to the backtrace in gdb?19:42
popeymcphail: yeah, but no symbols so it's not much use19:57
racarr</lunch> tidied my branches and did some reviews this morning. finishing mir on X review now19:58
racarrthen probably back in to input transport rework19:58
mcphailpopey: if I get a chance, I'll write something up about importing symbols for gdb. Makes life a lot easier20:01
bschaeferyou can always compile it with -g320:15
mcphailbschaefer: I mean something more like this: https://youtu.be/xTmAknUbpB0?t=32m16s where you're dealing with all those libs on the phone which don't have symbols embedded. Saves having to apt-get all the debug symbols and breaking the system image20:55
bschaefermcphail, o thats interesting, thanks! (Ill have to watch this now :)20:57

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