/srv/irclogs.ubuntu.com/2014/08/12/#ubuntu-mir.txt

=== Trevinho is now known as Trevinho|holiday
mhall119thanks ogra_, I may just rig up my old phone to record00:06
racarrBack for more.01:31
racarr(I just cant get enough)01:31
=== chihchun is now known as chihchun_afk
mhall119hey racarr02:14
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
RAOFStupid valgrind. Be faster. On the N1005:55
dufluHmm, launchpad and Canonical servers seem to be down... ?08:20
chunsangduflu: I think so, couldn't connect to Canonical servers.08:21
seb128it's being looked at08:22
dufluI have the whole rest of the internet and still feel cut off :/08:24
alan_gLaunchpad seems to be working here - but canonical irc isn't08:25
duflugreyback: Can you explain what it is exactly that makes the summary screen appear when waking from sleep? Is it Unity8 getting a wakeup event of some sort?08:25
greybackduflu: u8 gets a dbus message from powerd when the display has been blanked - for which it draws the greeter (summary screen as you called it)08:27
duflugreyback: OK, cool. So my solution should work then. Unfortunately I can't x-compile for android now I deleted my cache and launchpad is gone08:28
greybackduflu: not sure what you're fixing but uhhh.. good job! :)08:29
duflugreyback: Wrong frame seen (sometimes) on wakeup08:29
greybackduflu: does it fix this too? https://bugs.launchpad.net/unity8/+bug/1353374 by any chance?08:30
ubot5Ubuntu bug 1353374 in qtmir (Ubuntu) "Last dash frame not posted to display" [Undecided,In progress]08:30
duflugreyback: Don08:30
greybackwoo!08:31
duflugreyback: Don't think so08:31
greybackaww08:31
duflugreyback: I'm only working on restarts right now08:31
greybackok08:31
duflugreyback: Although I suspect Mir shouldn't need fixing. Why wouldn't you get U8 to have some greeter frame ready when it goes to sleep?08:31
dufluMir is getting *fixed* regardless08:32
dufluI mean, switch to greeter mode and then it redraws at the sleep rate of 10Hz08:32
greybackduflu: u8 isn't blocked from drawing when the display goes to sleep. So it does eventually draw the greeter08:32
alan_galf_: do you have any insight? https://code.launchpad.net/~alan-griffiths/mir/deduplicate-platform-plugin-symbols-maps/+merge/22993908:32
greybackduflu: there's some reason it takes >1 second for u8 to actually show the greeter though. That I don't understand08:33
duflugreyback: That's a worry. It means my solution of waiting 500ms for a fresh frame before forcing one isn't enough08:33
duflugreyback: Although I have added a *flush* for the whole scene. Need to get launchpad back to test on the phone08:34
alf_alan_g: I am OK with exporting the mesa symbol for now, I can't think of a sane way to do it otherwise (but admittedly I haven't thought too hard).08:39
alan_galf_: I don't feel I've any real understaind08:40
alan_gunderstanding of the problem it solves - just how the current solution works08:40
duflualan_g: (I still can access LP but) I reproduced the link failure of USC again today. Seems I was the only one testing in a pure clean environment so still had the bug after yesterday's fix. Found the bug is actually in USC so proposed a final fix there08:40
* alan_g wonders why backspace is so close to enter08:40
alan_gduflu: I think you were testing USC trunk not .../devel-mir-next which has a similar fix (I think yours is probably more correct though)08:42
duflualan_g: Tested both today :)08:42
dufluThe bug is consistent08:42
dufluI do wonder how the silo(s) built USC at all. It means they're not building it correctly if they succeeded last night08:43
alan_gduflu: camako and I were wondering the same about Friday's "successful" build08:44
alf_alan_g: problem is: because Mesa supports multiple platforms, when we call eglGetDisplay(handle), Mesa needs to decide which platform to load based on handle. For mir it tries to load the ...is_valid function and uses that to check if that is a Mir handle so it can use the mir platform.08:44
alan_gEither the environment or the build settings must be significantly different in a debuild08:45
alf_alan_g: an idea is to expose that function through a helper library instead of mirclientplatform08:45
alan_galf_: I think there should probably be a better way, but without a second platform requiring analogous capability it is hard to know what the right abstraction is. So I'm OK with exporting the mesa symbol for now (or trying to).09:10
duflualan_g: Where can I find the nested-server input event logic?09:13
dufluIs there a pass-through somewhere?09:13
alan_gduflu: not sure exactly there's an event handler around somewhere ... NestedOutput::mir_event(?) ... that takes input events and injects them in the input stack09:18
duflualan_g: Aha, you're right. I didn't think to look under graphics/ for input code :)09:21
dufluWhee, launchpad returns09:22
=== chrisccoulson_ is now known as chrisccoulson
=== pete-woods is now known as pete-woods|away
alf_Saviq: https://bugs.launchpad.net/mir/+bug/1353374 , have we concluded that it's qtmir or unity8 at fault here, I see that they are marked in progress for those components ?11:33
ubot5Ubuntu bug 1353374 in qtmir (Ubuntu) "Last dash frame not posted to display" [Undecided,In progress]11:33
Saviqalf_, Daniel was working on those, dunno how far he got though11:35
Saviqalf_, so I can't comment on whose fault it is yet11:35
alf_Saviq: ok, I will wait for Daniel... I just want to know if I should be looking into it from the Mir side of things11:36
alf_dandrader: Hi! About take_snapshot(): it is synchronous when returning an empty snapshot (e.g. when there is no session/surface), but ideally you should assume nothing about it, only that the callback will be called at some point.12:55
alf_dandrader: is this causing a problem for you?12:55
dandraderalf_, no really. just wanted to know12:57
alf_dandrader: ok12:57
alf_dandrader: for https://bugs.launchpad.net/mir/+bug/1353374, does "in progress" mean that you have traced the problem in unity8/qtmir?12:58
ubot5Ubuntu bug 1353374 in qtmir (Ubuntu) "Last dash frame not posted to display" [Undecided,In progress]12:58
mardyafter calling mir_connect_sync(), mir_connection_is_valid() returns false, and the error is: "connect not called"13:13
mardyany ideas?13:13
alf_mardy: do you have some code you can share?13:15
mardyalf_: http://bazaar.launchpad.net/~mardy/ubuntu-system-settings-online-accounts/trust-sessions/view/head:/online-accounts-service/mir-helper.cpp13:16
mardyalf_: lines 118-12113:17
alf_mardy: hmm, that's strange, is there an easy way to reproduce this?13:23
mardyalf_: not without building the branch... but I could try to write a simpler test case13:29
mardyalf_: or maybe the MirConnection is simply NULL?13:30
=== chihchun is now known as chihchun_afk
alf_mardy: not null, it would crash in that case13:31
alf_mardy: can you run under gdb and "catch throw" to see if any exceptions are thrown inside mir?13:31
mardyalf_: yep: http://paste.ubuntu.com/8026826/13:33
mardyalf_: let me see if I can install debug symbols...13:33
alf_mardy: so there are two aspects to this 1. that mir_connect_sync fails 2. that it returns an error message that is not expected13:39
alf_mardy: Let's focus on (1) since that's what's blocking you I presume13:40
alf_mardy: Which server are you trying to connect to?13:40
mardyalf_: the default one (I just run the app from the phone's terminal)13:42
alf_mardy: ok, what's your "MIR_SOCKET" env value?13:43
mardyalf_: the variable is unset13:44
alf_mardy: ok, then it should connect to $XDG_RUNTIME_DIR/mir_socket13:45
alf_mardy: probably /run/user/32011/mir_socket13:46
mardyalf_: do you mean that I should pass that instead of NULL, or you are just saying that it will connect there by default?13:47
alf_mardy: it should connect there by default, so need to do anything13:47
mardyalf_: OK, the file exists13:47
alf_mardy: ok, just to be sure can you confirm that XDG_RUNTIME_DIR is set properly?13:49
mardyalf_: yes, it's correct13:50
alf_mardy: so, unity8 has been known to reject connections that do not have an associated desktop file, can you try running with --desktop_file_hint=/usr/share/applications/online-accounts-ui.desktop (or some other valid .desktop file)13:52
alf_mardy: alternatively export  APP_DESKTOP_FILE_PATH=<desktop-file>13:53
mardyalf_: ah, right, there was an e-mail discussion about authenticating trusted helpers, that might be the issue13:57
mardydednick: hi! Does the above ring a bell to you? ^13:57
dednickmardy: looking13:59
greybackmardy: oh, should you not be using the trusted socket: $XDG_RUNTIME_DIR/mir_socket_trusted14:00
dednickmardy: is this a trust helper? or an app?14:01
mardygreyback: ah-ah! makes sense :-)14:01
mardydednick: a trusted helper14:01
dednickmardy: yeah. trust helpers need the trusted socket to connect otherwise qtmir will reject the connection14:01
mardydednick: OK, I will try that, thanks14:02
mardylooks like it's working! :-)14:06
mardygreyback: the helper is supposed to slide up from the bottom, right?14:06
greybackmardy: yep (dednick's work)14:06
mardythen it's working fine :-D14:07
greybackwoo!14:07
groot_kdub: Hello :). Did you find any solution to my problem? Earlier, I was running some mir_demo test in the phone. Most of them works fine, some failed with exception.14:59
kdubgroot_, no, flickering is usually caused by some timing problems that are tricky to pin down15:00
groot_kdub: Any particular log you need to identify the problem? Here's the tests log anyway, if it helps http://pastebin.com/aHqTs0qH.15:04
qenghoI upgraded to uptopic on my machine.  My xmir buffer n-1 problem is gone, yay.15:10
qenghomir test clients don't run, though.  mir_demo_client_basic    #->   Assertion `mir_connection_is_valid(mcd.connection)' failed.15:15
racarrGood morning15:21
racarrdelayed standup is mostlyu studying inpout resampling15:22
=== dandrader is now known as dandrader|afk
alan_gqengho: what are you using as the Mir server? Is it publishing an endpoint at $XDG_RUNTIME_DIR/mir_socket?15:27
qenghoalan_g: There is no socket. What am I using? Er, xmir, I think.15:28
alan_gXMir is an X11 server, not a Mir server - so I wouldn't expect it to support Mir clients.15:29
qenghoOh. I'm using regular desktop on Utopic. I have a client I wish to test. What's the best way?15:36
alan_gswitch to (say) VT1 & run a mir server (as root) e.g. "sudo mir_demo_server_basic"15:39
alan_g switch back to VT7 and sudo chmod a+rw /tmp/mir_socket15:39
alan_gthen run your app using /tmp/mir_socket as the socket (on command line or via $MIR_SOCKET)15:40
alan_gSwitch back to VT1 to see the results15:40
alan_gqengho: http://unity.ubuntu.com/mir/using_mir_on_pc.html15:41
qenghoalan_g: thanks.15:42
groot_kdub: I tested eglMakeCurrent() with some ALOG commands like this http://paste.ubuntu.com/8027461/15:43
groot_found that sometimes it reports "No context", "Not drawn", "No surface". But function returns EGL_TRUE.15:43
racarrIs anyone familiar wiht test failures in the phablet-test-run mir-demo-suites fixture on mako CI16:34
racarrtouchspot-renderable has failed CI twice because of that...it looks like the tests(I can't figure out how to run them yet) are just runnin16:34
racarrg16:34
racarra demo server and a client16:34
racarrwhich  I just did with the branch on a clean mako...16:35
racarror does anyone know how I can reproduce this suite locally? I don't seem to have it as an autopilot test suite which apparently it is16:41
racarr+ phablet-test-run -x -s 04ccca120acd4dea -v mir-demo-tester --mir-demo mir_demo_client_fingerpaint /tmp/mir_demo_client_fingerpaint-log16:42
racarrthis sort of stuff16:42
racarrhttps://launchpad.net/~chris.gagnon/+archive/ubuntu/mir-demo-tester perhaps16:43
robotfuelracarr: that doesn't use autopilot, I think that needs the mir-demos or mir-test-tools package to be installed16:45
=== dandrader|afk is now known as dandrader
racarrrobotfuel: Ah the -x arg to phablet-test...thanks :)16:47
racarrthe -s was so confusing I filtered out the -x too and had been trying to run it as autopilot I guess16:47
robotfuelracarr: the phablet-test-run -x just executes a command on the phone, the -s is the phone's serial number :D16:49
racarrrobotfuel: It looks like I need mir-demo-tester from the PPA? Or was I supposed to get it from some package in archive.16:49
racarrah16:49
robotfuelracarr: mir-demo-tester is in my ppa. it's not in the archive.16:50
=== alan_g is now known as alan_g|EOD
racarrkdub: Should I consider touchspot renderable rejected until demo shell is fixed?17:16
racarras long as demo shell is decorating based on renderable17:16
racarrthere is obviously no way to17:16
racarrhave it not decorate certain renderables17:16
racarrwithout adding information to renderable that17:17
racarrpost_renderables_if_optimized17:17
racarrcan't interpret17:17
racarr demo shell is fixed, renderable is fixed, the tesselate method is changed, whatever17:17
racarrI mean one "solution"17:22
racarris to have renderer accept scene elements17:22
racarrwhile display buffer would only accept renderable17:22
kdubracarr, yeah, thats somewhat what i'm thinking17:29
kdubi mean, Renderer needs to be picked apart, but thats a bit of a tough task17:30
kduband after lp:~kdub/mir/fix-1348330 lands17:30
kdubthe demo shell's compositor can operate on renderables17:30
kdubso then the scene elements can carry the info17:30
kdubsorry, rephrase17:30
kdubthe demo shell's compositor can operate on _scene elements_17:31
racarraha ok17:31
kdubactually, that one is moderately clear to land17:31
kduboh, yeah, have to track down that valgrind thing17:32
* kdub can shift to doing that17:32
racarr:) No real hurry on my end besides17:32
racarrgeneric trying to iterate on open branches in the morning17:32
racarrstyle situation17:32
kdubyeah, its about time to get that one through though17:34
racarr:) ok yeah it looks like after that it would be pretty straightforward to extend17:35
racarrwell17:35
racarrchange would_embellish to work in terms of scene elements17:35
kdubsure17:36
* kdub grumbles about GLRenderer17:37
kdubi think there should be SceneElements::with_shell_data(std::function<void(std::shared_ptr<void>)> const&)17:39
kdubor a get/set that shells can program in data thats affixed to the specific SceneElement17:40
kdubbut, doesn't clutter up core mir with a bunch of specific interfaces for decarotions/animations17:40
kdubthat all the shells want to rewrite anyway17:40
racarrmaybe...17:43
kdubyeah, doesnt really apply to the cursor stuff though, as that's something that comes out of 'core mir'17:45
racarrIt makes sense in that it solves problems so far we17:45
racarrsee between qtmir and demo-shell17:47
racarrI guess im still attached to this idea17:49
racarrof functional purity of the renderer with respect to17:49
racarrscene elements/renderables17:49
racarrwhich shell data, definitely kind of flies at17:49
racarron the other hand um17:49
racarrthat idea has never really panned out17:50
racarrnor has any reasoning why it17:50
kdubI guess I just don't see that the renderer is functionally pure right now :)17:50
racarrshould pan out really been proven17:50
racarrno! It's not17:50
racarrwell17:50
racarrI mean with respect to the renderables it almost is right there is a certain serializable input stream17:51
racarri.e. {buffer: 3, geometry: some rectangle}17:52
racarrI mean I don't know you can view it as outputting some hardware command stream17:53
racarrwhich obviously is stateful17:53
racarrdepending on overlay state and bla blabla.17:53
racarrbut you can also view, the renderer, and the renderer...backend (i.e. opengl, hwc...) as17:54
racarra function from Renderlist -> pixels17:54
racarrbut maybe that's not really particularly meaningful :)17:55
=== dandrader is now known as dandrader|afk
Nothing_MuchAre there problems with running XMir with the Oibaf PPA on Radeon APUs?19:09
racarr[ 68%] Building CXX object tests/unit-tests/CMakeFiles/mir_unit_tests.dir/graphics/mesa/test_buffer_allocator.cpp.o20:33
racarr[ 69%] [ 69%] Building CXX object tests/unit-tests/CMakeFiles/mir_unit_tests.dir/graphics/mesa/test_display.cpp.o20:33
racarr...whoops20:33
racarrselection buffer strikes again20:33
racarrhmm20:41
=== dandrader|afk is now known as dandrader
racarrugh20:45
racarrtried moving is_a_surface/needs_decoration/whatever to SceneElement20:45
racarrbut now...the problem is how does the DemoRenderer know about it20:45
racarrin particular DemoRenderer::tesselate which is called from the bowels of DemoRenderer::render20:45
racarrthe thing is if you make20:45
racarrrender take20:46
racarrSceneElementSequence20:46
racarrthen the API to compositor becomes very clumsy...i.e.20:46
racarrQuery scene elements, see if you want to offer to hardware compositor, if you do copy each elements renderable to a renderable list20:47
racarrpass it to post_renderables_if_optimizable20:47
racarrif not you pass the scene element sequence to the renderer20:48
racarrthe list copying is pretty ugly :p even if you can make it efficient i.e. make Renderable20:48
racarrList(SceneElementSequence const&) zero copy20:48
racarrits a weird assymetry between20:49
racarrRenderer::render(SceneElementSequence) and DisplayBuffer::post_renderables_if_optimizable(RenderList)20:49
racarrof course, if you make post_renderables_if_optimizable take SceneElementSequence then20:49
racarrthe entire point of moving is_a_surface toSceneElement20:50
racarris invalidated20:50
racarrthe thing is I think the inheritance of implementation20:57
racarrfrom GLRenderer->DemoRenderer is weird20:57
racarrI mean, DemoRenderer could have a totally different interface than GLRenderer because its only used from DemoCompositor20:58
racarrexcept that it wants to duplicate the code to draw a rectangle20:58
racarrwhich while convenient for saving the original author a half an hour20:58
racarrisnt a realistic design imo20:58
racarrerr20:58
racarrit wants to share the code to draw a rectangle*20:59
kdubright21:00
racarrI think I am going to hack around it in demo renderer21:01
racarrrather than make any mir interfaces weirder21:01
racarri.e. DemoRenderer::begin(std::set<mg::Renderable::ID> const& renderable_ids_not_to_decorate)21:02
racarrlol...21:02
racarrunordered_set even21:03
kdubyeah, I kinda feel like DemoRenderer/GLRenderer have to be a different objects that share some objects21:04
kdublike a tessellation object21:04
kdublike, even if it it didn't share anything, writing a gl program to draw squares isn't that tough21:05
kdubeven if it is a few scores of lines of code, just gl's nature21:05
kdub /end my 2cents21:05
racarrkdub: I agree....maybe it shouldn't share anything.21:06
racarrwe will see...I think this strangeness of what I am doing here will attract some comments lol21:06
racarrso ium sure discussion will continue21:06
kdubhah, yeah21:07
racarrI think one of the test makos may be failing or something23:41
racarrhttps://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-mako/2376/console23:41
RAOFracarr: Hm. That looks more like a setup error.23:43
RAOF“unable to make backup link of `./lib/udev/rules.d/70-android.rules' before installing new version: Invalid cross-device link”23:43
racarrI think thats23:44
racarrjust  a thing that happens23:44
RAOFThat doesn't look like hardware failure to me?23:44
racarryou always get that in the emulator too23:44
RAOFThat should fail the tests, though?23:44
racarroh23:45
racarryeah23:45
racarrhmm23:45
racarrwhat does it mean23:46
RAOFI think that the /lib mount point has gone weird?23:47
RAOFMan, valgrind is not the greased lightning on an N10.23:47
RAOFStupid bloody code bloody bloody grumble mumble grumble...23:49
RAOFWhy do you leak, damnit?!23:49

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