[01:09] racarr: If you're still in, I've responded to your ANR review. [09:41] alf_: anpok should I MP mir_*_event_input_event(), mir_*_event_get_base_event() or ...? @https://code.launchpad.net/~alan-griffiths/mir/event-timestamps/+merge/262879/comments/658874 [09:43] alan_g: IIRC the more modern format has no "get" [09:43] Although we have plenty of gets [09:44] Oh, I think the event casting functions do have gets [09:44] Just field accessors don't use get [09:46] duflu: I'm trying to find out what the team thinks is consistent. (My preference is to avoid this dilemma but review comment...) [09:46] alan_g: We are inconsistent right now, using both. But I think my new event functions are still the newest ones, and they dropped the "get" [09:46] But not for the casting functions [09:47] duflu: Unfortunately we are not as consistent as that, all accessors and casting functions for MirEvent and MirInputEvent use 'get', accessors for MirKeyboardEvent, MirPointerEvent etc do not use 'get' [09:47] alf_: Correct. The clean-up isn't really complete [09:47] and input_configuration_event too uses _get_ [09:47] I didn't want to break too many APIs. It was a large effort already [09:47] hm and time instead of timestamp [09:48] so we haveni used timestamp yet in that part of the api.. i am happy with sticking to 'time', even when it is less clear than timestamp. [09:50] does anyone has hints on how to start an unity8/mir session without using lightdm? [09:50] duflu: mir_keyboard_event_timestamp(kev) or mir_input_event_get_time(mir_keyboard_event_get_base_event(kev)); [09:50] or to get debug input from Mir server when it fails to start? [09:50] still having http://paste.ubuntu.com/11763124/ and trying to figure out how to get info [09:50] "ERROR: QMirServer - Mir failed to start" [09:52] seb128: I saw that error last time I tried it too. Safe to say it's a Unity8/QtMir error, not part of Mir [09:52] alan_g: duflu: Although I don't like it much (it doesn't read well), as things stand, the most consistent option would be mir_keyboard_event_input_event() or _base_event() [09:52] duflu, what did you try? unity8 on wily? on snappy? ... ;-) [09:53] Agreed. I would prefer to keep on the path of removing "get" but there are a lot to remove yet [09:53] seb128: On wily desktop [09:53] duflu, oh, so wily issue? [09:53] duflu, thanks [09:53] need to try that later on [09:53] I'm trying on snappy images and I assumed the issue had to do with that [09:54] seb128: Any error in Mir and you'll see a detailed multi-line exception thrown [09:54] k [09:54] That error is outside of Mir [09:54] Although possibly related to Mir, obviously [09:54] I see, going to try to downgrade qtubuntu and other things after lunch then [09:54] duflu: There is an error when loading input_stub Undefined symbol: _ZN3mir6events10make_eventEll17MirKeyboardActi [09:54] duflu, thanks for the hint ;-) [09:54] I tried to move that .so away but it doesn't make the session start [09:55] alf_: Sorry to hear. I haven't touched it for a couple of releases and need to EOD in a minute. Not sure how to help [09:56] that's bug #1458689 [09:56] bug 1458689 in mir (Ubuntu) "[vivid-overlay] input-stub.so fails to load on i386" [Undecided,Confirmed] https://launchpad.net/bugs/1458689 [09:56] which is fix commited it seems [09:56] k, need to go for lunch, bbiab [09:56] duflu: I just wanted to draw your attention to it, because you said you had seen the same error [09:56] alf_: Seb is right --> bug 1458689 [09:57] Which we claimed fixed [09:57] and sits in 0.14.0 [09:57] alf_: that sounds like conflicting versions of libmircommon8 [09:58] Umm, 5 is the latest (!?) [09:58] s/libmircommon/libmirclient/ [09:59] ah yes the error was that input-stub did not link libmirclient and hence this is an old mir-test-tools package? [09:59] that did not get updated.. [10:00] seb128: try deleting input-stub.so [10:01] I don't think U8 needs it (but I don't think it causes the real error either) [10:02] alan_g: Unfortunately I expect that's fatal (like in bug 1439078) [10:02] bug 1439078 in Mir "[regression] Demo servers crash on start-up if MIR_ENABLE_TESTS=OFF - std::exception::what: bin/../lib/server-modules/input-stub.so: cannot open shared object file: No such file or directory" [Medium,Triaged] https://launchpad.net/bugs/1439078 [10:03] that message should be generated by the graphics module prober [10:03] the one in the log [10:03] because input-platfor-lib is only set for tests.. [10:03] *platform [10:03] * duflu slides out of sight [10:03] (through the wrapper) [10:04] seb128: Could you please pastebin the output of "dpkg-query -l '*mir*'" [10:07] anpok: you're saying lp:1439078 is another "feature" of wrapper? [10:10] alf_: anpok so the least bad option is "mir_keyboard_event_input_event()"? [10:14] alan_g: I see three naming options across the event API: 1. everything uses get 2. nothing uses get 3. Only up/down casting functions use get (or perhaps mir_keyboard_event_as_input_event())? [10:16] alan_g: We messed up naming consistency, this is not the right time to fix it as a whole... so choose anything you like, probably less intrusive is mir_keyboard_event_input_event() [10:17] alan_g: (although as I mentioned it doesn't read very well) [10:18] FWIW My original proposal avoids this pain. [10:18] alan_g: or my abuse of it .. yes! [10:18] alan_g: but introduces new pains :) [10:20] alan_g: i could avoid it with two wrappers - one for tests and one for demo clients/servers (or disable MIR_ENABLE_TESTS=OFF) .. but actually all of that will become inrelevant as soon as I cleanup the platform loading for input [10:21] which we should do right after mir on x [10:21] anpok: agreed [10:21] or maybe not .. because it might then always pick the x version.. hmm [10:22] Not if it is done right. ;) [10:22] oh need to run.. I am offline now.. [10:23] need to pick my daugther.. [10:23] alf_: writing a few trivial functions once isn't a big pain. [10:24] alan_g: the pain is that we are duplicating functionality in our API [10:30] alf_: I'd happily deprecate mir_input_event_get_time() - I don't think the timestamp is useful without deciding the event type. [10:36] alan_g: We have an implicit hierarchy of input events (implicit because C cannot express this very well), e.g., MirKeyboardEvent is-a MirInputEvent. I understand the convenience of being able to access properties of the base type through direct accessors of the derived, but at the same time it feels less elegant and more wasteful to do so. [10:38] alan_g: Plus if we choose to have the direct accessors, we might as well remove the base type. [10:38] I'd happily deprecate MirInputEvent too and not try for commonality. [10:40] Can anyone point me to a good introductory document detailing the interactions between upstart, dbus, unity8, mir and qtmir on the phone? I'm keen to know how an app is launched, gets a surface for display and has its lifecycle controlled. Thanks [10:40] alan_g: I would be more amenable to a complete MirInputEvent removal/deprecation vs having direct accessors for base type properties, but I think this warrants a wider discussion [10:45] mcphail: Unfortunately I am not aware of a comprehensive document, perhaps someone from the unity8 team has more info [10:45] mzanetti: ^^ ? [10:46] thanks alf_ - I find this very confusing === mibofra is now known as Guest75330 [12:00] alf_, http://paste.ubuntu.com/11772977/ [12:24] seb128: thanks, everything looks in order === Guest75330 is now known as mibofra [13:46] mzanetti, seb128 says u8 doesn't work on willy - are you guys aware? [13:48] dandrader, ^ [13:49] olli, mzanetti is on holidays today and tomorrow [13:49] I'm seeing the same issue than I was describing yesterday on my test laptop, it worked on vivid, I added the wily source and did an apt-get install unity8 (which upgraded unity8/mir/qtmir/some other things and now unity8 session doesn't work anymore) [13:49] duflu mentioned a similar issue earlier [13:49] olli, no, I'm not aware of that [13:50] "ERROR: QMirServer - Mir failed to start" [13:50] seb128: I saw that error last time I tried it too. Safe to say it's a Unity8/QtMir error, not part of Mir [13:50] seb128: On wily desktop [13:50] dandrader, ^ [13:50] any idea how to debug? [13:50] dandrader, ah, didn't realize [13:51] olli, it's just that he never logs off irc, so you never can tell if he's really there :) [13:51] dandrader, would be good if you could give seb128 a hand for a bit or help find the right person who could help unblock seb [13:51] yeah, else he might port unity7 to the phone instead :) [13:51] seb128, I'm still on vivid+overlay-ppa [13:52] seb128, but let me think.... [13:52] seb128, i assume you are on an x86 arch with that ... did you by accident get some -gles packages installed ? [13:52] dandrader, do you have any debugging hint/any way to get a log from qmirserver? [13:52] out of "failed to start" [13:53] (thats solely for x86 the emulator i think) [13:53] ogra_, it is amd64 a&n [13:53] -the [13:53] ogra_, it is amd64 and no [13:53] ok [13:54] I also had that system working before I updated those packages [13:54] seb128, well, qtmir doesn't do much. it just tries to run its mir::Server instance and if it doesn't work it spills out this error [13:54] which include basically new qt/qtmir/mir/unity8/uitk [13:55] dandrader, can I try to start mir::Server by hand in some way to see what's going on? [13:55] or do we have a debug log that may include details on the error? [13:56] seb128, you might turn on some mir logging to see what's going on inside mir... [13:56] how? [13:57] seb128, through setting some environment variables. It's been a while since I last did it. Mir guys should know the exact var names [13:58] Mir guys ^ ;-) [13:58] :) [13:59] seb128, thing is, you can't find the env var names just by grepping mir code as they are generated procedurally. the way to get them, if I recall correctly, is running a mir binary with --help or something [14:00] seb128, like one of those sample mir clients or servers [14:01] alan_g, ^ [14:02] dandrader: seb128 http://unity.ubuntu.com/mir/component_reports.html [14:02] seb128, if you check qtmir code you will see it doesn't do much tweaking. it just runs a mir::Server and let's the magic happen [14:03] well, the magic doesn't happen on wily :p [14:03] seb128, it doesn't even know whether it's running as a nested server (under unity-system-compositor) or standalone [14:04] alan_g, thanks [14:06] alan_g, dandrader, so any idea which of those variables would be useful with that error? and where to set it? [14:07] seb128: I doubt that any will help your problem [14:07] :( [14:08] in fact that system seems to have a different issue [14:08] http://paste.ubuntu.com/11773504/ [14:08] std::exception::what: Failed to find platform for current system [14:09] seb128, oh, that's a good lead [14:18] the u-s-c log is http://paste.ubuntu.com/11773552/ [14:18] in case that's useful [14:20] bah, usc was outdated on that box, upgrading [14:22] hum, now it does the same as unity8 [14:22] "std::exception::what: Failed to find platform for current system" [14:22] dandrader, alan_g, ^ any idea how to debug that? [14:22] seb128: you on a mesa or android stack? [14:22] mesa [14:22] it's an amd64 desktop [14:22] seb128, that's mir stuff. sorry, can't help with that. out of my turf [14:24] seb128: install mir-graphics-drivers-desktop [14:25] I'm not sure of the full story but that's missing from the seed [14:25] is that a new package? [14:26] Mir used to pull in both sets of drivers, but that's bad as it install X on the phone [14:26] seb128: try apt-get install mir-graphics-drivers-desktop [14:26] alan_g, that worked! [14:26] So we're in a partly fixed state now [14:26] AlbertA, ^ [14:27] alan_g, AlbertA, dandrader, thanks ;-) [14:28] seb128: we should figure out how it could be made easier [14:28] alan_g, mir should probably pull the android drivers on armhf and the desktop ones on i386/amd64 [14:28] though I know it's not a right approximation [14:28] we might do standard desktop on armhf or android on i386 [14:29] seb128: RAOF "owns" this issue [14:29] good to know [14:30] seb128, we do the latter in the emulator [14:31] (and yeah, snappy will hopefully bring desktop to armhf) [14:31] ogra_, do we have any way to have a Depends: something (android) | somethingelse (desktop)? [14:31] not really, no [14:32] livecd-rootfs hacks ... [14:32] seb128: right, it's just than Debian depends is not rich enough to describe "platforms" [14:32] shrug, so that was the issue on my test laptop [14:32] we do have in the seeds for desktop-next and ubuntu-touch [14:32] the snappy image has mir-graphics-drivers-desktop though [14:33] so here it's something else :-/ [14:33] this will become super tricky WRT convergence :/ [14:34] (where we need both seeds but device specific backend selection) [14:35] alan_g, AlbertA, is Mir supposed to work on stock ubuntu wily under virt-manager with spice/qxl enabled? [14:35] (like described on http://unity.ubuntu.com/mir/setup_kvm_for_mir.html) [14:36] seb128: I think anpok had that working on V+O so I'd expect it to work on wily [14:36] is the build a new kernel still needed with the newer version is ubuntu? [14:37] anpok: ^? [14:38] hm [14:38] seb128: yes [14:39] i use that for testing usually [14:39] anpok, does one need to build a new kernel? [14:39] seb128: the stock vivid and wily kernel is fine.. [14:39] k [14:39] seb128: try the latest docs: http://bazaar.launchpad.net/~mir-team/mir/development-branch/view/head:/doc/setup_kvm_for_mir.md [14:40] alan_g, anpok, thanks [14:42] bah [14:43] back to "ERROR: QMirServer - Mir failed to start" [14:43] is there any way to start that QMirServer by hand to know why it fails to start? [14:47] alan_g, anpok, "With that we have enough support for EGL and GLESv2 to run Mir." [14:47] does it mean that we need to use gles rather than gl under the vm? so different set of driverS? [14:47] no the GL support of llvmpipe is good enough for unity8 [14:50] k, I've mir_demo_server working in the vm [14:50] so it's just unity8 failing on that v [14:50] "ERROR: QMirServer - Mir failed to start" [14:51] which I'm clueless on debugging :/ [14:51] need help there... [14:52] dandrader, I can't run unity8 as an app under a mir demo server, right? [14:52] unity8 is a mir compositor/server by itself? [14:53] seb128: unity8 normally runs under a mir compositor (USC) [14:54] alan_g, can I start that manually? [14:54] not sure what magic is lightdm doing [14:54] seb128, I don't know. but that would be similar to unity8 running under unity-system-compositor, which is what we have on the phones. so maybe you can? [14:55] seb128: you'd have to ask one of the U8 guys [14:55] alan_g, that's what I'm trying, it seems only dandrader is around from u8 ;-) [14:56] seb128, start what, unity-system-compositor? [14:58] seb128, if I'm not mistaken there's a "unity8-mir lightdm session" package you can install on your desktop. do you have it? [14:58] seb128, which will show unity8-mir as a login option on the regular lightdm [14:58] dandrader, right, login into unity8 session gives me a [14:58] "ERROR: QMirServer - Mir failed to start" [14:59] in .cache/upstart/unity8.log [14:59] which I'm trying to debug [14:59] so I'm trying to start things by hand in case there is some more info on stdout [14:59] doing "sudo unity-system-compositor" gives me a "Bad file descriptor" error :-/ [15:00] alan_g: that error seb128 sees indicates that the main_loop never 'runs' [15:00] the u-s-c.log from lightdm indicates "pause" [15:01] which I guess it means it never gets frames from unity8 [15:01] seb128: try initctl list-env | grep MIR [15:01] set those env variables and start unity8 manually [15:02] AlbertA, that assume a working session to run the command? [15:03] seb128: oh..maybe...:) [15:03] seb128: so usc is running? [15:03] the vars are usually: [15:03] MIR_SERVER_NAME=session-0 [15:04] no it's not atm, but I can have it up by trying to log into unity8, which fails [15:04] UNITY_MIR_SOCKET=/run/mir_socket [15:04] MIR_SERVER_PROMPT_FILE= [15:05] MIR_SOCKET=/run/user/< id >/mir_socket [15:05] AlbertA, I tried http://paste.ubuntu.com/11773756/ which alan_g shared yesterday from an old irc discussion [15:06] but I get a "Exiting Mir! Reason: Nested Mir and Host Mir cannot use the same socket file to accept connections!" [15:07] seb128: ok so you have a mir_demo_server running ? [15:07] which uses /tmp/mir_socket [15:08] you shouldn't need sudo permissions for unity8 [15:08] same error as an user [15:08] set UNITY_MIR_SOCKET [15:09] that should point to the root compositor [15:09] "Nested Mir and Host Mir cannot use the same socket file to accept connections!" indicates that --host and --file are the same (It could be defaulted) [15:09] and MIR_SOCKET should be something different than the socket used by the root compositor [15:11] how do I start the root compositor? [15:11] doing "sudo unity-system-compositor" gives me a "Bad file descriptor" error [15:11] seb128: so unity-system-compositor is not currently running? [15:12] no [15:12] seb128: I'm a bit late to this party, but the 2 things that made it work for me were changing my lightdm.conf to use type=unity and enabling the hadware cursor in unity system compositor [15:12] seb128: lightdm should be starting u-s-c [15:13] josharenson, when on the greeter? or on session login? [15:14] * josharenson gets out spare laptop w/ unity8 [15:15] seb128: it looks like its running before starting the unity8 session [15:15] josharenson, let me reboot that machine, I tried to log in unity8 which fails, several time [15:15] and started mir servers by hand [15:16] so maybe something made the usc instance go away [15:16] seb128: I can send you the exact steps that worked for me (was fairly straight forward), but as a disclaimer, my machine is maybe a month or more out of date [15:17] josharenson, step for what? starting unity8 by hand? [15:18] ok, so booting doesn't give me a system compositor [15:18] seb128: for starting things manually.... you could try something like this: http://pastebin.ubuntu.com/11773818/ [15:18] oh, sorry, it does [15:18] seb128: installing/starting unity8-desktop-session-mir [15:18] AlbertA, thanks, trying [15:25] AlbertA, I get a "Failed to connect to server socket: No such file or directory" [15:25] Nested Mir Platform Connection Error [15:26] josharenson, yeah, installing/getting unity8 to work is usually fine, I'm trying to figure why mir fails to start on that snappy personal debugging image though, so it's more "how to figure out what it doesn't like" rather than user "get system working" ;-) [15:26] seb128: ll /tmp/mir_socket? [15:27] seb128: ah ok [15:29] AlbertA, srw-rw-rw- 1 root root 0 juin 25 15:23 /tmp/mir_socket= [15:32] seb128: then specify MIR_SERVER_HOST_SOCKET=/tmp/mir_socket instead then... [15:35] AlbertA, instead of which one? UNITY_MIR_SOCKET? [15:36] right [15:44] AlbertA, wooot, unity8 working [15:45] which is nice [15:45] but doesn't help me debugging why the normal session hits a "ERROR: QMirServer - Mir failed to start" [15:46] seb128: bummer [15:46] seb128: so you do have a unity-system-compositor running? do you have a /run/mir_socket? [15:48] I have one running [15:48] so try MIR_SERVER_HOST_SOCKET=/run/mir_socket now... [15:48] from the ps command line I guess the socket is /run/lightdm-mir-0 [15:48] or that... [15:48] :) [15:49] should I try to use that azs MIR_SERVER_HOST_SOCKET? [15:50] oh, get the same error that the unity8.log then [15:50] "ERROR: QMirServer - Mir failed to start" [15:50] no more details though :-/ [15:50] works if I use the demo shell though [15:50] so I guess an issue with usc? [15:51] look at /var/log/lightdm/unity-system-compositor.log [15:51] AlbertA, http://paste.ubuntu.com/11773781/ [15:52] it acts like if it was waiting for u8 [15:52] pause.... [15:52] ummm [15:57] Morning! [16:05] racarr: morning! [16:06] vogons: when are the pause handlers called? [16:12] seb128: so from what I can see, pause would be called when you switch away from the VT === dandrader is now known as dandrader|afk [16:27] AlbertA, oh, on those systems I get warnings like [16:27] "Error using VT_ACTIVATE 7 on /dev/console: Inappropriate ioctl for [16:27] device"" [16:27] I wonder if that's the issue... [16:28] seb128: sounds plausible [16:29] seb128: oh...somebody kgunnn or mterry were saying there was a race between agettty and mir getting the vt....but I think that was snappy? [16:30] but it may explain why you can start a mir_demo_server after without issues [16:31] AlbertA, that was on snappy yeah [16:33] seb128, i've gotten that and didnt have a pause (though im not using unity8) [16:33] wasnt that the point of USC.sleep? [16:38] AlbertA, I'm trying to get unity8 session to work on snappy, so that's a snappy system I'm on [16:38] AlbertA, thanks for the help/hints [16:39] seb128: ah...ok [16:39] I need to go but I'm going to follow up on that tomorrow [16:39] mterry, can you bounce me info on that/workaround if you have some? [16:40] bye === alan_g is now known as alan_g|EOD === dandrader|afk is now known as dandrader === dandrader is now known as dandrader|afk === mibofra is now known as Guest52290