/srv/irclogs.ubuntu.com/2013/03/29/#ubuntu-mir.txt

=== sh[4]rm4 is now known as sh4rm4
=== tvoss|otp is now known as tvoss|easter
alan_galf_: not urgent, but have a look when ready... kdub's fiddling with the cross-build script is finally working on CI for https://code.launchpad.net/~alan-griffiths/mir/add-glog-logging/+merge/15356810:53
alf_alan_g: great, I will take a look when I am done (or too tired to continue) chasing shared_ptr :/11:00
alan_galf_: if you get stale with it let me know and I'll take a look.11:01
alf_alan_g: thanks, I will let you know11:02
=== mmrazik is now known as mmrazik|lunch
=== mmrazik|lunch is now known as mmrazik
alf_alan_g: This is what I found is going on http://people.canonical.com/~afrantzis/mir-cyclic-dependency.dia12:32
alf_alan_g: I have a solution but I need to check it a bit more (after lunch)12:32
alan_galf_: I'll try to understand and be ready to review ;)12:33
alf_alan_g: in short, we need to ensure that InputManager drops its reference to ApplicationSession when the session is closed12:34
alf_alan_g: but perhaps this is an indication of deeper design issue12:34
alan_galf_: That is my reaction too - but I need to think it through12:37
* alan_g feels there's a role (and associated class) missing, but isn't quite sure what the role is.12:38
kgunnalf_: are you viewing the diagram via firefox? or some other app? (giving me fits)12:44
alf_kgunn: I am using dia12:45
kgunnthanks12:45
alf_kgunn: in case dia crashes for you, see https://bugs.launchpad.net/ubuntu/+source/dia/+bug/110296012:49
ubot5Launchpad bug 1102960 in Dia "dia crashes on startup" [Critical,Confirmed]12:49
alf_kgunn: there is a workaround in comment #1112:49
alan_galf_: I'm pretty sure that InputManager isn't an InputFocusSelector (what it needs is the current focus, not to be informed of focus changes). Also the InputFocusSelector interface is broken (I'm sure I mentioned this during review).12:53
alan_gThe missing role is an object that provides the InputManager with the current focus and monitors session and surface events within the shell.12:58
alan_gRephrasing: The missing role is an object that the InputManager uses to dispatch events (to the current focus) and monitors session and surface events within the shell.13:01
alan_galf_: ^ is that your thinking too?13:02
=== alan_g is now known as alan_g|lunch
=== alan_g|lunch is now known as alan_g
=== jono is now known as Guest21379
alf_alan_g: So in essence reverse the Input - Shell dependency and break the cycle?14:22
alan_galf_: Well, it could be considered like that, but it is motivated by separating concerns.14:25
hikikokdub, ping :)15:09
kdubhello hikiko15:09
=== mmrazik is now known as mmrazik|afk
alf_alan_g: So you were thinking something like input::Shell { send_input_event(...) = 0; set_input_focus_changed_callback(...) = 0;} input::InputManager(input::Shell) ?15:20
alan_galf_: Something like shell::SessionInputFilter : input::InputFilter, shell::FocusMonitor15:23
alf_alan_g: I am trying to understand how each option will help us solve the dependency problem15:31
alf_alan_g: why does shell need shell::FocusMonitor?15:33
alan_galf_: Well, maybe the names is bad. But as I see it the shell needs to notify *something* about changes to the focussed session and/or surface15:35
alf_alan_g: shouldn't that be expressed in terms of the "something", though?15:37
alan_gI called *something* "shell::FocusMonitor" because it is an interface the shell needs15:37
hikikohello15:45
hikikoone question :)15:46
alf_hikiko: sure15:46
hikikogbm can be used under X?15:46
hikikoI thought no but I am not sure :)15:46
kdubalf_, specifically, the scenario hikiko is wondering about is15:46
kduban x server that owns the framebuffer, and mir operating as an x client (using sdl )15:47
kduband she wants to make sure that the gbm buffer 'stuff' in mir won't be affected by the presence of an x server that owns the framebuffer15:47
alf_hikiko: kdub: it will be affected since in that case we don't priveleged access to the drm device (the X server has)15:53
hikikoso if I want to have an sdl platform (like we already have the gbm and the android) for the emulator, I need to implement the buffer classes you have in the other 2 platforms (I can't use the gbm and just create a new display) isn't it?15:55
kdubthe issue sounds like its getting privilege to get at the gbm graphics buffers then15:57
racarralf_: alan_g: The current focus implementation is a shortcut16:01
racarralf_: alan_g: The way it should really work I think16:01
racarrand has to for all the pointer stuff is16:02
racarrthe input manager maintains a session handle and window handle for all open16:02
racarrsessions/windows, and removes them when appropriate16:02
racarrvia a listener interface16:02
racarrfocus is a seperate callback/interface16:02
racarrthat updates the property on one of the window handles16:02
alan_gracarr: I really think that the input manager should delegate that tracking to something that knows about the events that change focus.16:05
=== alan_g is now known as alan_g|tea
smspillazracarr: morning :)16:06
racarrMorning :)16:06
racarralan_g: Yeah I think once it gains this logic for managing the list of sessions handles, etc, it should become a new interface16:07
racarrwell a new16:08
racarrobject16:08
alf_hikiko: kdub: although if you just want to create some buffers to render to/use as textures it may be the case that no special priveleges are required (but I haven't tried)16:09
alf_hikiko: kdub: also, perhaps you can get SDL surfaces that are backed by drm buffers? (I have no idea)16:11
racarralf_: alan_g|tea: What is this about input::Shell { send_input_event}, etc...16:13
=== alan_g|tea is now known as alan_g
hikikoI don't think that's possible... Does it have to be drm buffers? Does the client actually directly manipulate drm buffers?16:13
racarrshell::SessionInputFilter?16:13
racarrDon't really understand16:13
alan_gracarr: it all begins with alf_ finding an ownership cycle causing memory leaks16:16
alan_ghttp://people.canonical.com/~afrantzis/mir-cyclic-dependency.dia16:17
alf_hikiko: Yes, the client part of mir (for the desktop) uses drm buffers. If the server sdl backend doesn't send drm buffers, you will also need to write a new matching client backend. And I am not sure how Mesa will work with that...16:17
alf_hikiko: although the work racarr did recently should help16:17
hikikowell, I guess that mesa will just provide the opengl context16:17
smspillazalf_: hikiko my understanding of working with wayland is that you should be able to allocate gbm buffers in an SDL based X11 compositor and send them to the client16:18
smspillazand then just create the textures from those16:18
smspillazshouldn't be any different than running directly on kms16:18
hikikothat's cool if possible16:18
hikikoI will try this first16:18
alf_alan_g: racarr: Hangout?16:19
hikikothanks a lot all of you :)16:19
alan_galf_: sure16:20
hikikoI have to go, my day is over! see you :)16:20
alf_racarr: alan_g: https://plus.google.com/hangouts/_/77e412bddebe0d5ea06c9d92750a3dfaaa736317?authuser=0&hl=en16:21
smspillazalf_: If the mesa mir platform is anything like the wayland platform, I believe all that would be necessary is to allocate the buffers using the mir platform in mesa, and then calling into eglCreateImageKHR to bind it to a texture16:22
kgunnracarr: you joining? ^16:27
DarxusAnybody have an email address for sturmflut?  Or know if his changes to glmark2 to get it to run on mir are available (upstream?)?  I'm curious if they'd be a useful reference for porting it to wayland.16:29
DarxusI guess he wasn't the one that ported it.16:30
smspillazDarxus: alf_ was the one who did the mir work for glmark216:34
smspillazactually alf_ wrote it iirc :)16:34
smspillazDarxus: they're in a meeting though, give it 15 mins16:35
alf_Darxus: it should be relatively straightforward to port to wayland, you will need to implement the NativeState interface for wayland (e.g. see NativeStateMir, NativeStateX11 etc)16:36
=== mmrazik|afk is now known as mmrazik
Darxussmspillaz: Thanks, looks like things are pretty well documented, and upstream:  https://blueprints.launchpad.net/ubuntu/+spec/client-1303-mir-glmark2 https://code.launchpad.net/~glmark2-dev/glmark2/trunk  Looks like most of it is here:  http://bazaar.launchpad.net/~glmark2-dev/glmark2/trunk/revision/26516:38
Darxusalf_: Thanks.16:38
kdubhey rsalveti is lp:~rocket-scientists/aal+/trunk the latest version of hybris?16:41
=== mmrazik is now known as mmrazik|afk
alf_racarr: alan_g: kgunn: Last chance for hangout today17:34
kgunnalf_: you off on monday?17:35
alf_kgunn: no, but I guess Alan is (and the US?)17:35
alan_galf_: kgunn I'll be off on Monday17:35
kgunnalf_:  oh yeah...Alan is i think too....US works17:35
alf_alan_g: kgunn: so do you want to hangout today or leave it for next week (perhaps have some more time to think about it, too)?17:37
kgunnalan_g: alf_ if racarr is m.i.a. i guess leave it till Tues.17:38
alf_kgunn: alan_g: fine with me17:39
alan_galf_: ok17:40
alf_all: (-alan_g) Have a great weekend17:40
alf_alan_g: Have a great long weekend17:40
alf_:)17:40
kgunnalf_: :) hope you enjoy yours also17:40
alan_galf_: I'll try (but my wife has chores planned)17:41
racarrSorry was afk17:41
alf_lol17:41
racarrisn't17:41
racarrtoday off?17:41
racarr:)17:41
racarrwe can catch up later.17:42
alf_alan_g: kgunn: racarr: ok, hangout take two?17:42
racarrOr that :) sure17:42
kgunnok17:42
* alan_g doesn't know what's happening17:43
alf_alan_g: kgunn: racarr: https://plus.google.com/hangouts/_/8ca1c200997596d270738b80ee77065cc715ad1e?authuser=0&hl=en17:43
alf_alan_g: racarr's perfect timing is what's happening :)17:43
alf_racarr: http://paste.ubuntu.com/5658848/18:04
=== bschaefer_ is now known as bschaefer
sturmflutWhen will basic window management be in place? Apparently at the moment Mir doesn't even support two clients running at the same time, it just displays what the last client to be started draws onto its surface22:50

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