[00:00] <racarr> I have to go through the process now of extracting all these different little changes now
[00:00] <racarr> and figuring what fixes what and what goes in what branch
[00:00] <racarr> and it' brutal because I know im going to lock up my whole system 10 times in the process
[00:00] <racarr> XD
[00:20] <RAOF> Well, that was an odd door-knock.
[00:20] <RAOF> “Are there any Catholics in the house?”
[00:23] <robert_ancell> RAOF, did then then break out some turntables and have some sort of Catholic rave?
[00:23] <RAOF> Wika wika waaaaaow!
[00:24] <racarr> lol
[00:26] <RAOF> robert_ancell: There's currently no infrastructure for lightdm to determine what type of session to run based on the result of a canary binary, is there?
[00:26] <RAOF> Because it would be pretty easy to write a canary binary for ‘can unity-system-compositor possibly work’
[00:27] <thomi> ok, dumb question: It seems the demo_server will render all surfaces at 0,0 right? Is it the responsibility of the shell to determine where things get rendered ?
[00:31] <RAOF> thomi: Yes.
[00:31] <RAOF> Well, it's the responsibility of the shell to do all the window managementy bits, of which ‘where should this window be’ is obviously one.
[00:32] <thomi> I see. So what will the demo server do when multiple surfaces are rendered? I assume the last one to render will be the one shown?
[00:32] <thomi> i.e.- it'll overwrite, not do any kind of alpha blending?
[00:33] <RAOF> racarr?
[00:34] <RAOF> My last understanding of the status was that exactly one surface would be non-hidden, so... :)
[00:49] <racarr> Yes at the moment
[01:10] <thomi> oh
[01:10] <thomi> that doesn't seem very friendly :)
[01:35] <robert_ancell> RAOF, no
[01:39] <RAOF> robert_ancell: Is it something you think would be reasonable to have?
[01:40] <robert_ancell> RAOF, it doesn't really fit with the design, so I'm thinking it will be easiest to just make the "unity" seat type revert to VT switching if it wants to (it's not a lot of code, just need to copy the logic from src/seat-xlocal.c to src/seat-unity.c)
[01:41] <robert_ancell> And long term we can drop the fallback from seat-unity.c probably
[01:41] <robert_ancell> RAOF, do you know what sort of code we need to make the decision? If it's not too complex we can put it into seat-unity.c directly
[01:42] <RAOF> robert_ancell: We need to iterate over the drm devices that udev iterates for us, then call drmModeIsSupported() on each. It's not a lot of code.
[01:43] <robert_ancell> RAOF, also, I was wondering if we should just put the check into the system compositor, and the unity seat falls back to VT switching if the system compositor doesn't exist or starts (e.g. due to not having supported drivers)
[01:50] <RAOF> That sounds reasonable.
[01:53] <robert_ancell> RAOF, I'm making it support the VT fallback case now
[01:53] <RAOF> Cool.
[01:55] <secret_ninja> cool, there are ppl. here.. awesome.. preparing to install mir now.
[01:55] <RAOF> I'll check that unity-system-compositor does the right thing.
[01:55] <secret_ninja> does it work on nividia fx 5200?
[01:56] <RAOF> Should do, as long as you're using nouveau.
[01:57] <secret_ninja> so, i gotta switch back to noveau.
[01:57] <secret_ninja> that's not a prob., just lose my s-video output.. :(
[01:58] <secret_ninja> im quite interested in getting involved in development of mir..
[02:00] <robert_ancell> secret_ninja, awesome! :)
[02:00] <robert_ancell> brb
[02:02] <mycoguyco> secret ninja is hung up. im him. so, i gotta downgrade to nouveau..
[02:04] <mycoguyco> quiet in here
[02:05] <RAOF> Yeah, you need nouveau. We don't¹ run on the proprietary drivers.
[02:06] <RAOF> ¹: But are working to make that happen.
[02:06] <thomi> RAOF: is there a higher level API to render to a surface than what's done in the unaccelerated demo? I mean, without using gl ;)
[02:06] <secret_ninja> ok. i just lose svideo out..
[02:06] <RAOF> thomi: GL *is* the higher-level rendering API :)
[02:06] <secret_ninja> im interested in development.
[02:06] <secret_ninja> this project sounds very interesting.
[02:06] <thomi> RAOF: yeah... I guess I should just use that
[02:06] <RAOF> thomi: Although you could probably also use Cairo and render using that.
[02:07] <secret_ninja> will it compile with llvm?
[02:07] <secret_ninja> was *vaguely* intersted in playing with llvm also.
[02:12] <secret_ninja> pretty quiet in here
[02:14] <RAOF> secret_ninja: It will complie with clang, but might not run.
[02:14] <RAOF> secret_ninja: If you wanted a good project to start with, ferreting out why the unittests fail when built with clang would be nice :)
[02:16] <secret_ninja> aight. might be byting off more than i should all at once, but why not..
[02:17] <RAOF> Fixing unit tests does at least give a very obvious means of checking progress ;)
[02:19] <secret_ninja> i haven't yet played with llvm yet. much more fam. with gcc, but wanting to play with llvm..
[02:19] <secret_ninja> dont have high expectations.. :)
[02:20] <RAOF> You should have. clang produces error messages about an order of magnitude better than g++
[02:22] <secret_ninja> really? heh, i liked g++ errors..
[02:29] <secret_ninja> more /etc/X11/Xsession.options
[02:29] <secret_ninja> wrong window
[02:38] <RAOF> :)
[02:42] <robert_ancell> RAOF, https://code.launchpad.net/~robert-ancell/lightdm/unity-vt-fallback/+merge/166631
[03:43] <racarr> Back for a while!
[03:49] <RAOF> You midnight owl, you!
[03:55] <racarr> 8:55!
[04:07] <racarr> thomi: So not moving the cursor I can't reproduce any problems with trunk
[04:08] <thomi> racarr: ok, let me re-pull and re-build
[04:09] <racarr> thomi: That may be a complete lie
[04:09] <racarr> it may just be very intermittent
[04:09] <racarr> yeah ok ive still got a crash
[04:09] <thomi> racarr: it happens pretty frequently here... as in, within 10 seconds
[04:09] <racarr> now I can start applying fixes
[04:10] <thomi> cool
[04:10] <thomi> you're using mir-stress ?
[04:10] <racarr> yeah
[04:11] <racarr> atm I am eating indian food but at a later point I will be using mir-stress again
[04:11] <thomi> oh man, I'm jealous
[04:11] <thomi> although... it is "Fish and Chip Friday", so that's something to look forward to I guess
[04:13] <racarr> :)
[04:13] <racarr> I was obsessed with fish and chips when we lived in england when I was young
[04:13] <racarr> obsessed XD
[04:14] <thomi> New Zealand fish and chips are a little different
[04:14] <thomi> there's none of that malt vinegar shenanigans, for a start
[04:15] <racarr> I'm only in it for the batter.
[04:18] <racarr> the thing that still worries me about all this is I understand
[04:18] <racarr> the deadlock that shows up after I "Fix" the crash
[04:18] <racarr> but I can't find any possible set of circumstances where the race for this crash to happen
[04:18] <racarr> would happen
[04:18] <secret_ninja> woohoo.. compiling llvm and clang
[04:18] <secret_ninja> d/l'ing mir.
[04:19] <racarr> secret_ninja: Don't party too hard
[04:19] <racarr> ;)
[04:19] <secret_ninja> blarg, gonna sleep through the compile and d/l.
[04:20] <racarr> Cya.
[04:20] <secret_ninja> iim only getting 15k/sec on the d/l and it is 700 megs
[04:20] <secret_ninja> 14 hrs left.
[04:21] <secret_ninja> reminds me when i pirated digital unix for an alpha i had at home back in the 90's.
[04:21] <secret_ninja> i was on isdn
[04:21] <secret_ninja> took all wknd
[04:45] <secret_ninja> quick llvm question...should i do an optimize or profiled build?
[04:51] <RAOF> secret_ninja: Doesn't really matter.
[04:53] <secret_ninja> wasn sure if profiling did anything arch specific
[04:54] <secret_ninja> i just did optimized. damn, i specified arch x86_64 ( ive got amd 64 bit). won't be able to compile to other archs.. damn, i gotta start thinking more.
[04:55] <secret_ninja> or, will i?  guess ill find out.
[04:58] <RAOF> I'm not quite sure why you'd want to build for other archs at this point.
[04:59] <RAOF> You *can*, with a chroot or a cross-compiler or similar.
[04:59] <RAOF> But that's not really interesting unless you want to deploy on a phone or somesuch
[05:05] <secret_ninja> ok, that's what i was thinking when i installed, that i would just be compiling for this arch.. but, if i get into coding again, im gonna wanna check my code compiles for all archs.
[05:05] <secret_ninja> even though i can't test resulting binary code
[05:05] <secret_ninja> still compiling, still d/l'ing mir.. gonna be all night on the c/l.. dunno how long compile will take.
[05:14] <RAOF> On a reasonable system Mir shouldn't take more than 10 minutes or so to build.
[05:17] <RAOF> Generally speaking you don't need to care about having your code compile on different architectures. That's the compiler's job :)
[06:10] <secret_ninja> lame shit.. didn't rename clang-3.2.src to clang and it didn't compile it by default..
[06:10] <secret_ninja> recompiling.
[06:14] <secret_ninja> mir at 25%.. woot, woot.
[06:29] <RAOF> Any particular reason why you didn't just install clang from the repositories?
[06:29] <RAOF> Maybe you're not running Ubuntu?
[07:27] <secret_ninja> i like to compile from source
[07:27] <secret_ninja> Linux citadel 3.8.0-22-generic #33-Ubuntu SMP Thu May 16 15:17:14 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[07:29] <secret_ninja> leftover habit from openBSD days.
[07:30] <RAOF> Heh.
[07:31] <secret_ninja> been running linux since 94.
[07:32] <secret_ninja> and, i gotta say, 13.04 is the best one ive seen yet.
[07:33] <secret_ninja> this way, i know that the llvm and the clang are the correlating versions.
[07:34] <secret_ninja> no /lib probs, etc
[07:34] <secret_ninja> he's gonna need a temp ban.
[07:35] <secret_ninja> it's still compiling..
[07:36] <secret_ninja> morphis is away..
[07:36] <secret_ninja> no ops in here?
[07:37] <secret_ninja> mir is 33%
[07:50]  * RAOF wonders who has ops here
[09:45] <xrc> good day
[09:45] <xrc> I was playing around with mir - got it from the ppa:mir-team/staging
[09:46] <xrc> it didn't install the unity-system-compozitor untill a couple of ours ago
[09:46] <xrc> then I forced it to get the latest mir-server that has been kept back
[09:47] <xrc> and now after a reboot I am stuck at the ubuntu loading screen
[09:47] <xrc> no login window
[09:47] <xrc> I've logged in and used 'startx'
[09:47] <xrc> and all seems to be fine
[09:48] <xrc> but I need it to work after the restart
[09:48] <xrc> I haven't changed the lightdm.cfg to start mir
[09:48] <xrc> so I'm a bit confused
[09:48] <xrc> can anyone help me ?
[09:58] <xrc> I'll be on a couple of hours
[09:58] <xrc> in case anyone here can help me
[09:58] <xrc> thanks in advance!
[10:00] <alan_g>  xrc I don't know what's happened on your system - FWIW mine runs fine without lightdm.cfg changes. But "forced it to get the latest mir-server" sounds like something I don't do. Could you expand on that?
[10:00] <xrc> alan_g, well, I was following this bug: https://bugs.launchpad.net/unity-system-compositor/+bug/1177722
[10:00] <ubot5`> Launchpad bug 1177722 in Unity System Compositor "mir ppa : unity-system-compositor should be built against latest mir libraries" [High,Fix released]
[10:01] <xrc> alan_g, so today when I did a sudo apt-get update followed by sudo apt-get upgrade, all the packages seemed to install just fine
[10:01] <xrc> alan_g, I even got the unity-system-compositor installed
[10:02] <xrc> alan_g, then I noticed some packages that were not updated
[10:02] <xrc> alan_g, and they were libmirserver0 and mir-demos
[10:03] <xrc> alan_g, gimme a sec, I'll dig up the commands I used from history
[10:05] <xrc> alan_g, so basically I first did an update, then and upgrade
[10:05] <xrc> alan_g, it installed the new lightdm and unity-system-compositor and all that were not installed because of the bug above
[10:05] <alan_g> xrc: that ought to work - you didn't override anything then?
[10:06] <xrc> alan_g, but it showed that libmirserver0 and mir-demos were held back
[10:06] <xrc> alan_g, so I forced them via 'sudo apt-get install libmirserver0 mir-demos'
[10:06]  * alan_g checks - he's not updated for a few days, so probably isn't running what's in the ppa today
[10:08] <xrc> alan_g, I guess the problem is that when I did force to install the new version - it killed lightdm (uninstall)
[10:09] <xrc> alan_g, and now lightdm can't be installed cause it tries to get the one from the mir server ppa, and that one won't install because of the broken dependencies issue
[10:10] <alan_g> xrc: sounds possible. It is a development stack, and does break sometimes
[10:10] <xrc> alan_g, how can I get the default lightdm from official ubuntu repositories to install?
[10:13] <alan_g> xrc: Personally, I tend to reinstall to get to a known state. But it ought to be possible to force uninstalls and reinstalls with e.g. deselect (but when that doesn't work straight away it costs more time than a reinstall).
[10:14] <alan_g> others here might have other ideas
[10:15] <xrc> alan_g, ok, I got lightdm reinstalled from the official ubuntu repositories
[10:15] <xrc> alan_g, now it's being held back from upgrade, because of the bug I mentioned before. This was the state of my machine for a few days )
[10:16] <xrc> alan_g, as a side note - where can I register this nickname so when I'll log in into IRC on #ubuntu-mir it will represent only me?
[10:17] <alan_g> xrc: http://freenode.net/faq.shtml
[10:18] <xrc> alan_g, thanks a lot!
[10:18] <alan_g> xrc: yw
[13:42] <kgunn> alan_g: alf__ do we actually have blur algorithms in mir ?
[13:42] <alan_g> kgunn: I'm not aware of any. (yet)
[13:43] <kgunn> alan_g: go it...that's how i understood it "we may add"
[13:44]  * alan_g goes it
[14:00] <kgunn> alan_g: :)) just saw it...
[14:00] <kgunn> meant "got it"
[14:03] <alan_g> kgunn: I guessed. Who wants a blur algorithm?
[14:04]  * alan_g wants the inverse - the "enhance" algorithm used on TV
[14:05] <kgunn> alan_g: oh your team mates on the unity ui....talking about how qt's blur is expensive
[14:05] <kgunn> and chatting as if they can just "try mir's" when it lands
[14:05] <kgunn> :)
[14:06] <alan_g> I guess that will be after they MP it. ;)
[14:08] <alf__> kgunn: what do they want to blur?
[14:11] <kgunn> alf__: well, its more that design wants to blur ;)
[14:12] <kgunn> alf__: at least 1 use case is the lock screen blur of the app behind it
[14:12] <kgunn> which may very well be changing/updating visually
[14:13] <kgunn> i think we'll prob end up doing semi-live blur (but not live as that's pretty expensive)
[14:15] <alf__> kgunn: sorry, had to reboot and missed your answer, could you repeat please?
[14:15] <kgunn> alf__: well, its more that design wants to blur ;)
[14:15] <kgunn> alf__: at least 1 use case is the lock screen blur of the app behind it
[14:16] <kgunn> which may very well be changing/updating visually
[14:16] <kgunn> i think we'll prob end up doing semi-live blur (but not live as that's pretty expensive)
[14:17] <kgunn> we could call on nic-doffay for the algo work
[14:21] <alf__> kgunn: The shader/algo work is the least of our problems for blur :) It's how and where (in terms of the mir-unity stack) we integrate it that needs discussion. But let's leave that for when the time actually comes.
[14:30] <kgunn> alf__: sure
[14:37] <kdub_> alan_g, ping
[14:38] <alan_g> kdub_: pong
[14:56] <katie> kgunn, alf__ ,  there are other use cases for the blur: the hud, search results on the dash and media player.... just fyi ;)
[14:57] <katie> swap use cases to uses
[14:58] <kgunn> katie: ack
[15:02] <kdub_> hey all, mp'd the swapper switcher, got partially through the new ipc capability, but got distracted by wanting to clean up some things
[15:05] <racarr> Morning!
[15:05] <secret_ninja> g'morning al
[15:05] <secret_ninja> l
[15:06] <secret_ninja> im *almost* done d/l'ing mir, during the d/l, i got several gateway timeouts. how can i just get the files that didn't d/l?
[15:07] <secret_ninja> anybody here?
[15:08] <kgunn> secret_ninja: ?...you mean prebuilt bins?
[15:12] <kdub_> its sort of funny how msh::Surface is a proxy class for ms::Surface, and has its own logic too
[15:13] <secret_ninja> kgunn: im pretty sure source...
[15:13] <secret_ninja> i can paste the line i used to get it, but i can't figure out what it is...
[15:13] <secret_ninja> mk-build-deps --install --tool "apt-get -y" --build-dep debian/control
[15:14] <alan_g> kdub_: I've questioning that for months. ;)
[15:15] <secret_ninja> unless itis the bzr command.. not sure, guess ill have to wait for the d/l to finish.. was like 1.2 gigs.
[15:17] <kgunn> secret_ninja: so you're downloading on the phone...yep....just suffer
[15:17] <kgunn> secret_ninja: its just the build dependencies to build mir
[15:18] <kdub_> alan_g, i'm tempted to clean up a bit...
[15:18] <secret_ninja> how can you tell im d/l'ing on the phone?
[15:18] <kdub_> i'll stop cleaning when the diff gets to be >1000 though :)
[15:18] <kgunn> brb
[15:19] <alan_g> kdub_: I've had related discussions with racarr recently, not sure if he's started something. Worth checking.
[15:20] <racarr> nothing yet :)
[15:21] <kdub_> ah, ok. the first thing i'll probably hit is that ms::Surface has public member functions that aren't behind an interface
[15:23] <secret_ninja> kgunn: question was, will i have to reget the whole source tree, or can i somehow just get the files that failed?
[15:24] <alan_g> kdub_: also, ms::Surface has attributes for things that I think the shell should associate with the surface.
[15:24] <secret_ninja> Get:152 http://us.archive.ubuntu.com/ubuntu/ raring/main texlive-font-utils all 2012.20120611-2 [1,681 kB]
[15:25] <kgunn> secret_ninja: not sure how smart the tools are, i honestly don't know of any arg to ask for partial....but i would assume its smart
[15:25] <secret_ninja> Err http://us.archive.ubuntu.com/ubuntu/ raring/main ttf-marvosym all 0.1+dfsg-2
[15:25] <secret_ninja>   504  Gateway Time-out [IP: 91.189.91.15 80]
[15:25] <secret_ninja> crossing fingers.. ;0
[15:25] <kdub_> alan_g, right, i kinda detect that some shell state has been creeping in
[15:29] <alan_g> kdub_: yeah, it is pretty unclear why it is there in that form - I'll be happy to see it cleaned up
[15:33] <kgunn> secret_ninja: gonna have to run in a minute
[15:33] <kgunn> but where are you trying to build ?
[15:33] <kgunn> natively (on the phone)
[15:33] <kgunn> or on your pc
[15:34] <kgunn> secret_ninja: please keep the conversation in public as it might help others
[15:35] <secret_ninja> alright. well, im not d/l'ing to my phone, im d/l'ing to my pc, using phone as gateway.
[15:36] <kgunn> secret_ninja: what do you intend to do ? where do you want to compile ?
[15:36] <secret_ninja> mostly seeing texlive right now, saw ruby earlier (in the download). it's a 1.2 G d/ll. prolly just going to restart the d/l after it is done and hope the tools are smart enough to just get the parts that failed..
[15:36] <secret_ninja> im going to compile on my pc..
[15:37] <kgunn> secret_ninja: ah...i get you now....so last one, emulated or cross compile ?
[15:38] <kgunn> gotta run
[15:38] <secret_ninja> am i in the correct place? going to run it on my pc as X replacement
[15:38] <secret_ninja> nothing to do with phone..
[15:39] <secret_ninja> aight, have nice day. :)
[15:39] <racarr> I gess you are downloading the build depedencies? I don't know any magic to speed it up :)
[15:40] <secret_ninja> not worried bout the time. worried bout several files that failed to d/l due to gateway timeout..
[15:40] <secret_ninja> d/l over 14 hours old. just woke up and saw several errors re: gateway timeout and d/l failures..
[15:41] <secret_ninja> only 94% done, but getting there
[15:42] <racarr> 1 line: https://code.launchpad.net/~robertcarr/mir/fix-default-surface-lock/+merge/166831
[15:45] <racarr> p.s. if you are scared of deadlock mir_demo_server & sleep 45 && killall -9 mir_demo_server && chvt 7 is a great way to run mir
[15:46] <secret_ninja> racarr: kgunn asked if i was going to build it natively, or on the pc, but im going to build it natively on the pc.. this is also supposed to run on pc's, right??? not just phones..
[15:46] <racarr> Yep :)
[15:46] <secret_ninja> uh-oh.
[15:46] <racarr> I think he thought you were building for the phone
[15:47] <racarr> so he was asking if you were cross compiling from PC or building
[15:47] <racarr> on phone
[15:47] <secret_ninja>  Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
[15:47] <racarr> but its all good on desktop too :)
[15:47] <secret_ninja> yes.
[15:48] <secret_ninja> my d/l just quit on me with the above error..now i don't know what to do.. it was 94% and im *not* starting all over... anybody know where i put the --fix-missing option?
[15:49] <racarr> I don't think it will help
[15:49] <racarr> apt-get wont start all over
[15:49] <racarr> run apt-get update :)
[15:49] <racarr> apt-get won't start all over ("probably")
[15:50] <racarr> but it goes to apt-get I don't know how mk-build-deps calls that
[15:52] <secret_ninja> phew, smart tools rock.
[15:53] <secret_ninja> man, i was getting *so* pissy. glad it only has to get 90M this time..
[15:57] <racarr> haha...I am just updating a test and one of the random test strings
[15:57] <racarr> is the song I am listening to now...
[15:57] <racarr> around and around...*facepalm*
[16:06] <alf__> secret_ninja: Keep in mind that you won't get anything really usable in terms of a desktop environment right now
[16:19] <racarr> Another small diff https://code.launchpad.net/~robertcarr/mir/improve-input-channels/+merge/166841
[16:26] <kdub_> racarr, good lead-in on the description :)
[16:34] <racarr> :)
[16:34] <racarr> thanks for quick review..
[16:35] <racarr> trying to split out the ...4! things I found yesterday XD
[16:36] <alan_g> kdub_: which egl implementation are we using in the android stack? I think I need to look at the code to figure out what's happening.
[16:37] <kdub_> alan_g, i sort of want to answer 'egl 1.4', but don't know if thats what was being asked :)
[16:38] <alan_g> kdub_: Probably the result of my thinking being unclear.
[16:40] <alan_g> kdub_: for some reason, not obvious in mir code eglSwapBuffers() behaves differently with a CB mode server than a default one. But I'm not sure which repo to grab code from to look at.
[16:41] <kdub_> well, to look at the egl code, its closed :(
[16:42] <alan_g>  /o\
[16:42] <racarr> https://code.launchpad.net/~robertcarr/mir/fix-surface-stack-input-locking/+merge/166852 another smallish one
[16:43] <racarr> Maybe instead of the lock dance (there is another part of it coming up in the registrar)
[16:43] <kdub_> alan_g, the interface the egl driver uses is in 3rd_party/android-deps/system/window.h
[16:43] <racarr> we should use r/w locks
[16:43] <kdub_> i just wrote one!
[16:44] <racarr> a r/w lock?
[16:44] <kdub_> racarr, yeah, in ~kdub/mir/swapper-swapper
[16:44] <kdub_> its a writer biased one
[16:45] <alan_g> kdub_: found that. OK, maybe tomorrow will bring inspiration.
[16:45] <racarr> mm interesting
[16:45] <racarr> what kind of bias do we want in the surface stack...I can almost convince myself either way
[16:45] <racarr> sounds more likely a reader bias right
[16:46] <racarr> who cares if we are updating a bunch if we never get to render
[16:46]  * alan_g remembers it is friday (and he's going to a dance)
[16:46] <racarr> Though something I learned from all the profiling on toyds
[16:47] <racarr> is that I have a 100% incorrect track record on guessing the effects of biased r/w locks :p
[16:47] <racarr> alan_g: Cheers :) enjoy
[16:47] <kdub_> alan_g, maybe i'll write a mail about how to deal with the blob or something
[16:47] <kdub_> there are a few inroads to investigate
[16:47] <alan_g> r/w locks are tricky things
[16:47] <kdub_> yeah
[16:47] <racarr> in toyds I had like
[16:48] <racarr> 10 different ideas for how I was convinced they were going to eliminate
[16:48] <kdub_> probably why i didn't find a rw lock in the c++11 <mutex> :)
[16:48] <racarr> all my contention and speed thing way up
[16:48] <racarr> and they all failed XD
[16:48] <racarr> kdub_: I think it is coming in C++14
[16:48] <racarr> pthread has one
[16:48] <racarr> which I wonder if we should use over mutex/condition variable
[16:49] <racarr> I guess it's unbiased.
[16:49] <racarr> which is weird
[16:49] <alan_g> kdub_: the absence of a rw lock in C++11 was deliberate
[16:49] <kdub_> yeah, smarter to let people think hard about it for a while!
[16:50] <kdub_> racarr, i had thought about that...but i said 'early optimization', and used the mutex/cv
[17:01] <racarr> kdub_: Good choice I think :)
[17:14] <alf__> kdub_: racarr: I have pushed lp:~afrantzis/mir/client-lttng-wip in case you want to use it for any client/server measurements today. Have a great weekend!
[17:15] <racarr> alf__: Thanks! very cool cant wait to start getting full system input measurements
[17:16] <racarr> enjoy your weekend too :)
[17:16] <alf__> racarr: kdub_: don't forget to use: LD_PRELOAD=libmirclientlttng.so MIR_CLIENT_RPC_REPORT=lttng for the client
[17:32] <racarr> Sigh
[17:32] <racarr> this locking bit between the input and surface stack
[17:32] <racarr> is this huge like
[17:32] <racarr> hidden coupling
[17:32] <racarr> that can be commented or clarified
[17:32] <racarr> but I wish there were a clear way to express it in the API
[17:32] <racarr> I'm sure there is
[17:32] <racarr> I wish I could come up with it immediately
[17:32] <racarr> :p
[17:37] <kdub_> racarr, i'm thinking in the same arena right now too
[17:38] <racarr> kdub_: Any ideas?
[17:38] <racarr> the one I am running in to, is for example this surface stack lock. Where the surface stack can't call out to the input registrar
[17:38] <racarr> while it's holding its own lock
[17:39] <racarr> because the input registrar, calls a function on the input dispatcher, which is locked by a lock that is shared with some InputDipatcher code run from another thread
[17:39] <racarr> that can block on the surface tack
[17:39] <racarr> But how can that be express in the API...
[17:39] <kdub_> racarr, i'm currently driving out some coupling with some tests on the ms::Surface
[17:39] <kdub_> which my hope is that it will chase out those sync issues
[17:39] <racarr> sometimes you can pass around a mutex to say you must have to hold a lock
[17:40] <racarr> but what's...the antipattern
[17:40] <racarr> lol
[17:41] <kdub_> heh
[17:43] <racarr> you could pass
[17:43] <racarr> the mutex
[17:43] <racarr> and then the consumer has to be able to try_lock/unlock it
[17:43] <racarr> but that's
[17:43] <racarr> kind of absurd
[17:50] <racarr> https://code.launchpad.net/~robertcarr/mir/fix-input-registrar-locking/+merge/166864
[17:50] <racarr> last one
[17:50] <racarr> :)
[17:50] <racarr> running the stress tests and thrashing the mouse around seems to work indefinitely
[17:50] <secret_ninja> can i switch between X and mir with a reboot?
[17:50] <racarr> with all these
[17:52] <racarr> secret_ninja: You can without a reboot :) I'm not sure exactly what you are asking/expecting though
[17:53] <racarr> you can't run a full user session on mir yet (excluding XMir of course). Or at least not one that you could replace your desktop with
[17:53] <racarr> so normally we run mir on a vt and x on a vt and you can switch back and forth and everyone is happy :)
[17:53] <secret_ninja> im *just* wanting to see what it looks like and how it runs. what apps it can use. and maybe help with development.. i dont know the status of the project, but want to play with it.
[17:54] <secret_ninja> so, inside of Xwin, open an xterm and run mir.. ?
[17:54] <racarr> I understand :D
[17:54] <racarr> no from a virtual terminal, but you will want to run some clients too...
[17:55] <racarr> we can test one of the demo clients just to see if it's working
[17:55] <racarr> So, right now for VT switching to work you need to run it as root
[17:55] <secret_ninja> ive worked in the industry for like 20 years as unix admin, was involved with original ide (intergrated drive electronics) hard drives at arcada software and seagate.
[17:55] <racarr> so in your mir build directory should have /bin/
[17:56] <secret_ninja> involved with linux since 94.
[17:56] <racarr> from a VT as root run bin/mir_demo_server
[17:56] <racarr> secret_ninja: Ehe great. I bet you have had lots of X headaches over the years ;)
[17:56] <racarr> then from another VT you can run say /bin/mir_eglplasma
[17:56] <racarr> (also as root, since Mir is root)
[17:56] <racarr> and switch back to the Mir VT
[17:56] <racarr> you should see some...flowing ubuntu colored plasma XD
[17:57] <racarr> I'm just about to run to the coffee shop though so be back in 5.
[17:57] <secret_ninja> yea, multiple monitors, vid cards, serial terms (oh, the days of amber screens).
[17:57] <secret_ninja> i gotta run to store also, ill bbl
[17:57] <racarr> cheer
[17:57] <racarr> s*
[17:59] <secret_ninja> :)
[18:01] <secret_ninja> gonna need lots of help, but also naturally good at puters. simple questions first. in build dir, run "cmake .." and it wants to use gcc. i would like to use clang
[18:02] <secret_ninja> do i rename gcc and ln clang to gcc?
[18:02] <racarr> It's possibly fixed in clang trunk
[18:02] <racarr> but with clang from the packages there is a bug with their shared_ptr implementation
[18:03] <racarr> that prevents mir from running
[18:03] <racarr> secret_ninja: ^
[18:03] <racarr> Sometimes we build with clang for the diagnostics, etc, you can ue
[18:03] <racarr> cmake .. CMAKE_CXX_COMPILER=/usr/bin/clang++ CMAKE_C_COMPILER=/usr/bin/clang
[18:03] <racarr> err
[18:03] <racarr> cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang
[18:04] <racarr> I heard you building clang and llvm earlier and thought of warning you but I thought maybe you were just building it for mesa XD
[18:04] <racarr> if you built clang from trunk, you should try running mir and then report back but quite possibly expect it to crash
[18:04] <racarr> a first step would be trying the tests with clang
[18:04] <racarr> you can run ctest
[18:04] <racarr> and if it fails, inspect individually /bin/unit-tests /bin/integration-tests /bin/acceptance-tests
[18:04] <racarr> ./bin*
[18:06] <secret_ninja> aight, wasnt sure if i could set a variable for it or something.. :)  i have clang from repository in /usr/bin/clang and have src for clang, but after i did the make for llvm, i couldn't find clang, that's when i did apt-get for it.
[18:09] <racarr> ah
[18:09] <racarr> yeah wont work sorry :(
[18:10] <secret_ninja> yea, just found that..
[18:10] <secret_ninja> but, i have src for clang.. any use? i can fallback to gcc though
[18:10] <secret_ninja> prolly easier
[18:15] <secret_ninja> are ya'll at the point of fixing simple errors during compilation(i.e. missing field initiatializers errors?) non-critical, compilation continuuing, but should be fixable relatively easy..
[18:18] <racarr> secret_ninja: It builds in clang
[18:18] <racarr> secret_ninja: And mir itself builds under clang without warnings (mostly gmock, etc) as part of our continuou integration
[18:18] <racarr> but won't run :(
[18:19] <secret_ninja> gave up on clang, went to gcc. it's 45%. but, saw several errors and comparing signed and unsigned integers in some of the routines
[18:19] <kgunn> secret_ninja: if you are willing...show up on monday about 3pm US CST
[18:20] <kgunn> we are doing some stress testing
[18:20] <kgunn> ....and we are going to continue that
[18:20] <kgunn> we've fixed what we've found so far...but i am sure we'll find more stuff
[18:21] <secret_ninja> efinite.
[18:24] <racarr> kgunn: Actually I think there is still a heisenbug ;) basically the surface/input relationship was getting in to an invalid state due to some weird bits about the input channel
[18:24] <racarr> and the weird bits about the input channel were nice to fix anyway
[18:24] <racarr> for other (not exhibiting yet) reasons
[18:24] <racarr> but then
[18:24] <racarr> this invalid state, could only be triggered by an
[18:24] <racarr> "impossible"
[18:24] <racarr> set of calls
[18:25] <racarr> i.e. something going wrong in frontend
[18:25] <racarr> so it seems that is likely still happening it just doesn't crash anymore and we have to find another way to make it surface
[18:25] <racarr> I dunno. I'm thinking about it :)
[18:25] <racarr> err. to make it surface like a submarine, not surface like a window
[18:29] <kgunn> racarr: good one....submarine :)
[18:31] <racarr> kgunn: Submarine is the new minimized
[18:32] <racarr> just like surface is the new window and mode is the new state
[18:32] <racarr> last decade: "This window is in the minimized state"
[18:32] <racarr> this decade: "This surface is in submarine mode"
[18:32] <racarr> :p
[18:40] <racarr> kdub_: Is swapper-swapper ready for review?
[18:40] <racarr> Is it going to hurt my head the description makes it sound like it might hurt my head
[18:41] <kdub_> yes to both! :)
[18:41] <racarr> kdub_: Also we should try and grow the architecture in a way that eventually ends up also with a SwitcherSwapper because that's hilarious
[18:42] <racarr> i.e. we swap between various swapper switchers based on battery mode/plugged in
[18:42] <racarr> ;)
[18:42] <racarr> ill start now and go for lunch soon then review in detail after lunch :)
[18:55] <kgunn> kdub_: on swapper swapper....does the client need to worry about blanking the buffs ?
[18:55] <kgunn> e.g. if he has data in them that he doesn't want to be unsecure
[18:56] <kdub_> kgunn, if the client is the one requesting the switch, he's the one who produced the data anyways
[18:56] <kdub_> and we're not doing composition bypass swapping just yet
[18:57] <kdub_> so the buffers that are transferred to the new swapper are still the same old ones the client produced
[18:58] <racarr> Does anyone need me to be around for the next hour and a half or so?
[18:58] <racarr> Rephrased: Does anyone mind if I take a super long lunch XD
[18:58] <kgunn> kdub_: got it.....its lunatic fringe anyway....it'd only be a couple of buffers
[18:58] <kgunn> dang you racarr
[18:58] <kgunn> no
[18:58] <kgunn> :)
[18:59] <racarr> Excellent I'm going to go eat on top of a hill and stare at the water :D
[20:35] <racarr> Back!
[21:03] <kgunn> racarr: so did greyback provide any feedback on depthify stack ? (did he actually try to use)
[21:04] <racarr> kgunn: Not yet afaik
[21:05] <racarr> the thing is the shell never directly calls SurafceController::create_surface , instead it just creates a QWindow and the magic happens
[21:05] <racarr> so need to go down and make changes to qtubuntu really but
[21:05] <racarr> not the best timing :)
[21:27] <kgunn> racarr: thanks...but i guess you were expecting him to make the qtubuntu changes
[21:38] <racarr> kgunn: No
[21:38] <racarr> I just mean there is no point in me doing it now and then doing it a second time after
[21:38] <racarr> the platform API changes
[21:38] <racarr> well not much point
[21:39] <racarr> I thought he might try hacking something together if he had time XD but...where does the time go?
[22:18] <kgunn> racarr: if i only knew
[22:36] <racarr> kgunn: You are an excellent weekly reporter
[22:37] <kgunn> racarr: i excel at data aggregation
[22:37] <kgunn> sadly not much more :)