Mir

Nested servers lack cursor support

Bug #1289072 reported by Stephen M. Webb on 2014-03-07
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Light Display Manager
High
Robert Ancell
Mir
Fix Released
Medium
Alan Griffiths
Unity System Compositor
Undecided
Robert Carr
unity-mir
Critical
Gerry Boland
lightdm (Ubuntu)
High
Robert Ancell
mir (Ubuntu)
Undecided
Unassigned
unity-system-compositor (Ubuntu)
Undecided
Unassigned
unity8-desktop-session (Ubuntu)
High
Unassigned

Bug Description

Nested servers lack functional cursor support. The code just returns a null pointer.

One of the symptoms of this is that it is not possible to use a mouse or trackpad when running Unity8 as the desktop shell.

Related branches

Daniel van Vugt (vanvugt) wrote :

Sounds like this might be bug 1260612.

Stephen M. Webb (bregma) wrote :

I don't think the lack of cursor support in Unity 8 is a duplicate of some irrelevant demo program not filtering its input properly: all event inputs in Unity8 are received properly, touchscreens and keyboard work fine but the cursor is invisible and stuck at (0,0) and all relative input events occur a few pixels from the screen corner because the nested server is hardcoded to return a null pointer for the cursor object.

Daniel van Vugt (vanvugt) wrote :

It's not completely irrelevant. That bug shows that nested servers of any sort (including Unity8) will be broken. But this bug could be different for other reasons.

tags: added: nested
kevin gunn (kgunn72) wrote :

from the unity-mir perspective this is a feature that needs to be implemented.
gerry's been working on it this week already, and i know he's going to continue - however, feedback so far is that it wasn't as trivial as first thought.

Changed in unity-mir:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → Gerry Boland (gerboland)
kevin gunn (kgunn72) wrote :

i believe Daniel is likely right, we are likely to need to fix
https://bugs.launchpad.net/mir/+bug/1260612 as well.
Good news is this has been in progress already & has an MP up

Alan Griffiths (alan-griffiths) wrote :

I suspect there is more to this issue than the title suggests.

It isn't just the nested configuration that doesn't support a cursor - there is no "cursor support" in the android configuration either.

The limited support in the mesa configuration is a demonstration that we are able use an underlying hardware cursor. I suspect this isn't adequate functionality for whatever the intended use case is.

Marking "incomplete" pending definition of what the requirement.

Changed in mir:
status: New → Incomplete
kevin gunn (kgunn72) wrote :

@alan - this bug specifically is targeting the "unity8 on mir desktop preview", so it would be a mir mesa platform backend use case. So the lack of android support is "ok" atm. However your point about whether or not the limited support that we do have in mesa...and if it is enough to satisfy the unity8 desktop preview is valid.

Stephen M. Webb (bregma) on 2014-03-23
Changed in unity8-desktop-session (Ubuntu):
importance: Undecided → High
status: New → Triaged
kevin gunn (kgunn72) wrote :
Changed in unity-mir:
status: Triaged → Invalid
Changed in unity-system-compositor:
status: New → Triaged
status: Triaged → In Progress
Changed in lightdm:
status: New → In Progress
assignee: nobody → Robert Ancell (robert-ancell)
Changed in unity-system-compositor:
assignee: nobody → Robert Carr (robertcarr)
Changed in lightdm:
importance: Undecided → High
Changed in lightdm (Ubuntu):
status: New → Fix Committed
assignee: nobody → Robert Ancell (robert-ancell)
importance: Undecided → High
Changed in lightdm:
status: In Progress → Fix Committed
Changed in lightdm:
status: Fix Committed → Fix Released
milestone: none → 1.9.14
Stephen M. Webb (bregma) on 2014-04-02
Changed in unity8-desktop-session (Ubuntu):
status: Triaged → In Progress
tags: added: cursor
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lightdm - 1.9.14-0ubuntu1

---------------
lightdm (1.9.14-0ubuntu1) trusty; urgency=medium

  * New upstream release:
    - Pass --enable-hardware-greeter to unity-system-compositor for Mir sessions
      on xlocal seats (LP: #1289072)
 -- Robert Ancell <email address hidden> Thu, 03 Apr 2014 09:07:39 +1300

Changed in lightdm (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-system-compositor - 0.0.2+14.04.20140403-0ubuntu1

---------------
unity-system-compositor (0.0.2+14.04.20140403-0ubuntu1) trusty; urgency=low

  [ Robert Carr ]
  * allow hw cursor option (LP: #1289072)
 -- Ubuntu daily release <email address hidden> Thu, 03 Apr 2014 06:09:57 +0000

Changed in unity-system-compositor (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Incomplete → Fix Released
status: Fix Released → Incomplete
Changed in unity-system-compositor:
status: In Progress → Fix Released

I'm not sure at what point things landed in Mir, but there seems to be support for cursors in nested servers currently. (It's been broken, but recent commits have improved it.)

What is still lacking is acceptance tests of this support.

Changed in mir:
status: Incomplete → In Progress
assignee: nobody → Alan Griffiths (alan-griffiths)
milestone: none → 0.17.0
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.17.0

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
importance: Undecided → Medium
summary: - Nested servers need cursor support
+ Nested servers lack cursor support
Changed in mir:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package mir - 0.17.0+15.10.20151008.2-0ubuntu1

---------------
mir (0.17.0+15.10.20151008.2-0ubuntu1) wily; urgency=medium

  [ Alexandros Frantzis ]
  * New upstream release 0.17.0 (https://launchpad.net/mir/+milestone/0.17.0)
    - ABI summary: Only servers and graphics drivers need rebuilding;
      . Mirclient ABI unchanged at 9
      . Mirserver ABI bumped to 35
      . Mircommon ABI unchanged at 5
      . Mirplatform ABI bumped to 11
      . Mirprotobuf ABI bumped to 3
      . Mirplatformgraphics ABI bumped to 6
      . Mirclientplatform ABI unchanged at 3
    - Enhancements:
      . Introduce libmircookie, a simple mechanism for a group of cooperating
        processes to hand out and verify difficult-to-forge timestamps to
        untrusted 3rd parties.
      . More refactorings to support renderers other than GL.
      . Add MirBlob to the client API - a tool for serializing and
        deserializing data.
      . Introduce a libinput based input platform, not yet used by default.
      . Provide a mechanism for the shell to send events on surface
        construction.
      . Provide mir::shell::DisplayConfigurationController allowing shells
        to correctly change the display configuration, notifying clients
        as appropriate.
      . New DSO versioning guide.
      . Send events pertaining to the output a surface is currently on (dpi,
        form factor, scale) to clients.
    - Bug fixes:
      . [enhancement] XMir specific documentation should live in its own
        subsection (LP: #1200114)
      . Nested servers need cursor support (LP: #1289072)
      . Mir cursor is missing/invisible until the client sets it multiple
        times (LP: #1308133)
      . [regression] Fullscreen software surfaces (like Xmir -sw) can crash
        the Mir server (LP: #1493721)
      . [usc] Mir gives up and shuts down due to input with multimonitor qtmir
        (std::exception::what: Failure sending input event) (LP: #1496069)
      . Mouse cursor disappears upon entering the surface area of a nested
        client (LP: #1496849)
      . [android] input is not dispatched when attaching an external monitor
        (LP: #1498045)
      . [android] input coordinates are scaled incorrectly when an external
        display is connected (LP: #1498540)
      . [android] std::exception::what: error during hwc set() when unplugging
        external monitor (LP: #1498550)
      . tests do not compile without precompiled headers (LP: #1498829)
      . [android] std::exception::what: Failed to monitor fd: Operation not
        permitted when unplugging external display in a nested configuration
        (LP: #1499042)
      . Mir suddenly no longer builds since 'mesa (11.0.0-1ubuntu1) wily':
        /usr/include/EGL/eglplatform.h:100:35: fatal error:
        android/native_window.h: No such file or directory (LP: #1499134)
      . [android] various crashes when unplugging external display on a
        nested configuration (LP: #1501927)
      . Cursor becomes visible by itself when an external monitor is connected
        (LP: #1502200)
      . mesa FTBFS due to missing Requires in mirclient (LP: #1503450)

  [ CI Trai...

Read more...

Changed in mir (Ubuntu):
status: New → Fix Released
Stephen M. Webb (bregma) on 2016-07-12
Changed in unity8-desktop-session (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers