/srv/irclogs.ubuntu.com/2013/07/16/#ubuntu-mir.txt

robert_ancellRAOF, are you adding that .symbols file to libmirclient? If too busy, I can do it01:55
RAOFrobert_ancell: Yeah, I am in the background.01:55
RAOFTurns out that it's a little bit more complicated, because we accidentally export about 100KB worth of C++ symbols too.01:56
robert_ancellRAOF, time for symbol filter..01:56
RAOFTime for -fvisibility=hidden.01:57
RAOFIt should also significantly reduce our startup time.01:57
robert_ancellnice01:57
robert_ancellRAOF, in the background?01:58
RAOFIt builds while I do other things :)01:58
robert_ancellk01:59
dufluRAOF: That's the fun part about C++ symbols. Often their name lengths far exceed their code size :)02:01
=== kode54 is now known as kode55
=== kode55 is now known as kode54
dufluIs 60 degrees at idle good? :P03:02
robert_ancellRAOF, those SNA changes you made - are they on https://github.com/RAOF/xserver?03:19
RAOFrobert_ancell: No, they're on lp:~raof/mir/xf86-video-intel-vladmir03:20
robert_ancellRAOF, aha03:20
RAOFBecause Intel is too cool to use an acceleration architecture that lives in the xserver tree :)03:20
robert_ancellRAOF, that branch doesn't seem to exist03:22
robert_ancellis it private?03:22
RAOFShouldn't be?03:22
RAOFAh, sorry.03:22
robert_ancelloh ~mir-team?03:22
RAOFlp:~mir-team/mir/xf86-video-intel-vladmir03:22
robert_ancellI just read our own documentation :)03:23
RAOF:P03:23
robert_ancellRAOF, btw, is there a reason why it isn't lp:~mir-team/xserver-xorg-video-intel/vladmir?03:25
RAOFNot really. Does that project exist, though?+03:25
robert_ancellRAOF, yes03:26
robert_ancelland lp:~mir-team/nouveau/vladmir03:26
RAOFThen the answer is probably “because at one point that branch was private”03:26
robert_ancellI thought so03:26
robert_ancelland lp:~mir-team/xserver-xorg-driver-ati/vladmir03:26
robert_ancellfor bonus inconsistency in source package naming03:27
robert_ancellupstream naming rather03:27
RAOFWell, none of those projects have the actual upstream name :)03:27
RAOFUpstream they're xf86-video-{ati,intel,nouveau}03:27
robert_ancellRAOF, yeah, sad eh?03:27
RAOFWould you prefer it if the canonical repositories were under the various projects?03:28
robert_ancellRAOF, well, look. You registered nouveau :)03:28
RAOFI can't remember why :)03:28
robert_ancellRAOF, it confuses me slightly, but it doesn't really matter03:29
dufluAm I imagining things, but did saucy's power usage drop significantly when it moved to 3.10?03:33
duflu-but +or03:33
dufluOh, that actually wasn't recent03:35
tvossRAOF, ping05:29
RAOFtvoss: Pong05:29
* duflu does the no-more-deadlocks dance05:53
* RAOF goes to get milk06:18
hikikohi :)07:14
hikikoquestion: I wonder how could I check in which platform mir runs (to see for example which type of buffers I will need) without using ifdef07:15
dufluhikiko: Not sure. But I have been wondering much the same. I would say it should be a function of the platform to produce (factory) its own buffers. This would eventually be owned by a "graphics driver" which would take over platform roles07:16
dholbachgood morning07:18
dufluMorning dholbach07:18
hikikoduflu, you mean a factory in each native platform isn't it? and the nested one will just use it?07:19
hikikoI mean: buffer interface that is implemented by android and gbm separately07:20
dufluhikiko: I think I mean the "platform" should be a portable interface to operate on the interfaces to platform-specific objects, like buffers07:20
dufluYes07:20
dufluBut that's just what I think. Not necessarily how it works now07:20
hikiko:) it doesn't sound a bad idea :)07:21
hikikoI'll try it!07:21
RAOFhikiko: There's also mir_surface_get_platform_type07:21
hikikoyes07:21
hikikobut to use this07:21
hikikoI need to have a client platform isn't it?07:22
alf_hikiko: I guess the first question is why do you need to explicitly know on which platform you on.07:22
dholbachhi duflu07:22
hikiko+i saw at tests/unit-tests/client/test_client_platform.cpp that we use ifdef to call it07:22
hikikoalf_, yes I do because I will use native buffers07:23
duflualf_: That's my point. There should be a (portable) interface always available to give you what you want. If not already at lower-level classes then at least implemented per platform07:23
alf_hikiko: where/how are you going to use native buffers?07:24
alf_hikiko: (I am trying to understand your scenario better)07:24
hikikohmm... I needed gbm in my last branch because nested mir was a different platform07:26
hikikobut I see what you mean07:26
hikikomaybe this time (runtime) I won't need to do anything07:26
=== alan_g is now known as alan_g|afk
hikikosince I will create both a native platform (- initializes gbm, drm creates devices etc) and the nested one07:27
hikikook, I ll check if I need it first :>07:28
hikiko(thanks all)07:30
RAOFNew laptop should be shipping soon... shipping sooooooon!07:43
tvossRAOF, \o/07:43
mlankhorstor will it?! dun dun duun07:43
tvossRAOF, disabling semaphores seems to work07:44
RAOFYay for year-old i915 bugs!07:44
tvossRAOF, but it means a degradation in terms of throughput and morre cpu load07:45
RAOFMan, why don't we just default to clang everywhere?08:11
mlankhorstbecause clang doesn't compile a linux kernel08:13
=== didrocks1 is now known as didrocks
=== alan_g|afk is now known as alan_g
alf_alan_g: The scenegraph is probably the proper way to handle a lot surface properties. However, unless we make it a priority, we will just continue to scatter more surface bits and pieces around the code base... Not sure how it ties with our current xmir and mobile priorities.08:40
alan_galf_: I was just discussing that with tvoss08:41
tvossalf_, alan_g seems like we should have a discussion about that topic with the team08:41
alan_galf_: tvoss: quick hangout to discuss how we schedule this discussion?08:44
tvossalan_g, on another call right now08:44
alan_gnp later today?08:45
tvossalan_g, sure08:46
dufluI would have imagined only the shell would have a scene graph. I don't understand why you would have one accessible inside libmirserver... ?09:00
RAOFWe need something approximating a scenegraph to actually draw, though.09:01
dufluYes, but what gets drawn in what order is all up to the shell. I guess the server code hasn't quite reached that level of clarity yet09:02
duflu... so some of it is scattered around the server09:02
tvossduflu, largely due to us not having a scenegraph in place09:02
duflutvoss: Yes, I guess. Just saying it should eventually live in the shell only. Not Mir09:03
tvossduflu, but Mir at least needs to know how to talk to it, with the shell being able to inject the actual implementation09:03
duflutvoss: Most of it... no. If we aspire to the shell "being" the compositor, then any properties that affect composition would be stored in the shell's scene graph09:04
alan_gMir needs to be able to query the scenegraph without trips into javascript09:04
dufluWhat? Javascript? Where?09:04
tvossduflu, the shell09:05
tvossduflu, is written in QML09:05
dufluOh. Right. That's sillyness on behalf of the shell09:05
dufluHmm09:05
tvossduflu, at a future point we want the shell to do the actual compositing09:05
tvossduflu, however, right now, that's not the case and we need to make that we do not scatter functionality across the system that would better fit into a consistent scenegraph model09:06
tvossif that moves to the shell over time, awesome09:06
tvossduflu, not entirely sure why you think that doing the shell is in qml, though09:08
duflutvoss: At least part of the Unity8 shell is C++ already though. We don't have to wait for the distant future to put shell things in the shell09:09
tvossduflu, fair, but I'm not confident that we have the resources available right now to implement the actual compositing in the unity-mir glue layer09:10
tvossduflu, from my pov, having a concept of a scenegraph hammered down helps us in the short and in the long term09:10
duflutvoss: Is it just like shell-specific surface properties we need storage for?09:11
tvossduflu, nope, it's really a bigger problem we need to solve as the current (very naive) surface stack is not capable of holding the information and providing the operations we really want09:12
duflutvoss: That's my concern. The assumption that the scene graph is a stack is a very bad assumption. That's an implementation detail that is shell-specific09:12
dufluI fear hard-coding more inflexible assumptions into the server09:13
tvossduflu, a stack is only the final view assembled from the scenegraph, in that I do agree09:13
alan_gduflu: that's the problem we're trying to solve09:13
duflutvoss, alan_g: Alright. I guess part of the generalization will involve rejigging the "stack" as used in input too09:14
tvossduflu, yup09:15
dufluSince it's not always a stack09:15
alan_gack09:15
dufluUnfortunately a few of us did point this out before that code landed09:15
dufluBut at least we have something working I guess09:15
tvossduflu, and I think there were compelling reasons to land it nevertheless, iirc for bootstrapping purposes09:15
dufluYep09:16
dufluI think I just talked myself into having a general scene graph interface in the server09:17
dufluGood idea09:17
alan_gWe already discussed that we'd be here, doing this, in Oakland - it isn't a surprise09:17
RAOFOk. Let's see if swapbuffers+bypass works...09:22
dufluRAOF: I hope you're not talking about my branch. Still working on it09:22
dufluThough I did get over the deadlock today... and now find a theoretical reason why it should not work as well as it is...09:23
RAOFNo, I'm talking about the XMir side - having SwapBuffers actually wait to swap the buffers, and handing out the Mir buffer to fullscreen GLX clients.09:24
dufluRAOF: Oh, so XMir is now a regular client?09:25
RAOFNo?09:26
RAOFWell, yes, but it doesn't use EGL.09:26
dufluRAOF: Nevermind. Resolving the confusion I have right now is not required. Happy hacking09:26
RAOFEh, it's building.09:30
RAOFI've got time to resolve confusion if you like :)09:30
didrocksRAOF: still around? do you mind listing me the binary packages I should install from xmir and mesa?09:41
RAOFdidrocks: Sure, after I have collected pizza!09:41
didrocks:)09:41
didrocksthanks!09:41
* tvoss does not like gmail telling me that I have 666 unread mails10:04
alf_tvoss: it would be even more interesting/disturbing if it automatically redirected you to https://www.youtube.com/watch?v=jsmcDLDw9iw :)10:06
duflualf_: And even more so for https://www.youtube.com/watch?v=2EdWwEMSyuY10:10
alf_duflu: :)10:11
RAOFdidrocks:10:17
didrocksRAOF: wrong copy/paste? :p10:18
RAOFdidrocks: Yo! Do you need all the binaries, or can I assume the apt resolver is in effect?10:18
didrocksRAOF: no, it's whitelisting, so we need all the binary packages we need to install10:19
didrocksRAOF: to prevent uncontrolled transitions :)10:20
RAOFOk.10:20
RAOFSo what we want is the list of all the binary packages built by the relevant source packages, right?10:21
RAOFdidrocks: That's a *big* list.10:23
didrocksRAOF: all the binary packages from xmir and mesa that we need to install by default, yep :)10:23
RAOFAh, just the ones that need to be installed by default?10:23
didrocksRAOF: right, the one we need and are tested :)10:24
didrocksas we are running the unity tests, I think all xmir/mesa is involved at some point (with the patches for xmir/mir)10:24
didrocksRAOF: my list right now is: unity-system-compositor libmirprotobuf0 libmirserver0 libmirclient1 lightdm liblightdm-gobject-1-0 unity-greeter10:25
RAOFlibegl1-mesa10:25
didrocksthis is quite short for a long list :p10:27
RAOFlibegl1-mesa-drivers libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa xserver-common xserver-xorg-core10:27
RAOFxserver-xorg-video-ati xserver-xorg-video-radeon xserver-xorg-video-intel xserver-xorg-video-nouveau10:28
didrocksRAOF: sounds like reasonable, adding them!10:28
didrocksRAOF: thanks! will try that soon :)10:29
=== sil2100_ is now known as sil2100
* RAOF is confused. How does xf86-video-intel load, when it *should* be trying to resolve symbols that don't exist in xmir?11:01
alan_gRAOF: they're marked "load on use?"11:02
RAOFThey *should* be used.11:03
=== greyback is now known as greyback|food
* alan_g gives up - ask the link loader where it resolves them11:03
RAOFLD_DEBUG= to the rescue!11:04
* alan_g finds his brain can't focus on any more MP reviews11:24
didrocksRAOF: seems you forgot libegl1-mesa :) I'm adding it11:29
=== alan_g is now known as alan_g|lunch
=== greyback|food is now known as greyback
alf_alan_g|lunch: what do you think about ViewableArea::view_area() -> DisplayGeometry::geometry() or DisplayLayout::layout()12:48
alf_alan_g|lunch: that is "geom::Rectangles DisplayGeometry::geometry()"12:49
=== alan_g|lunch is now known as alan_g
alan_galf_: I don't think "geometry()" tells anyone what it does12:53
alf_alan_g: get() ?12:53
alf_alan_g: get_current_geometry()?12:54
alan_gvisible_region()12:54
alf_alan_g: or are you referring to the term geometry itself?12:54
alan_gI think the word is too generic12:55
alan_glayout() is a bit better, but to me would imply that it includes information about which outputs are where13:03
kgunnalan_g: alf_ ...just my 2 cents +1 on visible_region vs geom....or you could even say region_to_be_displayed13:03
alf_alan_g: kgunn: I think we need to take a step back with this + "tell don't ask"... I am looking at the code that uses ViewableArea and I think the interface we need is actually something like DisplayRegionBoundaries::place_point(p) and ::place_rect(r), i.e. find the closest position of point or rect so that they are within Display boundaries13:14
alan_galf_: I was wondering about that approach13:14
alf_alan_g: SessionMediator is one exception to this, but it needs DisplayConfiguration (not just a collection of rectangles) anyway13:15
alf_alan_g: so it doesn't really count, the other is the ability to make something fullscreen, like msh::ConsumingPlacementStrategy does, but we can "tell" our object to do that too13:16
alf_alan_g: however, I don't know if there are future needs that will make the whole approach too restrictive and we would be better off just giving out all the information anyway...13:18
alan_galf_: IME giving out all the information introduces unnecessary coupling13:19
alan_gCan we make something line void DisplayGeometry::change_to_fullscreen(blah&) work now?13:22
alf_alan_g: (assuming blah==Rectangle) yes13:23
alan_galf_: I didn't know it would be SomeSurfaceInfoHolder ;)13:23
alan_g*if it13:24
alf_alan_g: I will go with this approach, i.e., DisplayBoundaries::bound_point() ::bound_rect() ::make_fullscreen() (and perhaps also ::fit_rect() which resizes the rectangle to fit instead of moving it to be within bounds, but I will check what the current consumers need)13:33
alf_alan_g: (names are tentative, I am open to suggestions)13:34
alan_galf_: is "bound" a term of art here? "To bound" can be "to bounce"13:37
alan_grestrict_point(Point&) et alia?13:38
alf_alan_g: I used it as: verb (used with object)13:38
alf_5.13:38
alf_to limit by or as if by bounds; keep within limits or confines.13:38
alan_gconfine_point() sounds good13:40
alf_alan_g: agreed13:40
alan_gfit_rect() => clip(Rectangle&)?13:41
alf_alan_g: Yes, much better!13:42
alf_alan_g: The other point is that it seems fitting to have a mi::InputBoundaries and a msh::SurfaceBoundaries interface, implemented by an mg::DisplayBoundaries concrete class13:57
alan_galf_: is there an OutputBoundaries lurking sonewhere?14:00
alf_alan_g: (assuming OutputBoundaries is for a single screen/output), conceptually it could be there, but I don't see a consumer for it at this point. It's the same as the DisplayBuffer/ViewableArea case we discussed last week.14:04
alan_galf_: ack - it just seemed symmetric14:05
olli_tvoss, robotfuel has some results to look at, have a min to spare14:12
* alf_ really needs to create a vim snippet/template for an abstract base class14:13
tvossolli_, sure14:13
* alf_ decides that there is no better time than right now to do it...14:14
mhall119kgunn: can you clear something up for me?  Does XMir require xorg drivers for the hardware it'll run on, or does it only need Mir drivers for the hardware it will run on?14:37
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
kgunnmhall119: yes :)14:57
kgunnremember xmir is still the x stack....with x apps rendering into backbuffers....then the sys-compositor takes those as inputs rendered out into the frontbuffer14:58
mhall119kgunn: "yes" doesn't work for an "A or B?" question :P14:58
mhall119kgunn: right, but if I'm running XMir on, say, a Tegra shipset, does it need Tegra XOrg drivers, or just a Tegra Mir system-compositor driver?15:00
tvossmhall119, right now it still needs Xorg drivers15:01
mhall119ok15:02
kgunnmhall119: tegra ?15:02
mhall119nVidia's mobile SoC15:02
kgunnright15:02
kgunnjust questioning whether or not there are xorg drivers for that15:02
=== pete-woods2 is now known as pete-woods
kgunnmight be android drivers15:03
kgunn:)15:03
mhall119there are android drivers, yes15:03
mhall119so if there are Android drivers, but not Xorg drivers, then we can't run XMir on it?15:03
kgunnmhall119: right...15:03
mhall119why is that?  I thought XMir would abstract the specific hardware from Xorg15:04
kgunnthat was what i was getting at questioning your mix of tegra w x15:04
racarrMorning15:04
mhall119kgunn: I'm discussing XMir with someone on G+, just want to have my facts straight15:04
racarrgreyback: Was reading your email at the coffee shop ,didn't entirely process yet15:05
racarrbut maybe this is the case for the15:05
racarrEventFilter15:05
racarr?15:05
kgunnmhall119: well...think of it this way....xmir/u-s-c is sort of rerouting what the x stack thinks is going into a fb....into a input buffer of the compositor15:05
kgunnthe x stack itself is still using gl drivers for the app renderings15:05
greybackracarr: could be. I'd like some guidance please15:05
kgunnmhall119: ....to answer your question tho, xmir & android are mutually exclusive topics15:06
racarrgreyback: Thats my theory let me catch up on email and give it a solid read15:06
racarrif you install an event_filter via server configuration15:06
racarrit gets all events, and ut returns true/false from a callback15:06
racarrto handle15:06
mhall119kgunn: hmmm, so apps get a buffer from XMir, but then use the hardware-specific Xorg driver to draw into that buffer?15:07
kgunnmhall119: yes15:07
mhall119ok, I think I understand now15:08
greybackracarr: okay. And I can direct all those events to a surface of my choice?15:08
mhall119kgunn: so XMir doesn't provide the GL drawing methods in a hardware-abstracted way?15:08
kgunnmhall119: well...i guess that is where i get nit-picky15:09
kgunnthe drawing methods are provided by opengles15:09
racarrgreyback: No hmm, this is just like you can consume them15:09
kgunndrivers are specific against the soc (cpu & gpu)15:10
racarror let them go to first surface15:10
racarrthey would have otherwise gotten to15:10
racarrI can add some sort of targetting filter15:10
racarrthere are some hooks in android15:10
greybackracarr: you see what I need though? Do let me know what I need to do.15:13
kgunnmhall119: make sense ?15:14
racarrgreyback: I don't yet but I'm sure I will by 830 XD15:14
greybackracarr: no prob. Thanks!15:14
mhall119kgunn: not entirely, but that's probably my fault :)15:15
kgunnmhall119: no, keep poking until we get there15:15
mhall119kgunn: so is XMir a non-hardware-specific-hardware-driver like vesa, or is it just a frame-buffer-provider that still need an accompanying hardware-specific-harware-driver?15:17
mhall119pardon the gratuitous use of hyphens15:18
kgunnmhall119: :)15:18
racarrmhall119: As I understand it it' a new 'DIX' i.e. Device Independent X, plu changes to the hardware specific drivers (very small basically just replacing one buffer allocation function)15:19
kgunnmhall119: right ^15:20
kgunnmhall119: one thing i might have left out...compiz is still there15:21
kgunnso you are still fully composing all the windows in x....so when it hits the u-s-c, its just 1 frame15:21
racarrduflu: smspillaz: compiz4ever15:21
racarrgreyback: I'm awake now XD15:21
mhall119so my current stack is Intel GPU -> intel Xorg driver -> Xorg Xserver15:22
kgunn...when i say 1 frame, i mean 1 composed view...15:22
mhall119if I start using XMir, where will it fit into that stack?15:22
racarrgreyback: I think, conceptually the EventFilter is what we want15:22
racarrgreyback: The only difficulty with the EventFilter is getting the events in to Qt...15:22
tvossmhall119, xorg == xmir -> usc15:22
kgunnmhall119: i think maybe the bit that escapes a lot of people....even tho you say "gpu/xorg driver"....15:23
kgunnthere are multiple clients here15:23
kgunnthe app (maybe), compiz & usc/mir15:23
racarrgreyback: Basically I see two approaches but don't understand how to fit them both with Qt, so you should help :) um15:25
mhall119tvoss: not sure what you meant by that15:26
racarrok so possibility 1 is you install an mi::EventFilter.15:26
racarrit always gets all events, so you recognize the gestures there, and just chop out the events you want15:26
kgunnmhall119: xmir is xorg with a patch on top15:26
racarrthis can be extended over time, to support reinjecting/targeting events etc15:26
kgunnthat racarr described in scrollback15:26
racarrthough I'm not sure anything is needed for the simpel gestures (only foro ptimization later like the cancellation stuff)15:27
mhall119kgunn: ok, so it's not just a driver for Xorg, it's a whole modified server?15:27
racarrcan also be easily extended with like:15:27
tvossmhall119, for the 13.10 stack it is the following flow of rendering: x app -> xorg(which is xmir) -> usc (which is a minimal shell on top of Mir) -> screen15:27
racarrfilter_event_beore_dispatching_to(target, event)15:27
kgunnmhall119: sort of....(you make it sound ominous, when its not :)15:27
kgunnmhall119: so yeah...15:27
racarrgreyback: The problem here, is Event is a MirEvent passed15:27
tvossmhall119, it's a minimally patched Xserver exposing hooks to the x drivers to be able to render to Mir buffers15:27
racarrto this callback15:27
racarron the C++ side15:27
racarrand I am not sure what you can do with that15:28
racarrmaybe you can use some QPA functions15:28
racarrto inject it somewhere15:28
kgunnmhall119: what tvoss said....which is what i meant by "rerouting" x compiz output to mir input buffers instead of the fb15:28
kgunnplubming15:29
mhall119ok, so we modify each of the Xorg drivers too, I didn't realize that15:29
tvossmhall119, the links to the modified drivers are here: http://unity.ubuntu.com/mir/building_source_for_pc.html15:29
mhall119thanks, I think that was the part I was missing15:30
racarrgreyback: The other bit is we cn add support for creating windows with 'monitor' channels15:30
racarrso you can create an invisible window that always gets all events15:31
racarrand get things in to Qt that way15:31
racarrkind o ugly but works I uppose15:31
racarrand how the input setup works on SF afaict15:31
tvossracarr, I would vote against having this input trap setup15:32
racarrtvoss: Me too XD15:32
racarrthe event filter way, or some variant down that lines is the only scalable way15:33
racarras opposed to using the15:33
racarrclient input delivery mechanism15:33
racarrbecause eventually to do better/fater gesture recognition15:33
racarrthe shell might want to replay events, or do that event cancellation stuff we talked about, etc.15:33
=== tvoss is now known as tvoss|dinner
kdubalan_g, updated surface-owns-render-info to separate size_and_position()16:00
* alan_g finds his brain can't focus on any more MP reviews16:00
kdubok :)16:05
kdubi guess technically its able to be top-approved, anyone else want to take a look?16:06
racarralan_g: alf_: Want to avoid another day of iteration, but having a little trouble with client-focus-notifications16:14
racarrWhat is reasonable behavior for ~Clog?16:14
racarrunclog shouldn't throw? or ~Clog should...catch it and abort?16:14
alan_gassert on failure16:14
racarrshould ust clog/unclog assert16:14
racarrdirectly?16:14
racarrfirst thought was just have the dtors assert16:15
alan_gracarr: It is a precondition failure to unclog when not clogged so asserting seems right to me16:16
racarrok16:17
racarrI am never really sure when to assert ;)16:18
racarrmy style used to be to assert everything I thought was assertable16:18
racarrbut that tends to lead to trouble so now I never use it16:18
alf_alan_g: racarr: We had some dicussion before, but I don't remember if we reached a conclusion about using C assert() (=assert_if_not_ndebug()) vs a new assert (=always assert) function. Does anyone remember?16:19
alan_g<cassert> style assert is fine for a precondition failure - as detecting the problem isn't a post-condition16:23
racarrSpeaking of assert...16:24
racarrhas anyone ever looked in to the problem of16:24
racarrrestarting mir without killing clients?16:24
alan_gNot to my knowledge16:25
racarrLets do that and then assert everything ;)16:27
racarrhmm. I wonder how large of a chunk of work that would be/if its interesting now16:27
=== dholbach_ is now known as dholbach
=== Debolaz is now known as Guest70312
=== alan_g is now known as alan_g|EOD
racarralf_: Hey. I am thinking of tackling17:40
racarr...omg copy paste doesn't work anymore17:41
racarrhttps://bugs.launchpad.net/mir/+bug/119322217:41
ubot5Launchpad bug 1193222 in XMir "Screen never sleeps; missing power management" [Critical,Triaged]17:41
racarrand just wanted to make sure you hadn't started on the assosciated GBM platform changes or17:41
racarrwell see if you had any thoughts :)17:41
=== ricmm is now known as ricmm||lunch
kdubracarr, wasn't there some plan for power management external to mir or something?18:11
racarrkdub: Well, yes this is interesting :p on converged/the phone18:12
racarrthe pln is just mir needs to expose methods out of the graphics platform18:13
racarrand unity provides18:13
racarrsome DBus API18:13
racarror some such18:13
racarrbut...xmir needs to be able to request display on/off18:13
kdubbut i'd imagine it would make that request to different places18:14
racarrand well...I dunno if we want to hook xmir up to USC via DBus...so it seems to make more sense to have it in the client API18:14
racarrwhat do you mean?18:14
kdubspecifically, pause mir18:14
kdubturn screen brightness off somewhere else18:14
kdubor at least I thought that was the plan :)18:15
racarrthere is more18:15
racarrthan screen brightness18:15
racarrthere is backlight control18:15
kdubsure18:15
racarrbut then also setting the zero mode18:15
racarron the CRTC18:15
racarr'turns it off'18:15
racarrthat is the pause mir step I guess18:15
kdubright, i was being vague :)18:15
racarrbecause if there is no CRTC everything grinds to a halt until pages start flipping again18:15
racarrmm18:16
racarrI do nt think everything actually grinds to a halt now18:16
kdubracarr, swapinterval 0 clients would keep going18:16
racarrbut it will ;)18:16
racarryeah18:16
kdubi get confused when new feature requests are made via bugs :-/18:18
racarr"Screen fails to sleep"18:18
racarris a bug version XD18:18
racarrI wonder if xmir clients are18:18
racarrprepared for the aggressive kind of18:18
racarrpower management we want to do18:19
kdub"mir won't fit on a 3.5 floppy"18:19
racarri.e. I am using my X11 music player, the screensaver comes on, display goes off, we pause mir18:19
racarris my18:19
racarrsilly ingle threaded X11 music player going to18:19
racarrstart blocking?18:19
racarron some X calls18:20
racarrand will it still keep playing music if so18:20
kdubracarr, i'd guess that that's parallelized in X clients too18:21
racarrmy...18:22
racarrthought is that it isnt :p18:22
racarrbut I am not sure if pausing mir actually makes anything block for X clients18:22
kdubyeah, thikning back to past experiences...18:22
* kdub doesn't know18:22
racarrI'm almost certain most GTK apps wouldn't respond well18:23
racarrto some X/GL calls just blocking forever18:23
racarr*shrugs*18:23
racarr*adds to list of things to harass RAOF about*18:23
=== ricmm||lunch is now known as ricmm
racarrLunch19:02
=== racarr is now known as racarr|lunch
=== racarr|lunch is now known as racrr
racrrRAOF: Ping?19:52
tvoss|dinnerracrr, you are missing an a19:55
=== racrr is now known as racarr
racarrtvoss|dinner: I tried to fit that statement to about 10 scenarios19:57
racarrbefore realizing what you meant XD19:57
tvoss|dinner;)19:58
=== thomi_ is now known as thomi
Wellarkhi guys! will XMir work on VirtualBox?20:13
Wellarkas accelerated, not sw rendering.20:13
racarrWellark: This isn't a support channel. Go away!20:16
racarr:p jk hi antti20:17
racarrWellark: I don't understand the entire virtual box stack20:17
racarrbut I think not yet20:17
Wellarkracarr: well the thing is20:17
racarrThey expose DRM (i.e. KMS)20:18
racarrI'm not sure if they expose GBM though, and at the least some small modifications will be needed to the X driver20:18
Wellarkthat virtualbox is *the* solution people use to run ubuntu on windows and on older releases of ubuntu (let's say 12.04 host)20:18
Wellarknaturally there are others too20:19
Wellarkbut virtualbox seems to be very popular20:19
WellarkI would even say most, but I don't have the data20:19
Wellarkand then there are people like me who run multiple VM's in virtualbox to be able to easily test stuff and fear of breakage20:20
racarrmm, I don't know the data either but that sounds true20:21
racarrI think it's on everyones radar, there is a work item for it somewhere but20:21
Wellarkso, 13.10 will have the fallback X so that most probably works with the available virtualbox 3d drivers20:21
racarrI think in 13.10 fallback for virtualized20:21
racarryeah20:21
racarris acceptable20:21
Wellarkthen of course this is no good for me (now I'm being selfish) when I have to develop unity8 code that requires Mir20:22
Wellarkand at the moment I don't have any HW that can actually run Mir20:22
Wellarkso I'm a bit concerned20:22
Wellarkand I'm probably not the only one20:22
racarrati or nvidia with no free driver support?20:23
racarr:(20:23
Wellarkwell, I have an exotic AMD card20:23
Wellarklast time I checked it didn't work that well with open drivers20:24
Wellarkand also my primary desktop machine is running 12.04 and I've been doing all my development up until now with VMs20:24
Wellarkbut in essense not being able to run Mir inside any VM is quite troubleling20:25
Wellarkbut we will see20:27
racarrI see your point.20:27
olli_kgunn, are you on didrocks' 5 items?20:28
racarrI'll mention it to people and maybe try taking a look out of curiosity. There's a possibility maybe it actually can be made to work pretty quickly20:28
kgunnolli_: literally20:28
kgunni'm actually wrestling with his #520:28
racarrbut if it's substantial there probably isn't time for it right now20:29
kgunncause i didn't think libmirserver i/f wa an issue20:29
kgunn(i mean its still moving....due to shell)20:29
kgunnits libmirclient, which is controlled20:29
Wellarkracarr: that would be nice. I know we all have a full plate right now so generating additional work items is not something to be taken lightly20:29
Wellarkracarr: but as I said, not supporting any VM might handicap the development flow for people that need to develop on top of Mir, but not Mir it self20:30
Wellarkand by 14.04 also the users need/want to run Ubuntu on VM's for whatever reason20:31
racarrOf course20:32
Wellarklike currently, we have Mac users running ubuntu in a VM, we have windows user running ubuntu in VM and then we have ubuntu users running ubuntu in a VM :)20:32
Wellarkracarr: anyway, thanks! :)20:32
Wellarkand good night20:32
olli_kgunn, thx20:33
racarrNight! Hope all is well.20:33
racarrSee you in the bar around 13.10 ;)20:33
olli_bregma, any progress on the privacy notice in the installer?20:33
Wellarkracarr: or in your dreams at night ;)20:33
racarrSTop reading my diary20:34
bregmaolli_, I'm working on an MP for Ubiquity as suggested by cjwatson20:52
olli_bregma, cool, thx20:52
olli_bregma, will take it off my todo20:53
xnoxbregma: to work on top of Mir? =)20:53
xnoxbregma: nice.20:53
xnoxbregma: if you need any help join #ubuntu-installer and just ask. A small bunch of us idle there and respond rather quickly to all crazy things about ubiquity.20:53
bregmaxnox, I'll be there if there are problems, but mean time I'm happy just hacking20:54
xnoxbregma: good luck =)20:56
kgunnbregma: thomi thinks you can may already have access to build...but you can get direction from #launchpad-ops21:31
thomibregma: what specifically are you looking for access to? The PPA builders, or the CI/autoland infrastructure?21:32
bregmathomi, the fails didrocks sees look like they are in a PPA https://launchpadlibrarian.net/145088439/buildlog_ubuntu-saucy-armhf.mir_0.0.7%2B13.10.20130716ubuntu.unity.next-0ubuntu1_FAILEDTOBUILD.txt.gz21:40
thomibregma: yeah, you need to ask in #launchpad-ops21:40
thomibregma: I don't fancy your chances though21:40
bregmaindeed21:41
olli_bregma, bschaefer do you guys know how to best disable accessibility in Saucy21:50
bregmaum, install it?21:51
olli_robotfuel is having issues21:51
olli_bregma, disabling it21:51
olli_did you mean deinstall?21:51
bschaeferthats what I would think as well, as unity *shouldn't* depend on it...21:51
bregma it was humour -- accessibility in Unity has always been a to-do21:52
bregmais this a problem with Super-Spacebar?21:52
robotfuelthis is what I think should work  sudo -u ubuntu gconftool-2 --set --type bool /desktop/gnome/interface/accessibility false21:53
olli_robotfuel, I like the idea of uninstalling it21:53
olli_seems very safe21:53
robotfuelI tried that, but everything depends on it21:53
bschaefer:'(21:53
bschaeferdoes setting that to false help?21:53
olli_bregma, it's messing with mir benchmarks21:54
robotfuelI have tests running now with that set to false, but I won't know for a bit21:56
bregmawhich aspect of a11y is interfering with mir?21:57
olli_robotfuel, dpkg -L at-spi2-core | xargs rm :)21:59
olli_*cough*21:59
robotfuelbregma: it's not mir, it's the gui-toolkits benchmark is crashing because of accessibility22:01
robotfuelolli_: if setting to false doesn't help I'll do that. a distupgrade might pull in a new version of at-spi2-core, so I'd have to run that after every time I install packages to be safe22:03
olli_robotfuel, do we need the at deamon to shut down?22:16
olli_discussing with slangasek in ubuntu-devel22:16
olli_robotfuel, can we disable the test for now and file this as a bug?22:20
olli_but move on with the over benchmarks?22:20
robotfuelolli_: yes, if it fails I'll just continue with other tests manually so we get results today22:21
olli_robotfuel, infinity just suggested to remove /etc/xdg/autostart/at-spi-dbus-bus.desktop22:22
olli_kgunn, ^ fyi22:23
robotfuelolli_: ack, I am adding that to the preseed and distupgrade scripts now.22:25
robotfuelolli_: thanks :)22:25
olli_robert_ancell, are we using upstart user sessions in S22:25
robert_ancellolli_, based on top, yes22:26
robert_ancellolli_, upstart keeps using 100% CPU in my session :(22:26
robert_ancellthat's how I noticed the change had gone through22:26
olli_robert_ancell, maybe I have a wrong understanding of upstart user sessions22:29
olli_mind explaingin user session real quick22:29
olli_I was just trying to judge from my ps afx output22:29
racarrtil: 1. Don't try and run mir with electric fence under GDB your entire system will hang22:45
racarr2. Don't try and run mir with electric ence under GDB a second consecutive time22:45
racarryour entire system will hang again :(22:45
bschaeferracarr, have you tried a third time?22:51
* bschaefer heres 3 is some sort of lucky number22:51
bschaeferhears*22:51
racarrbschaefer: I'm thinking about it ;)22:57
bschaefer:)22:58
racarrI mean right now all I have is a speculaative theory that electric fence causes my system to hang22:58
racarrpsuedoscience22:58
bschaeferare you talking about a literal electric fence you are working under?22:58
bschaefercause that sounds unsafe22:58
racarrno haha22:58
racarrits a library you LD_PRELOAD22:58
racarrthat wraps malloc and free to catch many22:58
racarrmemory errors22:59
racarrwith an early segfault (rather than due to corruption lately)22:59
bschaefero nice, somewhat like valgrind?22:59
racarrYes. Catches a subset of valgrind errors22:59
racarrbut with much smaller performance penalty22:59
racarrits great :)22:59
bschaeferawesome, yeah valgrind gets hard to run at times....as it take forever to run the problem22:59
bschaeferprogram*22:59
* olli_ pictures racarr sitting on a powerpole, in a yoga pose, hacking mir23:00
bschaeferhaha23:00
racarrolli_: San Francisco is full of powerpole coworking spaces.23:03
racarrrobert_ancell: The good news is mir_stress now runs indefinitely23:42
robert_ancellracarr, just updating to trunk?23:43
racarrthe bad news is I cant work out how the 'race' I fixed could present itsel except in memory corruption23:43
racarrrobert_ancell: No, the way it presented to me was23:43
racarran exception from SessionContainer::remove_session, "Invalid Session" meaning that the session had already been removed23:44
racarrthis was from ~SessionMediator, so when I investigated the logs I found that23:44
racarrI was getting         report->session_error(session->name(), __PRETTY_FUNCTION__, "connection dropped without disconnect");23:44
racarrbut also a call to disconnect earlier (which completes, right prior to this exception throwing)23:45
racarranyway, I initially thought that maybe ~SessionMediator was23:46
racarrbeing called from another thread, while the thread in ::disconnect was waiting, inbetween executing shell->close_session(session) and session.reset()23:46
racarrso I guarded that and23:47
racarreverything fixed itself23:47
racarrexcept, actually ~SessionMediator is being called from the same thread as far as I can tell in the logs23:48
racarrso that lock shouldn't matter, but fixes things which seems to imply23:48
racarrfrontend may be misdirecting messages23:48
racarrdue to some sort of corruption23:48
robert_ancellracarr, does the guard make sense without knowing the problem?23:49
racarrrobert_ancell: Not really23:50
robert_ancellracarr, :(23:50
racarrI think it's likely that as soon as a few bits change, the problem will present itself again23:50
racarrso im going to dig a little deeper, and if I dont find anything23:50
racarrput up what I have so far23:50

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