[00:01] <kdub> racarr, yeah i mean, there are some good things, but our renderer just does the simple stuff at the moment
[00:01] <kdub> wobbly windows would benefit
[00:01] <racarr> haha right
[00:02] <racarr> it has the
[00:02] <racarr> map buffer object stuff which is kind of cool
[00:02] <racarr> from opengl 4
[00:04] <kdub> yeah, its a cool improvement
[00:05] <kdub> sometimes i forget that opengl can do animations, and its not just an api for passing buffers into
[00:05] <racarr> I read some paper once about some technique with using like two mapped vbo arrays and fences
[00:05] <racarr> in order to do animations in this zero copy fashion (I mean, it still ahs to make it to the GPU depending on your architecture)
[00:06] <racarr> but it was basically double buffering the vertex data, so neither the animator, or the GPU ever has to block
[00:06] <racarr> and then I think using some nvidia fence extension
[00:06] <racarr> I don't remember the details :p
[00:06] <smspillaz> racarr: opengles3 has uniform buffer objects and transform feedback
[00:06] <racarr> mm
[00:06] <smspillaz> which is just great
[00:07] <racarr> I don't think transform feedback is super interesting to mir though really
[00:07] <smspillaz> racarr: actually the even cooler one
[00:07] <smspillaz> racarr: its interesting if you want to like
[00:07] <smspillaz> do wobbly windows
[00:07] <smspillaz> in hardware
[00:07] <racarr> ubu could be useful for some kind of optimizations </speculation>
[00:07] <racarr> well
[00:07] <racarr> right
[00:07] <racarr> lol
[00:07] <smspillaz> racarr: whats more interesting is opengl 4.4
[00:07] <smspillaz> with stuff like
[00:07] <smspillaz> bindless textures
[00:07] <smspillaz> and
[00:08] <racarr> haha
[00:08] <racarr> thats what I was going to say
[00:08] <racarr> (bindless textures)
[00:08] <racarr> thats some cool stuff
[00:08] <smspillaz> bind groups
[00:08] <RAOF> Grr.
[00:08] <smspillaz> or whatever it was called
[00:08] <smspillaz> RAOF: y u mad
[00:08] <RAOF> racarr: What's the least I can do to get stderr from mir_demo_server_shell to display?
[00:11] <racarr> RAOF: 2>&1 > foo.txt
[00:11] <thomi> racarr: any progress on the mir_stress bug thingy?
[00:12] <RAOF> racarr: No, I mean "what's the least I can do to make mir_demo_server_shell not eat stderr?" Because I'm running it from ssh, so I can totally see anything that actually makes it to the tty.
[00:13] <racarr> thomi: No, I haven't found the second bug yet
[00:14] <racarr> I forgot it and let it escape my todo though so thanks :)
[00:14] <racarr> RAOF: err
[00:14] <racarr> I didnt know it ate stderr
[00:14] <racarr> I redirect stderr to a file all the time
[00:14] <racarr> at least I think Id o
[00:14] <smspillaz> RAOF: gdb breakpoint on close () and see where it calls close(2) ? :p
[00:15] <racarr> I really dont think its
[00:15] <racarr> supposed to do that
[00:16] <RAOF> Hm. Ok.
[00:17] <racarr> RAOF: OH HEY! While I remember I keep on meaning to ask you about something that I am meaning to take on friday/next week
[00:17] <racarr> DPMS support
[00:17] <RAOF> racarr: Oh, cool.
[00:17] <racarr> my understanding, is: expose turning CRTC on /off from mir::graphics, expose over IPC, expose component that lets shell approve/dissaprove these requests
[00:18] <racarr> add component in U-S-C to be friends with X
[00:18] <racarr> then implement a bunch of hooks on
[00:18] <racarr> XMirDisplay
[00:18] <racarr> or whatever
[00:18] <racarr> it's called
[00:18] <racarr> by a bunch of hooks I mean like 2
[00:18] <RAOF> Do we want to expose it over IPC?
[00:18] <racarr> does that make sense? What is up with backlight, I looked aroudn xf86-video-intel a little bit and the backlight code seemed a little strange at first glance using
[00:18] <racarr>  /sys files or something
[00:18] <racarr> RAOF: Hmm, well how else will X request it of USC
[00:19] <racarr> you mean USC should provide a
[00:19] <racarr> non mir interface perhaps
[00:19] <racarr> ?
[00:19] <RAOF> By USC implementing its own interface.
[00:19] <RAOF> This, incidentally, is a reason why having the protocol being extensible would be really useful. :)
[00:19] <racarr> the_frontend_communicator() override
[00:19] <racarr> ;)
[00:20] <racarr> ok I understand
[00:20] <racarr> hmm
[00:20] <RAOF> Oh, and backlight is indeed a twisty maze of vendor hate.
[00:20] <racarr> I'm not sure in regards to over IPC / USC has it's own protocol
[00:21] <racarr> I...remember I leaned towards the mir protocol when Iw as thinking last week
[00:21] <racarr> but I think thats just because it wasnt clear to me what the protocol should be otherwise (DBus to X)
[00:21] <racarr> it's also. not entirely absurd that maybe this is reasonable client API.
[00:22] <RAOF> It should be over the mir socket, but it shouldn't be in the Mir protocol that we expose to clients.
[00:22] <RAOF> Hm. Under what circumstances is it reasonable for a client to ask the display server to turn off the displays?
[00:22] <racarr> Maybe it makes sense for certain kinds of presentation or media apps
[00:23] <RAOF> You mean to ask the display server to *not* turn off the display, right?
[00:23] <racarr> or a coniguration app
[00:25] <racarr> RAOF: Well maybe not! I dunno i.e. a video player which has a distraction free setting can automatically turn off your displays when you are streaming to your TV
[00:25] <RAOF> Eh, maybe?
[00:25] <racarr> or like, when you present, you want your laptop display off, on, or in presentation mode, so presentation apps on other platforms often include what basically amounts to a monitor configuration panel
[00:25] <racarr> yeah I dunno, maybe :p
[00:26] <racarr> I think both of these are kind of borderline absurd, but I was just trying to generate
[00:26] <racarr> ideas
[00:27] <kgunn> thomi: thanks for the response - so, if i want to quick glance at all the unity tests reported on for mir.....what do i look at ?
[00:27] <kgunn> prep'ing for iom sprint
[00:27] <thomi> kgunn: without runing he tests yourself you mean? like, on a dashboard somewhere?
[00:27] <racarr> RAOF: I thought about you last night because one of my friends is studying to be an actuary so he started talking to me about a series of probability problems he was doing
[00:28] <RAOF> Oh?
[00:28] <racarr> so then, he started explaining how to solve them with multidimensional integrals, etc, and my thought was that like, from a constructive perspective
[00:28] <racarr> integrals seem to be the wrong abstraction to build
[00:28] <racarr> probability on top of
[00:28] <racarr> because why do you even need
[00:28] <racarr> infinite sets?
[00:29] <racarr> a few minutes in to arguing this point I feel as if I had a flash of empathy with your previous advisor XD
[00:29] <thomi> kgunn: that's the correct job, but for some reason older builds reported waaaay too many tests. Newer builds look good though, for e.g.: http://10.97.2.10:8080/job/mir-saucy-amd64-ci/336/testReport/
[00:31] <racarr> RAOF: Anyway that's how I invented my new theory of probability and started to wonder if the whole aesthetic of mathematical philosophy was misgrounded.
[00:31] <racarr> but...lol...back to DPMS, um, so...not the mir protocol?
[00:31] <RAOF> :)
[00:31] <racarr> not the mir protocol but over the mir socket sounds difficult
[00:31] <thomi> kgunn: not sure if that answers your question or not
[00:31] <RAOF> Yeah, needing uncomputable numbers sounds like a silly thing for probability :)
[00:32] <RAOF> racarr: It can probably be in the protocol.
[00:32] <RAOF> racarr: I'd quite like it to be less difficult for protocol extensions to exist, though.
[00:32] <racarr> I'll think about that
[00:32] <racarr> I am trying to think about something inbetween
[00:32] <racarr> non extensible protocol
[00:32] <racarr> and everything is a ClientMessage
[00:33] <racarr> and yeah thats exactly what I mean! You don't need all that for probability, so maybe by dealing with it in the continuum and then using limits to reduce it back to a finite state system you are actually
[00:33] <racarr> developing a less...'reusable' theory of probability
[00:33] <racarr> haha
[00:33] <RAOF> I think we could actually manage it by making the frontend replacable.
[00:34] <racarr> http://en.wikipedia.org/wiki/Circle-ellipse_problem
[00:34] <racarr> I wonder if mathematicians had understood ideas from software engineering if math would have been architected differently ;)
[00:34] <racarr> Hmm well
[00:34] <racarr> the frontend is replaceable right?
[00:34] <racarr> It's ust all or nothing
[00:34] <RAOF> Hm, *or* passing in a ProtocolExtension to the frontend, so when it discovers a message it doesn't know about it delegates.
[00:35] <racarr> its probably possible to use
[00:35] <racarr> template trickery, so that adding a new message is as easy as putting it in the wire protocol
[00:35] <racarr> and providing an impl on SessionMediator
[00:35] <racarr> or something
[00:35] <racarr> um
[00:36] <RAOF> Yeah, something like that would be good.
[00:36] <kgunn> thomi: excellent!....that does answer it
[00:36] <racarr> It worries me a little at first response
[00:37] <RAOF> It's insane that the first thing that anyone does when trying to solve discrete problems is go "hm, is this sufficiently well approximated by an uncountably infinite set full of uncomputable numbers?"
[00:37] <racarr> does it complicate our wire versioning situation, etc...
[00:37] <kgunn> weird about those repeated reportings
[00:37] <thomi> yeah
[00:37] <racarr> RAOF: Haha, right, and that's what I mean by the misguided aesthetic
[00:37] <racarr> because before incompleteness results, people thought mathematics was just one single
[00:37] <racarr> totally complete and consistent system
[00:37] <racarr> so why not do that
[00:37] <racarr> so that was seen as like
[00:37] <racarr> elegant
[00:38] <RAOF> Protocol versioning: hm, maybe?
[00:38] <RAOF> The problem would come in when calls migrate from extension to core or visa-versa, right?
[00:39] <RAOF> We'd also need extensions to be versioned.
[00:39] <smspillaz> whatever you do
[00:39] <smspillaz> don't autogenerate
[00:39] <smspillaz> bindings from the protocol
[00:40] <kdub> hah :)
[00:40] <smspillaz> at least, don't make them inline
[00:40] <smspillaz> the crap I had to do in order to dlopen wayland-client and use it
[00:40] <smspillaz> was not fun
[00:41] <racarr> RAOF: Well, or just when, one mir supports protocol version 7 with unity extension version 8 that was backported to ubuntu 15.04 but the version in 15.10 supports protocol version 7 with unity version 9 + unity fixes version 2 and the 16.04 daily...
[00:41] <racarr> haha :p
[00:41] <racarr> we want to avoid that I think
[00:42] <smspillaz> the way wayland does it is ok
[00:42] <smspillaz> basically, if the client doesnt support some protocol
[00:42] <smspillaz> then the server doesnt send it events that match that protocl
[00:42] <smspillaz> and ignores requests from that protocol
[00:42] <smspillaz> (version)
[00:43] <racarr> Mm
[00:43] <racarr> the thing is, these methods aren't in the client library I guess or they would be int he real protocol
[00:43] <racarr> our client library doesn't present an abstraction of like
[00:43] <racarr> message
[00:43] <racarr> in the same way wayland does
[00:43] <racarr> maybe it should *shrug*
[00:46] <RAOF> You just need similar extension support in the client library.
[00:46] <RAOF> "just" ☺
[00:49] <racarr> right but I think to model that extension support
[00:49] <racarr> the client library first has to like
[00:49] <racarr> talk in terms of messages/protocol or something
[00:49] <racarr> which it entirely hides now
[00:52] <RAOF> Right. It could, however, export some of that, without exposing it to the C layer.
[00:52] <RAOF> mir_extension_register(mir_my_extension)
[00:53] <RAOF> mir_extension_foo_get() returns an opaque pointer to the C++ implementation bits needed to do the dispatch?
[00:57] <racarr> are all the combinations
[00:57] <racarr> of extensions sorted in to
[00:57] <racarr> 1 set of extensions used by USC
[00:57] <racarr> cients
[00:57] <racarr> 2. 1 set of extensions used by unity clients
[00:58] <racarr> in this case maybe its just libmirclient-system libmirclient-client, or its just libmiclient that has all of 1 but there are permissions and
[00:58] <racarr> platform-api exposes the rest
[00:58] <racarr> or....
[00:58] <racarr> why do I use "or...." in place of "."
[01:07] <racarr> Off to berkeley!
[01:07] <racarr> You can follow live (with 168 hour delay) at http://archive.org/details/StuAllenAndMarsHotel2013-07-17.flac16
[01:07] <racarr> :p
[01:12] <RAOF> With 168 hour delay?
[01:12] <RAOF> That's some serious "live" :)
[01:12] <RAOF> Have fun in Berkeley!
[01:19] <smspillaz> have fun racarr :)
[02:10] <RAOF> Yes!
[02:10]  * RAOF wins.
[02:10] <RAOF> Nothing wrong with xmir, Mir really is displaying frame N-1.
[02:13] <duflu> RAOF: \o/
[02:14] <duflu>  /o\
[02:14] <duflu> RAOF: If the surface has swapinterval=0 then Mir will use triple buffering on it
[02:15] <RAOF> It's not; this is simple double buffering.
[02:15] <duflu> Oh
[02:15] <duflu> RAOF: So the client says here's one new frame and the compositor still could delay indefinitely?
[02:16] <RAOF> The client says "here's one new frame" and the compositor says "thanks, I'll composite frame N-1 for you"
[02:16] <duflu> RAOF: Heh. Actually that's something I just rewrote and we're arguing in email. More work to come
[02:17] <RAOF> ...
[02:17] <RAOF> Client sub buffer{3}
[02:17] <RAOF> Client acquired buffer{4}
[02:17] <RAOF> Compositor acquired buffer{3}
[02:17] <RAOF> Compositing buffer{3}
[02:17] <RAOF> Client sub buffer{4}
[02:17] <RAOF> Compositor released buffer{3}
[02:17] <RAOF> ...
[02:17]  * duflu admires typing speed ;)
[02:17] <RAOF> ...
[02:17] <RAOF> Client acquired buffer{3}
[02:17] <RAOF> Client sub buffer{3}
[02:17] <RAOF> Compositor acquired buffer{4}
[02:17] <RAOF> Compositing buffer{4}
[02:17] <RAOF> Compositor released buffer{4}
[02:17] <RAOF> Client acquired buffer{4}
[02:17] <RAOF> Client sub buffer{4}
[02:17] <RAOF> Compositor acquired buffer{3}
[02:17] <RAOF> Compositing buffer{3}
[02:17] <RAOF> Compositor released buffer{3}
[02:17] <RAOF> ...
[02:18] <RAOF> At some point in this log we start compositing the N-1'th buffer submitted by the client, rather than the last one.
[02:18] <duflu> RAOF: Yes, it's cos the compositor chooses the front of the queue (oldest frame) even when there might be newer ones ready behind it
[02:18] <duflu> That's related to my current work
[02:19] <RAOF> This is actually a bit worse than that; the compositor is compositing using the buffer that the client currently owns.
[02:19] <RAOF> Oh, no it's not. Carry on.
[02:19] <duflu> RAOF: Also related. I now make that impossible
[02:19] <RAOF> Sweet.
[02:20] <duflu> Although there's a risk that you block the compositor, which needs to be eliminated
[02:20] <RAOF> Yes
[02:21] <duflu> RAOF: That's why I was confused. The lag should be impossible if nbuffers=2, unless the compositor is showing a buffer currently held by the client
[02:22] <duflu> Hmm, maybe there's a third possibility
[02:23] <duflu> RAOF: I will reconsider the issues you describe today and maybe give you a branch to try... ?
[02:24] <RAOF> That would be excellent.
[02:38] <robert_ancell> RAOF, we need a way to counter u-s-c being installed, but X not supporting Mir. LightDM can't easily tell this without trying to run X with -mir and reading the stderr error messages, so perhaps we can do it better. Can we make the patched X package provide something like xorg-server-xmir and then have u-s-c depend on that?
[02:38] <RAOF> robert_ancell: Yes.
[02:39] <RAOF> robert_ancell: We could even go so far as to split libxmir.so into xserver-xorg-xmir, so the core server doesn't gain Mir dependencies.
[02:39] <robert_ancell> RAOF, that would be even better!
[02:40] <robert_ancell> RAOF, but the core package still needs the patch to have -mir etc right? Do we assume if you have xserver-xorg-xmir then the core package matches that?
[02:40] <robert_ancell> This is a Universe blocker (apparently) so we need to get it fixed asap
[02:40] <RAOF> Ah, ok.
[02:40] <RAOF> Good. That's what I'll do after lunch, then!
[02:41] <robert_ancell> cool
[02:54] <duflu> robert_ancell: Skype? Hangout?
[02:54] <robert_ancell> duflu, hangout is best
[02:55] <duflu> Not for my earphone comfort :)
[03:48] <duflu> Woo, a day of fixing conflicts :/
[03:48] <robert_ancell> RAOF, does the N-1 you mention in bug 1199450 accumulate over time? i.e. so you end up with N-M
[03:49] <RAOF> robert_ancell: No, because there are only 2 buffers.
[03:49] <robert_ancell> ok, that's better :)
[03:49] <RAOF> Possibly if we were triple-buffering then you could get 2 buffers behind?
[03:49] <RAOF> Not really.
[03:49] <duflu> That's weird. bzr is giving lots of conflicts that really are not
[03:49] <RAOF> Although I guess that *most* people have something change on the screen reasonably frequently.
[03:50] <duflu> RAOF: Keep glxgears running in the corner :)
[03:50] <RAOF> But if you have just an xterm on the screen you'll forever be one-character behind.
[03:52] <duflu> Alternatively, keep a browser open with lots of ads. That's always a big contributor
[04:46] <robert_ancell> RAOF, any update on the X packaging?
[04:46] <RAOF> robert_ancell: Is now in mir-team/staging.
[04:47] <robert_ancell> RAOF, cool, what depends should I add to u-s-c, or have you already done that ;)
[04:47] <RAOF> Not yet.
[04:48] <robert_ancell> ok, I'll leave it with you then
[04:48] <RAOF> K.
[04:49] <RAOF> Ah. New xserver upload in saucy-proposed :/
[05:07] <RAOF> robert_ancell: https://code.launchpad.net/~raof/unity-system-compositor/debconfify/+merge/176858 enjoy.
[05:08] <robert_ancell> RAOF, odd branch name :)
[05:08] <RAOF> It accidentaly got pushed to the last branch I proposed ;)
[05:09] <robert_ancell> RAOF, I just realised strictly we don't need XMir to use the system compositor, but for current practical use case the dependency solves a bigger problem than this might cause
[05:09] <RAOF> Indeed, that was my thought too.
[05:10] <RAOF> Since there's currently nothing *but* XMir that can run in unity-system-compositor… ☺
[05:10] <robert_ancell> yep
[05:11] <robert_ancell> we'll blow that bridge up when we come to it
[05:11] <RAOF> Eh, when we get there we'll just drop the dep.
[05:13] <tvoss> good morning :)
[05:14] <RAOF> Hey ho.
[05:16] <tvoss> RAOF, hey there, how goes?
[05:20] <tvoss> RAOF, hey, did you see that the intel driver failed compiling in the staging ppa?
[05:20] <RAOF> Hm, no I didn't.
[05:20] <RAOF> I need to fix unrelated things in it anyway :)
[05:20] <tvoss> RAOF, ack
[05:28] <RAOF> tvoss: So, duflu was going to ping me with a branch that probably doesn't exhibit this behaviour.
[05:30] <tvoss> RAOF, okay, could you point me to the places in the code where you put the terminal outputs?
[05:31] <RAOF> tvoss: http://paste.ubuntu.com/5910065/ enjoy.
[05:32] <didrocks> RAOF: robert_ancell: excellent! this will be in today's build (I just rerun u-s-c)
[05:33] <didrocks> RAOF: robert_ancell: on a longer term, we can have a virtual package as well
[05:33] <RAOF> didrocks: On a longer term we'll want to just drop it; the system compositor doesn't really depend on anything being run inside it, any more than the Xserver depends on Unity.
[05:34] <didrocks> RAOF: hum, but something run X -mir, right?
[05:34] <RAOF> lightdm does, yes.
[05:34] <didrocks> but u-s-c add the -mir parameter? :)
[05:34] <RAOF> Actually, that's probably where the dependency should be, now that you mention it :)
[05:34] <didrocks> or it's lightdm?
[05:34] <RAOF> It's lightdm.
[05:34] <didrocks> ah…
[05:35] <didrocks> yeah, would be logical, not sure robert will be thrilled about it though :p
[05:35] <didrocks> anyway, we can figure about it later, the urgent part is covered
[05:56] <tvoss> greyback, ping
[06:02] <robert_ancell> RAOF, didrocks, but the problem is lightdm doesn't depend on u-s-c, because it runs fine without it
[06:03] <robert_ancell> it only depends on it when it's configured to use it, and that configuration is in the u-s-c package
[06:03] <robert_ancell> if we move that out to somewhere else, e.g. ubuntu-desktop then that would be the right place for the dependency
[06:48] <tvoss> alf__, ping
[06:48] <alf__> tvoss: pong
[06:58] <dholbach> good morning
[06:59] <duflu> RAOF: Try this out. Let me know if the lag is now fixed;  lp:~vanvugt/mir/switch
[07:02] <duflu> Morning dholbach
[07:03] <RAOF> duflu: Ta.
[07:04] <dholbach> hey duflu
[07:04] <dholbach> how are you all doing?
[07:04]  * dholbach hugs duflu, RAOF and the rest of the gang
[07:04] <RAOF> Hey duflu!
[07:05] <RAOF> Or even - hey dholbach!
[07:07] <dholbach> :)
[07:11] <tvoss> dholbach, berlin calling @fb?
[07:24] <dholbach> tvoss, yep :)
[07:37] <greyback> tvoss: pong
[08:01] <tvoss> didrocks, ping
[08:01] <didrocks> tvoss: pong
[08:02] <didrocks> on 3G
[08:02] <tvoss> didrocks, ack
[08:12] <robert_ancell> hikiko, can you do an earlier 1-1?
[08:13] <hikiko> sure robert_ancell
[08:13] <hikiko> do you want me to join now?
[08:27] <RAOF> duflu: Looks like that doesn't have the delay problem.
[08:28] <RAOF> duflu: It looks like it's triple buffering, though?
[08:28] <RAOF> tvoss: ^^^
[08:28] <duflu> RAOF: Good start, but can you be sure? And yes, I default to triple because bypass will need it
[08:29] <duflu> Also, frame-dropping is suboptimal without triple
[08:30] <RAOF> duflu: Well, no I can't be sure.
[08:30] <duflu> Alright, but still, good
[08:30] <RAOF> But the workload which reliably caused the problem no longer causes the problem.
[08:44] <tvoss> RAOF, could you quickly run phoronix-test-suite run pts/gaming-free with duflu's branch?
[08:45] <duflu> tvoss: It's just buffering changes. Bypass is not in that branch. You know that?
[08:45] <RAOF> tvoss: I've been using the openarena timedemo to test; I can do phoronix-test-suite too, if you like.
[08:45] <tvoss> RAOF, would be cool, that was my test-case
[08:47] <tvoss> RAOF, also: pbuilder create complains about W: Failure trying to run: chroot /var/cache/pbuilder/build/28791/. mount -t proc proc /proc
[08:47] <tvoss> W: See /var/cache/pbuilder/build/28791/./debootstrap/debootstrap.log for details
[08:47] <tvoss> E: debootstrap failed
[08:47] <tvoss> W: Aborting with an error
[08:47] <tvoss> I have had that issue a million times, but never remember how to solve it
[08:48]  * RAOF uses sbuild
[08:48] <RAOF> Sorry!
[08:59] <tvoss> duflu, yup, know that. Just want to make sure that we put heavy load onto the system
[08:59] <duflu> OK. It's a little unusual for other people to load test a branch that's not even ready to propose :)
[09:06] <alf__> RAOF: Can you test the input delay with the current trunk with triple buffer enabled (change 2->3 src/server/compositor/swapper_factory.cpp line 47). It would be good to know if this is solved by triple buffering, or some other change in duflu's branch.
[09:06] <RAOF> alf__: Sure.
[09:06] <duflu> alf__: I expect triple will make it worse. I did an explicit fix for the lag bug today
[09:10] <tvoss> duflu, on the current design?
[09:11] <duflu> tvoss: Either. The higher the number of buffers, the worse the lag will be. The fix was not the number of buffers, but was to drop frames when more than one was queued for composition
[09:11] <tvoss> duflu, ack, mind pinging me the branch?
[09:12] <duflu> tvoss: r937 onward: https://code.launchpad.net/~vanvugt/mir/switch
[09:12] <tvoss> duflu, can we backport that to trunk right now?
[09:13] <duflu> tvoss: Possibly. Alf should have the know-how
[09:13] <tvoss> alf__, ^?
[09:14] <duflu> It's easy to drop excess frames. But you just have to remember to change how you throttle synchronous clients at the same time
[09:18] <alf__> duflu: tvoss: RAOF: ...but this changes our compositor to drop frames always. Is XMir sending frames that it then wants to cancel/override with new ones instead of having a steady sequential stream?
[09:19] <tvoss> alf__, duflu sounds like that should be controllable with a policy
[09:19] <RAOF> xmir doesn't expect frame dropping.
[09:21] <RAOF> If we're *getting* frame dropping then Mir's behaving unexpectedly.
[09:28] <RAOF> Man, pts/gaming-free takes *some time* to download.
[09:30] <alf__> RAOF: We are not dropping frames normally. However the proposed solution involves dropping all frames but the latest, if understood it correctly. So if the compositor's queue contains CBA with C being the latest, with the proposed change mir drops B,A and gets directly to C. I don't know what's causing the problem really, but this feels like dealing with the symptom.
[09:32] <tvoss> alf__, the trigger is this bug: https://bugs.launchpad.net/mir/+bug/1199450
[09:33] <RAOF> alf__: I'm not sure how the compositor's queue ever gets more than one buffer in it?
[09:33] <RAOF> alf__: Because we're double buffering by default, and the client always has a buffer...
[09:34] <RAOF> And a buffer that the client has can't be in the compositor's queue.
[09:34] <RAOF> So, by my understanding, there can be at most one buffer in the compositor queue.
[09:37] <duflu> RAOF: Yeah like I said yesterday - the bug should be impossible with nbuffers=2 in theory
[09:37] <RAOF> But in practise it's quite easy to trigger :)
[09:37] <duflu> Oh universe, how you deceive us all
[09:38] <duflu> RAOF: Impossible if nbuffers=2 and they're being alternated fairly/evenly ;)
[09:39] <duflu> I wonder if I will get to cook real food or spend another evening hacking :/
[09:40]  * duflu finds middle ground and makes evening coffee
[09:40]  * RAOF finishes dinner and goes to clean up.
[09:40] <RAOF> Night all!
[09:41] <tvoss> RAOF, night all :) talk to you tomorrow
[09:41] <alf__> RAOF: duflu: I think there can be two buffers if the client is slow. Good night :)
[09:42] <tvoss> alf__, can we easily switch to triple buffering on current trunk?
[09:42] <duflu> Last I checked, it was a trivial 1 character change
[09:42] <duflu> Night RAOF
[09:42] <alf__> tvoss: yes, but we need to prove that this will help
[09:43] <tvoss> alf__, happy to do so ... just show me where
[09:43] <duflu> I think it would/should make it worse
[09:43] <tvoss> duflu, alf__ I'm happy to be the guinea pig here
[09:43] <duflu> tvoss: alf__ did... scroll back
[09:43] <alf__> tvoss: change 2->3 src/server/compositor/swapper_factory.cpp line 47
[09:43] <tvoss> alf__, thanks
[09:44] <tvoss> duflu, alf__ the good thing is: it is not subtle, but totally visible ;)
[09:46]  * tvoss is in love with sbuild
[10:27] <hikiko_> alf__, ping!
[10:57] <alf__> hikiko: pong
[10:58] <didrocks> tvoss: kgunn: FYI, I'm recopying the latest changes from RAOF to the daily-build-next ppa, we really need to be in distro ASAP…
[10:58] <hikiko> hi alf__ I was wondering about the internal clients
[10:59] <hikiko> and the internal display
[10:59] <didrocks> tvoss: kgunn: argh, his build failed on i386
[10:59] <tvoss> didrocks, ack, you referring to the xorg driver?
[11:00] <didrocks> (one test)
[11:00] <didrocks> tvoss: yeah, he changed the dep for mir
[11:00] <hikiko> I guess these should be initialized and live in the native platform, correct?
[11:00] <didrocks> but didn't copy in daily-build-next
[11:00] <didrocks> so we can't install mir anymore now in it
[11:00] <didrocks> tvoss: but anyway, one test failed from his xorg upload
[11:00] <tvoss> didrocks, hold on, cannot follow
[11:01] <tvoss> didrocks, did you just restart the build?
[11:01] <didrocks> tvoss: yeah
[11:01] <tvoss> didrocks, why is that? do you suspect a flaky builder?
[11:01] <didrocks> it seems to be a flacky xorg tests
[11:01] <didrocks> didn't fail on other archs
[11:02] <didrocks> and the diff is meaningless
[11:02] <didrocks> regarding to that failure
[11:02] <didrocks> then, if it pass, I'll copy to daily-build-next ppa
[11:02] <didrocks> as it's broken right now
[11:02] <didrocks> (u-s-c depends on a package that doesn't exist…)
[11:03] <tvoss> didrocks, ack ...
[11:03] <tvoss> didrocks, I'm testing the intel driver from staging manually now
[11:03] <tvoss> back in a few ... hopefully
[11:06] <alf__> hikiko: it could be that you can use the one returned by the native one, but I haven't really checked the details
[11:06] <alf__> hikiko: native one => native platform
[11:10] <tvoss_> alf__, okay, does not make it better with triple buffering
[11:11] <tvoss_> alf__, but it exposes some serious flickering
[11:11] <tvoss_> alf__, or better, occasional serious flcikering/hiccups
[11:12] <tvoss_> duflu, to test your branch: build and install, then rebuild of usc?
[11:13] <duflu> tvoss_: No sure about the context but it is a drop-in replacement for lp:mir
[11:13] <tvoss_> duflu, ack
[11:13] <duflu> And now it's late again
[11:13] <tvoss_> duflu, just sign off dude :)
[11:14] <duflu> Well, I had coffee instead of dinner. That was my first mistake
[11:14] <duflu> Going now
[11:26] <hikiko> alf__: that's what I thought I just wanted to check that my logic is correct
[11:26] <hikiko> thank you
[11:38] <tvoss_> didrocks, seems like the i386 build made it through :)
[11:38] <didrocks> tvoss_: yeah, just waiting a little bit before copying
[11:38] <tvoss_> didrocks, ack
[11:56] <tvoss> didrocks, ping
[11:56] <didrocks> tvoss: pong
[12:00] <tvoss> alf__, did you have a chance to look into the buffer issue?
[12:03] <tvoss> alf__, the buffers are overtaking each other sometimes
[13:35] <tvoss> mlankhorst, ping
[13:35] <mlankhorst> pong
[13:39] <tvoss> mlankhorst, hey there, we see an issue on ati with the following error message: [  2417.963] (II) UnloadModule: "radeon"
 [  2417.963] (EE) Screen(s) found, but none have a usable configuration.
[13:41] <mlankhorst> i'd need a full log for a picture.. plus dmesg if possible
[13:42] <tvoss> didrocks, ^
[13:42] <mlankhorst> and I'm just guessing it's a hybrid..
[13:42] <didrocks> mlankhorst: do you have access to the VPN?
[13:42] <didrocks> mlankhorst: would be easier to get what you want, you can poke that way
[13:42] <mlankhorst> meh lets see how to set that up again..
[13:48] <jibel> mlankhorst, dmesg http://paste.ubuntu.com/5911197/ , Xorg.log http://paste.ubuntu.com/5911199/
[13:49] <mlankhorst> [  2417.963] (EE) RADEON(0): [drm] failed to set drm interface version.
[13:49] <mlankhorst> shouldn't do that on xmir
[13:50] <tvoss> what about fbdevhw
[13:51] <mlankhorst> [  2417.963] (EE) Failed to load module "fbdevhw" (module does not exist, 0)
[13:51] <mlankhorst> eg harmless
[13:51] <mlankhorst> and it would have been disabled by xmir
[13:52] <tvoss> mlankhorst, what means shouldn't to that on xmir?
[13:52] <mlankhorst> the call that's failing shouldn't have been called at all..
[13:52] <tvoss> mlankhorst, ah, thanks :)
[13:53] <didrocks> tvoss: I think we have 2 issues
[13:53] <didrocks> tvoss: this call not be done
[13:53] <didrocks> tvoss: lightdm not retrying without the -mir option
[13:55] <tvoss> mlankhorst, can you gain any further insight from the pastebin'd logs?
[13:58] <mlankhorst> as I said, drm interface version call is failing, and that one should not be called at all with xorgMir..
[13:59] <tvoss> mlankhorst, okay, so we have the wrong driver in there
[14:00] <mlankhorst> meh what's the machine?
[14:01] <tvoss> didrocks, ^?
[14:01] <didrocks> tvoss: I checked, we have the same version than in the staging ppa
[14:01] <didrocks> tvoss: and it's the one installed
[14:01] <didrocks> is there any other one?
[14:02] <mlankhorst> so then it's calling drmSetInterfaceVersion in the ddx when it shouldn't..
[14:15] <tvoss> didrocks, seems like the ati driver from the staging ppa wasn't rebuild against the new xorg
[14:16] <tvoss> mlankhorst, ^, could that cause issues?
[14:17] <didrocks> tvoss: seeing the diff of xorg since yesterday, that doesn't cause an ABI break, right?
[14:17] <didrocks> tvoss: https://launchpadlibrarian.net/145833378/xorg-server_2%3A1.14.2-0ubuntu2%2Bxmir1_2%3A1.14.2-0ubuntu2%2Bxmir1.1.diff.gz
[14:21] <mlankhorst> tvoss: I already said what the issue is
[14:21] <mlankhorst> drmSetInterfaceVersion is called, and it shouldn't, you have the source so you should be able to say why..
[14:25] <tvoss> mlankhorst, I wonder why it ever worked then?
[14:30] <mlankhorst> there's no guarantee it did, tbh..
[14:37] <tvoss> mlankhorst, well, we have seen phoronix test suite running on ati
[14:39] <mlankhorst> sigh, have you tried removing the call or not
[14:44] <didrocks> tvoss: kgunn: on the "we stay in a broken (no ui) session story": https://bugs.launchpad.net/mir/+bug/1204936
[14:48] <didrocks> tvoss: kgunn: and bug #1204939
[14:48] <kgunn> didrocks: ack
[15:36] <didrocks1> tvoss: do you see anything weird in terms of versions: https://jenkins.qa.ubuntu.com/job/autopilot-saucy-daily_release/label=autopilot-ati/618/artifact/results/sysinfo/dpkg-l.postsetup
[15:52] <tvoss> didrocks, can you do me a favor and try to install the system-compositor-testing ppa on the machine?
[15:52] <didrocks> tvoss: will be able to do that later on, I have an appointment, maybe sil2100 can help you? he should have access
[15:53] <tvoss> sil2100, ping
[15:53] <tvoss> didrocks, okay, no weird versions around
[15:53] <sil2100> tvoss: let me backlog and see what's what
[15:54] <tvoss> sil2100, ack
[15:54] <sil2100> tvoss: on what machine do you need it installed? ati?
[16:02] <tvoss> sil2100, ack
[16:02] <tvoss> sil2100, is there a monitor connected to the machine, or a kvm switch?
[16:22] <sil2100> tvoss: I only log there through ssh ;) That's all the access I have
[16:22] <tvoss> sil2100, where does the machine physically live?
[16:24] <sil2100> tvoss: not sure now, I would guess it's in Lexington? Let's ask the QA guys, one moment
[16:27] <sil2100> tvoss: yes, I was right, they're in the QA lab in Boston
[16:27] <sil2100> tvoss: so the QA guys should be able to physically access it and perform debugging
[16:33] <tvoss> sil2100, how is the machine called?
[16:35] <sil2100> tvoss: I know it by the name of dx-autopilot-ati
[20:02] <thomi> morning
[21:28] <racarr> I don't know what was up with feeling sick all night but feel excellent now :) almost done with surface configuration notification
[21:34] <thomi> racarr: how's that mir_stress bug?
[21:53] <racarr> thomi: The same...need to finish unblocking shell stuff first :)
[21:53] <racarr> OSK incoming :D
[21:55] <racarr> the osk needs to be able to hide/show over IPC
[21:55] <racarr> so do we add mir_surface_hide/mir_surface_show?
[21:55] <racarr> Is it a surface state
[21:55] <racarr> if it is, how is it different than minimized
[21:55] <racarr> (or the same question if it isn't)
[22:27] <racarr> http://www.kickstarter.com/projects/cradle-of-mir/the-cradle-of-mir-at-burning-man-2013-russian-team we are so popular
[22:27] <racarr> :p
[22:33] <racarr> Hide is the same as minimize
[22:33] <racarr> but show is not the same as restored
[22:52] <kdub> racarr, haha@ the kickstarter
[22:55] <kdub> downloading mir over bzr takes longer and longer as we get more revs
[22:55] <kdub> maybe i should upgrade my internet connection plan to accomodate :)
[22:59] <racarr> kdub: One day people will tell my story "He ventured to the desert to seek the cradle of mir. Witnesses report that after 3 days of meditation he stood and simply announced 'I have seen the scene graph', only to wander in to the desert and never be heard from again"
[22:59] <racarr> :p
[23:05] <racarr> hmm
[23:05] <racarr> I think I should have done the SurfaceConfigurator, with two methods...
[23:06] <racarr> i.e. configure_surface(surface, attrib, ref value)
[23:06] <racarr> and surface_configured(surface, attrib, value)
[23:06] <racarr> (ref requested_value in configure_surface) perhaps
[23:06] <racarr> I am thinking about, how the shell can implement the policy of minimized windows get hidden
[23:07] <racarr> and there is one place where the shell wants to say like, this window wants to be minimized, thats ok, or this window wants to be an overlay but thats prohibited
[23:08] <racarr> but this isn't where you want to actually implement your behavior (i.e. minimize the window at some point)
[23:08] <racarr> I think I dunno, it seems like you want to apply the behavior after you have actually called
[23:09] <racarr> msh::Surface::configure
[23:12] <racarr> Neither of these seem correct...so I start wondering if the shell should implement msh::Surface::configure