/srv/irclogs.ubuntu.com/2014/05/06/#ubuntu-mir.txt

bschaeferduflu, hey, figure out that software rendering issue in SDL. Turns out if you set mir_buffer_hardware instead of mir_buffer_software you get a failed to mmap a buffer01:06
bschaeferi think it started to happen when shm was introduced01:06
duflubschaefer: Ah yes, sounds like the right error then :)01:06
bschaeferduflu, :)01:06
bschaeferyou can get the same error if you change multiwin as well01:07
dufluI keep thinking we should augment some exception messages like that to describe the most likely cause/mistake01:07
bschaefercould be helpful, but the area it fails at, im not sure if it knows much about the buffer type01:07
bschaeferas it happens in: client/mesa/client_buffer.cpp:60:01:08
RAOFWe should make mir_surface_get_graphics_region return an error when called with a hardware buffer.01:08
bschaeferbut there could be a better way to detect, if the surface is set to hardware01:08
bschaeferand you ask for the region, it should possibly have an error there01:08
bschaeferyeah01:08
duflubschaefer: Yes, that too. "hardware" and "software" are kind of vague words01:09
bschaeferduflu, just a little :)01:09
duflubschaefer: More confusingly "hardware" does not always imply GL. For example, our X drivers render (accelerated) using "hardware" buffers but not GL01:11
dufluBut that's the only exception01:11
bschaeferduflu, thats interesting, I didn't know that... im not sure how SDL would handle that?01:13
bschaeferas SDL either uses OpenGL/ES1/ES2/Software01:13
duflubschaefer: Yeah that's normal. Only X is weird.01:14
bschaeferduflu, haha01:14
RAOFAs far as almost all clients are concerned, “hardware” == “Can use OpenGL*”01:14
RAOFTheoretically you could have something like the cairo-drm backend, though, and that would use hardware buffers without going through GL.01:14
dufluRAOF: Can we ever use OpenGL on shm buffers? surely...01:14
bschaefercool, yeah i hand't taken that into consideration, and defaulted to "hardware buffer"01:14
RAOFduflu: Yes, we can, if we want to.01:15
RAOFduflu: Although that'll need some libEGL support.01:15
dufluRAOF: Your sound's still broken. I give up on the hangout01:15
RAOFEh.01:15
RAOFI didn't think anyone was saying anything?01:15
dufluRAOF: I think we need that for software rendering anyway01:16
RAOFOh, yes.01:16
RAOFWell, if we want to allow software-rendered GL clients.01:16
dufluIt would also be generally cool to have a fallback buffer sharing mode that works on *everything*01:16
RAOFBuffer sharing the easy part; the hard part is getting anything on the display :)01:17
* duflu thinks the opposite01:17
RAOFHowso?01:17
dufluWe should work together01:18
dufluRAOF: I just know more framebuffer stuff than buffer sharing01:18
RAOFWe've already got a buffer sharing mechanism that works everywhere - shm.01:18
dufluWhen it's fixed to work everywhere?01:19
RAOFIt works everywhere now (although doesn't get you GL)01:19
RAOF(And will never get you hardware-accelerated GL)01:19
dufluI think we're missing a flag in our buffer messages to tell the client explicitly which to use?01:19
RAOFYes; I we assume that the client remembers what it asked for.01:20
dufluFortunately we have a flags field in those messages :)01:20
dufluAlthough an enum to support N buffer sharing mechanisms might be better01:20
RAOFHm, maybe?01:22
RAOFI don't think that would be particularly helpful; everything but “software” is platform-specific.01:22
dufluRAOF: Yeah that's enough so long as the type of "hardware" is clarified by the currently loaded client driver-thing01:25
RAOFAnd that's what mir_surface_get_platform_type tells you.01:26
memekahi all01:51
memekaI have libhybris installed on an ARM device, test_hwcomposer works ... what else is needed to get mir running?01:51
racarr__oh sorry forgot01:56
racarr__the meeting01:56
dufluracarr__: Yeah twas just RAOF and myself. Nothing happened01:57
racarr__:)01:57
racarr__"It was just me and RAOF! NOthing happened I Swear"01:57
racarr__like a sitcom plot01:57
racarr__lol01:57
dufluNobody in here but us chickens01:57
RAOFmemeka: Have you tried it? That sounds like the major prerequisites :)01:58
memekaRAOF: not yet... planning to01:58
memekajust wanted to know what to expect01:59
memekaXMir probably will not work?01:59
RAOFXMir will definitely not work.01:59
duflumemeka: No XMir, but you should be able to compile/run the native Mir demos01:59
memekaexcept the demos, is there anything that would run?01:59
RAOFSDL2 stuff should.02:00
duflumemeka: You need toolkits to answer that question. So yes, SDL2 and Qt-based apps02:00
dufluBut you have to have the right packages and voodoo02:00
RAOFmemeka: Well, XMir won't work unless your ARM device happens to already have a kms driver, X support, mesa support, and you want to add a little patch to its DDX. :)02:00
memekaRAOF: so that's a no :)02:01
RAOFCorrect :)02:01
memekademos require libgles2-mesa .... can I bypass mesa and use the egl from hybris?02:01
RAOFThey will use the egl from hybris.02:01
memekak, so setting the env variables should do it then02:02
RAOFI think if you've got hybris installed it will already be providing your libGLES2.so.2; we use the alternatives system to delegate stuff like that.02:02
memekakwin_gles and konsole should work, right?02:03
duflumemeka: Native EGL/GLES stuff needs explicit porting to Mir. Just the initialization stuff02:04
dufluBecause you need to create a Mir connection and surface for EGL to run in, and GLES runs in that.02:04
memekaduflu: i see02:04
dufluUnfortunately EGL is not sufficiently featured to be a "platform" in itself02:05
memekaduflu: so that's why the egl tests fail :)02:06
dufluRAOF: So it seems 1hz needs much porting02:06
memekaonly hwcomposer test actually runs02:06
RAOFduflu: Yes indeed.02:06
dufluPlus all the other proposals :P02:06
RAOFduflu: I'll be doing that shortly, once the FrameDroppingPolicy02:07
memekaduflu: and where is the init stuff done? :D02:07
duflumememka: A good example is in the Mir source. This sets up enough of Mir for an EGL app to use it: http://bazaar.launchpad.net/~mir-team/mir/development-branch/view/head:/examples/eglapp.c02:08
memekaright, so this is when you want to start an EGL app02:11
memekathis does not mean that kwin_gles needs to be patched as well, does it?02:11
memekaduflu: thx for the link02:13
memekaduflu: hmm.. the exmaples there have a demo shell and window manager ... so I guess kwin_gles will not work...02:15
duflumemeka: It's not a real shell or window manager. They're just class names. You can still run anything on top of that.02:25
RAOFmemeka: Correct. kwin is fundamentally an X11 window manager. Making it work with Mir will require you to turn it into a Mir compositor.02:25
memekamy impression was that you need android /system + libybris + mir and it should work out-of-the-box with e.g. unity 802:27
memekaRAOF: yes I forgot kwin is not mir compositor :P02:29
memekaso for unity8 + apps like konsole, there shouldn't be anything to code02:30
memekawhile for EGL apps you just need to make them Mir clients02:30
RAOFAs long as konsole doesn't use any X11-only calls.02:30
RAOFApparently lots of KDE apps _do_ use X11-only calls (and are now adding Wayland detection, so they'll make X11-only or Wayland-only calls depending on environment variables. Woot!)02:31
RAOFThis seems to me to be a sub-optimal solution over, say, adding support in Qt to abstract these interfaces, but who am I to judge? :)02:32
memekaI see...02:32
memekathanks for the answers...02:34
RAOFBut there shouldn't be _significant_ work required to get, say Konsole to run under a Mir compositor.02:36
dufluIs there a nice software-blitting console app we should aim to port first?02:37
RAOFThere's kmscon - http://www.freedesktop.org/wiki/Software/kmscon/02:38
RAOFThat actually gets us both software and GLES2-accelerated rendering.02:41
dufluRAOF: Sounds a little too tied to KMS/DRM02:43
RAOFAlso supports wayland.02:44
RAOFThough a fork, perhaps.02:44
RAOFSee also, http://www.freedesktop.org/wiki/Software/kmscon/wlterm/02:45
=== chihchun_afk is now known as chihchun
RAOFAnd with that Qt Creator lock up, it's EOD for me!08:06
dufluWow, throwing and catching exceptions is exceptionally slow. I can actually see the difference on screen :(10:12
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== alan_g is now known as alan_g|lunch
=== alan_g|lunch is now known as alan_g
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
asacracarr__: hey, do you know if stgraber ended up being able to get something going with the lxc container thingy last week?14:44
=== chihchun is now known as chihchun_afk
racarr__asac: I never heard back16:14
asackk16:21
asacthanks racarr__16:21
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
AlbertAkgunn: so I have a branch for compatibility changes to 0.2.0 for unity-mir , do I push this devel now I suppose? what is the workflow now?19:57
AlbertAkgunn: compat to next revision of mir19:58
kgunnAlbertA: yes...that would make sense, and _should_ end up giving you a binary in staging19:58
AlbertAkgunn: how does that work? Just pushing the branch gives you a binary? or after it's merged?19:59
kgunnthe recipes used for unity-mir & papi now use their respecitive devel branches for daily builds19:59
kgunnhttps://launchpad.net/~mir-team/+archive/staging19:59
kgunnyou can see here now, papi is failing too...20:00
kgunnhttps://launchpad.net/~mir-team/+archive/staging/+build/597141120:00
kgunni assume for the same change ?20:00
AlbertAah I see, so basically a compat branch with the debian ver bump should be enough and the next daily build will just pick it up20:02
AlbertAso it builds against mir devel ?20:02
AlbertAkgunn: it looks like papi devel is behind trunk20:04
AlbertAkgunn: or am I reading that wrong20:04
kgunnAlbertA: well...it shouldn't be, but lemme check20:05
kgunnyeah...20:06
kgunnyou're right20:06
kgunnbut i guess its just because we've not really tried to commuicate the change in way of working20:06
kgunn(ci just got going on thurs last week...)20:07
kgunnAlbertA: also...we need to do this on u-s-c too20:07
kgunne.g. there is no u-s-c dev branch20:08
kgunnatm20:08
AlbertAkgunn: ok20:08
AlbertAkgunn: so until that's in place, you can't really build agains mir devel then I suppose20:09
kgunnright... AlbertA, i'll put one up and see if i can get francis to enable ci on it20:09
kgunnAlbertA: so for papi-devel, i just merged trunk...but was that really the right way to do it ?20:20
kgunni feel its wrong somehow...20:20
AlbertAkgunn: for this one time yes, to sync them up20:20
kgunnyeah...20:20
kgunni suppose in the future20:20
AlbertAkgunn: then after this devel should be merged to main20:20
kgunnthe right way would be indy MP's per change just retargeted20:20
AlbertAkgunn: for the rest of the MP's coming in20:20
AlbertAkgunn: I see to keep a visible history?20:21
kgunnexactly20:22
kgunnAlbertA: ...but not sure how to achieve it ?20:22
AlbertAyou can merge individual revisions from the other branch20:22
kgunnhmmm AlbertA how to undo what i did?...local bzr revert, then push ?20:23
AlbertAkgunn: but hold on...I think bazaar does keep history just ...doesn't display it20:24
AlbertAkgunn: so maybe you don't really want that? it may complain about criss-cross merging20:24
AlbertAkgunn: in the future when merging from devel to main20:24
kgunnthis would be simpler is trunk were....ah never mind20:25
AlbertAkgunn: maybe just copy the commit messages to the merge commit?20:25
kgunnAlbertA: actually...its ok, from the perspective that trunk (release) reflects the right history20:25
kgunnits only devel which will have a "merged from trunk" item20:26
kgunnwhich is totally sensible i think20:26
AlbertAkgunn: yeah20:26
kgunnok..feels slightly less wrong20:26
kgunnfginther: hey, hope you're well, could you help us out by setting up ci to run ~mir-team/unity-system-compositor/development-branch20:39
kgunnjust like it does for u-s-c's trunk ?20:39
fgintherkgunn, I can actually get to that right now20:40
kgunnfginther: once that's done, we'll be totally switched onto dev branches20:40
kgunncool20:40
racarr__kgunn: EVerything has dev branches now?20:55
racarr__that are intended to always build against mir devel20:57
racarr__?20:57
kgunnyes...in the process of writing a mail :)20:57
racarr__yay20:59
fgintherkgunn, the ci job is ready now21:42
kgunnfginther: thanks!21:42

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