/srv/irclogs.ubuntu.com/2013/03/27/#ubuntu-mir.txt

racarrnamespace mgeglm = mir::graphics::egl::mesa?00:01
racarrI just wanted to share how happy I was to type mgeglm00:01
RAOF???00:17
racarrRAOF: I just think it's a funny combination of letters00:43
racarrignore me...00:43
RAOFNo, that just seems like a surprisingly nested namespace.00:43
smspillazracarr: hmm, this could get fun00:58
RAOFsmspillaz: What are you up to? :)00:59
smspillaznamespace compiz::objects::central::keyboard00:59
racarrI don't get it ;)00:59
RAOF:P00:59
smspillazRAOF: me? mostly eating popcorn01:00
duflurobert_ancell: We have logs if you're interested :)  https://bugs.launchpad.net/mir/+bug/110995701:29
ubot5Launchpad bug 1109957 in Mir "lightdm with type=mir causes raring to freeze on boot. plymouth stuck at 100% progress." [Critical,New]01:29
robert_ancellduflu, ta01:31
dufluWow, seems Alexandros likes to finish things without any fanfare. This is now DONE(!): https://blueprints.launchpad.net/ubuntu/+spec/client-1303-mir-glmark201:36
dufluExcept that we can't get any useful numbers out of it till we fix Mir's eglSwapInterval(0)01:36
robert_ancellduflu, can you look out for a notification for "TEST BUG" against Mir?02:32
duflurobert_ancell: Could you please update the subscription to ensure mir-team gets bug comments too?02:32
robert_ancellduflu, did that before this02:32
robert_ancellcomments?02:32
robert_ancellI think people should opt-in for comments02:32
duflurobert_ancell: I disagree. Someone has to answer comments. And if the dev team has not subscribed then that will usually be no one02:33
robert_ancellno, that's just spamming people. If you want to do that then subscribe yourself. Otherwise people should only subscribe to bugs that are relevant to them02:34
duflurobert_ancell: Umm, Mir bugs are relevant to Mir developers. More generally developers need a kick in the pants to pay more attention to their own bugs02:35
robert_ancellduflu, you are automatically subscribed to your own bugs, and you can subscribe people to bugs you think they should look at02:35
duflurobert_ancell: "own bugs" means bugs you caused, not logged02:36
robert_ancellduflu, then subscribe them when you read it02:36
robert_ancellduflu, bugs can easily become a distraction from actual work - the goal is not to empty the bug tracker02:36
duflurobert_ancell: True, but you can't release anything if you have a pile of High's and Criticals02:37
robert_ancellyou can02:37
=== jono is now known as Guest2834
* duflu is scared at that prospect02:37
robert_ancellduflu, it depends who set them to high and critical - we have an open tracker02:39
duflurobert_ancell: It's not meant to be a matter of opinion. There are clear definitions of the severities here: https://wiki.ubuntu.com/Bugs/Importance02:42
dufluThough that's not to say those are followed accurately02:42
robert_ancellduflu, bingo02:44
smspillazrobert_ancell: I get the impression that this page is good for determining bug severity if you're a kernel02:53
smspillazit would be good to have bug guidelines per-project02:53
dufluIt's hard enough having one standard. I'm not sure we want multiple standards02:53
smspillazsure, its just that the examples are not very applicable to some projects02:54
smspillaz"causes data corruption" <- let me know when that happens in a display server02:54
RAOFWe can *totally* do that.02:55
smspillazRAOF: was that a challenge accepted ?02:55
RAOFWe just need to set up the GPU memory maps appropriately :)02:55
smspillazRAOF: I think that's fudging with the definition of "data"02:55
dufluSurely you can mmap some memory to an important file02:56
smspillazright, I just didn't think that fell within the usecase of a display server02:56
RAOFSet the GPU memory maps appropriately so that they overlap with the kernel's VFS cache.02:56
smspillazRAOF: oh, heh02:56
dufluEvil02:56
smspillazRAOF: does mir run as root ?02:57
RAOFI don't think we know.02:57
smspillaz(its a stupid question, I've not run it in months)02:57
smspillazhaha02:57
smspillazyikes02:57
duflusmspillaz: Not normally, but it can02:57
RAOFThe system-compositor probably will, but the sessions won't.02:57
smspillazyou guys are going to have lots of fun02:57
RAOFOf course!02:58
robert_ancellduflu, you had a branch that was going to add a mircommon-dev right? What happened to that?03:22
duflurobert_ancell: It landed. And I see it in the PPA already03:22
robert_ancellduflu, oh right, I hadn't updated03:22
duflurobert_ancell: Is it bad for lightdm that mir has no upstart config?03:31
robert_ancellduflu, mir is started by lightdm so upstart is not involved03:32
duflurobert_ancell: Fair enough. But there is often a small delay in the socket becoming available. Does lightdm sleep a little before looking for it?03:32
dufluOr poll for it and eventually time out?03:33
robert_ancellduflu, yeah, there's a hack currently but we will need the system compositor to notify lightdm when the socket is ready03:33
robert_ancellpoll03:33
dufluDamn. No easy explanations03:33
dufluYou and your forethought03:34
robert_ancellthe way X does this is using a unix signal. We can easily pick that up, though it's a bit yuck. The cleaner way is to pass a fd to the compositor and have it write to it when ready03:34
duflurobert_ancell: Signals sound might simpler. Why yuck?03:34
duflu-might +much03:35
robert_ancellduflu, because they're kind of hard to handle in the receiver. But we have all the work for X done so we can live with it03:35
robert_ancellalso potentially we want more information than a signal can provide03:35
dufluI guess a signal necessitates knowing a process ID to send to :(03:36
robert_ancellduflu, children can emit a signal on themselves and the parent picks it up03:36
RAOFWe want to pass an fd from lightdm to the system-compositor *anyway*; we might as well signal readiness on it.03:37
tvossRAOF, ping06:03
RAOFtvoss: Pong.06:03
tvossRAOF, good afternoon :) quick question about hw cursors: do we have a work item for that?06:04
RAOFHm. I suspect that we might want a parallel server-side buffer age so we can optimise out sending buffers we know the client has.06:04
RAOFtvoss: Heh. Yes, someone set alf_ as owning that work item today.06:05
RAOFclient-1303-mir-converged06:05
tvossRAOF, cool, we have the first iteration of input mostly landed, and rendering a cursor might prove helpful :)06:05
RAOFWe don't have keyboard input landed at all, right?06:06
tvossRAOF, an english keyboard should work :)06:06
tvossRAOF, ah, just observing your comments on receive-input-in-client06:07
RAOFWhat about https://code.launchpad.net/~robertcarr/mir/receive-input-in-client/+merge/15536806:07
tvossRAOF, that's what I was referring to, I thought it had landed yesterday06:08
RAOF:)06:08
tvossRAOF, anyway, once that lands, generic keyboard support is there. Then keymapping is the next topic06:11
RAOFCool.06:11
RAOFdaniels will be interested to hear where libkeymap fails to support our needs :)06:12
tvossRAOF, I guess not at all :) we just need to take a look at it06:14
tvossRAOF, got a link for me?06:14
RAOFIt's libxkbcommon :)06:16
tvossRAOF, I'm confused now :)06:16
RAOFHe was just complaining that he mis-named it, and it should really be called libkeymap.06:16
tvossRAOF, I guess I'm all in for that06:16
tvossmmrazik, I was wondering if there is any documentation on fence_cdu06:38
mmraziktvoss: do you have account on magners?06:39
tvossmmrazik, not sure :)06:39
mmraziktvoss: let me pastebin --help06:39
mmrazikI don't think there is much more than that. Maybe something on wiki.canonical.com06:39
tvossmmrazik, ack06:39
mmraziktvoss: http://pastebin.ubuntu.com/5651494/06:40
mmraziktvoss: its a python script so I guess we can modify if need something06:40
tvossmmrazik, ack06:41
mmrazikand I _think_ (didn't check) its using ssh to access the power strips06:41
tvossmmrazik, I was thinking about writing a google test fixture for setting up the multi-monitor setup06:41
RAOFHuh. GTest really does call *0 = 1; to die in this case.06:48
RAOFGrr. What the hell, gdb?06:55
tvossRAOF, what's up?06:56
RAOFMy changes to not leak fds in GBMClientBuffer have broken the acceptance-tests; a couple of them now segfault.06:57
RAOFHowever, for some reason gdb doesn't seem to find DefaultDisplayServerTestFixture_client_library_accesses_and_advances_buffers::TestBody(), so I can't attach gdb at the right place.06:58
RAOFBecause obviously I need to be tracing the _child_, which means I need to set follow-fork-mode just before it forks.06:59
dufluRAOF: gdb doesn't find it cos it's in a child process. You need to enable tracing into childten06:59
duflu*children06:59
dufluYeah what you said06:59
* RAOF → Zoë bath; back later to be annoyed at gdb further.07:00
* duflu reverts the day's work and starts again. Lost in class dependency spaghetti07:00
RAOFHah. Don't accidentally recurse infinitely.07:55
RAOFHm, no, that's not going to work. Looks like I really do need to make the server not uselessly send buffers the client already has.07:59
RAOFkdub: Hey, you send fds for buffers out over the wire - how come android clients don't crash after not very long for exhausting their fd space?08:09
dufluRAOF: I believe it's past 1am for kdub08:11
RAOFYeah, that would be right.08:12
RAOFHe's on in our *morning* :)08:12
* RAOF suspects the answer to his question is ‘if we had any non-trivial demo clients, they *would* crash after not very long by exhausting their fd space’08:12
dufluHeh08:13
dufluIn time08:13
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
dufluNight all10:47
=== mmrazik is now known as mmrazik|afk
alf_alan_g: @composite-on-demand, what do you think about on_change_call(...) instead of e.g. set_change_callback(...)12:38
alf_alan_g: or on_changed_call()12:38
alan_galf_: this is actually a case where I tend like "set" - largely because it isn't otherwise clear that it overwrites any existing callback (as opposed to "add...")12:40
alan_galf_: but I think any of the above would be an improvement12:41
alf_alan_g: ok12:42
alan_galf_: there's also "on_change_invoke()"12:43
smspillazinstall_change_callback () is another potential one I guess12:53
alf_alan_g: smspillaz: I like how render_view.on_change_invoke(...) reads, but I will go with set_change_callback() since its semantics are clearer12:54
smspillaz+112:54
alf_smspillaz: I think install_change_callback() suffers from the same problem (as discussed above)12:55
smspillazyeah I was thinking that too12:56
=== alan_g is now known as alan_g|lunch
kgunnalf_: are the gl bench #s being dumped somewhere to show a trend chart? or are they individually buried in jenkins test results?13:24
alf_kgunn: I don't think there is a job for running glmark2 on mir, just on a traditional ubuntu system, but I don't know where the results end up.13:36
=== alan_g|lunch is now known as alan_g
kdubmorning15:07
alan_gHello!15:09
kdubstatus, working on integrating hwc device, hit a snag where (i think) the gpu clocks are not turned on all the way15:11
alan_gstatus: got run_mir working properly, MP's a better MessageProcessorReport, and started wondering about glog again15:13
kdubalan_g, yeah, waiting to clear that needs fixing on the scripts change :/15:14
* alan_g nags kdub 15:15
alf_status: Amending composite-on-demand MP, started investigating mir shutdown regression (i.e. we don't return to a properly configured console sometimes)15:23
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
sturmflutWhat is the status of the input subsystem? I read in the commit logs that input events are now passed down to the client, but how much of the whole system is implemented? Would it be possible to write a demo client which accepts keyboard/mouse events?15:47
smspillazsturmflut: ask racarr when he wakes up15:50
alan_gsturmflut: we're getting closer - racarr is the one to ask15:50
sturmflutsmspillaz, alan_g: Okay15:50
smspillazracarr: wake up!15:50
sturmfluthaha15:51
smspillazhe'll probably be around in 10 minutes :)15:51
smspillazsturmflut: if I end up moving to SFO later this year for a possible internship I'll make sure to knock on his door15:52
tvosssturmflut, once the last branch lands: yes, you could start writing a client. racarr actually planned something cool :)15:54
tvosssturmflut, but best talk to him15:54
sturmflutI also noticed that my minimal client has to #include <mir/client/mir_toolkit/mir_client_library.h> but the /usr/include/mir/client/mir_toolkit/mir_client_library.h header file provided by the PPA packages tries to #include "mir_toolkit/c_types.h" which does not work. Is this because the Header files are still being shuffled around?15:55
tvosssturmflut, I'm pretty sure that is the reason, yes16:00
tvossalan_g, can you look into what sturmflut just mentioned?16:00
alan_gsturmflut: I too am a bit confused about what's happening there. (It isn't what I expect.) Can you temporarily add [/usr/include/]mir/client to your project include path.16:00
alan_gtvoss: I discussed it with robert_ansell yesterday and was assured it does work. But it seems I'm not the only one of a different opinion.16:01
tvossalan_g, ack. sturmflut can you file a bug please?16:02
sturmflutalan_g: If i add it to my include path it works, as one would expect.16:02
alan_gsturmflut: use that as a workaround. (But please raise the bug.)16:03
sturmflutalan_g: Will do16:03
alan_gkdub: tvoss kgunn (anyone interested) I'm creating a canonical [no pun intended] example of a useful logging reporter. I'd appreciate comments on https://code.launchpad.net/~alan-griffiths/mir/improved-MessageProcessorReport/+merge/15574616:08
=== alan_g is now known as alan_g|vt
=== alan_g|vt is now known as alan_g
racarrI exist16:45
racarrsmspillaz: :)16:45
racarrsturmflut: It's possible to write a demo client which receives keyboard events using the outstanding event ~robertcarr/mir/receive-input-in-client16:46
racarryour guess of the status in trunk so far is good though, input is sent up to clients16:46
racarrbut not all received yet16:46
racarr(and pointer input isnt finished)16:46
katiehi racarr16:58
racarrHi katie16:59
katiehow's things? want to have a catch up?16:59
racarrthings are good, not sure I have anything17:00
katieme neither17:00
racarrkatie: Ok let's skip this week then17:02
katieracarr: great17:02
katiei mean, i love our meetings, but good to have some time back :)17:03
racarrkatie: I feel the same :)17:03
racarractually right now I feel very little other than disdain for android::Looper but if I had normal feelings that would be it17:04
racarrstatus: Iterating on receive-input-in-client...tried to port the client side input machinery to android::Looper to get rid of the short timeouts17:05
racarr(plus fixing RAOF's other comments)17:05
racarrgot it "working" but acceptance tests fails intermittently with the looper on the client side17:05
kdubdrivers work better when they don't load their firmware all the time17:05
racarrthen back to finishing off inprocess EGL branch from yesterday17:05
tvossracarr, can you put a fixme there that notes down that we ideally want to associate it to the same event loop17:05
tvosskdub, ? :)17:06
racarrkdub: Actually mythbusters did a show on that, drivers work best when loading their firmware all the time!17:06
racarr:p17:06
racarrtvoss: What do you mean?17:06
racarri.e. assosciate all input and everything else to the same event loop?17:06
kdubtvoss, just a fun bug i caused during hwc development17:08
tvosskdub, ah :)17:08
tvossracarr, we have a looper in the client api anyway, it's an io_service. We might want to reuse that for the input channel, too17:09
racarrtvoss: Boost::asio is not a good replacement for epoll I think as we saw in17:10
racarrLooper.h17:10
racarrwell17:10
racarrI dunno it can be adapted of course17:11
tvossracarr, I do disagree, I think it's a very sane replacement, it just does not fit the Looper model or we haven't looked into it deeply enough17:11
tvossracarr, just leave a note in the code :)17:11
kdubRAOF, to answer the backscroll... we don't exhaust the fd space because the kernel keeps a mapping of pid's to fd's and pops the same one out on the client side on every message17:14
racarrso weird...the android::Looper version of the client, sometimes it indefinitely hangs in pollOnce in the acceptance test17:29
racarrif I add the fd to the looper in the first call to next_event instead of in the constructor17:29
racarrit never fails (well, out of 1000 runs, whereas the other failed ~1/10)17:29
racarrwhat is happening...-.-17:30
alan_gracarr: when things don't make sense it is time to look at something else for 20min17:31
racarralan_g: You mean instead of continuing to blunder around in nonsense? Novel idea.17:41
alan_gI mean that breaking focus helps see what you missed17:42
alan_gracarr: ^17:42
=== alan_g is now known as alan_g|life
racarralan_g|life: Hehe I know what you mean :)18:08
sturmflutalan_g|life: https://bugs.launchpad.net/mir/+bug/116106418:51
ubot5Launchpad bug 1161064 in Mir "Mir client header files seem to be incorrect" [Undecided,New]18:51
racarrsturmflut: Thanks! I am about to go on lunch18:58
racarrbut I will process that later today...I think you are right!18:58
sturmflutracarr: Input processing on the server side currently concentrates on Android, am I right? Or is there a branch which handles other platforms18:58
racarrso we should just land a fix asap18:58
racarrsturmflut: No it works on desktop18:58
racarrsome of the naming is misleading because it uses18:58
racarrlarge pieces of the android input stack :)18:58
sturmflutah18:58
racarrso the mir::input::android namespace is the android-input based implementation of mir::input but not the android...platform?18:59
racarrconfusing...need better names :)18:59
racarrsturmflut: https://code.launchpad.net/~robertcarr/mir/receive-input-in-client/+merge/155368 if you look aronud l363 you can see an example using it :)19:00
racarrgot distracted by finishing inprocess egl XD...just need to find the right abstraction for the display validation now and should be good to go19:24
racarrbut now lunch for real19:24
=== racarr is now known as racarr|lunch
robert_ancelltvoss, hello20:02
tvossrobert_ancell, hey there :)20:02
tvossrobert_ancell, wanna sync up? I have got nothing urgent on my side20:02
robert_ancelltvoss, yeah, just a quick one20:02
tvossack, gimme two :)20:02
=== ernsthaft_ is now known as sturmlfut
=== sturmlfut is now known as sturmflut
kdubmeeting "mir team 2"?21:02
RAOFYeah, for those of us for whom “mir team 1’ was stupid'o'clock.21:02
kgunnkdub: RAOF :) happening now21:04
RAOFkdub: Is that pid→fd mapping an android-specific thing? Because when *I* send fds over the pipe I get a shiny new one each time at the client.21:48
kdubmight be, surfaceflinger does the same thing with its binder transactions21:49
kdubi can look into it, maybe its an android kernel thing21:50
RAOFEh.21:50
RAOFI'm going to fix things up so we don't send needless fds, so it doesn't really matter.21:51
kdubthat would be better21:51
robert_ancellRAOF, how are you for pkg-config/include directories?22:30
RAOFrobert_ancell: You mean, would I like to weigh in on the include-directory-structure thread, or do I have enough headers?22:32
robert_ancellRAOF, I just need a second opinion on https://code.launchpad.net/~robert-ancell/mir/mir-common-headers/+merge/155660 - This is just standard stuff to me or is it confusing?22:32
sturmflutCMake Error at cmake_install.cmake:44 (FILE):23:11
sturmflut  file INSTALL cannot find "/mnt/datengrab/mir/build/doc/html".23:11
sturmflutWhat the heck23:11
sturmflutAs of lately all accelerated clients segfault in XGetXCBConnection () from /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 . I tried it with the packages from the PPA and by building Mir manually. Happens with the included examples and glmark2. The unaccelerated demo client still works.23:18
RAOFsturmflut: You need to have doxygen installed for make install to work.23:29
RAOFsturmflut: We should probably fix that :)23:30
sturmflutRAOF: doxygen is installed23:30
RAOFHm. Was it installed when you first ran cmake?23:30
RAOFOh, you might *also* have to specifically enable docs.23:30
sturmflutRAOF: Yes, I even wiped the whole build/ folder and ran cmake again23:30
RAOFsturmflut: Segfault in XGetXCBConnection means that Mesa hasn't detected the right EGL platform, and has uselessly defaulted to X11 which segfaults if you're not *in* X11.23:31
RAOFsturmflut: We've recently gone through a transition for mesa which would have caused that, but the mesa in github (and I hope the PPA by now) should work with Mir trunk.23:31
sturmflutRAOF: On the doc issue: I had to manually set BUILD_DOXYGEN to ON, then it worked23:32
sturmflutDunno why it was off in the first place23:32
RAOFBecause we hate you, I think :)23:33
sturmflutThank you, sir, I will remember that23:33
RAOFWe should really fix that.23:33
RAOFTo either (a) turn on the docs automatically when doxygen is installed, or (b) not fail to install when the docs haven't been built.23:33
RAOFOr possibly even (c) both of the above.23:33
RAOFEqually, Mesa defaulting to the X11 EGL platform is stupid and should be fixed.23:34
sturmflutHow do I find out if my Mesa package is on par with the github version? Seems like most of my Mesa packages are version 9.1~rc2-0ubuntu0+mir2-jenkins1723:36
RAOFsturmflut: Hm. Mesa in the PPA hasn't been rebuilt since the changes landed in github, so it won't work.23:36
RAOFthomi: How do we prod jenkins to build & upload a new mesa?23:37
thomiRAOF: to a PPA you mean? It should happen automatically as part of the autolanding process23:37
* thomi investigates23:38
RAOFthomi: mesa isn't autolanded.23:38
thomiahh, in that case, It's probably as simple as rebuilding a jenkins job23:38
thomiRAOF: http://10.97.0.6:8080/job/mesa-egl-platform-mir-raring-dput/ was last run 20 days ago - does that sound about right?23:39
RAOFThat'd match the timestamp in the PPA; there are new changes in the git branch though that'll make sturmflut's mesa actually work, though.23:39
thomiahh, I see the git polling script is throwing an error, I'll rebuild it manually for now, and look in to why it's failing23:40
sturmflutNow this is what I call Platinum Support23:40
cgoldberggource visualization of Mir codebase:  http://youtu.be/7grEFrTBzus23:43
thomiRAOF: OK, the problem is that the git plugin we're using in jenkins is rather old, and requires a workspace on the slave (which isn't available). I'll file and RT to upgrade the plugin to a newer version, where this issue is fixed23:45
sturmflutcgoldberg: Looks nice23:47
RAOFYeah, very puurdy.23:47
cgoldbergsturmflut, i love making visualizations when I'm bored... just popped in to have a look at Mir :)23:48
kdubcool cgoldberg23:51
sturmflutthomi: Is it safe to build my own Mesa from github? Or should I wait for the packages23:56
thomisturmflut: I don't know about "safe", sorry. those packages have been dput'ed, so they shouldn't be too far away23:57
thomisturmflut: you can see the build progress here: https://launchpad.net/~mir-team/+archive/staging/+packages23:58

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