/srv/irclogs.ubuntu.com/2013/04/04/#ubuntu-mir.txt

racarrRAOF: The second changes are necessary or it only makes one instance of the dri2_drv and the function pointers get overridden between the drivers00:40
racarrRAOF: You can test the changes with enable-inprocess-egl and the new example (bin/mir_demo_inprocess_egl)00:41
RAOFracarr: Aaah, thanks. Right, yeah, now I can see why the second change.00:42
RAOFI think the second change is still wrong, or rather needs additional changes to make it not-wrong :)00:45
RAOFBut I'll start poking at them now.00:45
racarrRAOF: Thanks :)00:50
thomiHey guys - the newer mir packages link to libandroid-input.so, which I don't have. Is this intentional? If so, where do I get that library from, and can we update the mir package to depend on that library please?02:01
thomiRAOF: any ideas? ^02:07
RAOFthomi: Mir builds that library.02:14
RAOFthomi: Oh, but we probably don't install it properly.02:14
thomiahhh, that would explain it.02:14
robert_ancellduflu, yay, -zdefs works a treat. Thansk02:14
duflurobert_ancell: Cool np02:15
robert_ancellthomi, oh, I'm tracking that down right now02:15
robert_ancellthomi, it also doesn't link against glog02:15
dufluthomi: Yeah barely half the dev team knows how to and does test package builds :/02:15
dufluthomi: Bug against mir project please!02:16
thomiduflu: sure02:16
RAOFGRARGH!02:16
RAOFWhat the hell is causing the tests to abort part-way through with exit status 0?02:17
RAOFRUN_ALL_TESTS() is returning prematurely, but successfully.02:20
thomiduflu: https://bugs.launchpad.net/mir/+bug/116425302:21
ubot5Launchpad bug 1164253 in Mir "mir links to libandroid-input.so, but does not package it or Depend on a package that provides it" [Undecided,New]02:21
dufluRAOF: grep exit ;)02:21
dufluRAOF: Or maybe we're handling _too_many_ exceptions02:21
RAOFduflu: I broke in exit(); it's getting called at the end of main, after RUN_ALL_TESTS() has returned 0.02:22
dufluRAOF: Maybe we just need fflush(stdout)02:22
dufluHmm, no that will be done at exit02:22
dufluBisect!02:23
robert_ancellracarr, ping02:37
duflurobert_ancell: Forgot to mention I have an appointment after lunch in a few hours. Should not take too long02:39
robert_ancellduflu, np02:39
duflurobert_ancell: I am also eager to see and approve -zdefs02:40
robert_ancellduflu, yeah, will propose once I get it linking to glog correctly02:40
racarrrobert_ancell: Pong03:16
robert_ancellracarr, hey, was wondering why libandroid-input is a shared library?03:16
racarrrobert_ancell: client and server both use it03:16
robert_ancellracarr, but why not just statically link it to both?03:16
racarrbesides potential difficulties with two copies in the test binaries03:18
racarrNo reason03:18
racarrit feels like it should be a shared library though the way its used between the client and server03:19
robert_ancellracarr, it's opened up a number of problems having it installed shared - it doesn't have a unique name, it doesn't have a library version. We'd have to package it separately to the other library packages. We'd have to manage different versions being used potentially by the client and the server03:20
RAOFHm. Something's playing silly buggers with file descriptors.03:20
RAOF#4  0x00007ffff6466cab in android::InputChannel::InputChannel (this=0x15580a0, name="TODO: Name", fd=2)03:21
RAOFIs unlikely to do anything sensible.03:21
RAOFduflu: Do you know offhand what happens when someone close()es stdout under gtest?03:21
RAOF:)03:22
robert_ancellracarr, what's the two copies in test binaries that you're referring to?03:22
RAOFAh. So, TEST(AndroidInputWindowHandle, update_info_uses_geometry_and_channel_from_surface) first sets stderr to non-blocking mode, then closes it. With, apparently, hilarious consequences!03:48
dufluWow, stupid mistake and also not a test failure04:07
dufluCool04:07
RAOFNow I curse C++ for not having a mkstemp-alike.04:18
dufluI suspect it does but you really don't want to see it05:11
* duflu --> doctor05:11
=== duflu_ is now known as duflu
tvossRAOF, ping06:41
RAOFtvoss: Pong.06:41
tvossRAOF, good morning :) did you have a chance to have a look at: https://code.launchpad.net/~robertcarr/mir/receive-input-in-client/+merge/15536806:41
tvossRAOF, you are the remaining "needs fixing" :)06:41
RAOFI'll do so now.06:41
* RAOF was working through the mesa changes needed for in-process EGL, but I guess input can preempt that.06:42
tvossRAOF, sorry for pulling you out of something else, but I think we should land the mp, it has been up for so long and Robert has been addressing almost all reviewer comments :)06:43
RAOFThis is a fair call.06:43
RAOFI know how that is :)06:44
duflu"almost all" is probably sufficient. We will make better progress if we don't try to reach 100% perfection on every proposal. Just iterate06:44
tvossagreed, the important part of the mp is the end-end test of input06:45
tvosswhich allows us to pick up pace on integrating input06:46
dufluIt would be cool to be able to finally write clients that use the mouse ;)06:47
tvossduflu, it works with a mouse :) however, no cursor is rendered ;)07:10
dufluHah. Yeah forgot that part07:10
dufluSee also https://bugs.launchpad.net/mir/+bug/110992107:11
tvossduflu, any input device that does not require a screen setup to be present is working :)07:11
ubot5`Launchpad bug 1109921 in Mir "Mouse pointer flickers in xmir. Looks like "HW cursor" is not in HW." [Medium,New]07:11
duflutvoss: So we can write the first Mir game :)07:11
tvossduflu, of course, or better: integrate with sdl 2.0 to unblock all the fancy game engines07:12
dufluWhat game engines depend on SDL?07:12
dufluAside from amateur ones?07:12
dufluNever mind. SDL is pretty widely used. I might have overstepped the mark there07:13
tvossduflu, :)07:14
dufluI know that QEMU used SDL exclusively for a long time07:14
tvossduflu, I wasn't aware of that07:15
dufluAnd QEMU is one of the many definitions of "awesome"07:15
tvossyup07:15
dufluAnother definition is "Fabrice Bellard"07:16
tvossalan_g, can I get you to do another review of https://code.launchpad.net/~robertcarr/mir/receive-input-in-client/+merge/15536808:21
tvoss?08:21
alan_gtvoss: OK when I get off call08:22
tvossalan_g, ack :)08:22
* RAOF wonders whether eglGetProcAddress makes in-process-egl any harder.08:44
RAOFThen decides that it's 7:45pm, and that can wait for tomorrow.08:44
alan_gtvoss: approved09:01
tvossalan_g, thx09:01
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
tvossalf_, can you have a look at https://bugs.launchpad.net/mir/+bug/111645210:14
ubot5`Launchpad bug 1116452 in Mir "gbm returns byte unit stride, android returns pixel unit stride" [Medium,New]10:14
tvossalf_, I remember some discussion around it, is it fixed?10:14
alf_tvoss: no, the decision was to change Android to return byte unit stride too, but I don't think anything has been done. I will ping kdub, though. He may have started working on it.10:15
tvossalf_, ack, fine with you if I assign the bug to you and you change to kdub if appropriate?10:16
tvossah, already assigned :)10:16
tvossalf_, setting the status to confirmed, though10:16
=== mmrazik is now known as mmrazik|lunch
* duflu falls off chair10:49
alan_g"* duflu falls off chair" - what was that about?10:50
ogra_cheap chairs ?10:55
smspillazit happens11:40
=== mmrazik|lunch is now known as mmrazik
=== alan_g is now known as alan_g|lunch
kgunntvoss: thank you for pushing the mp on client input...12:36
tvosskgunn, yw12:36
=== alan_g|lunch is now known as alan_g
thiagoandradeI'm try14:00
thiagoandradeI'm trying to compile Mir but I'm getting the error "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libEGL.so: undefined reference for `mir_egl_native_display_is_valid'". Anyone knows how to solve that?14:01
thiagoandradeAnyone here who can help me?14:18
smspillazthiagoandrade: you probably need to compile mesa with the mir patches. Ask racarr when he's around14:18
=== mmrazik is now known as mmrazik|afk
thiagoandradesmspillaz, isn't there a way of using their repositories to install Mesa?14:20
alan_gsmspillaz: thiagoandrade the PPA should have a mesa that supports compiling14:20
smspillazyeah, that :)14:20
thiagoandradeI've added the PPA to my system but waht shoul I do after adding the PPA?14:21
smspillazthiagoandrade: sudo apt-get update && sudo apt-get dist upgrade14:21
smspillazyou'll just need to make sure you don't have a locally installed mesa in your PKG_CONFIG_PATH or LD_LIBRARY_PATH14:21
smspillaz(eg, through compiling)14:21
thiagoandradesmspillaz, Let me try that. Thanks14:22
alan_gthiagoandrade: http://unity.ubuntu.com/mir/installing_prebuilt_on_pc.html14:24
=== alan_g is now known as alan_g|tea
=== mmrazik|afk is now known as mmrazik
kdubgood morning, status reworked some sizing for hwc devices in the process of getting the fb native window out of 3rd_party15:06
=== alan_g|tea is now known as alan_g
alan_ggood afternoon, status: reviewing and chasing down memory leaks in use of glog/gflags15:11
alf_status: more main loop work and discussion, reviewing15:26
alf_kdub: @display-sizing, l289, is the first expectation targeted for the HW11Device constructor, and the second for the display_size() call?16:31
alf_kdub: or is the first one just to set up the environment, not actually part of the test?16:33
kdubalf_, yes16:34
kdubalf_, i guess that expectation could be removed16:34
alf_kdub: it's ok, I was just wondering if it makes sense to put a Mock::VerifyAndClearExpectations() before the second expectation16:36
alf_kdub: to ensure that getDisplayConfigs_interface is called in the constructor, but since it's more of an environment setup it doesn't matter16:37
=== alan_g is now known as alan_g|afk
kdubkgunn, tvoss https://www.youtube.com/watch?v=iZ_iIZg4Xbw17:05
thiagoandradeI followed this http://unity.ubuntu.com/mir/installing_prebuilt_on_pc.html and then thishttp://unity.ubuntu.com/mir/using_mir_on_pc.html. But When I try to run Mir on VT1 I get an error "mir: error while loading shared libraries: libandroid-input.so: cannot open shared object file: No such file or directory"17:06
kgunnkdub: freaking awesome!!!17:06
thiagoandradeThe problem is that I can't find such package in the repositories.17:07
kdubkgunn, :) sorry for the shaky camera, bad lighting and narration :P17:07
tvosskdub, epic :)17:07
kdubthiagoandrade, build system bug, let me try to find the number17:08
tvosskdub, is this using the hwc :)17:08
kdubthiagoandrade, https://bugs.launchpad.net/mir/+bug/116425317:08
racarrmorning17:08
ubot5`Launchpad bug 1164253 in Mir "mir links to libandroid-input.so, but does not package it or Depend on a package that provides it" [High,In progress]17:08
kdubtvoss, hwc 1.1 with gpu composition17:08
tvosskdub, so the composition is accelerated?17:09
kdubwell, its always been accelerated, now it just doesn't flicker and tear and look bad17:09
tvosskdub, cool :)17:09
tvosskdub, let me share on google+ :)17:09
kgunnkdub: dude...you realize everyone's gonna want play with that config...like, now :)17:12
kdubthey can play with our egltriangle demo much more easily :)17:14
kgunnkdub: i just shared with unity ui guys...everyones pumped!17:15
kgunnkdub: look so nice...like buttah!...no jank or tears...nice work man17:16
thiagoandradekdub, Sorry had to do something. Let me check that bug.17:17
kdubkgunn, thanks!17:18
thiagoandradekdub, Basically that means I can't build Mir?17:19
kdubthiagoandrade, its built, it just doesn't install one of the .so's in the right place17:19
thiagoandradekdub, I don't know if I'm gonna be of any help, but I was hoping I could help in the development of Mir. The problem is that until now I've not been able to build and run Mir.17:27
kdubthiagoandrade, well, hopefully its easier when there aren't bugs. if you're using our guides, and something doesn't make sense, a good way to help would be to submit a patch (once you've figured it out) to the doc/ folder in lp:mir17:28
racarrIt should work fine it built from source yes?17:30
kdubyes, i think so... but there's gotchas that I'd guess aren't documented17:32
thiagoandradeSo building from source I should not get that error, right?17:34
racarrRight :)17:34
thiagoandradeSo I'm trying that. Let you know if I got any problem ;)17:35
racarrGreat.17:39
thiagoandraderacarr, I got this error on 51% of the build: "Built target mir_demo_client_unaccelerated /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libEGL.so: undefined reference of `mir_egl_native_display_is_valid'"17:49
racarrthiagoandrade: Hrm maybe something landed that wasn't supposed to17:50
racarrlooking17:50
racarrthiagoandrade: I don't know whats going on. my guess is we need to remove the mesa in the ppa17:52
racarrrebuild*17:52
racarrthough I'm not sure how it could be broken like that...17:52
thiagoandraderacarr, Is there a manual or guide to compile the custom mesa I need?17:53
racarrthiagoandrade: https://github.com/RAOF/mesa17:53
racarr ./configure --disable-gallium-egl --enable-gles2 --with-egl-platforms=x11,drm,mir,wayland --enable-gbm --enable-shared-glapi --with-gallium-drivers=r300,r60017:53
racarrperhaps change --with-gallium-drivers17:54
racarrthiagoandrade: In this case...you might need to install17:54
racarrlibmirclient from your partial build (so you can build mesa)17:54
racarri.e. go to build/src/client. make install17:54
racarrthen will be enough to build and install mesa17:54
racarrthen I bet mir build will finish17:54
racarrwill try and make sure the ppas are updated this afternoon :)17:54
thiagoandradeOk, I'll try. Let you know. ;)17:55
=== alan_g|afk is now known as alan_g
=== alan_g is now known as alan_g|life
racarrGot a qml terminal emulator (https://github.com/jorgen/yat) running with input19:13
racarrwas able to type and initiate tab completion (and modifiers and stuff work!)19:13
racarrsomehow enter doesn't work though19:13
racarrnot sure where the problem is19:13
kgunnracarr: weird....like the button(ui) depresses...but nothing handles it?...or you literally don't even see the event?19:16
racarrkgunn: Like the terminal emulator relied on an old Qt behavior19:20
racarrwhere translating Key_Enter to string would produce \n19:20
racarrnow it seems it doesnt19:20
racarrthats my best guess :) I got it working19:20
kgunncool19:21
kgunnnice to see stuff falling together19:21
racarrhmm19:24
racarrnot enough keys work for emacs to work19:24
racarrIm going to try and get enough key mapping to work to make emacs work19:25
racarrthen write a demo shell that can alt tab then I can uninstall X1119:25
tvossracarr, that needs to go to the quotes wall :)19:26
racarr:D19:27
thomimorning folks19:29
=== kdub is now known as kdub^lunch
racarrMorrrnin!19:29
thomiracarr: are you able to comment on this please? https://code.launchpad.net/~robert-ancell/mir/shared-android-input/+merge/15701719:34
thomiI need the mir packages to work before I can complete my glmark work :-/19:35
=== kdub^lunch is now known as kdub
thomirobert_ancell: are you around?20:29
robert_ancellthomi, yes, otp at the moment20:29
robert_ancellthomi, free now20:30
thomirobert_ancell: OK, when you get a minute, do you mind if I approve this MP of yours to fix the packaging? https://code.launchpad.net/~robert-ancell/mir/shared-android-input/+merge/15701720:30
racarrThere was a reason it was shared originally but maybe it has mysteriously resolved itself20:30
robert_ancellthomi, sure, I'm not sure what Jenkins is complaining about20:30
robert_ancellthomi, I just merged to see if that would help but it has now20:31
robert_ancellnot20:31
* thomi pushes the big red button20:31
robert_ancell:)20:31
thomidone20:31
racarrWe merged it with failing jenkins?20:32
racarrI dont think that was a good idea -.- the merge fail is probably like20:32
racarrjenkins fail*20:32
racarrwell how is anything else going to pass jenkins now?20:32
thomiracarr: jenkins will do a proper merge, build, test before merging it into trunk20:32
thomiautolanding != CI20:32
racarroh20:32
racarrI thought when you said the big red button20:33
racarryou meant you were just like20:33
robert_ancellbig red override :)20:33
racarrpushing ;)20:33
thomisorry, I meant "I'm approving the MP"20:33
thomiwords 'n stuff20:33
thomirobert_ancell: So your branch didn't land, and I think the problem is that g++ segfaults :-/21:46
robert_ancellthomi, ech!21:47
thomiat least, on my machine, I'm unable to build your branch due to g++ segfaulting21:47
RAOFthomi: Segfaulting, or suffering an Internal Compiler Error?21:49
robert_ancellthomi, is it a memory issue?21:49
thomirobert_ancell: segfaulting21:49
robert_ancellthomi, yeah but due to running out of memory?21:49
thomirobert_ancell: I have 16GB or memory, so I sure hope not ;)21:49
robert_ancellI don't think so then :)21:49
* robert_ancell rebuilds again to check here21:50
thomiwill go make coffee while this build chruns through21:50
thomi*churns21:50
kgunnthomi: it might chrun...you never know21:53
RAOFkgunn: Oh, StevenK (A launchpad guy) told me that the issue that was preventing you from deleting a bunch of milestones has been resolved now, so you can go ahead and do whatever deletion takes your fancy.21:54
kgunnsweet...now duflu will be less annoyed21:55
kgunnhmmm....it remembered....already deleted21:56
robert_ancellthomi, hmm, it fails here now21:56
robert_ancellkgunn, oh, I worked around the LP issue by moving the milestone then disabling it21:57
racarrhmm22:01
racarrI can't figure out how Shift+4 is becoming $ on the phablet.22:01
robert_ancellracarr, thomi, does this segfault mean anything to you? http://paste.ubuntu.com/5678081/22:03
thomirobert_ancell: ahhh, I just noticed that it is indeed the acceptance tests failing. Not sure how I missed that before22:07
thomirobert_ancell: so we're trying to destroy an android::KeyCharacterMap at program exit, and that fails for some reason22:12
thomirobert_ancell: maybe we can try without the global data..?22:14
* thomi looks through the source code22:14
thomirobert_ancell: this is really odd - trunk works fine, something about building the input library as a static lib is causing the acceptance tests to fail, and then segfault.22:36
thomiI think I'll leave this in your more capable hands :)22:36
robert_ancellthomi, lucky me! :)22:36
thomiheh22:36
racarrthomi: I think it has to do with the binary linking against both libmirserver22:40
racarrand libmirclient22:40
racarrand libandroidinputtransport22:40
racarrand some sort of22:40
racarrstatic initializer double something scenario22:40
racarrI dunno I saw it and was like "Oh this needs to be a shared library"22:40
racarrand thats why its a shared library ;)22:40
racarrthats as deep as I went22:40
racarrim tired of fiddling with the (due to be replaced)22:41
racarrandroid keymapping system22:42
racarrso I am going to go ahead and just replace it with libxkb-common22:42
racarreta ~1 day22:42
RAOFracarr: Woo!22:43
RAOFracarr: Remember to badger daniels (in #xorg-devel or elsewhere on freenode) about any limitations/problems in libxkbcommon you find. :)22:43
racarrRAOF: It seems really easy22:47
racarrthe only question is where exactly to do it22:47
racarroh22:47
RAOFWe do it client-side, right?22:48
racarrI think just qtubuntu is fine for now.22:48
racarryeah22:48
racarrThe thing is22:48
racarris it part of MirEvent22:48
RAOF(Possibly with an optimisation to build the mapping-table server-side and share it with clients)22:48
racarror is it double client side22:48
RAOFDo you mean - do we make clients manually apply the keymap?22:49
racarrI guess right, is it part of the toolkits job22:50
RAOFOr do we show them shiny pre-processed, gleamingly mapped keys?22:50
racarror does MirKeyEvent include like22:50
racarruint32_t unicode or whatever22:50
racarryeah22:50
=== rsalveti_ is now known as rsalveti
racarrI guess22:51
RAOFMy feeling is that MirKeyEvent should emit fully-processed unicode.22:51
racarrwhy be a jerk and make every toolkit do it22:51
racarryeah22:51
RAOFAnything that wants to preprocess the stream (input methods, etc) has to go through the shell.22:51
RAOFBecause the *shell* gets to see raw scancodes, right?22:51
racarrwell22:52
racarrpresumably KeyEvent has like22:52
racarruint32_t keycode, uint32_t unicode22:52
racarrin the case of22:52
racarrevdev->xkb22:52
racarrthe distinction between the scan and key code is kind of weird/unclear22:53
racarrand mostly involves adding 822:53
RAOFHeh.22:53
RAOFSo, question - composing characters. I've got <menu> set as the compose key, so when I hit <menu>e" I get ë.22:54
RAOFHere we have three key events turning into a single uint32_t unicode.22:54
RAOFWhat does Mir send?22:54
racarra KeyEvent but instead of action22:54
racarrdown or up22:54
racarrEVENT_ACTION_MULTIPLE22:54
racarrkeycode is 022:54
racarrand unicode is the only useful field22:54
racarrit's the same sort of thing as when22:55
racarrhey wait22:55
racarreh nvm22:55
racarrthinking about weird onscreen keyboard things :)22:55
RAOFevdev is sending you three complete down+up pairs, plus modifiers - <menu>down/up, <e>down/up, <shift>down, <'>down/up, <shift>up.22:56
RAOFThe client probably only wants to see ë.22:56
RAOF(*Most* clients; games and maybe other things want to see the full event stream)22:57
RAOFOr, I guess more accurately - most clients do *not* want to act on the <e>down/up and shift+<'>down/up.23:00
=== ubot5` is now known as ubot5
RAOFracarr: We should probably ask desrt about what he thinks would be maximally awesome.23:01
racarrMm23:02
racarrWhy isn't he here23:02
racarrdifficult to write test this xkbcommon stuff...23:22
racarrthe tests for*23:22
racarrcode is pretty straightforward I think23:23
RAOFWould a change to xkbcommon make the tests easier?23:28
racarrIf it were all mockable XD I dunno23:30
racarrill think about it23:30
racarrthere are so many options rather than take 2 days and try and figure it all out myself23:39
racarrI am going to take 2 hours and make a prototype branch23:39
racarrand ask for comment :)23:39
RAOFracarr: I mention this because Daniel has explicitly asked me to be notified of any annoyances we have with using xkbcommon; if there's something that would make our lives easier...23:39
racarrGood to know :)23:40
RAOFSo, I think my solution for mesa's in-process-egl changes is to have a EGLPlatformType→Drv map in EGLModule, and construct a new driver iff there's not currently a driver for that platform.23:47
RAOFI don't believe that violates any spec, won't leak drivers, and we should even be able to have it transparently unload drivers if the last-using display gets closed.23:48
racarrRAOF: Seems like the right thing to do23:50
racarrRAOF: Do you have some time to work on it or do you want me to plan on it?23:51
RAOFI should be able to do it today.23:51
racarroh great :)23:51
RAOFWe can land that and use-dma-buf at the same time :)23:51
RAOF(Incidentally, feel like reviewing that? You're the last "needs fixing")23:52
racarrRAOF: Will in 15-20 minutes23:55
racarrfeel like I am close to unwinding my thought and getting a solid plan on key-mapping23:55
RAOFWoot!23:55
RAOFNo huge rush, unless you plan to land changes that conflict again :P23:55

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