/srv/irclogs.ubuntu.com/2014/05/19/#ubuntu-mir.txt

=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== jono is now known as Guest96931
stgraberis anyone from the mir/unity8 team around?08:19
stgraberI'm preparing a demo for Malta and I'd like to know if it's at all possible to get unity8+mir running under kvm?08:20
stgraberso far I tried with all video drivers and they all get me an error about some drm operation being unsupported08:20
stgraberI can get things working the way I want on bare metal but it's slightly annoying having to reboot every few minutes to get out of Mir and back to X...08:21
alf_stgraber: we haven't tried under kvm yet. Actually running under VMs of all kind is a topic for Malta next week.08:23
alf_stgraber: Why do you need to reboot to go from Mir to X? Doesn't 'sudo restart lightdm' work for you?08:23
stgraberalf_: so the demo I'm preparing is running unity8+mir from utopic inside an LXC container on trusty. I got things to work though once unity8 starts I'm unable to kill it or even VT switch08:28
stgraberso far the only way I've found out of it is to use sysrq to physically reboot my machine...08:28
alan_gstgraber: I saw an email that might apply (from Friday). Forwarding...08:30
* ogra_ remembers seeing a bug about Mir not working in virtual envs08:30
alan_gBut like alf says this is something we're getting to real soon now08:31
stgrabercool, that'll be helpful. Until then, how am I expected to get unity8+mir to exit once started? I'm sure there's a way but it's either broken (possibly my fault) or I just haven't found it yet ;)08:32
anpokthere was a strange ci failure on friday it seems - could someone retrigger https://code.launchpad.net/~andreas-pokorny/mir/drop-dynamic-ptr-cast-in-input-configuration/+merge/218806/comments/52506908:32
alf_anpok: sure08:33
alan_gstgraber: "stop unity8"? SIGTERM? Ctrl+Alt+Backspace?08:33
stgraberalan_g: stop unity8 or sigterm would probably work if I could get to a shell first (I'm working away from home so just have the one laptop). ctrl-alt-backspace didn't work. VT switching hotkeys didn't either.08:35
* alan_g thinks if input isn't working... "start unity8 & (sleep 10 && stop unity8)"08:39
stgraberwell, input seems to work, I can type in unity8 just fine, I just can't figure out the right sequence to get out of it :)08:41
alan_gstgraber: is input still working after starting unity8?08:45
alan_g"ctrl-alt-backspace didn't work. VT switching hotkeys didn't either"08:45
stgrabertext input after starting unity8 works fine, it's just the ctrl-alt-* hotkeys that seem entirely ignored08:47
alan_gstgraber: so you can start the terminal app?08:49
alan_galf_: I'm tempted by the idea that we should have "slow, clumsy, unreliable, muted" test executable for bad tests rather hiding them as unit/acceptance tests. It would make the problem more visible and provide a focus for any "clean up" drive.09:40
alf_alan_g: A lot (all?) of our slow tests are actually stress tests. I would be OK with having a separate stress test category. A problem I see with moving all clumsy/unreliable etc tests to a separate executable is that we would need to (de)duplicate the infrastructure needed for them to run.09:48
alf_alan_g: I agree that having a separate executable would increase visibility, but on the other hand it may also reduce the incentive to do so. For example, a mentality of: we have a category for bad tests so it's OK to have a bad test and put it there and forget it09:49
alf_alan_g: "reduce the incentive to fix it"09:50
alan_galf_: we'd need a rule "for each new new bad test you write you must remove at least one existing one"09:51
alan_gYou and I have both proposed DISABLED tests recently...if we'd had to fix an existing test...09:54
alan_galf_: I do agree that having stress tests in mir_unit-tests is misleading at best (as is requiring libumockdev-preload)09:56
* alan_g hates waiting 30sec for tests to run09:57
=== mpt_ is now known as mpt
=== alan_g is now known as alan_g|lunch
anpokhttps://code.launchpad.net/~andreas-pokorny/mir/drop-dynamic-ptr-cast-in-input-configuration/+merge/218806 any objections against landing this?12:10
greybackalf_: just to confirm Compositor::stop should be called on display blank for a nested server?12:43
alf_greyback: do you mean as part of the sequence Compositor::stop, reconfigure, Compositor::start?12:46
alf_greyback: I think that at the moment only the host server (i.e. unity-system-compositor) does anything about the "power off" event12:49
=== alan_g|lunch is now known as alan_g
=== pete-woods is now known as pete-woods-lunch
stgrabersystem-settings: /build/buildd/platform-api-1.1.0+14.10.20140515.1/src/ubuntu/mirserver/ubuntu_application_api_mirserver.cpp:106: UApplicationInstance* u_application_instance_new_from_description_with_options(UApplicationDescription*, UApplicationOptions*): Assertion `surface_coordinator' failed.13:24
stgraberany idea what would cause that? ^13:24
stgraberit's apparently preventing me from starting any app from unity8 here13:24
stgraber(that's still in my weird LXC environment, so I may be missing some env variables or packages)13:25
alan_gstgraber: for platform api I usually ask greyback YMMV13:27
stgrabergreyback: ^13:28
greybackstgraber: have you QT_QPA_PLATFORM set in your env?13:28
greybackstgraber: for apps, it should be set to "ubuntumirclient"13:29
stgrabergreyback: ah, that may be the problem then, I have it set to ubuntumirserver in order to start unity8, it may then get picked up for the rest too...13:29
greybackstgraber: yeah, ubuntumirserver only for unity8, ubuntumirclient for all apps13:30
ogra_stgraber, take a look at /etc/environment on a phone/tablet13:30
stgrabergreyback: oh, looks like I can drop the export as the upstart job does that for me nowadays13:30
ogra_there are a lot of env vars13:30
greybackstgraber: it does indeed13:30
ogra_(half of them probably obsolete)13:30
ogra_QT_SELECT=qt5 .... QT_IM_MODULE=maliitphablet ... QML2_IMPORT_PATH=/usr/lib/arm-linux-gnueabihf/qt5/imports ...13:31
ogra_these look relevant13:31
stgrabergreyback: that did the trick, thanks!13:32
greybackstgraber: yw13:32
ogra_the QT_SELECT one is needed so that apps start up fine btw ...13:32
ogra_else it will try to default to Qt413:33
stgraberogra_: I'll take a look at those, I still have an issue with libEGL complainig that my platform is unsupported so maybe one of those will fix that (required by at least the webbrowser AFAICT)13:33
ogra_ubuntu-touch-session also sets a few ...13:34
ogra_in the lightdm bits it ships13:34
ogra_(this is all a serious mess we need to clean up beofre RTM)13:34
=== chihchun is now known as chihchun_afk
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== alan_g is now known as alan_g|tea
=== pete-woods-lunch is now known as pete-woods
racarr__morning14:59
anpokhi15:01
=== alan_g|tea is now known as alan_g
anpokhm is there a workaround for the issue with gdb?15:42
alan_ganpok: what issue?15:43
anpokthe current unicorn version crashes when it tries to load the mir_unit_tests15:43
anpokhttps://bugs.launchpad.net/ubuntu/+source/gdb/+bug/131931615:47
ubot5Ubuntu bug 1319316 in gdb (Ubuntu) "gdb: Reading symbols from bin/mir_unit_tests...Segmentation fault (core dumped)" [Undecided,Incomplete]15:47
alan_gdunno - I've not got a problem15:50
anpokthen dont upgrae :)15:52
kdub_any other reviews on https://code.launchpad.net/~kdub/mir/post-if-optimizable/+merge/217991 ?15:55
alan_gWhy would I? ;)15:57
=== dandrader is now known as dandrader|lunch
mterryracarr__, kdub_, (or others): I'm looking at an issue in split greeter mode.  When sliding the greeter away, the user can see a bit of their session underneath because the greeter is transparent.  This works fine when seeing the unity8 shell underneath.  But if the user session is running an app on top, the surface appears just black, until the session is focused again.  Why might that be?16:43
racarr__top approve https://code.launchpad.net/~mir-team/mir/cursor-spike-bonus-phase-correct-gbm-cursor-hide/+merge/219764 ?16:46
racarr__mterry: No immediate ideas -.-16:46
racarr__turning it over in head though16:47
mterryracarr__, I believe the app would be 'lifecycled' during that period16:47
mterryI think...16:47
mterryBut I don't know if the black is expected behavior in that state (I would think not, just keep the last frame, eh? but who knows)16:48
racarr__hmm I guess I would expect the last frame too16:49
racarr__certainly not black16:50
greybackmterry: check if the app surface is hidden when lifecycles. I suspect it might be16:57
=== alan_g is now known as alan_g|EOD
racarr__ah16:58
=== dandrader|lunch is now known as dandrader
anpokmterry: is unity8 rendering in that case?17:11
anpokwhile sliding away the greeter.. i mean..17:11
mterryanpok, I don't know about active rendering17:12
mterryanpok, let me test with something that woulld play animation17:12
mterryanpok, yes, active rendering17:13
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
racarr__Just reading mps...18:04
racarr__This is the last time I ill bring it up lol but18:04
racarr__I really feel we made a mistake with server side window decorations18:04
racarr__already there is all this stuff to support them, and various concerns (i.e. even in DPI branch)18:05
racarr__and I don't remember any reasons to do server side.18:05
racarr__Also kind of feels like we are at MP gridlock again18:17
racarr__kgunn: What is the deal on RAOF or someone getting a touchscreen...I've found out whats wrong with desktop touchscreens18:20
racarr__but am not totally confident in fixing without doing some experimenting18:20
kgunnracarr__: can you purchase one reasonably ?18:22
kgunnif so, please do and expense18:22
kgunnracarr__: btw, i thot voss wanted "mir" side decorations, but client side not server side ?18:23
racarr__Haha theres always an option 318:23
racarr__um...I wasnt aware thats what tvoss wanted, I know its come up before18:24
racarr__sounds better than server side to me.18:24
kgunnracarr__: yeah...but i can't remember why i'm convinced of that...18:24
racarr__but I think since18:24
racarr__um18:24
racarr__not this last london sprint18:24
racarr__but the one before that18:24
racarr__everyone has been on the server side decorations boat18:24
* kgunn wonders if the terms are getting overloaded and not specific enough18:25
racarr__also now we have some server side decorations18:25
racarr__haha, well you can get more specific18:25
racarr__but server side/client side is still meaningful as18:25
racarr__rendered by the server or rendered by the client18:25
racarr__you could also say "in/out buffer"18:25
kgunnright, i think people say "server side"....when they really don't mean the server side18:26
kgunne.g. "client side of mir"18:26
racarr__hmm18:26
kgunnracarr__: but anyway...its worth bringing up18:27
racarr__maybe some people. I dunno18:27
kgunnwith voss and duflu18:27
kgunnmaybe even on mir-devel...18:27
racarr__I know the shell team is on drawing the decorations server side with qt18:27
racarr__because its quite easy and nice...im not sure how much harder it really is on the client though (I dont think it is)18:27
racarr__*shrug*18:27
racarr__ILl bring it up in malta!18:27
racarr__lol18:28
anpoki thought there was a discussion to allow both18:28
racarr__certainly client side is allowed, I mean you can freestyle window type18:28
kgunnanpok: 4th option :)18:28
racarr__then draw your own decorations18:28
anpokthat certain areas were prepared for the client to render ontop of the decoration the server would provide if necessary18:28
racarr__oh in a seperate client rendered buffer...18:29
anpoki think tvoss shared a drawing some time ago18:29
anpoki think so18:29
anpokwell18:29
racarr__I remember that coming up too lol, yes I think that is tvoss's concept18:29
anpokseparate buffer should be the easiest way to do that18:30
racarr__I still cant think of any reasons18:31
racarr__to do anything besides client side decorations though18:31
anpok:)18:31
racarr__which is the simplest18:31
racarr__and almost certainly18:31
racarr__the most efficient18:31
racarr__I guess18:32
anpokthat way you can easily ensure that each decoration works and looks the same, and if clients are not supposed to draw any decoration it is far more easy to provide the client surfaces without decoration18:32
anpokof course you could also let the client draw to one buffer with decoration, and request additional information which parts of the buffer belongs to the decoration and which is the actual content..18:33
racarr__but I mean, I dont think we have any cases like18:34
anpokwe?18:34
racarr__this windo has a decoration and then loses it without18:34
racarr__client cooperation18:34
racarr__what is18:34
tvossracarr__, the real question is: How do you enforce some baseline consistency for the decorations if you only do client side decorations?18:34
anpokyou mean actively request rerender because you need the client with different decoration configuration?18:35
racarr__tvoss: librender_unity_decorations::RenderDecorations(EGLSurface,Context)18:35
racarr__in toolkit ports18:35
anpokthen you are as complex as ssd18:35
racarr__anpok: I mean the client doesnt change decoration configuration18:35
tvossracarr__, that's a guideline at best :)18:35
racarr__ever unless it changes window type18:35
racarr__tvoss: But then why support freestyle surfaces? I mean chromium will want that right, presumably some other things18:36
racarr__so there is always going to be a way to do your own window decorations18:36
tvossracarr__, chromium would actually be better off with separate surfaces for decorations18:36
tvossracarr__, sure,but freestyle is really only meant to be reserverd for special cases like vmware fusion mode18:37
racarr__tvoss: "thats a guideline at best"18:37
tvossracarr__, sure, but we can guard usage of that surface type with an apparmor hook18:38
racarr__That's true18:38
racarr__I guess I didn't think we were taking rogue decorating apps that seriously18:39
tvossracarr__, we would like to be able to at least18:39
racarr__Mm.18:40
mterrygreyback, just getting back to you now about the "check if session is hidden when lifecycled" and yes, it is in unity-mir.  Would there be ill-effects if we don't do that?19:16
greybackmterry: I don't apps running if the greeter hiding them19:17
greyback+is19:17
mterrygreyback, sorry didn't parse19:17
greybackmterry: ill-effects of a hidden session being lifecycled was the topic, no?19:18
greybackah19:18
mterrygreyback, ill effects if we lifecycle an app but don't hide it19:18
greybackmterry: that's fine. No ill effects I can think of anyway. unity-mir does hide surfaces that belong to lifecycled apps, to optimize compositing just that little bit more19:19
mterrygreyback, I'll try a patch and see if that fixes my black screen behavior19:20
=== dandrader is now known as dandrader|aflk
=== dandrader|aflk is now known as dandrader|afk
greybackmterry: ok. That compositing point above is the only impact not-hiding will have - but I think we did that for a reason, so best not disable it altogether19:22
mterrygreyback, I'll see if bzr blame gives an explanation19:23
greybackmterry: we did it as compositing with multiple apps open got too slow and the frame time went too high, so the UI juddered19:25
greybackas the compositor was drawing the bottom surface, then the next one on top, then the next one, and so on19:26
greybackwhich is wasteful as we know only the top surface is actually visible19:26
mterrygreyback, ah right...  that makes sense for apps hidden underneath19:27
mterrygreyback, but now I'm interested in just the top app19:27
mterrygreyback, it would be nice to have a way to suspend but not hide that app19:27
greybackmterry: yep. Those operations will need to be de-coupled in unity-mir to fix your problem19:28
mterrygreyback, maybe it would make sense in this case to just not hide the focusedApp.  unity-mir has enough info to do that itself19:29
greybackmterry: yep, that would be fastest option19:30
mterryor either stage app I guess19:30
mterrygreyback, OK will test with that plan and propose an MP if it works for me19:30
mterrygreyback, thanks!19:31
=== dandrader|afk is now known as dandrader
anpokhm we could also at some point stop using rgba buffers when other buffer types are available19:35
=== josharenson1 is now known as josharenson
greybackanpok: +119:57
kgunnAlbertA: i'm testing silo1 with the powerd rework..looks like greeter never returns after the first dismissal20:30
AlbertAkgunn: did that make it in? https://code.launchpad.net/~albaguirre/unity8/use-new-display-power-state-interface/+merge/21955220:32
kgunnAlbertA: yes, its in the mp list, but...package looks old ish...built on 5/16 ?20:33
AlbertAkgunn: what does this say:20:35
AlbertAadb shell cat /usr/share/unity8/Shell.qml | grep Powerd.Off20:35
kgunnif (status == Powerd.Off && (flags & Powerd.UseProximity) == 0) {20:36
kgunnand20:36
kgunnif (status == Powerd.Off) {20:36
AlbertAyeah it still the old version20:37
kgunnAlbertA: ok, lemme rebuild20:37
kgunnhmm20:37
kgunnyeah...that'll take a while20:39
racarr__the more I look at the compiz focus stealing prevention code the more im convinced20:43
racarr__its in correct in like 4 places in the same function20:43
racarr__...*puts on blinders*20:43
mterryracarr__, I know 2 don't, but surely 4 wrongs make a right?20:49
racarr__damnit short email turned in to a small essay again :(20:50
racarr__mterry: Lol maybe20:50
racarr__rotating in a circle is actually very much like what happens to the truth values in this codepath20:50
racarr__ol20:50
racarr__ok afk for 20 minutes or so to clear head before I dive in to DDX21:00
racarr__compiz code stirred up this whole dormant tree of my brain lol21:00
racarr__back21:26
kgunnAlbertA: looking good man...powerd stuff22:41

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