/srv/irclogs.ubuntu.com/2013/04/05/#ubuntu-mir.txt

racarrnot today!00:05
desrtRAOF: hi01:04
RAOFdesrt: Yo!01:05
RAOFracarr and I were just talking about what sort of input events would make clients most happy, and we thought you'd have useful input.01:05
desrtwhat sort as in what different types or as in what sort of delivery mechanism?01:06
RAOFSpecifically - what type of key events. Whether you want something like "<menu>down, <menu>up, <e>down, <e>up, <shift>down, <'>down, <'>up, <shift>up" or "ë"01:07
desrtfor compose sequences...01:08
RAOFFor keyboard(ish) events.01:08
desrtthat's sort of tricky01:09
RAOFCompose sequences being an obvious edge case.01:09
desrtbecause there are things like games that are basically going to want the keyboard in raw mode01:09
RAOFYeah, I'm thinking that there are actually two modes here.01:09
desrtso here's a more interesting question then: how do you imagine input methods will work?01:09
desrtso here's a more interesting question then: how do you imagine input methods will work?01:09
desrtbecause the compose key is basically like the ultimate poormans input method, really01:10
RAOFIndeed01:10
desrtis the IM in the display server?  separate process?  plugin-based?01:10
desrtfigure out the answer to these questions and the rest will be pretty obvious...01:10
RAOFThe IM is a problem for the shell. Which means the IM does *not* need to consume these events.01:11
desrtwhat i mean is that the interface between the display server and the toolkit needs to be designed with attention given to where the IM is01:11
desrtif the IM is in the shell then you want the toolkit seeing what happens _after_ the IM01:12
desrtie: send unicode01:12
desrtand then i see compose as just a special case of that01:12
desrtkeeping in mind, of course, some clients will want a bypass01:12
RAOFYeah. But the common case is just seeing a stream of characters.01:13
RAOFNo, that's not quite true; things care about more than the character stream (hello, keyboard shortcuts!)01:13
desrti think keyboard shortcuts should probably work by way of explicit registration01:14
desrtalthough a lot of toolkits would probably get quite annoyed by that01:14
desrtsince they don't internally work that way01:14
RAOFThat would be particularly pleasant.01:14
RAOFRight.01:15
desrtbut when you really think about it, it would solve a lot of annoying issues01:15
RAOF*Global* keyboard shortcuts have to be explicitly registered; you think that app-local shortcuts should be too? It doesn't seem unreasonable to me.01:15
desrtyes.01:16
RAOFHm. What about shortcut-highlighting on holding <Alt>?01:17
desrtthat's just a modifier watch01:17
desrt(again, you'd want an explicit subscribe to receive those)01:18
desrti guess an interesting question is what happens to ctrl+s when nothing at all is watching for it01:18
desrtdo you drop it?  do you deliver it to the focused window as a last resort?01:18
RAOFie: do we emit an 's'?01:18
desrtno.  never that.01:18
desrtat least not without the modifier also being on it01:18
desrtthis would also be kinda convenient for toolkits that want to handle this stuff themselves01:19
desrtmaybe explicit (local) shortcut registration is dumb01:19
desrtbut i think i prefer viewing the input stream more as a sequence of user intents rather than raw hardware events01:20
RAOFYeah, that would be great.01:20
desrtthe extreme example of this is receiving touch gestures01:20
desrtwhich we obviously plan on doing....01:20
desrtfrom my gaction-based world i think it would be kinda neat to tell the system that <ctrl>s means 'win.save'01:21
RAOFRight. (In addition to allowing clients access to raw touch sequences if they want,) We need to emit some form of intent event there.01:21
desrtand have that action invoked01:21
desrtthat's how you do it now in gtk apps, but it's gtk that's doing the decoding of <ctrl>s01:22
desrti dunno01:22
desrtobviously the API is more important than the interaction of the toolkit with the display server01:22
desrtand following existing paradigms will make your life easier for obvious reasons01:23
desrtthe question is: are there any truly nasty edge cases caused by the way things are handled now?01:23
desrtfun case to imagine: save is <ctrl>ŝ01:24
RAOFYou need to replay some events on window focus?01:24
RAOFThat's kinda annoying (but not exactly terrible)01:24
desrtyou mean like how the WM intercept the click events for click-to-focus and needs to retransmit them?01:24
desrthere's an interesting thought experiment, meanwhile01:25
RAOFI mean: you need to synthesise a keypress for any key that's down when the window is focused.01:25
desrtthe unity menubar shows when the user holds down alt, right?01:25
RAOFThis is currently the case, yes.01:25
desrtwhat should happen the user holds down alt when a popup menu is open?01:25
desrtshould it show, or not?01:26
desrtsame question applies to showing underline on alt01:26
RAOFI think the expectation is that the menubar *should* show when a popup menu is open.01:28
RAOFOr, at least, I can't think of a situation when that would be an incorrect behaviour.01:28
desrtit seems weird to me for the menu to show when a popup menu is open01:29
desrtbecause that implies that if i add an 'f' to my already-held-down-alt that the file menu might open01:29
desrtwhich i would find quite odd if a popup was already up01:29
RAOFReally?01:30
RAOFThat would seem to be natural behaviour to me - the old popup is dismissed, the file menu opens.01:30
desrti might expect the mnemonic 'f' from the popup to fire01:30
desrtlike, maybe i'm pressing alt to get the underlines showing in that menu01:30
RAOFIncidentally, I'm playing around with this right now in GTK. What the hell is it doing?01:32
RAOFHm, fair point.01:32
desrtanyway01:32
RAOFThis is actually a special case of a more general problem, really.01:32
desrtthat's a bit of an argument for delivering alt to windows with respect paid to focus01:32
desrtand not just using some global modifier monitor01:33
desrtbut....01:33
desrtthe way it works now is also very crappy01:33
desrtbecause even to this day i find myself getting into stupid situations where somehow a modifier gets stuck on an app01:33
desrtand i have to tap alt or ctrl or whatever to turn it off again01:34
RAOFRight.01:34
desrtso it should not be a simple press/release type of thing01:34
desrtor rather: the release should always be reliably delivered, even if the window no longer has focus when the release occurs01:34
RAOFThat's one way of doing it, yes.01:34
desrtwhich suggests more statefulness than i think we have now01:34
desrtwhere the press and release are just two different events01:35
desrtanyway.... beer o'clock :)01:36
RAOFHeh. Have fun!01:36
desrtg'night01:36
=== tux is now known as Guest21807
tvossRAOF, ping05:18
RAOFtvoss: Pong05:18
tvossRAOF, just stumbled across http://www.phoronix.com/scan.php?page=article&item=nvidia_tegra_3d&num=105:18
tvossRAOF, did you have a chance to take a look at it?05:18
RAOFI've not taken a look at it, no.05:19
RAOFI actually *do* have a Tegra device, don't I! The N7 is a tegra, right?05:20
tvossRAOF, might be interesting, especially as we have a lot of nexus 7 hw lying around05:20
tvossyup05:20
RAOFSounds like it's not _currently_ interesting though, as it doesn't actually do any 3D :)05:21
tvossRAOF, hmmm, I thought I read that NVIDIA open-sourced the 2D drivers, too05:22
RAOFThey did; the 2D driver + kms has been open-sourced for... a while? A year or so?05:22
tvossRAOF, s/2D/3D/g05:22
RAOFOh, yeah. The operative part of that phoronix article however is “…is basically a stub driver” and “…is enough to get Wayland running with the Weston compositor, but not with any actual output”.05:25
tvossRAOF, :) okay, I got that impression, too05:26
=== jono is now known as Guest52708
tvossjono, good morning?05:26
* RAOF goes to test the mesa in-process-egl changes05:31
alf_RAOF: Are you ready (i.e. mesa) for ~raof/mir/use-dma-buf to land?05:32
RAOFalf_: Yes*05:36
RAOF*For intel.05:36
alf_RAOF: Do you mean you have just checked on intel, or that you know that e.g. radeon doesn't work?05:37
RAOFradeon and nouveau will require additional patching, which shouldn't take long, but I haven't yet done.05:37
RAOFI should probably fix them before we land dma-buf, I guess :/05:38
alf_RAOF: ok, since this will break things for me, I vote for postponing the final approval05:38
RAOFFair enough. I'll have fixes for radeon and nouveau prepared before marking it as approved.05:42
alf_RAOF: ok, I have marked the branch as needs fixing to discourage others from merging05:43
alf_RAOF: feel free to ignore it and Approve when the mesa side has been fixed05:44
RAOFHm.06:09
RAOFWhy doesn't in-process-egl work for me.06:09
RAOFIt doesn't _seem_ to be a bug mesa-side; mir_egl_native_display_is_valid(nativeDisplay) is being called on something when valid_displays is an empty unordered_set.06:12
RAOFBigWhale: You wanted to annoy some Mir developers? :)07:08
BigWhaleRAOF, indeed! :)07:10
BigWhale;)07:10
BigWhaleRAOF, I'm working on Kazam screencaster which is used for capturing screen. Surprisingly. ;) Now, because I am using GStreamer and ximagesrc which is a plugin that takes care of capturing, I know already that this will not work in Mir. :) I am looking for alternatives. :)07:12
BigWhaleIf I got Mir specs, correctly, this will not be a trivial thing to do. With all the security restrictions.07:13
RAOFBigWhale: That's going to be the province of the Shell (ie UnityNext); I don't think we'll be offering a generic way to do that.07:13
RAOFOnce everything's done it probably shouldn't be too hard; you'll just need to include MIR_CAPTURE_OUTPUT or whatever we call the requisite permission in your app manifest.07:14
RAOFWherever those app manifests go :)07:14
BigWhaleOk.07:16
RAOFIt shouldn't be terribly difficult to write a mirimagesrc once the requisite infrastructure is in place, but I've no idea when we intend to put that infrastructure in place.07:16
tvossBigWhale, RAOF when we talked about this last time, we basically thought about the ability to add custom post processors to mir Displays (server side)07:16
RAOFtvoss: Eh, just export the framebuffer as an EGLImage.07:17
tvossRAOF, yeah, that was the idea then :) iirc07:17
BigWhaleIdeally, I'd like to have something that I'll be able to feed into GStreamer.07:18
tvossRAOF, makes sense to file a bug at least?07:19
RAOFBigWhale: You'll likely get a dma-bufish interface, maybe an EGL stream interface; it'll be pretty easy to feed that into GStreamer.07:19
RAOFtvoss: It's probably a blueprint/series of work items.07:20
tvossRAOF, sure, just to make sure that we have it tracked somewhere07:20
BigWhaleRAOF, if I ask about an estimate, when I'll be able to start playing with this stuff, I'd be pushing it, right? :)07:20
RAOFMaybe :)07:21
RAOFBigWhale: Actually, you could probably do this yourself if you wanted. I don't think it's going to be a high priority for the Mir team.07:21
BigWhaleI'd love to have Kazam ready when Mir is ready. So that people can capture the awesomeness of Mir and Unity Next. ;)07:21
RAOFYeah, that'd be great.07:22
BigWhaleRAOF, offering my help with this, was the next step, yes. :)07:22
RAOFI think it'd probably make more sense to do after the Big Display Refactor that I want to do, but I don't have an ETA for that.07:25
BigWhaleI'll start with setting up the dev environment and brushing up my C skills... :>07:26
RAOFC++, actually.07:26
RAOFC++11, specifically. Much more expressive.07:26
RAOFYou have such modern affordances as lambdas!07:27
BigWhaleNow you gave me two heart attacks ... :>07:27
BigWhaleC++11 actually makes C++ good. Well, better... :)07:28
RAOFIt suffers from adding yet another mechanism for doing things to the plethora of mechanisms already available, but at least the new mechanisms are really quite nice :)07:29
thiagoandraderacarr, Spent the rest of the day yesterday downloading & compiling Mesa and then Mir. Done it and now it gives me a different error.13:53
thiagoandradeIn function open_drm_device() line 118 of file gbm_display_helpers.cpp it throws an exception saying "Problem opening DRM device" and then "Operation not permitted"13:55
thiagoandraderacarr, "sudo pmap `pidof X` | grep dri.so" gives me back 4 times /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so . Does it means I need to change anything n the configure process of Mesa?14:38
thiagoandraderacarr, Used this command ./configure --disable-gallium-egl --enable-gles2 --with-egl-platforms=x11,drm,mir,wayland --enable-gbm --enable-shared-glapi --with-gallium-drivers=r300,r60014:38
kdubgoood morning folks, still plowing ahead towards that fb native window type15:04
alf_status: working on introducing the mir main loop15:35
thiagoandradekdub, Can you help  me with running Mir?15:43
kdubthiagoandrade, on android i can15:43
thiagoandradekdub, Unfortunately I'm running on raring inside VirtualBox15:47
thiagoandradeThanks anyway ;)15:47
=== thiagoandrade is now known as thiagoandrade|af
racarrand ask for comment :/win goto 1016:02
racarr...woah what was that16:02
racarrgood morning16:02
racarrthe keymapping interfaces I am coming up with look laughably incorrect16:22
racarrdue to the duplication of droidinput::InputEvent and MirEvent16:22
racarrso I am going to rip out droidinput::InputEvent and synthesize MirEvent directly16:22
racarrthiagoandrade|af: Did not realize you were in virtual box...-.-16:25
racarrwould not expect it to work inside VB atm.16:25
=== francisco is now known as Guest49443
=== tvoss is now known as tvoss|dinner
=== thiagoandrade|af is now known as thiagoandrade
thiagoandraderacarr, That's a shame. I don't have a machine to spare and I'm not willing install raring and run possible unsafe code on my desktop ;(17:14
kgunnthiagoandrade: partition & dual boot17:20
kgunn?17:20
thiagoandradekgunn, I already have a lot of troubles with Win8 and 12.04 on dual boot. It seems like I have an ability to attract problems ;p17:22
thiagoandradekgunn, But I'll think about it. The only downside is that I'll not be able to play with Mir on work.17:23
kgunnmmm17:26
kgunni may have just bricked my galaxy s3 :-/19:11
kdubmy poor nexus4 spends its entire life panicking about not being able to find surfaceflinger19:23
kdubkgunn, how so?19:24
kgunnback19:52
kgunnkdub: well...i loaded the CM recovery kernel...but now rebooting endlessly at splash screen19:53
kgunnkdub: i'm seeing lots of complaints about the same19:53
kdubsounds like its at least loading the kernel though, thats a good sign19:55
kgunnkdub: freaky as all get out....loaded a recovery.img....it rebooted a couple of times from the CWM screen...but now stable20:11
=== bschaefer_ is now known as bschaefer
kgunnkdub: do you know if Thomi got glmark2 up on jenkins?21:56
kdubkgunn, don't know21:56
kgunnracarr: just checking...should someone else take on [robertcarr] Client focus notification (likely depends of notifcation work vanvugt is doing): TODO22:54
kgunnracarr: can you also move (not copy)23:16
kgunnracarr: your items in the iteration-0-mir blueprint ?23:17
kgunnracarr: and mark them as INPROGRESS rather than POSTPONED23:17
kgunnracarr: ....or...even DONE if you can land :)23:17

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