/srv/irclogs.ubuntu.com/2013/05/28/#ubuntu-mir.txt

RAOFrobert_ancell: Good morning. Or afternoon, depending.00:55
robert_ancellRAOF, hello00:55
RAOFDoes lightdm have a tool to parse/modify lightdm.conf?00:56
robert_ancellRAOF, /usr/lib/lightdm/lightdm-set-defaults00:57
RAOFSweet, thanks.01:00
RAOFHm. Presumably that could be trivially extended to support changing the session type, right?01:01
robert_ancellRAOF, yes01:01
RAOFExcellent.01:04
RAOFHurray for awesome upstreams.01:05
thomiRAOF: hey - it sounds like maybe no decision was reached last night regarding the client API fd issue?01:59
thomiat least, no message to the ML or merges to change anything.01:59
RAOFthomi: Oh, I'll prepare a merge nom02:04
thomiRAOF: cool - I wasn't sure what the final consensus was02:05
thomiRAOF: all I know is that IMO we're currently violating the "make it hard to use incorrectly" tenet of API design.02:05
RAOFIndeed.02:05
* thomi likes being the bumbling idiot to find all the problems your *real* users will find in the future02:05
thomirobert_ancell: so, are you back at work, or just lurking?02:08
thomijust lurking I guess :)02:13
thomiRAOF: in the mean time, do you know off the top of your head what I need to do to close that FD?02:16
RAOFthomi: close(platform_package.fd[0]) should do it.02:16
thomiRAOF: I'd need to call mir_connection_get_platform(my_connection, &my_platform_package) first, to populate those FDs, right?02:18
RAOFRight02:18
robert_ancellthomi, back to work02:18
robert_ancell(I am)02:18
thomirobert_ancell: cool!02:18
thomiRAOF: what's the name members used for in MirSurfaceParameters?04:20
thomidoes it have to be the same as the name passed to mir_connect?04:20
RAOF...04:20
thomiand if so, why can't it just be copied from the connection?04:20
RAOFI was going to say the application's ID, but that's clearly not right :)04:20
thomithe examples just use the same string as the application name04:21
thomi(i.e.- __PRETTY_FUNCTION__)04:21
RAOFSo, there's good reason to name surfaces; for example, the title bar.04:21
RAOFI don't know of anything that's using that information right now, though.04:22
thomiok04:23
thomiRAOF: I think something useful I could be doing is adding to the doxygen documentation of these types, but I wonder if anyone would object?04:23
RAOFWhy?04:23
thomidunno - I assumed they were undocumented for a reason04:24
RAOFThe reason is almost certainly “no one bothered documenting it”04:24
thomiok, I might start documenting things as I go04:26
thomihmmm, I seem to have broken something, such that now mir_connect_sync hangs forever04:43
thomieven after restarting mir_demo_server O.004:43
=== mmrazik is now known as mmrazik|afk
=== mmrazik|afk is now known as mmrazik
hikikoalf_, are you busy?07:30
alf_hikiko: hi, what's up?07:31
hikikoI can't find the EGLNativeWindowType anywhere and I wonder what is it... I guess something like the EGLNativeDisplay, but I wonder why we use it07:34
hikiko(client/gbm/gbm_platform.h/cpp)07:35
alf_hikiko: EGLNativeWindowType is an EGL type. It is an opaque handle for the native window type.07:37
alf_hikiko: we give it to the client so they can use EGL functions to set up the rendering context07:39
hikikowhich is the context we created in the server?07:40
=== alan_g is now known as alan_g|afk
alf_hikiko: no, a new rendering context they can use to draw on a MirSurface07:42
hikikoso this is a context created in the client07:43
hikikoby the client*07:43
hikikoand the NativeWindow is the pc/android window that the client "sees" in his screen?07:44
hikikoor something else?07:44
hikikoI am trying to understand if I need to create another context using sdl or I can use the egl functions as they are, but I am not sure I understood 100% what's going on in the client platform :S07:46
alf_hikiko: yes, window == visible surface (whatever that may mean for each windowing system)07:46
hikikook, so I forget about all this and I create an sdl window again in the platform part...07:47
alf_hikiko: no, when using mirclient, the native window is a MirSurface07:47
alf_hikiko: or to be more exact some representation of MirSurfaces that the EGL system can use07:49
alf_hikiko: why can't you just compile with the gbm backend for now, until the server part is finished, and then move to the client part?07:50
hikikobecause07:50
hikikoyou can't use the gbm as it is07:50
hikikoone sec I ll show you07:51
hikikoirPlatformType mclg::GBMClientPlatform::platform_type() const07:51
hikiko{07:51
hikiko    return mir_platform_type_gbm;07:51
hikiko}07:51
hikikoeach client platform07:51
hikikohas this function07:51
hikikoandroid returns android, gbm returns gbm, I have to return sdl07:51
hikikommm07:52
hikikoif i use gbm as it is07:52
alf_hikiko: It doesn't matter for now, the first step is to get the server-side examples working. Sure, the client side won't work, but we can fix this later.07:52
hikikoyes that's what I am trying to do :s ok let me try something.. bbl (+thanks!)07:53
hikikobtw alf_ is there any way to exclude gmock... of the build?07:59
hikikoI get tones of errors there07:59
tvosshikiko, what kinds of erros?08:01
hikikotvoss, about wrong declarations, syntax errors in templates and I end up with:08:02
hikikofatal error: too many errors emitted, stopping now [-ferror-limit=]08:02
tvosshikiko, then it's highly likely that you have an error somewhere in your header files. GMock compiles just fine in general08:02
* tvoss notes that almost always one's own code is wrong :)08:03
hikikotvoss, I was getting errors even when I was compiling the trunk08:03
hikikojust now they become fatal08:03
hikikoso, it's not only my header files08:03
tvosshikiko, compilation works fine in CI and autolanding08:03
hikikook, then I ll change my compile params...08:03
hikiko:D08:04
tvosshikiko, why do you have custom compile params?08:04
hikikowell, I use clang because each time I have an error like: forgot to include a header file, I trigger a gcc internal compiler error08:05
hikikoit was faster to change the env var and use clang08:05
hikikothan compile the next gcc versions08:05
tvosshikiko, which gcc version are you using?08:05
=== alan_g|afk is now known as alan_g
tvosshikiko, saucy has gcc 4.808:05
hikikogcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)08:05
hikikoI am still using raring tvoss08:06
hikikodo you think I have to upgrade?08:06
tvosshikiko, not sure, but gcc 4.7.3 is quite stable for me08:06
hikikowell in my case it was crashing all the time with internal compiler error and no clue about the problem it triggered it08:07
hikikoso I gave up and replaced it08:07
alan_gtvoss: ping08:09
tvosshikiko, at any rate, you should not need to compile a toolchain on your own: see https://launchpad.net/~ubuntu-toolchain-r/+archive/test08:09
tvossalan_g, pong08:09
alan_gtvoss:  did you see RAOF's email "Mir in Ubuntu"? IMO it raises some architectural issues...08:10
tvossalan_g, yup, have seen it ... what are those issues?08:11
alan_gtvoss: we should have a plan for stabilizing ABI and comms protocol08:11
tvossalan_g, yup, agreed08:11
alan_gBecause it is starting to impact other components08:11
alan_gtvoss: is that something you should be driving? Or who?08:12
tvossalan_g, I would think that the ABI stability is a requirements towards Mir and the team should just pick it up. But I'm happy to trigger the discussion08:12
RAOFI don't think comms protocol is particularly important to stabilise at this point - although backwards compatibility in comms protocol might be soon.08:14
RAOFBut needing to rebuild unity-system-compositor for each Mir commit clearly won't scale to the distro.08:14
tvossRAOF, fully agreed08:15
alan_gRAOF: ack (although I think we should prepare the way by adding version info to the protocol - even if we ignore it)08:15
RAOFalan_g: +108:16
RAOFWe should at least be able to return a sensible "whoops, this won't work" error.08:16
alan_gRAOF: We can return an error string containing "whoops, this won't work" - does that count? ;)08:20
RAOFalan_g: As long as it can be translated ☺08:20
=== pete-woods1 is now known as pete-woods
hikikoalf_, what happened to the drm authenticator?09:35
alf_hikiko: it was removed, but it seems that we will need to reinstate it after all09:36
hikiko:S09:36
hikikowell without it my branch doesn't compile anymore09:36
hikikoI use the authenticator to register my drm device fd09:37
alf_hikiko: Why do you need to register a drm device fd?09:48
hikikoactually I have to tell the xserver09:49
hikikowhich is my drm fd09:49
alan_galf_: I'm not sure I've used it since rebuilding my system - is s-jenkins working for you?09:49
tvossalan_g, it's down09:49
alan_gtvoss: ta09:50
alf_hikiko: Why is this needed for the SDLDisplay?09:51
hikikoif you want to create a gbm buffer09:51
hikikoyou need the drm fd09:51
hikikothere's no other way09:51
hikikobut if you open a drm fd09:52
hikikoyou need to authenticate09:52
hikikotell the xserver that you will use this device09:52
hikikootherwise you wont have permissions to do anything09:52
alf_hikiko: right, but my question still stands: why do you need to create a gbm buffer for the SDLDisplay (I mean that class in particular, not the sdl backend in general).09:53
hikikobecause you use the gbm buffers in the ipc mechanism09:54
hikikoand you told me that there's no point to create my own type of buffers09:54
hikikolast month :s09:54
hikiko+the gbm buffer allocator is part of the gbm platform which is used in the display09:55
hikikosorry09:55
hikikoyou asked for the display ^^09:55
alf_hikiko: That's true, you don't need gbm buffers in the SDLDisplay class, you need them in the buffer allocator. My proposal for step 1 is to get SDLDisplay + render_to_fb to work, which doesn't involve the buffer allocator or any IPC/client code. I think that's the easiest way (step by step) to move forward, otherwise there are just too many things to take care of at once.09:58
alf_hikiko: then step 2 is getting the buffer allocator + render_surfaces to work, step 3 is IPC/client side rendering.09:59
alf_hikiko: that is, for step 1 you just need an SDLPlatform that returns a proper SDLDisplay and stub implementations for everything else10:05
=== mmrazik is now known as mmrazik|lunch
=== mmrazik|lunch is now known as mmrazik
=== alan_g is now known as alan_g|lunch
racarrGood morning!12:55
=== mmrazik is now known as mmrazik|afk
=== alan_g|lunch is now known as alan_g
=== mzanetti is now known as mzanetti|lunch
=== mmrazik|afk is now known as mmrazik
=== mmrazik is now known as mmrazik|afk
=== mmrazik|afk is now known as mmrazik
kgunnracarr mornin'13:26
kgunnawfully early13:26
alan_gkgunn: racarr afternoon (not very early)13:27
racarrMorning all :)13:27
kgunnafternoon alan_g13:27
=== mzanetti|lunch is now known as mzanetti
racarralan_g: Can I explain "friend class SessionManager" from rebuild input targets13:33
racarrAm having trouble coming up with a better solution13:33
alan_gracarr: I guess you have the right. ;) (Although I've not tried for a deep understanding yet.)13:35
racarrI just meant I am asking for help :)13:36
racarrbasically the problem is, now that ms::Surface is the input target13:36
racarrhow can the shell with an msh::Surface give it keyboard focus (through the InputTargeter)13:36
racarrso I added msh::Surface::internal_surface, protected, and let the SessionManager use it -.-13:37
racarrit could also be InputTargeter instead of session manager.13:38
racarror the even the InputRegistrar, could be the only one to use internal_surface, and it exposes like handle_for_surface(std::shared_ptr<msh::Surface>...) which the targeter uses13:38
racarrbut I don't know. none of these (including friending the SessionManager)13:38
racarrare particularly compelling13:39
alan_gracarr: I've a feeling that the relationship between ms::Surface and msh::Surface is wrong. (And that things being modelled as attributes should be associations) Maybe this is part of the same issue.13:41
racarralan_g: Hmm I think it is part of the same stickiness...what do you mean by attributes vs assosciations though?13:42
alan_gracarr: Let me try an example...13:44
alan_gA board game piece could have a "black" or "white" color attribute13:45
alan_gOr it could associated (e.g. in a set of) with "black pieces" or a with "white pieces"13:46
racarrvs some sort of external assosciation?13:46
racarrmm13:46
racarrI see13:46
racarrSo you mean ::type/::state13:47
racarrgive msh::Surface dual roles?13:47
racarrbecause without that it's just a resource managing class13:47
racarr(input did too, but now input is moved down)13:47
alan_gracarr: that's what I mean. Not sure my "unease" actually points to a solution.13:49
racarralan_g: Hmm.13:53
racarralan_g: Maybe the "solution" is to remove the friend/protected13:53
racarrresource managing classes typically expose something like that13:53
racarrand then aim at moving the state somewhere else13:53
alan_gracarr: certainly adding a friend to access a *protected* member seems odd13:55
alan_gracarr: and does internal_surface() need to be virtual?13:56
racarrNo definitely not13:56
racarrit should probably return13:57
racarrweak_ptr?13:57
racarras well13:57
racarror throw an exception13:58
alan_gracarr: Possibly - or check the lock succeeds13:58
racarralan_g: My current leading theory is remove the protected and friend class, remove the virtual, add an exception + tests for internal_surface13:59
=== francisco is now known as Guest51059
alan_gracarr: actually, looking at where internal_surface() is used - could it be replaced by update_input_focus(InputTargetListener&) ?14:01
racarrIt could.14:02
racarrhmm14:02
racarrwell14:03
racarrexcept then InputTargetListener wants shared_ptr, which is maybe another bug?14:03
racarrI'm not sure that isn't more coupled though...im trying to think about how the tests would look14:03
alan_gracarr: is it more coupled? Then session manager doesn't need to know how the input target is moved (it doesn't need to get a ms::Surface from one place and pass it to another.14:06
racarrbut the same way msh::Surface doesn't need to know about an InputTargetListener14:07
racarr / how it receives focus14:07
racarrright now it doesnt even need to know if it has focus but eventually it will14:07
racarrI can see the appeal of update_input_focus14:10
alan_g"tell don't ask" ;)14:11
racarrit makes me uneasy though because I dont14:11
racarrthink of focus as an attribute14:11
racarrof the surface.14:11
racarrthough I guess it' clear with the InputTargetListener...14:12
alan_g"attribute" or "association"?14:12
racarrits14:12
racarran assosciation14:12
racarrfocus is assosciated with the surface (in the InputDispatcher as it stands)14:13
racarrbut the surface isn't told, hey you got focus, hey you lost focus, etc.14:13
alan_gbut that "surface" is the ms::Surface, not the msh::Surface14:13
racarrmm14:14
racarrUgh14:14
racarrthe reference issues14:14
racarrare difficult to solve :p14:14
racarrif you want to do it this way then InputTargetListener has to take14:14
alan_ga weak_ptr - or a proxy14:15
alan_gyep14:15
racarrms::Surface&, so then the window handle repository has to take ms::Surface&14:15
racarrand14:15
racarrand so the surface stack :p14:15
racarror a weak_ptr perhaps...?14:15
racarrthinkthink*14:15
racarrit's not that bad either way14:16
alan_gracarr: what isn't clear to me is what should happen to input if the focussed surface is zapped. (But I'll leave that as an exercise..."14:19
alan_gs/"/)14:19
racarralan_g: Another possible way to solve this is with operator== overload14:19
racarrbut it's kind of hairy14:20
* alan_g headdesk14:20
racarrhmm, if the focused surface is zapped, then the InputDispatcher14:20
racarrwill fail to promote the focused window handle14:20
alan_ghttp://arstechnica.com/information-technology/2013/05/why-arent-user-defined-operators-more-common/14:20
racarrand clear its focus14:20
racarrI know :p this seems like a pretty clear overload though14:21
alan_gracarr: that enough help for now?14:22
racarrYes thanks. :)14:22
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
racarrcoffee shop be back for meeting!14:49
kdubhello again folks, status, working on a swapping algorithm switcher15:01
racarrstatus: Updating rebuild-input-targeting. Then going to work on some lttng tracing for inpu15:10
racarrt15:10
alan_gracarr: you've a couple of other MPs in need of attention15:15
racarralan_g: I will reject disable-sequences until later15:17
racarralan_g: I can update depthify-stack but there is no point to land it without rebuild-input-targeting as input wont work in stacked scenarios15:17
racarrso have been waiting15:18
alan_gracarr: ok15:29
racarroh wow...15:32
racarralan_g: In that whole discusion before...I was wondering, how does msh::Surface then go on and pass itself to the InputTargeter from take_input_focus15:33
racarrnow looking at the code...it needs to pass ms::Surface and it's all very obvious :p15:33
racarrI think I got crosswired because I am used to thinking that InputTarget=shell::Surface15:33
alan_gracarr: how very confusing15:34
racarrthe msh::Surface/mf::Surface<->ms::Surface is so frustrating15:35
racarrmaybe I will try and find a "once and for all" solution this week...I think its worth some thought15:35
alan_gracarr: good luck! (I keep being distracted by more urgent work.)15:38
racarr:)15:38
alf_status: BufferSwapperSpin and client::RpcReport MPs, with the next step being an lttng RpcReport implementation (and perhaps related client side improvements)15:39
racarrHow come bypass comp?15:39
alan_gracarr: it is a maze of twisty little objects - I know what I want to happen, but untangling the bits I want to change is frustratingly slow.15:40
racarrmm :)15:40
kdubalan_g, anything I could help with?15:41
alan_gkdub: not right now, but once I get this first spike running I'll be grabbing you. (Hopefully tomorrow)15:42
racarralan_g: Pushed updates to rebuild-input-targeting15:46
racarrlet me know if I can help fit things together on review, etc...feel bad about dumping such a large branch but couldn't find any sensible way to split it up15:46
alan_gracarr: ack15:47
racarrI Guess I will write some doxygen too15:47
racarralf_: I am looking at adding LTTNG for some interesting input statistics (just a few to start, such as received event from kernel, dispatched event, etc...)16:01
racarralf_: Just want to make sure I have the idea right...16:01
racarrmake a new report interface. Then provide lttng/logger implementations?16:02
racarror are there other ways to use it16:02
alf_racarr: that's the recommended way, look at message_processor_report* in server/lttng/ as a template of how to do it16:04
alf_racarr: let me know if you have any questions16:08
racarralf_: I think it makes sense. Thanks :)16:08
alf_racarr: yw16:08
racarrwhat I am wrestling with in my head...is...I guess I want a less explicit interface but16:08
racarrit's probably wrong?16:08
racarrthe thing is. the way I imagine wanting to use tracing (espescially in parts like input) is to have...lots of trace points!16:09
racarrBut if they are done through a report rather than explicitly they have a real cost16:09
racarrboth runtime, and interface bloat16:10
alf_racarr: runtime=cost when using a null report?16:10
alan_gracarr: you were at the London sprint. We discussed the difference between reporting and tracing there16:10
racarrwhat you get through the report, is explicitness, and a contract.16:11
=== mmrazik is now known as mmrazik|afk
racarralan_g: Mm16:12
racarralf_: Well, it's still a virtual method invocation right. It's a hugely low cost I guess.16:12
alan_gracarr: is this the same discussion revisited?16:12
racarrmostly about interface bloat.16:13
racarralan_g: sort of..16:13
alf_alan_g: racarr: hangout?16:13
racarrIt's just there are some type of events...like say16:13
racarr"Couldn't load input device configuration file so falling back to generic"16:13
racarrthat I am not sure are ever interesting as part of a report16:13
racarrand are so large16:13
racarrerr, the space of possible events16:14
racarrbut you would love to see them in a trace16:14
racarr*shrug*16:14
racarralf_: We can. I don't want to distract everyone too much though16:14
racarrbecause I haven't spent much time thinking about this yet16:14
alf_racarr: ok16:14
racarrI think maybe I am getting ahead of myself anyway16:15
racarras my initial goal was just to add tracing for a few interesting16:15
racarroccurences16:15
racarrnot everything XD16:15
racarrlol at comments in android input stack16:16
racarrWe hold a wake lock at all times except during epoll_wait().  This works due to some                                                                                                                                                                                              // subtle choreography16:16
racarr"Subtle choreography"16:17
=== greyback is now known as greyback|food
alan_gracarr: alf_ - do we want to hangout now? Or after racarr has spent a day implementing something?16:23
alf_alan_g: racarr: let's leave it for after16:25
racarrI agree. I just got ahead of myself. The current interfaces are fine for all I want to do now.16:25
racarrin the past. I've found really detailed tracing as a more useful way to debug16:26
racarrmultithreaded/multiprocess systems16:26
racarrand might want to enable that one day?16:26
racarrbut. ONE STEP AT A TIME *hits self on head with one step at a time stick*16:26
alf_kdub: how about BufferSwapperSync, BufferSwapperAsync ?16:27
alan_gracarr: ok, but it is good to share ideas about the overall shape of things too. ;)16:28
alf_kdub: hmm, Async doesn't really tell the whole story16:28
kdubalf_, yeah, "synced to what?" was my first thought16:28
racarralan_g: The one thing I do have open for this first step is16:29
racarrthe existing "InputReport" stuff to redirect the android logging16:29
racarris conflicting in name because I can't provide an LTTNG backing for that really16:29
racarrat least, the command line option is conflicting ;)16:31
alan_gracarr: you'd like to rename it "LegacyInputReport"? Fine by me - I just stopped it spewing over the console16:31
racarrOk16:31
racarryes. Much appreciated :)16:31
alan_gracarr: one day we can get rid of the legacy. ;)16:31
kdubalf_, maybe FrameDroppingSwapper and VsyncSwapper?16:32
kdubsort of tough to convey all the nuances of a buffer swapper in class name ;-)16:33
=== alan_g is now known as alan_g|life
=== jono is now known as Guest93857
=== greyback|food is now known as greyback
racarrso how do I use lttng -.-18:31
racarrhmm neither my new lttng or the old lttng following alfs instructions18:42
racarrworks for me18:42
racarrLunccccch!18:50
=== mmrazik|afk is now known as mmrazik
=== greyback is now known as greyback|away
greyback|awayracarr: small patch for lp:~robertcarr/platform-api/mir branch so it builds against latest mir: http://pastebin.ubuntu.com/5711198/19:13
greyback|awayafter merging trunk ofc19:14
racarrannd back19:24
racarrgreyback|away: Ah! thanks will merge19:25
kdubswapperswappers are tricky20:07
racarr:(20:17
thomimorning folks21:15
robert_ancellthomi, hello21:24
robert_ancellthomi, hey, any update on autorebuilding lightdm against libmirserver?21:24
thomirobert_ancell: should be working now21:24
robert_ancell\o/21:24
robert_ancellthomi, also, we need to enable lightdm building on saucy21:24
thomimight be done already, let me check21:25
robert_ancellthomi, https://launchpad.net/~mir-team/+archive/staging/+packages shows lightdm being rebuilt 2 May - so it doesn't appear to be working?21:25
thomirobert_ancell: ok, saucy is already enabled. I have a call with francis in 4 minutes, so I'll ask him about it then21:26
robert_ancellok, ta21:26
thomirobert_ancell: also, I have a 50 line c++ program that reliably hangs the mir server :(21:27
thomiabout to file a bug...21:27
robert_ancell:(21:27
thomiI'm really glad we're doing these stress tests, we seem to be fixing a lot of problems21:27
thomiwell, when I say "we"... I'm not fixing anything :P21:27
kgunnthomi: hey...somebody's gotta break it before you can fix it21:29
thomiI'm the annoying guy who comes along and pokes holes in your nice shiny new code :)21:30
kgunni'm grateful...good stuff!21:31
robotfuelI get the following error message when trying to run mir_demo_server on the phone: http://pastebin.ubuntu.com/5711560/ has anyone else run across this?21:43
greyback|awayrobotfuel: I find a reboot can help that. I sometimes get it after a package update21:44
greyback|awayrobotfuel: oh actually, are you running on your desktop?21:44
robotfuelgreyback|away: no the ubuntu-touch image on a galaxy nexus21:45
thomirobert_ancell: got a moment for a quick hangout with francis to discuss the lightdm issue?21:46
greyback|awayrobotfuel: ah, I see. You need to run it via "adb shell" - not as the root user21:46
robert_ancellthomi, sure21:46
robotfuelgreyback|away: I am running it in the ubuntu_chroot21:46
robotfuelvia adb shell21:46
robert_ancellthomi, what is the issue?21:46
thomirobert_ancell: just the lightdm being rebuilt after every mir21:47
robert_ancellack21:47
thomirobert_ancell: actually, don't worry21:47
robert_ancelleven better :)21:47
thomiI'll manage, and pull you in if needed21:47
greyback|awayrobotfuel: ok good. Did you stop surfaceflinger?21:47
greyback|awayrobotfuel: you can do this while not in the chroot, by running simply "stop"21:48
robotfuelgreyback|away: yes I ran stop && ubuntu_chroot shell21:48
greyback|awayrobotfuel: in that case, I'm running low on ideas. What device have you?21:48
greyback|awayoh oyu said, galaxy nexus21:49
robotfuelgreyback|away: yes a gnex21:49
thomirobert_ancell: you want lp:~mir-team/lightdm/unity rebuilt, right? not lp:lightdm21:50
robert_ancellthomi, correct21:50
greyback|awayrobotfuel: give me a minute, I'll try it on mine21:50
=== greyback|away is now known as greyback
robotfuelI have jenkins running a glmark job on the desktop, but it should be more interesting on a phone, because fps isn't tied to the refresh rate of the monitor21:50
thomirobert_ancell: ok, we had enabled the autorebuild for unity-system-compositor, but not for lightdm, that's being done now21:51
kgunnrobotfuel: on a phone you're still going to be tied to vsync21:51
kgunnunless you do something to unhinge it21:51
robert_ancellthomi, so U-S-C shows it is 19 days old21:52
robert_ancellthomi, oh duh. I was getting mixed up. I think technically we don't need to rebuild lightdm on libmirserver changes, but it is a nice to have anyway21:52
thomirobert_ancell: ok, well.. that's going in now anyway :-/21:53
robert_ancellwe do need lightdm on saucy though21:53
thomieverything should be being built on saucy already21:53
robert_ancellthomi, it might actually need to be rebuilt when u-s-c changes in the future, but I'll bug you then if it's a problem21:53
* robert_ancell takes a week off and forgets everything21:54
fgintheryo21:54
thomirobert_ancell: so after the rebuild the packages should be pushed to ppa:mir-team/staging, ight?21:54
robert_ancellthomi, yes21:54
thomifginther: can we do that easily?21:55
robert_ancellthomi, how do you version them?21:55
fgintherrobert_ancell, we can do that..21:55
robert_ancellfginther, so it just overwrites the existing one?21:55
fgintherthe packages can be versioned with a monotonically increasing version number21:55
fgintheryes, it will overwrite the last one21:55
robert_ancellfginther, will a user upgrade from version X to X (i.e. if the binary has changed)?21:56
thomipresumably the version number will be X -> X+1 or X.121:56
robert_ancellI was hoping we could have 0.0.1brz25.3 for the third rebuild of bzr version 2521:56
greybackrobotfuel: ok I got it working here. I made sure everything was up to date. Then reboot, adb root, adb shell, stop, ubuntu_chroot, mir_demo_server&, mir_demo_client_accelerated21:57
fgintherrobert_ancell, if the user does a dist-upgrade, they will get the lastest, but if a user does a install of just mir, it will not pull in the lightdm-mir21:57
robotfuelgreyback: thanks, I didn't try the client part21:57
greybackrobotfuel: if the server returns that error message you got, then the client will fail. Server needs to be running21:58
greybackbefore client can show anything21:58
thomirobert_ancell: latest mir bug I've found is posted at: https://bugs.launchpad.net/mir/+bug/118518321:58
ubot5Launchpad bug 1185183 in Mir "mir_demo_server hangs" [Undecided,New]21:58
kdubi can try on my phone... see what happens21:59
robotfuelI am using image 132, maybe that image has an issue.21:59
greybackrobotfuel: perhaps, that I cannot say. apt-get dist-upgrade all up to date?22:00
fgintherrobert_ancell, it is very difficult to get the version numbers to 'reset', so what happens is, you'll see a version ending in '0' when the package is built due to a source change, othewise, the version will end in X, where X is always greater then the last X22:00
robert_ancellfginther, ok22:01
robotfuelgreyback:  distupgrade fixed the issue, thanks!22:20
racarrearrrly in. early out!22:20
greybackrobotfuel: glad to hear it.22:20
kgunncya racarr22:30
thomirobert_ancell: got a second?22:50
robert_ancellthomi, sure22:50
thomirobert_ancell: so the bug I reported above is blocking the stress tests moving much further. I wonder who I should bug about this? Or should I just leave it with you and work on something else today?22:51
robert_ancellthomi, I'll have a look at it22:52
thomirobert_ancell: thanks22:53
robert_ancellthomi, always exactly after 500 times?22:58
thomirobert_ancell: 501 actually, yeah22:58
robert_ancellweird22:58
thomiyeah. I wondered if the sevrer was leaking 2 file handle per connection22:59
thomijust a guess22:59
robert_ancellthomi, why does it close the fd?22:59
thomirobert_ancell: otherwise the client leaks them. see mail to ML22:59
robert_ancellok, that's just a workaround22:59
thomiRAOF was going to fix that in the client API22:59
thomiyeah22:59

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