/srv/irclogs.ubuntu.com/2013/06/13/#ubuntu-mir.txt

racarrkdub: Oh no XD00:27
racarrwell you can launch them but not from unity00:27
RAOFHow about switching?00:28
RAOF00:28
racarrRAOF: God you guys are so demanding00:28
racarrhow much does a shell really have to do!?!?!?!00:28
racarrits coming together though :)00:29
kdubstill cool :)00:40
kdubhey RAOF, i built my own mesa driver00:41
kdubbut get this error:00:41
kdub[172730.125463] mir_demo_server[23263]: segfault at 0 ip b6b6b53a sp bf834e1c error 4 in libX11-xcb.so.1.0.0[b6b6b000+1000]00:41
RAOFkdub: Your EGL platform detection isn't working; it's falling back to X11 and failing.00:42
RAOFWhat's your mesa driver for?00:46
kduban i965 card00:47
kdubdoes "EGL_PLATFORM=mir" work?00:47
racarrI really want to watch a live stream of a concert and try as I might I cant get flash sound working XD00:48
racarrso I'm rebooting to OSX00:48
racarrBye!00:48
racarr:p00:48
RAOFkdub: That should work, I think.01:16
RAOFkdub: As long as you actually built the mir platform; you need to explicitly enable it.01:16
RAOFkdub: PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig ./autogen.sh --prefix=$HOME/.local/ --enable-gles1 --enable-gles2 --with-dri-drivers=i965 --with-gallium-drivers=i915,nouveau,r300,r600,freedreno,svga,swrast --enable-shared-glapi --enable-glx-tls --with-egl-platforms=mir,drm,x11 --enable-texture-float --enable-gbm --enable-openvg --enable-gallium-egl --enable-gallium-gbm01:17
RAOFIs what I use; you probably want to replace the --with-gallium-drivers bit to --with-gallium-drivers=01:17
RAOFIt's remarkable how quickly you learn to ignore the huge stomping orange arrow on your screen.02:04
dufluLuckily it is moveable :)02:11
RAOFduflu: Not once XMir starts :)02:33
duflurobert_ancell: Umm saucy just builds mir without modification. There are lots of notes/warnings to fix but no errors.03:18
robert_ancellduflu, all the tests pass?03:18
dufluYep03:18
robert_ancellDid it build with -DNDEBUG?03:18
dufluDoesn't appear so03:19
robert_ancellduflu, did you run cmake from scratch?03:20
dufluI ran it per usual. What's "from scratch"?03:20
robert_ancellduflu, i.e. cleared out existing build03:20
duflurobert_ancell: Yes it's a fresh machine03:21
duflufrom scratch03:21
robert_ancelland definitely gcc 4.8?03:21
dufluYep03:21
robert_ancellweird03:21
duflugcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1)03:21
dufluPerhaps gcc got updated to fix spurious errors recently03:21
RAOFClearly not, because mir just failed to build in the PPA again.03:42
RAOFHuh.04:47
RAOFI wonder how that builds on raring?04:47
RAOFstd::cerr should not be defined in <fstream>04:47
tvossRAOF, ping05:07
RAOFtvoss: Pong.05:07
tvossRAOF, good morning :) how is it going?05:09
RAOFFine!05:09
RAOFIt looks like my trivial patch makes Mir build on saucy again, so I can start getting rid of the ugly orange pointer in unity-system-compositor ☺05:09
tvoss\o/05:10
tvossRAOF, did you see the mail I forwarded you? :)05:10
tvossolli, good morning :)05:10
olligood morning gentlemen05:11
RAOFtvoss: The sabdfl experiences with unity-system-compositor + XMir?05:11
tvossRAOF, yup05:11
olliRAOF, that was good :)05:11
tvossRAOF, I think he ran without hw accel: <sabdfl> saucy!05:11
tvoss<sabdfl> OpenGL vendor string: VMware, Inc.05:11
tvoss<sabdfl> OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)05:11
tvoss<sabdfl> OpenGL version string: 2.1 Mesa 9.2.0-devel05:11
tvoss<sabdfl> OpenGL shading language version string: 1.3005:11
tvoss<sabdfl> OpenGL extensions:05:11
RAOFHm.05:11
olligm morphis05:12
RAOFIn my experience that happens when lightdm fails to set up the drm permissions properly.05:12
tvossRAOF, yup05:12
RAOFThe output of “LIBGL_DEBUG=verbose glxinfo” is the a diagnostic in that case; it'll generally say "i965: failed to open drm device: EPERM” or words to that effect.05:13
tvossRAOF, sabdfl sent me his Xorg.log, just forwarded it to you05:14
RAOFHm. That doesn't seem to be an xmir session.05:15
tvossRAOF, yup, that's what I was thinking, too :)05:15
dufluRAOF: So you really think a mir_set_cursor_image() is the right solution to use hardware cursors with xmir?05:31
dufluI can't think of a better one. And general cursor management/theming should be kept out of the server05:31
RAOFduflu: Well, xmir certainly needs *some* way of setting the cursor image. It doesn't necessarily have to be ‘hand a blob of pixels to Mir’, but that's a reasonably simple first go.05:32
dufluYeah. I noticed GBM will fail unless you give it precisely 64x64 but that's a detail that can be hidden behind the API05:33
dufluRAOF: Or should the cursor be a surface to take advantage of IPC?... :)05:35
dufluHmm, actually I'm not sure that's useful. Certainly more complex05:36
tvossRAOF, duflu why don't we enumerate different cursor types for a first cut, and make it more configurable in the future?05:36
duflutvoss: Not even types. Just leave it up to the toolkit to upload an image when it wants a different one05:37
dufluI thought05:37
dufluHmm, though that makes resizing cursor management different when building a shell05:38
duflu-different + difficult05:38
tvossduflu, right, it exposes a lot of internals to the client05:38
RAOFThe other option would be to treat the hw cursor as an overlay.05:38
tvossduflu, I think it makes more sense for the shell to decide the actual pixels of the cursor, and the client is able to choose from a pre-defined set05:38
RAOFtvoss: I don't believe that works for XMir; I'm pretty sure some part of the X stack expects to be able to do arbitrary cursors.05:39
dufluAlthough if the shell is an internal client then the mir_set_cursor_image() works still05:39
tvossRAOF, ack, fully understood05:39
tvossduflu, exactly05:39
dufluI'm trying to avoid (1) having an enum of cursor types and (2) managing them in the server05:40
tvossduflu, I guess I would like to understand why you want to avoid an enum. Got a use-case/example for me?05:41
dufluNot that I'm working on cursors at all right now05:41
duflutvoss: It's about limiting the functionality and responsibility of the server05:41
dufluA shell will need "types" but the core server library not05:41
dufluA touch shell for example won't need anything. Depends on the shell.05:42
tvossduflu, fair point, but what is exposed to the client?05:42
RAOFIf we knew how we were handling overlays, this *could* be done with overlay surfaces.05:42
duflutvoss: There will be a set_cursor_image() type function regardless but I'm trying to avoid the need for a set_cursor_type() in the core client API. It can go elsewhere.05:43
tvossduflu, but how do you prevent a client from setting an arbitrary cursor image?05:44
tvossduflu, that will break consistency, wouldn't it?05:44
duflutvoss: You don't. Clients are always allowed to, and some really need it05:44
dufluSome apps will break otherwise05:44
RAOFYou don't, but it can only control its cursor image while said cursor image is over one of its surfaces.05:44
RAOF(Or is otherwise owned by said surface, such as in a drag and drop operation)05:44
dufluRAOF: Yeah then you end up with the ugly situation that X has where the arrow is different depending on the window :(05:45
tvossduflu, RAOF exactly, that's what I'm afraid of05:45
RAOFI'm not sure that's avoidable.05:46
dufluOK. I guess the client API is already gathering very specific enums (e.g. surface type/state) already. Why now cursors too05:46
duflu-now +not05:46
tvossRAOF, duflu why don't we say enum first, mapping to the generic function, and we will see how far we can get with only an enum exposed to clients?05:47
RAOFSome clients *are* going to want a pixel-perfect representation of their specific cursor (image manipulation programs are particularly fine candidates for this)05:47
RAOFAlso, games.05:48
tvossRAOF, fair point05:48
dufluGames tend to use their own texturing for cursors. Not hardware or display server cursors05:48
tvossRAOF, is there value in only allowing set_cursor_image for fullscreen surfaces?05:48
RAOFduflu: You've not noticed the “Use hardware cursor” option that many games have?05:49
dufluNo05:49
RAOFIn my experience it's quite common.05:49
RAOFI'm pretty sure Mass Effect had it, I seem to recall XCom having it, Civ 5 having it, …05:50
dufluOh I totally agree you need to be able to set an arbitrary custom cursor for some apps anyway05:51
RAOFtvoss: re: fullscreen surfaces only - I don't know.05:54
RAOFtvoss: I'm not sure that the situation we're trying to avoid - randomly different cursor themes for different windows - is best solved by not allowing different cursor themes.05:55
RAOFI don't think it's a significant problem in X anymore. I think the solution is to make it easier to do right thing than the wrong thing, which I think is basiacally equivalent to saying ‘make sure the toolkits do the right thing by default’05:56
RAOFGrr.06:06
RAOFWhy do we build with -NDEBUG?06:06
dufluRAOF: I have a fix06:08
dufluJust proposing now06:08
RAOFduflu: For the whole shebang, or jsut teh NDEBUG bit?06:09
dufluRAOF: For everything.06:10
RAOFHurray.06:10
RAOFAllow me to approve that post-haste.06:10
dufluThough now I notice that the debuilt tests are failing. Don't fail otherwise on saucy :/06:10
dufluRAOF: Not just proposing yet :/06:12
RAOFWell, that'll give me time to handle the mesa sru for mlankhorst then :)06:12
dufluRAOF: Sorry. Something so simple should not have taken so long... https://code.launchpad.net/~vanvugt/mir/saucy-build/+merge/16910806:59
racarrJust to make sure everyone not on mir list knows07:10
racarrwill be out in the morning at the dentist :)07:10
racarr:( really07:10
alf_racarr: enjoy :P07:11
didrocksalf_: you will eat some candies, thinking about him?07:11
alf_didrocks: :)07:13
RAOFChocolate!07:14
RAOFracarr: Oh, iff you're still here - what bit of Mir infrastructure do I need to inject to get unity-system-compositor to eat input?07:14
racarrI guess I'm kind of surprised that it's not eating input07:15
racarrwe still have to disable control sequences07:15
racarrmaybe the unity-system-compositor configuration07:15
racarrremoves input?07:15
racarrit doesn't07:17
racarrlook like it ;) um07:17
racarrnot sure on the top of my head07:18
RAOFracarr: Ta :)07:25
RAOFracarr: The other possibility is that it's fixed in a later Mir than has built for saucy :)07:25
* RAOF goes baby-feeding.07:26
tvossalf_, ping07:45
alf_tvoss: pong07:46
tvossrobert_ancell, ping08:03
robert_ancelltvoss, hello08:03
robert_ancellyay, I can do a full dist-upgrade now without it trying to remove everything :)08:15
tvossrobert_ancell, \o/08:22
robert_ancellRAOF, damn, when did mesa become such a massive package?08:23
robert_ancell49.4M!08:23
RAOFrobert_ancell: There's a “don't statically link 10MB worth of stuff into every DRI driver” patch that I haven't applied to the PPA packages. That makes it somewhat smaller ;)08:28
alan_grobert_ancell: Sorry, I just realized that we have a meeting just when I've a physio booked.08:33
robert_ancellalan_g, can you do it now?08:33
alan_grobert_ancell: yes08:33
=== alan_g is now known as alan_g|physio
robert_ancelltvoss, I can confirm you do get a big ugly orange cursor :)09:17
robert_ancelltvoss, did it work for you?09:18
tvossrobert_ancell, now: yes, but it hang on boot an hour ago09:18
tvossrobert_ancell, argh09:18
robert_ancelltvoss, part of the problem there might be we don't have the more aggressive plymouth changes that went into Ubuntu after we forked the packaging09:19
robert_ancell(upstart changes)09:19
robert_ancelland Mir+Plymouth don't play so well together as X+Plymouth (which already isn't very well)09:20
tvossrobert_ancell, so we should pull them over then09:20
robert_ancelltvoss, the changes are 1.6.0-0ubuntu2.1 if you want to test09:22
robert_ancellI'm making a lightdm release tomorrow, was planning on syncing all the packaging then09:22
tvossrobert_ancell, great, thank you. Can you drop a mail to mir-devel once done?09:22
robert_ancelltvoss, about what?09:23
tvossrobert_ancell, when you synced the packages09:23
robert_ancellthat doesn't sound like a particularly interesting post...09:24
robert_ancellbye all09:26
=== alan_g|physio is now known as alan_g
=== mmrazik is now known as mmrazik|lunch
alan_galf_: fix-1189443 had merge conflicts when you approved. (I've just pushed resolution)10:50
alf_alan_g: ok10:52
=== mmrazik|lunch is now known as mmrazik
alf_alan_g: @saucy-build, what I take from your comment, is that it would be even better for us to remove this test (since it is testing a precondition)11:25
alan_galf_: I'd be happy with that too. (And also, separately, with you suggestion of a MIR_ASSERT)11:26
alan_g"It is your problem if you pass me nullptr - don't rely on ME to check it!"11:27
* alan_g remembers days of getting bug reports "this one's yours - it is asserting in your code..."11:29
alan_galf_: care to recheck fix-1189443?11:30
alf_alan_g: sure11:31
alan_galf_: do you think the team needs a discussion on precondition checking on mir-devel?11:32
alan_ghikiko: it looks like it should be quick to fix and land https://code.launchpad.net/~hikiko/mir/mir.dest-tmp/+merge/16893411:37
alf_alan_g: Would it be worth to put these guidelines in our hacking guide? If so, we can use that as our starting point for a discussion. Otherwise, mailing list works fine, too.11:40
alan_galf_: I was wondering how close to agreement we (as a team) are. I know tvoss wasn't in agreement with me when he added the tests.11:43
tvossalan_g, enlighten me please :)11:44
* alan_g wonders "hacking" or "coding guidelines"11:44
alan_gtvoss: about writing tests for the reporting of precondition violations11:44
alf_alan_g: ok, if you suspect there may be disagreement, the ML sounds like a good place to start11:44
alan_gtvoss: see discussion on https://code.launchpad.net/~vanvugt/mir/saucy-build/+merge/16910811:45
hikikoalan_g, that's what I am doing now11:48
hikikocross compiling and fixing11:49
alan_ghikiko: I hope you don't feel I'm nagging. ;)11:49
alf_alan_g: "coding guidelines" is a better match, if we create it we should also move "Error handling strategy" from HACKING11:49
* alan_g decides to try saucy again11:50
hikikohaha no alan_g :) better to finish with that before I go to something new.. I don't like to see it there either11:50
tvossalan_g, ENOCONTEXT :)11:50
tvossalan_g, gimme a few11:50
alan_gtvoss: it is not an important use of your time11:51
tvossalan_g, okay, cool :) from a quick glance: I'm as convinced as alf :)11:51
alan_g(just satisfying your curiosity)11:51
=== pete-woods is now known as pete-woods-lunch
=== alan_g is now known as alan_g|lunch
gotwig:(12:55
gotwigWhen are packages coming for unity next + mir12:55
tvossgreyback, can you give gotwig some eta for unity next + mir packages?13:01
greybacktvoss, gotwig: give me 2 hours to build them and verify them13:02
tvossgreyback, \o/13:02
* tvoss wants to buy beers for greyback13:02
gotwigalcohol free beers ;D13:02
gotwigI am just too stupid to compile all dat unity greatness *.*13:03
gotwigI finished it, but when I start it via ./run (in X session) I cant use any apps. What am I missing?13:03
greybackgotwig: ah, so you got shell working?13:03
gotwiggreyback, when you are going to release it as a package (and if it works) I am sure OMG! Ubuntu is going to do an article ;)13:03
gotwiggreyback, yeah, but no apps?13:04
gotwiggreyback, and also it didnt work with mir, for me13:04
gotwigIt said it cant load "ubuntu"13:04
greybackgotwig: we've not got the apps working with shell yet13:04
greybackthere's a bit more to do there13:04
gotwigthan I manually changed it to "ubuntumir" in the run file, but it didnt work either13:04
greybacklemme see, things changed on Tuesday and I'm not up to speed13:05
gotwiggreyback, what do you mean? I cant use Unity Next apps in Mir?13:05
gotwigI got segmentation fault13:05
gotwigas the error13:05
greybackgotwig: not yet. Unity shell and Mir need more development to support applications and window management of those apps13:05
greybackgotwig: we've got work yet to do.13:06
gotwiggreyback, so the dude on youtube is a liar ;X?13:06
greybackgotwig: what was the link again? Let me check it13:07
gotwighttps://www.youtube.com/watch?v=E9AzRxsnfTE13:07
gotwigoh, there are no apps ;D just screenshots I  guess?13:08
greybackgotwig: ah, I see it. In that video, it was running Unity with the fake built-in apps, a feature we only use for testing.13:09
greybackgotwig: exactly13:09
greybackgotwig: proper app support is coming, but will be a few weeks before all the bits & pieces connect13:09
gotwigok ;X13:10
gotwigwhich advantages has using Mir right now for me as a developer...13:10
greybackgotwig: sorry for the confusion, I totally see where you're coming from13:10
=== alan_g|lunch is now known as alan_g
gotwighow native are X applications going to feel?13:10
gotwigThey cant fit in the new UI :X13:11
greybackgotwig: for an app developer point of view, you should not need to care about Mir at all. If you write in Qt, everything will work exactly as they do under X13:11
gotwig"without X bindings"13:11
tvossgotwig, to pick up from yesterday: if you are doing a gtk app, and someone wires up gtk to Mir, you don't need to worry13:11
tvossgotwig, even if not, we will have a rootless xserver that is fired up on demand for apps that talk X. But that's not there, yet13:12
gotwigbut GTK is so primitive, when you compare it to QT :/13:12
tvossgotwig, then why not learn qt?13:12
gotwigC++ .. ouch13:12
gotwigits so different13:12
tvossgotwig, why not do qml then?13:13
tvossgotwig, easy to get started with13:13
tvossgotwig, and learning c++ is always a good idea :)13:14
tvossalf_, can you point me to the adjusted x driver branches?13:16
alan_glearning c++ is a lifetime journey13:22
alf_tvoss: https://code.launchpad.net/~mir-team/*13:24
tvossalan_g, agreed, but every journey has a start13:35
racarrGood morning! (for 10 minutes before I go to the dentist)14:36
alan_gKeep smiling14:45
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
smspillazahah, dentists15:02
ogra_yeah, racarr gets all the fun ... mean ...15:03
smspillazI was in for a bit of a shock the last time I went - everyone at that clinic had quit and all the staff were replaced by people who ... looked like they might also pass as part time models15:05
smspillazit was a bit surreal15:05
gotwigI broke my 13.10 :/15:32
kdubwith ms::Surface or msh::Surface, would anyone object to putting a pure virtual interface around those classes? they're kinda ballooning as a concrete class15:52
=== mmrazik is now known as mmrazik|afk
alan_gkdub: ms::Surface really ought to be a private implementation class - not an interface15:54
* alan_g thinks msh::Surface is a mess and doesn't know what to make of it15:55
kdubyeah, i guess in carving out a signal path for the swapinterval0 ipc message, i had to cross the "ms/msh::surface swamp"15:55
kdubas I've begun to think of it :)15:55
alan_g\o/ (someone else thinks there's a problem there.)15:56
alan_gkdub: we should hatch a strategy for draining the swamp. Not sure "putting an interface around" is the right answer though.15:57
kdubyeah, i'm just trying to find a way to drive the interfaces in the tests15:58
kduband they're not very mockable without interfaces15:58
alan_gI share your pain16:00
alan_gkdub: isn't the comment at the top of ms::Surface still true? Because if it is I can't see an interface helping you.16:03
kdubwell, i think that the inheritance from both Renderable and SurfaceTarget might need re-evaluation16:05
alan_gOh?16:06
kdubfrom what I see, we're just doing it because we don't have a 'surface state' object that is useful to both the input and graphics world16:06
kdublike, the compositor needs a 'surface state' (where is this in the scene graph) as well as some access to the graphics buffer16:07
kduband the input needs access to that same state, as well as some input objects16:07
kdubbut we use multiple inheritance to jam all that together into ms::Surface16:07
alan_gDo you have something against multiple inheritance?!16:08
kdubnot generally :)16:09
alan_gWe have an object that is useful to the graphics (implements Renderable) and input (implements SurfaceTarget). Why is that not reasonable?16:10
alan_gWhere does "jamming" come into it?16:10
alan_g(Not saying you're wrong - just want to understand)16:10
kdubi was just thinking that if the SurfaceStack held an object that held 3 things (graphics, input, state) and handed out (graphics, state) to the compositor and (input, state) to the input manager16:12
kdubthen that object would be analogous to  msh::Surface in our current code16:13
alan_g"state" being?16:13
kdub"this surface's place in the world", position, size, transformation, etc16:14
alan_gSo, ms::Surface is that object, that Renderable is (graphics, state) and SurfaceTarget is (input, state)?16:17
kdubright16:18
kduband then we could present just the state to the shell interfaces16:18
kdub(which don't exist, but the shell probably needs a MVC-like view of the surfaces)16:19
kdubracarr^^16:19
kduboh, he's at the dentist16:19
alan_gkdub: OK, that would be a new SurfaceMark2 interface in ms16:20
* alan_g hopes that name isn't taken seriously16:20
kdubalan_g, right. that concern about a view of the 'state' for the shell's purposes just comes from16:22
kdubi don't see how a shell object would access that info currently16:23
* kdub is really opening up a can of worms today :P16:23
alan_gI'm happy with that idea.16:23
alan_gThat was the extent of your changes to ms::Surface? What about the mess^b msh::Surface?16:25
racarrBack!16:56
kdubalan_g, sorry, got distracted16:57
alan_gkdub: np - I'm about to leave anyway. racarr can take over discussion of msh::Surface16:58
racarr*blank*17:01
alan_gracarr: kdub has decided to start draining the "msh::Surface" swamp17:03
alan_gracarr: kdub has decided to start draining the "msh::Surface swamp"17:03
=== alan_g is now known as alan_g|life
kdubjust start thinking about it :)17:13
kdubyay, my mesa improvements work... now to figure out how to show raof on github19:45
racarrkdub: Sorry I dropped out of our conversation earlier...I got distracted by the stuff I am doing with input acceptance tests22:13
racarrthink I just finally got a test fixture I am happy with, at least the first part...trying to make it trivial to write input tests with multiple clients and synthetic input22:13
kdubnp, i got distracted cleaning up mesa's mir platform :)22:16
racarrits a party all around XD22:18
kdubRAOF, ping22:55
RAOFkdub: Yo.22:57
RAOFMesa? Woot!22:58
kdubRAOF, i made the egl dri2 driver upstreamable while adding swapinterval0 hooks22:58
kdubwell, hopefully more upstreamable22:58
kdubi submitted a pull-request on github with the cleanup22:58
RAOFLess /* do stuff */? ☺22:58
RAOFHurray!22:58
kdubbasically, we now have a native type for egl displays and surfaces22:59
kduband i removed 'mir_client_library.h" from the platform_mir.c22:59
kdubit pairs with lp:~kdub/mir/gbm-cleanup23:00
kdubso hopefully we can get those both reviewed and land them at the same time23:00
kdubmaybe monday :)23:00
nallcould this be why I'm getting an error "Can't create a surface"23:31
nall"Can't initialize EGL" ?23:32
nallIt's thrown when calling mir_surface_is_valid which checks the protocol buffer for an error and I'm having trouble figuring out what actually sets this error.23:33
RAOFnall: That's what happens when the call to create a surface fails.23:42
RAOFnall: In the past there was a bug with colour formats that caused that sort of problem. The other option is that you've got a mismatched mesa version, since Mir requires some patches to work.23:43
nallThe method I used for installation was to install the pre-compiled packages first to ensure I had the right mesa libraries.  The I built from source installing with prefix=/usr to overwrite the precompiled mir packages.23:51
nallI'm trying to get it to work on VMWare.  I'm building from source because I had to add vmwgfx (VMWare's drm driver) to a drivers list to fix a bug when calling drmOpen.  On doing that it loads the driver but fails to create the surface.23:56
RAOFnall: Oh, cool.23:59

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