=== ara is now known as Guest38632 | ||
alan_g | alf_: content with answer? https://code.launchpad.net/~kdub/mir/current-buffer-id-fix/+merge/275986 | 10:04 |
---|---|---|
alf_ | alan_g: yes | 10:06 |
alan_g | alf_: my kms problem from yesterday. I find that DRM_MODE_DISCONNECTED gets set in reset() after the "connector = resources.connector(connector_id);". Any thoughts? | 11:14 |
greyback_ | RAOF: http://pastebin.ubuntu.com/13123486/ | 12:05 |
RAOF | Ta | 12:10 |
alf_ | alan_g: @kms, this seems normal, it gets the latest state from the hardware | 12:40 |
alan_g | alf_: so we're aborting because the hardware state is unexpected? | 12:42 |
alf_ | alan_g: yes, but the thing is that we shouldn't be trying to set the crtc on a disconnected connector, so the problem may be at a higher level | 12:46 |
alf_ | alan_g: do the instructions for reproducing this still stand? | 12:46 |
alf_ | alan_g: (using the two branches over trunk) | 12:47 |
alan_g | alf_: yes. Or use your fix-1511798 branch, in which case you also have to stop the nested server before seeing the crash | 12:47 |
=== mzanetti- is now known as mzanetti | ||
alan_g | BTW one of those branches has landed | 12:48 |
alf_ | alan_g: ok, I will give it a go | 12:50 |
alan_g | alf_: thanks. | 12:51 |
=== dandrader_ is now known as dandrader | ||
alan_g | alf_: I know this is "wrong" but it seems to workaround problems: | 12:58 |
alan_g | - connector = resources.connector(connector_id); | 12:58 |
alan_g | + if (!connector || (new_connector && new_connector->connection == DRM_MODE_CONNECTED)) | 12:58 |
alan_g | + connector = std::move(new_connector); | 12:58 |
alan_g | Hmm, missed a "+ auto new_connector = resources.connector(connector_id);" | 13:03 |
alf_ | alan_g: ack | 13:04 |
=== alan_g is now known as alan_g|lunch | ||
=== dandrader is now known as dandrader|afk | ||
=== alan_g|lunch is now known as alan_g | ||
alan_g | alf_: any thoughts on my kms problem? | 14:16 |
alf_ | alan_g: with the alternative fix I was able to reproduce only once, further attempts worked fine. | 14:21 |
=== francisco is now known as Guest24983 | ||
alan_g | Without the patch to reset() I've been getting it consistently. | 14:24 |
alf_ | alan_g: just to make sure, instructions are: sudo gdb --args bin/mir_demo_server --window-manager system-compositor --display-config sidebyside --vt 1 --arw-file --on-fatal-error-abort --display-report log | 14:25 |
alf_ | alan_g: plug in screen | 14:25 |
alan_g | alf_: oh! I'm testing on V+, are you on Wily? | 14:25 |
alf_ | alan_g: yes | 14:26 |
alf_ | alan_g: wily | 14:26 |
alf_ | alan_g: 3. bin/mir_demo_server.bin --host /tmp/mir_socket --display-config sidebyside | 14:27 |
alf_ | alan_g: 4. bin/mir_demo_standalone_render_surfaces --no-file --host-socket /run/user/1000/mir_socket --display-config single | 14:27 |
alf_ | alan_g: Then ctrl-c (4) and (3) | 14:27 |
alan_g | step 3 s/.bin// | 14:27 |
alan_g | Otherwise yes | 14:28 |
alan_g | So it could be specific hardware, or the OS drivers | 14:31 |
=== dandrader|afk is now known as dandrader | ||
alf_ | alan_g: It's likely that this is HW/driver related problem, because getting DRM_MODE_DISCONNECTED for a screen that is clearly plugged in, is not something Mir could really affect or mess up (unless there is memory error somewhere). | 14:55 |
alf_ | alan_g: @alternative fix, your concern is that although it passes the tests it doesn't have the desired effect in the above scenario (ctrl-c render surfaces), correct? | 14:57 |
alan_g | yes. At least my concern is I don't understand why (yet). | 14:58 |
alf_ | alan_g: so, I take it that you are investigating this? | 14:58 |
alan_g | currently tracing through the code | 14:59 |
alf_ | alan_g: ok, then I will do something different for now, but let me know if you need me to try something | 15:00 |
alan_g | alf_: thanks. You said you also saw the kms issue sometimes? Is it worth MPing my workaround? | 15:01 |
alf_ | alan_g: I think it may break monitor disconnects in some cases (it won't update the connector if the monitor has been really disconnected), so I am hesitant to include it | 15:08 |
alan_g | yeah. I hate having Mir crash as a result though. | 15:09 |
alf_ | alan_g: We could try to be more forgiving of incorrect set_crtc() calls, e.g., log a warning instead of aborting | 15:21 |
alf_ | alan_g: (incorrect => failed) | 15:21 |
alan_g | alf_: when I've finished handling interrupts and investigating your alternative fix I'll try to find something more plausible. | 15:23 |
alf_ | alan_g: ack, from a quick look I think 1. logging a warning + returning false in mgm::RealKMSOutput::set_crtc() and 2. not aborting in mgm::DisplayBuffer::set_crtc() should do the trick, but perhaps there are other points we need to update | 15:25 |
alf_ | alan_g: I would propose the changes myself, but I can't really test if it helps for your use case | 15:25 |
alan_g | \o/ alf_: I understand the difference - AbstractShell::focus_next_session() is selecting the dying surface's titlebar. (And that doesn't exist in the core WM that gets tested.) | 15:27 |
alf_ | alan_g: great | 15:31 |
alan_g | alf_: should I start another loop by taking your alternate fix and MPing the changes? | 16:00 |
alf_ | alan_g: fine with me | 16:01 |
=== dandrader is now known as dandrader|afk | ||
=== alan_g is now known as alan_g|EOD | ||
=== alan_g|EOD is now known as alan_g|EOW | ||
=== dandrader|afk is now known as dandrader | ||
mcphail | bschaefer: ping | 18:32 |
bschaefer | mcphail, pong | 18:32 |
mcphail | Hi - are you still working on SDL2 for mir? | 18:32 |
bschaefer | mcphail, when its needed, or when a bug comes up | 18:33 |
bschaefer | mcphail, any bugs? | 18:33 |
mcphail | do you have a link for a version which works with the current Mir libs on the phone? | 18:33 |
bschaefer | mcphail, yeah: https://code.launchpad.net/~brandontschaefer/libsdl/update-mir-new-abi-api/+merge/276578 | 18:33 |
bschaefer | thats the patch | 18:33 |
mcphail | Ta muchly! | 18:33 |
bschaefer | for SDL2 to then new mir API | 18:33 |
bschaefer | mcphail, here is the the actual branch: | 18:33 |
bschaefer | https://code.launchpad.net/~brandontschaefer/+junk/SDL2-new-mir-ABI | 18:34 |
bschaefer | so you dont have to apply the patch, its already applied | 18:34 |
mcphail | slvn_: ^^ | 18:34 |
mcphail | bschaefer: you are a hero | 18:34 |
bschaefer | np, poke me if theres any issues! | 18:34 |
slvn_ | thanks ! | 18:34 |
mcphail | bschaefer: will do | 18:34 |
mcphail | bschaefer: slvn_ is going to bring us some new games! | 18:35 |
bschaefer | sweet! | 18:35 |
bschaefer | slvn_, if it works on arm you can post on that MP that you've tested it and all :) | 18:35 |
* bschaefer needs to double check it works on the phone | 18:35 | |
bschaefer | IIRC it does...but i dont remember | 18:36 |
slvn_ | what is MP ? | 18:36 |
slvn_ | bschaefer, a few month ago my games where working with the SDL / mir backend | 18:37 |
bschaefer | merge proposal | 18:37 |
bschaefer | yup, until mir 0.14 and greater :) | 18:37 |
bschaefer | all i did was move to the new API/ABI | 18:37 |
bschaefer | https://code.launchpad.net/~brandontschaefer/libsdl/update-mir-new-abi-api/+merge/276578 | 18:37 |
bschaefer | the MP ^ | 18:37 |
mcphail | do we still need to --disable-shared-mir when building? | 18:38 |
bschaefer | mcphail, you shouldnt | 18:38 |
slvn_ | Ok ! yes, we found out with mcphail that api function where missing / renamed because of the new api | 18:38 |
bschaefer | the only reason that was needed, was because it was broken :) | 18:38 |
mcphail | ha! | 18:38 |
bschaefer | ie. functions didnt line up | 18:38 |
bschaefer | (they kept changing MirBool to bool and back and forth) | 18:38 |
bschaefer | and would keep the dynamic loading from not working | 18:38 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!