Mir

Comment 3 for bug 1496069

Revision history for this message
Gerry Boland (gerboland) wrote :

Now considering case which most accurately reflects this bug: where shell/unity8 is not going to draw on the external display, just do

qmlscene Shell.qml

The external display will be black. But interacting with the single shell is fine. (rotation animation double speed, unsure why).

Now bring back unity-system-compositor:
    sudo start lightdm
    stop unity8
    export MIR_SOCKET=/run/mir_socket
    QT_LOGGING_RULES='qtmir.*=true' MIR_SERVER_NAME=session-0 qmlscene Shell.qml
on plugging in the external display, QML is not getting input events any more. If I unplug, It does get input events, but something gets confused about the target window size - events in some portions of the screen are rejected.

I did get a rendering hang in this case though too, this being the culprit:

Thread 2 (Thread 0xaf897450 (LWP 9247)):
#0 0xffffffff in __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
#1 0xffffffff in __pthread_cond_wait (cond=0x1ab0c98, mutex=0x1ab0c80) at pthread_cond_wait.c:186
#2 0xffffffff in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#3 0xffffffff in MirWaitHandle::wait_for_all() (__p=..., __lock=..., this=0x1ab0c98) at /usr/include/c++/4.9/condition_variable:98
#4 0xffffffff in MirWaitHandle::wait_for_all() (this=0x1ab0c80) at /build/mir-GYyRoo/mir-0.15.1+15.04.20150903/src/client/mir_wait_handle.cpp:53
#5 0xffffffff in mir::client::BufferStream::request_and_wait_for_next_buffer() (this=0x1ab0b40) at /build/mir-GYyRoo/mir-0.15.1+15.04.20150903/src/client/buffer_stream.cpp:316
#6 0xffffffff in mir::client::android::EGLNativeSurfaceInterpreter::driver_returns_buffer(ANativeWindowBuffer*, int) (this=0x1aab0ac, fence_fd=<optimized out>) at /build/mir-GYyRoo/mir-0.15.1+15.04.20150903/src/platforms/android/client/egl_native_surface_interpreter.cpp:53
#7 0xffffffff in mir::graphics::android::MirNativeWindow::queueBuffer(ANativeWindowBuffer*, int) (this=<optimized out>, buffer=<optimized out>, fence=<optimized out>) at /build/mir-GYyRoo/mir-0.15.1+15.04.20150903/src/common/graphics/android/mir_native_window.cpp:212
#8 0xffffffff in ()