Mir

unplugging external monitor causes nested server to throttle client

Bug #1511723 reported by Alan Griffiths on 2015-10-30
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Undecided
Alan Griffiths
mir (Ubuntu)
Undecided
Unassigned

Bug Description

On a vivid(ish) laptop with external monitor connected and active.

Running trunk + the display reconfig fix in lp:~alan-griffiths/mir/cache-invalidation-for-nested-Display-active-config

/1/ start a host server:

    $ sudo bin/mir_demo_server --shell-report log --window-manager system-compositor --display-config sidebyside --vt 1 --arw-file

/2/ start a nested server:

    $ bin/mir_demo_server --shell-report log --host /tmp/mir_socket --display-config sidebyside --window-manager tiling

/3/ start a client (one chosen that reports frame rate)

    $ bin/mir_demo_standalone_render_surfaces --no-file --host-socket /run/user/1000/mir_socket

/4/ disconnect the external monitor

Expected: FPS continues at 60
Observed: FPS drops to around 10 until external monitor is reconnected.

Alan Griffiths (alan-griffiths) wrote :

For the avoidance of doubt, connecting the client directly to the host server works as expected.

Alan Griffiths (alan-griffiths) wrote :

Ugh. Doesn't work nearly as well in 0.17

Alan Griffiths (alan-griffiths) wrote :

Hmm, now I have it in a state where both monitors plugged in gives 60FPS and one unplugged gives 40FPS.

tags: added: multimonitor
tags: added: nested
Alan Griffiths (alan-griffiths) wrote :

With all the recent display config patches applied I can still reproduce this.

Alan Griffiths (alan-griffiths) wrote :

Problem caused by the display config patches

Changed in mir:
status: New → Invalid
status: Invalid → Incomplete
Alan Griffiths (alan-griffiths) wrote :

Problem is intermittent. Several tests with trunk worked, then one failed as described.

Alan Griffiths (alan-griffiths) wrote :

Can no longer reproduce - doesn't seem important to work out which display config fix(s) solved this.

Changed in mir:
status: Incomplete → Fix Committed
assignee: nobody → Alan Griffiths (alan-griffiths)
milestone: none → 0.18.0
Launchpad Janitor (janitor) wrote :
Download full text (6.3 KiB)

This bug was fixed in the package mir - 0.18.0+16.04.20151216.1-0ubuntu1

---------------
mir (0.18.0+16.04.20151216.1-0ubuntu1) xenial; urgency=medium

  [ Kevin DuBois ]
  * New upstream release 0.18.0 (https://launchpad.net/mir/+milestone/0.18.0)
    - ABI summary: Only servers need rebuilding;
      . Mirclient ABI unchanged at 9
      . Mirserver ABI bumped to 36
      . Mircommon ABI unchanged at 5
      . Mirplatform ABI unchanged at 11
      . Mirprotobuf ABI unchanged at 3
      . Mirplatformgraphics ABI bumped to 7
      . Mirclientplatform ABI unchanged at 3
      . Mirinputplatform ABI added. Current version is 4
    - Enhancements:
      . Use libinput by default, and remove the android input stack
      . Add x11 input probing
      . Add alternative buffer swapping mechanism internally, available with
        --nbuffers 0
      . Automatic searching and selection of input platforms
      . Better support for themed cursors
      . Add demo client that uses multiple buffer streams in one surface
      . Improve fingerpaint demo to use touch pressure
      . Allow for configuring cursor acceleration, scroll speed and left or
        right handed mice
      . Allow for setting a base display configuration via client api
      . Various nested server multimonitor fixes and stability improvements
      . Remove DepthId from the SurfaceStack
    - Bug fixes:
      . Unit test failures in Display.* on Android (LP: #1519276)
      . Build failure due to missing dependency of client rpc code on mir
        protobuf (LP: #1518372)
      . Test failure in
        NestedServer.display_configuration_reset_when_application_exits
        (LP: #1517990)
      . CI test failures in various NesterServer tests (LP: #1517781)
      . FTBFS with -DMIR_PLATFORM=android (LP: #1517532)
      . Nesting Mir servers with assorted display configs causes lockup
        (LP: #1516670)
      . [testsfail] RaiseSurfaces.motion_events_dont_prevent_raise
        (LP: #1515931)
      . CI test failures in GLMark2Test (LP: #1515660)
      . Shells that inject user input events need to agree with the system
        compositor on the clock to use (LP: #1515515)
      . mircookie-dev is missing nettle-dev dependency (LP: #1514391)
      . Segmentation fault on server shutdown with mesa-kms (LP: #1513901)
      . mircookie requires nettle but libmircookie-dev doesn't depend on it
        (LP: #1513792)
      . libmircookie1 package does not list libnettle as dependency
        (LP: #1513225)
      . display configuration not reset when application exits (LP: #1511798)
      . unplugging external monitor causes nested server to throttle client
        (LP: #1511723)
      . 1/2 screen on external monitor (LP: #1511538)
      . unity-system-compositor crash, no interaction on windowed mode
        (LP: #1511095)
      . [regression] arm64/powerpc cross compile doesn't build any more
        (LP: #1510778)
      . mir_connection_get_egl_pixel_format() crashes if libEGL is loaded
        RTLD_LAZY (LP: #1510218)
      . [multimonitor] nested server surface positioning incorrect
        (LP: #1506846)
      . unity-system-compositor fails to build against lp:mir r3027
   ...

Read more...

Changed in mir (Ubuntu):
status: New → Fix Released
Kevin DuBois (kdub) on 2015-12-22
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers