Mir

Nested servers never receive input events (in their filters)

Bug #1260612 reported by Daniel van Vugt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alexandros Frantzis
mir (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Using demo_server_shell you can resize surfaces easily with 3 fingers or Alt+middle-button. However on a nested server resizing has no effect (or sometimes only partially works).

Tags: input nested

Related branches

summary: - Surfaces fail to resize under a nested server
+ Surfaces fail to resize on nested servers
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Surfaces fail to resize on nested servers

It looks like the resize event isn't even sent to the client when nesting. Because eglapps are not printing the usual messages:
Resized to 497x640
Resized to 495x637
...

summary: - Surfaces fail to resize on nested servers
+ Surfaces fail to resize on nested servers (running on Android)
tags: added: android
description: updated
Changed in mir:
status: Triaged → In Progress
summary: - Surfaces fail to resize on nested servers (running on Android)
+ Surfaces fail to resize on nested servers
description: updated
summary: - Surfaces fail to resize on nested servers
+ Surfaces fail to move/resize on nested servers
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Surfaces fail to move/resize on nested servers

Perhaps the problem is really that motion events never reach the nested server's event filter. That's what it looks like...

sudo sh -c "bin/mir_demo_server_basic & sleep 2 ; bin/mir_demo_server_shell --host-socket /tmp/mir_socket -f /tmp/mir_socket_nested & sleep 2 ; env MIR_SOCKET=/tmp/mir_socket_nested bin/mir_demo_client_egltriangle"

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed the issue is just that the nested server's event filter never gets events.

summary: - Surfaces fail to move/resize on nested servers
+ Nested servers never receive input events (in their filters)
Changed in mir:
status: In Progress → Triaged
assignee: Daniel van Vugt (vanvugt) → nobody
tags: removed: android
Changed in mir:
milestone: 0.1.3 → 0.1.4
tags: added: input
Changed in mir:
milestone: 0.1.4 → 0.1.5
Changed in mir:
milestone: 0.1.5 → 0.1.6
Changed in mir:
milestone: 0.1.6 → none
Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
status: Triaged → In Progress
Changed in mir:
milestone: none → 0.1.7
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
Changed in mir (Ubuntu):
importance: Undecided → High
status: New → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package mir - 0.1.7+14.04.20140317.1-0ubuntu1

---------------
mir (0.1.7+14.04.20140317.1-0ubuntu1) trusty; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.1.7 (https://launchpad.net/mir/+milestone/0.1.7)
    - mirserver ABI bumped to 17
    - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
    - Server API changes (AKA why doesn't my code build any more?):
      . Class "CompositingCriteria" has been removed. It's replaced by the more
        flexible "Renderable" interface. This also resulted in parameter
        changes for the Renderer and scene filtering classes.
      . The function "DisplayConfiguration::configure_output()" has been
        removed. Instead, please use the new mutable version of
        "DisplayConfiguration::for_each_output()" with which you can modify
        the output structure passed in on each iteration.
      . Exposed formerly private class "GLRenderer" and demonstrated how
        to override its behaviour in demo-shell. This area is under
        construction and may experience further major changes.
    - Added initial support for hardware (HWC) overlays to accelerate
      rendering and reduce power consumption. Not complete yet.
    - Screen rotation: Added mouse cursor rotation support, so you can now
      still control things on a rotated screen. Still missing rotation of
      the cursor bitmap itself.
    - Lots of fixes to support nested Mir servers (see below).
    - Major simplification to how surface size/position/transformation
      interact, making transformations much easier to manage and work with.
    - Bugs fixed:
      . ./cross-compile-chroot.sh: line 83: popd: build-android-arm: invalid
        argument popd: usage: popd [-n] [+N | -N] (LP: #1287600)
      . Key events sent to the wrong client (and delayed) (LP: #1213804)
      . Nested servers never receive input events (in their filters)
        (LP: #1260612)
      . Software clients crash immediately on nested servers - what(): Failed
        to mmap buffer (LP: #1261286)
      . MirMotionEvent lacks local coordinates. Reports only screen
        coordinates. (LP: #1268819)
      . Nested Mir crashes with - what():
        MesaNativePlatform::create_internal_client is not implemented yet!
        (LP: #1279092)
      . clients fail to find some libraries if mir installed via "make install"
        (LP: #1285566)
      . Nested server hangs with multimonitor and internal clients.
        (LP: #1287282)
      . [regression] Multi-monitor frame sync no longer works (not
        synchronized), and frames skip/jump/stutter (LP: #1288570)
      . Mir FTBFS: /usr/bin/ld: cannot find -lmirtestdraw (when cmake ..
        -DMIR_ENABLE_TESTS=OFF) (LP: #1283951)
      . nested Mir library calls next_buffer() during startup (LP: #1284739)
      . Building Mir produces lots of warnings from GLM headers about
        deprecated degrees values vs radians (LP: #1286010)
      . [enhancement] screencast of a single window (LP: #1288478)
      . Nexus4 + mir_demo_client_eglplasma starts to stutter after a while
        (LP: #1189753)
      . --host-socket documented default argument isn't...

Read more...

Changed in mir (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.