/srv/irclogs.ubuntu.com/2015/07/08/#ubuntu-mir.txt

racarrRAOF: I'm not sure...I hadn't really gotten that far yet so much as digesting/rewriting/importing the existing InputTransport code00:15
RAOFAh, right.00:15
racarrthat doesn't sound quite right to me though00:15
racarrWhat in frontend wants to call send_event on a surface?00:15
racarrI would think for example the input dispatcher would be calling it (as it does now)00:16
racarrwhich would work on mi::Surface00:16
RAOFNothing in frontend, but frontend needs to *provide* send_event.00:16
racarryes. I guess it needs to provide00:16
racarrthe_input_sender00:16
racarrwhich00:16
racarrSurface::consume00:16
racarruses00:17
RAOFWhich is what I'm doing. Ish.00:17
RAOFBecause there isn't actually a single input_sender.00:17
RAOF(There isn't *currently* a single input_sender, really; it's just that we've split the input sending code into multiple pieces, owned by different things)00:18
RAOFWhich is why trying to make it do something different is annoying :)00:19
RAOFDamn. I should have left this branch not-compiling.02:16
kenvandineracarr, weird... i had the tests pass once... but not again :/02:24
racarrkenvandine: ONce it fails it fails until u8 restarts yeah...and...yes I think it just became more resilient but not totally03:15
racarrOnce mir 0.14 ppa finishes building03:15
racarrwell maybe thats done03:15
racarronce its tomorrow03:15
racarrill be in a good position to verify my theory about03:15
racarrmirscreencast confusing03:15
racarrUSC window management....03:15
=== chihchun_afk is now known as chihchun
RAOFHave I mentioned before how much I hate the way nothing in Mir ever has an owner? :/06:09
anpok_owner?06:11
anpok_like mir::DisplayServer::Privae?06:12
RAOFEverything we ever create is a shared_ptr; nothing is owned by anything.06:13
anpok_but shared_ptr describes ownership.. shared but still .. ownership06:19
anpok_hmm06:20
anpok_i guess for a lot of stuff unique_ptr and passing around references would be enough06:20
RAOFYeah. shared_ptr describes “eh, working out who owns this is hard. Let's go shopping!”06:21
anpok_hehe06:22
RAOFLots of our things are ‘this thing is owned by the compositor; it's basically a singleton’.06:23
RAOFA bunch of others are ‘this thing exists for as long as a client has connected. And then for an indeterminate time afterwards, even though that doesn't make sense’.06:24
RAOFYou are in a maze of classes, all called Shell.06:33
RAOFIt doesn't help that Qt Creator gets confused about the type hierarchy.06:36
anpok_hm is passing argv=nullptr and argc=0 a user error06:45
dandraderduflu_, ping08:18
duflu_dandrader: Hello!08:18
dandraderduflu_, hi08:18
=== duflu_ is now known as duflu
dandraderduflu_, If I draw a surface twice in my qml scene. Should each item there have a different compositor "user id"  when fetching buffers?08:20
dandraderduflu, or should I use a single compositor user id08:21
dufludandrader: That's the multi-monitor frame sync library. Technically you should get one user ID per frame for a single monitor display.08:21
duflu-library +logic08:21
dufludandrader: It's really an opaque "monitor ID". If two monitors with different IDs ask for a frame around the same time they will get the same frame. But if any ID asks for a frame twice it will get different (the next) frame08:22
dufludandrader: You doing multi-display?08:23
dandraderduflu, no. I'm doing "having multiple items showing the same mir surface in a qml scene"08:23
dandraderduflu, and I'm finding it may be easier to implement if each qml item did its own buffer fecthing using separate ids...08:24
dandraderduflu, but wondering if that's a wrong approach08:25
dufludandrader: Hmm, still with a single display and a single ID I imagine you will get messed up by that. The right answer is to only ask each surface for a buffer once per frame (and use it any number of times). I you want a kludge, use different user IDs to force each call to get the same frame.08:25
dandraderduflu, yeah, that was my intent. using a unique id per qml item (eg "(void*)this") so that they get the same frame08:26
dufludandrader: If you imagine "user ID" actually means "view ID" it makes sense. You're free to make up new IDs. And different views using different IDs will see the same frame08:26
dandraderor work independently08:26
dandraderduflu, so, would that be a valid use of this compositor user id API or would that be a hack?08:27
dandraders/valid/correct08:27
dufludandrader: It might feel like a hack, but the model is very abstract. If your two views with different IDs are on the same screen it should always work. I don't expect it would be a problem08:28
dufludandrader: But frankly for the sake of OpenGL performance you should be binding the surface to a texture once and then reusing the texture multiple times in the frame08:29
dandraderduflu, right.08:29
dandraderalthough I don't see a mir surface being rendered more than twice in a scene (say, its may view/window and a thumbnail in the tab switcher)08:31
dufludandrader: So it's a bit unexpected what you're doing but I don't expect it will ever break. It will work but it's not optimal. Also keep in mind for multi-monitor, each display needs a separate ID (or IDs)08:31
dufludandrader: Yeah the switcher or workspace previews is where I'd expect to see the same texture used multiple times on the same screen08:32
=== dandrader is now known as dandrader|afk
=== greyback__ is now known as greyback
greybackMir API quiz: If I am a nested server, and my surface is resized by the system compositor - how do I know?10:47
omg_runhi. i'm trying to record something with mir but i don't know what's mir's server socket file?11:11
omg_run/run/lightdm-mir-o doesn't work11:12
anpok_there is one for the unity-system-compositor and another one for the user session11:12
omg_runsomething changed lately?11:12
anpok_greyback: hum iirc you do not notice11:12
greybackanpok_: yeah I'm reading the code and am seeing the mirclient resize event being swallowed in mgn::detail::DisplayBuffer::mir_event(MirEvent const& event)11:13
anpok_omg_run: iirc /run/mir_socket and /run/user/<USER_ID>/mir_socket11:14
omg_runanpok_: thanks :D let's see11:15
anpok_greyback: I believe back then we assumed that it was not necessary..11:15
anpok_hm I think I even had a fix branch that dispatches that too11:15
greybackanpok_: bad assumption :)11:15
anpok_I thought you get a display configuration change callback?11:16
greybacksure I do, but the display config has only a bit to do with how USC wants to draw its scene11:17
greybackmy current approach: on display config, configure displays to clone (rotate if necessary), calculate the subrectangle which fits on both displays, resize scene to fit in that subrectangle11:18
greybackso USC is calling resize() on unity8's surface11:19
greybackbut unity8 has no idea11:19
omg_rundoesn't work.. /run/lightdm-mir-0 worked fine until the last update.. hm.. let's see what changed11:20
=== omg_run is now known as omg_run|AW
greybackanpok_: I see you noticed it a while ago: https://bugs.launchpad.net/mir/+bug/1294574 ;)11:24
ubot5Launchpad bug 1294574 in Mir "Resize of nested server surfaces never reaches mir::graphics::NestedOutput - nested server always renders with original size" [Medium,Triaged]11:24
anpok_greyback: hm so how do you want that fixed.. i believe just getting the resize event somewhere isnt enough?11:34
greybackanpok_: I can work around it11:34
greybackbut it's definitely something I'll want in future11:35
=== dandrader|afk is now known as dandrader
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== chihchun is now known as chihchun_afk
=== dandrader is now known as dandrader|afk
racarrGood morning!16:12
racarrworking on verifying some theories related to USC window management about the autopilot tex tbug16:18
=== dandrader|afk is now known as dandrader
kenvandineracarr, cool16:49
kenvandineracarr, when do we expect to see 0.14 in wily?16:49
kenvandineassuming that has the fix :)16:50
racarrkenvandine: Quite soon I think but I'm really not sure it does16:54
racarrI will be soon16:54
racarrI get very slow connections to the image server lately :(16:54
racarranpok_: Is the mir 0.14 silo expected working now?17:20
=== dandrader is now known as dandrader|bbl
racarrseems to work17:28
racarrkenvandine: Ok...so theres a lot to suggest its fixed in .14 but there is a new problem in that18:03
racarrautopilot is triggering lots of key repeats now...18:03
racarrWe changed the way key repeat was implemented/disabled so18:04
racarrthats not so unexpected18:04
kenvandineugh18:04
racarrit seems like key repeat must have just been off before...I unno18:04
anpok_racarr: nearly18:05
racarranpok_: Oh its working for me18:05
anpok_i misconfigured qtubuntu-gles18:05
racarrhmm18:06
racarrHow was key repeat working before18:07
racarras far as I remember we didn't provide a runtime way to18:07
racarrdisable key repeat until now and it was18:07
racarron by default and qtmir doesn't disable it18:07
racarrso...is it just the new key repeat timeout is way too low18:07
racarrand18:07
racarr....18:07
anpok_nah not quite18:07
racarrbut seems unlikely that this would have never come up before but ive never heard of it18:07
anpok_unity8 had its own input dispatcher so it bypassed the repeat18:07
anpok_handling18:08
racarranpok_: But from USC18:08
anpok_so usc was repeating.. yes18:08
anpok_and qtmir event feeder might have ignored the repeats?18:08
anpok_not sure18:08
racarrthats an idea!18:08
racarrhmm it seems to interpret autorep correctly18:09
racarrHmm I dont get it how were there no key repeats before18:17
racarroh18:18
racarrThe initial key repeat timeout may actually be18:18
racarrmuch lower than before...18:18
racarryep18:19
racarrok hmm18:19
racarrkenvandine: So yeah...I can't trigger the text failing bug anymore but there is definitely this issue with key repeat18:19
racarrwe either need to get a mir patch in (which I should be able to cook up today...shouhld be roughly 20 lines of diff)18:20
racarrOR18:20
racarrautopilot can restart usc with MIR_SERVER_ENABLE_KEY_REPEAT=false :p18:20
racarrkgunn: ^18:20
kgunnawesome racarr thanks for chasing it so hard18:21
kenvandinegreat news!18:21
racarrI think autopilot with specific18:23
racarrmir options has been shot down in the past right18:23
racarrso....uh....18:23
racarrshould we try and get something in 0.14 or just18:24
racarrlet 0.14 go and do a point release18:24
racarrNo ABI break...18:24
racarr / API18:24
racarrlunch!18:29
racarrlol this would have showed up in manual testing18:31
racarrfor the silo too18:31
racarrit makes the volume control so hard to use18:31
racarr(tried to turn on music on the way to lunch)18:31
bschaefermir demos needs to depend on mir-platform-graphics-mesa219:17
bschaeferotherwise the demo server wont run19:17
attentehello, does/will mir support any kind of clipboard/selection api?19:23
racarrBack19:26
racarranyone have any opinions on 0.14/point release19:26
racarrattente:  I think in the end we decided not to support it19:26
racarrin favor of the content hub supporting it19:26
attenteracarr: yeah, that's what i thought too, but it's not clear to me if this is implemented there yet19:27
kenvandineattente, it isn't19:28
kenvandinethe spec is still being written up19:29
* kenvandine is looking forward to working on that :)19:29
attentekenvandine: ok, thanks :)19:30
kenvandinenp19:30
=== dandrader|bbl is now known as dandrader
racarrkenvandine: Are there workarounds now for this issue? e.g.21:38
racarrwe have a fix for the key repeat thing now so with that + 0.14 everything should work again21:39
racarrand trying to sort out urgencies/what to do with it21:39
kgunnreboot brb21:57

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