/srv/irclogs.ubuntu.com/2015/09/10/#ubuntu-mir.txt

robert_ancellduflu, how does mir_pixel_format_xrgb_8888 and mir_pixel_format_bgr_888 have the red channel in the same location?01:32
robert_ancellWhere are the pixel formats defined?01:32
duflurobert_ancell: common.h ... the 32-bit formats are designed to be expressed as uint32 whereas the 24-bit formats are three bytes. So for little endian they are the reverse01:34
dufluThat said, I'm not sure X can deal with the latter at all01:35
robert_ancellvery confusing01:36
dufluWe use endianess like that so software apps using 32-bit formats don't need to ever do byte swapping to work on any machine.01:36
duflurobert_ancell: Yes, but it makes sense and is the best option if you think about it. The alternative is that every app would need #ifdef for different endianness01:37
dufluUnfortunately endian does not apply to 3 byte pixels. It makes no sense there01:37
dufluBTW, I did not design it that way. It was like that before I/we joined Mir01:39
dufluAnd it seems like the right solution too. Just confusing when dealing with some APIs like OpenGL that do the opposite01:40
robert_ancellduflu, so your branch corrects the wrong masks right? The rest of it is just code moved around.01:42
duflurobert_ancell: Yes, and it ensures everything (screen and windows) agrees on the format of TrueColor pixels01:43
dufluAlthough it's still not ideal for EGL. More work is required there01:43
robert_ancellduflu, btw we do know that software mode works - the goal is to get EGL to work01:45
dufluMore importantly, I've now done an MP in git-for-launchpad :)01:45
robert_ancellduflu, yeah, well done!01:45
robert_ancellduflu, you can just push into the xmir branch01:47
duflurobert_ancell: Yes, software has always worked. Although the upload/copy operations in software are slowish, rendering the same in OpenGL arguably uses even more resources. And OpenGL needs the buffer held for longer. The only problem is some droids (and I noticed it on mako) sometimes corrupt software buffers on screen. That's usually a flags bug in the Mir android code01:48
robert_ancellduflu, what do you mean by "uses even more resources"?01:48
robert_ancellSoftware mode seems poor when resizing windows, I'd expect that to be faster in OpenGL right?01:49
duflurobert_ancell: Both rendering approaches require an "upload" or copy of the whole surface. However there's no OpenGL state and texture to worry about in software01:49
duflurobert_ancell: Yeah some things will be faster in GL on some devices. But there's not a huge difference if your apps are software rendering in the first place01:50
robert_ancellduflu, so, do you think getting EGL to work is a waste of time?01:50
duflurobert_ancell: No, I think EGL will be faster for some things and we should do it01:50
dufluEven the upload itself may be faster in some GL implementations01:52
=== chihchun_afk is now known as chihchun
duflurobert_ancell: It's satisfying being able to play /usr/games/sol on the phone :)01:57
robert_ancellheh01:58
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
duflurobert_ancell: Theoretically rootless should let us skip a copy completely. Because the X server no longer has to composite its apps in software into the screen surface. But I don't know the reality of the implementation. That's just theory.02:22
robert_ancellduflu, yeah, I guess02:23
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
duflurobert_ancell: BTW found a simpler solution to the xkb problems. Just configure with --prefix=/usr04:04
dufluSo it finds everything in the right place04:04
robert_ancellduflu, and you can then run without installing?04:04
duflurobert_ancell: Yep, no installation04:04
robert_ancellsweet04:04
dufluSweet unless there's an ABI break04:05
dufluBut I don't think Xorg does ABI breaks much04:05
=== chihchun is now known as chihchun_afk
RAOFXorg breaks ABI every release.04:19
RAOFNot quite, but very nearly.04:19
RAOFHm. That's got to be a gcc bug.04:21
RAOFauto foo = [this]() { return display_config; }; foo().active_configuration(); blows up.04:21
RAOFauto foo = [this]() -> mg::DisplayConfiguration const& { return display_config; }; foo().active_configuration(); works as expected.04:22
bschaeferRAOF, how is 'this' actually defined? Just a pointer to the class right? (raw c pointer?)04:33
bschaefernm what i was thinking makes no sense (was thinking something with a std::unique_ptr)04:34
RAOFYeah, “this” is a keyword meaning “pointer to the implicit first parameter of the function call” :)04:37
bschaeferRAOF, yeah was trying to find the actual definition in the standard but 'this' is an over used word :)04:41
RAOFOk, wtf?05:27
RAOFHow is DefaultServerConfiguration::configuration_options being set to a non-null value in the constructor, but then the_options() SEGVing because configuration_options contains null?06:00
dufluCosmic rays06:01
RAOFHm, or slicing?06:02
=== Hawk is now known as Guest44551
RAOF$1 (this) = (mir::DefaultServerConfiguration * const) 0x1c44e1006:02
RAOF(Contains correct value)06:02
RAOF$4 (also this) = (const mir::DefaultServerConfiguration * const) 0x1c44e1006:02
RAOFOh, no. That's the same value.06:03
RAOFIt looks different in gdb :)06:03
RAOFWatchpoint it is.06:03
Guest44551duflu, https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/149318506:04
ubot5Ubuntu bug 1493185 in unity8 (Ubuntu) "missing icons in dash/app scope for ubuntu touch vivid image" [Undecided,New]06:04
=== Guest44551 is now known as change
dufluGuest44551: Thanks. Sounds like the ubuntu UI toolkit (that is shader heavy and sometimes the least portable part)06:05
=== change is now known as Hock
Hockanyone looking into it?06:05
dufluHock: I will reassign it. Can you attach a screenshot? That URL does not work..!?06:06
dufluHock: The relevant people log on in a couple of hours06:08
dufluThey should notice it06:08
Hocki attached it06:11
Hocki submitted this bug two days ago. :(06:12
dufluHock: Thanks. I just checked the source code. Looks like ubuntu-ui-toolkit. It's possible you'll get a better response now it's assigned to the right project today06:12
Hockduflu, great! thanks06:13
dufluHock: We had a similar issue recently. ubuntu-ui-toolkit is ambitious, sometimes to the point of non-portable06:13
Hockthis will not be related to gralloc hal crashing using CM kernel, right?06:13
dufluHock: No, your kernel unity8 and Mir seem to be working fine06:14
Hockthis is fine as its on aosp kernel06:14
Hockwhen i tried using CM kernel, the gralloc refused to start.06:14
Hockjust died06:14
dufluHock: Nice working getting that far06:14
duflu*Nice work06:14
Hocknice. but still long way to go06:15
dufluI'm not so sure it's a long way06:15
Hockwifi doesnt work as the stock kernel does come with source06:15
Hockits binary wlan.ko06:15
Hockhave been trying a few prima sources but insmod hung06:16
Hockand wlan0 does not get created06:16
HockCM kernel cant be used as their gralloc dont play nice with ubuntu touch06:16
Hockanyway hint on how to get cm gralloc to work?06:17
dufluHock: Don't know. If you don't get a response within a day then the person is:  https://launchpad.net/~loic.molinari06:18
dufluFor the bug that is06:18
Hockok.06:18
Hockhow can I tell the verion of mir that I am running on?06:18
Hockversion06:19
dufluHock: dpkg -l | grep libmir06:21
dufluBut Mir is working (or else many things would have failed before the screen got painted that much even)06:22
Hock0.13.3+15.04.20150617-0ubuntu106:24
Hocklibmirclient9:armhf                                  0.14.1+15.04.20150821-0ubuntu106:24
Hockmixed of 0.13 and 0.1406:24
dufluHock: Sounds like vivid (which is presently a mix of 0.14.1 and 0.13.3, the latter is for some clients that haven't been updated)06:24
Hockyes, mir is working. just the icons06:24
Hockyes, i switched back to vivid06:25
Hockgoing to wily does not solve the icons issue06:25
RAOFOk, that's weird.06:47
RAOFIf you call the_frontend_display_changer() from the_session_coordinator(), Mir crashes.06:48
RAOFOH!06:49
RAOFBecause there's a cycle there.06:49
RAOFNice of ABSOLUTELY NOTHING AT ALL to notice a stack overflow.06:50
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== alan_g is now known as alan_g|lunch
=== alan_g|lunch is now known as alan_g
tedgRAOF: Is there a reason that those are needed over the binary blog that the RaspPi folks are using?13:20
* ogra_ shkes fist towards provider ... 13:35
ogra_tedg, kms support perhaps ?13:35
ogra_the binary blob is used in any case, you cant boot the board without it13:35
ogra_(the bootloader is contained in the blob)13:35
tedgYeah, not sure. I just want Mir on my RPi2 :-)13:36
ogra_i dont think we have all needed userspace for the closed driver either yet (libEGL, libGLES etc)13:40
tedgSo perhaps that is the Mesa work that was mentioned.13:48
ogra_yeah13:48
=== dandrader_ is now known as dandrader
=== dandrader is now known as dandrader|afk
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
=== dandrader|afk is now known as dandrader
attenteAlbertA: hi, i'm just wondering if you had a chance to think about how we can implement GtkComboBox behaviour using Mir menu surfaces17:00
=== alan_g is now known as alan_g|EOD
AlbertAattente: not quite just got back from vacation17:15
attenteAlbertA: oh, sorry. welcome back!17:16
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
dandraderis mir-platform-graphics-mesa-x4 meant for use in xmir? or is it something else?18:05
kgunndandrader: that might be mir on x18:14
kgunncamako: ^18:14
dandradermy test laptop (vivid+overlay) is strange after I dist-upgraded and thus got mir 0.15. Some things are not working anymore. Not sure what I messed up. I tried to clean up all traces of mir 0.14 pakages. now at least I can get "sudo mir_proving_server" working18:18
dandraderbut when I try to run a client, it fails to connect. eg running mir_demo_client_egltriangle  gives a "Can't get connection" failure18:19
dandraderI made sure I had MIR_SOCKET=/tmp/mir_socket set18:19
anpokdandrader: thats for running mir within x18:19
dandraderso, how do I start debugging that?18:19
dandraderanpok, ok, so I can safely ignore this18:19
anpokhm that should be MIR_CLIENT_SOCKET=18:21
dandraderso my mir_demo_client_egltriangle is giving a "Can't get connection" error message when I try to run it in my mir_proving_server. how do I start debugging this?18:21
anpokand --arw-file to ensure that the permission .18:21
anpokis open enough for other users18:22
dandraderanpok, yeah, did "sudo chmod a+rw /tmp/mir_socket" as well18:22
dandraderanpok, what client-side env vars should I set to get some logging explaining what's going on?18:22
dandraderanpok, or is it really a very basic error where logging wouldn't help anyway...18:23
anpokhmm dandrader, tried to reproduce but I my vivid vm now has problems with egl..18:55
anpokdandrader: MIR_SERVER_SESSION_MEDIATOR_REPORT and _CONNETION_REPORT = log are the most basic logs for server interactions18:55
anpoksorry CONNECTOR_REPORT18:56
dandraderanpok, but that's on the server side. any env var I could set on the client side?18:59
anpokthere is MIR_CLIENT_RPC_REPORT..19:02
anpokbut not sure what do read out of it19:02
dandraderthe issue seems to be on the client side. like it's not really finding the socket file. so I would like to know what exactly is the filename + path it's trying to use19:02
anpokstrace hmm19:02
dandraderanpok, thanks for the strace tip. good one19:11
dandraderanpok, so the problem seem indeed server side: http://paste.ubuntu.com/12330409/19:12
dandraderanpok, what do you make of this exception?19:12
anpokhm try fingerpaint?19:13
dandraderit's like client process ended suddenly or something19:13
* dandrader tries19:13
dandraderanpok, ah, interesting. it gives more output19:14
dandraderanpok,  http://paste.ubuntu.com/12330431/19:15
dandraderanpok, seems I'm missing some package :)19:15
dandraderI do have  a /usr/lib/x86_64-linux-gnu/mir/client-platform/mesa.so.219:16
dandraderwhich seems to come from a local build of mir 0.14...19:17
* dandrader installs mir-client-platform-mesa319:17
dandradergreat! now it finally works!19:19
dandraderanpok, thanks for the help!19:19
=== dandrader is now known as dandrader|afk
=== ahayzen_ is now known as ahayzen
=== dandrader|afk is now known as dandrader
=== ahayzen_ is now known as ahayzen
RAOFtedg: Right. The bits that are needed are kms (modesetting), EGL-on-KMS (Mir rendering), and EGL hooks (client rendering).23:04

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