Created by Ubuntu Package Importer and last modified
Get this branch:
bzr branch lp:ubuntu/trusty-proposed/mir
Members of Ubuntu branches can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Ubuntu branches
Review team:
Ubuntu Development Team

Recent revisions

65. By PS Jenkins bot

[ Alberto Aguirre ]
Fix not compositing the client's last posted buffer (LP: #1294048,
LP: #1294051, LP: #1294053, LP: #1290306) In single-display cases
the number of ready buffers decreases after a buffer is acquired by
the rendering operator. Determine if there will be uncomposited
buffers before acquiring a buffer so it works for single and multi
display use cases. (LP: #1294048, #1290306, #1294051, #1294053)

64. By PS Jenkins bot

[ 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 used as default
      (LP: #1262091)

[ Ubuntu daily release ]
* New rebuild forced

63. By PS Jenkins bot

[ Kevin Gunn ]
* Cherry-picked from future release 0.1.7:
  - Enhancement: options: Make it easier to customize DefaultConfiguration
  - Bug fix: Don't pass a parameter to bash's popd command. It doesn't expect
    one and will return an error from cross-compile-chroot.sh. (LP: #1287600)
* New upstream release 0.1.6 (https://launchpad.net/mir/+milestone/0.1.6)
  - mirserver ABI bumped to 16.
  - Server API changes:
    . Report classes have moved to new namespaces/components. Please
      consult the server headers.
    . General clean-ups and virtual function changes affecting the ABI
      (a rebuild is required for all shells).
  - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
  - Add new feature: Screen recording ("screencasting") as demonstrated by
    the new mir-util "mirscreencast".
  - debian: Provide platform packages managed with dpkg alternatives.
  - Add new valgrind suppressions (mostly for armhf right now)
  - tools: Add new libmirclientplatform.so to install_on_android.sh.
  - Add "mir_demo_standalone_render_overlays", which is a free-standing
    example of overlay support.
  - Proper DisplayConfiguration for the AndroidDisplay to be better
    prepared for multi-monitor Android.
  - Commenced/continued simplifying the surface class hierarchy: BasicSurface
    has now absorbed SurfaceData.
  - Dynamically load the client platform library.
  - Bugs fixed:
    . Exceptions thrown from within compositing threads were untraceable,
      resulting in a bunch of undebuggable crash reports (LP: #1237332)
    . Ensure we close drm device file descriptors on exec. (LP: #1284081)
    . nested render_surfaces fails on N4 [std::exception::what: Failed to
      compile vertex shader:] (LP: #1284597)
    . examples: correct "fullscreen-surfaces" option. (LP: #1284554)
    . Fix mutex data race reported by helgrind in integration test:
      SwapperSwappingStress (LP: #1282886)
    . scene: Return null snapshots for sessions without surfaces
      (LP: #1281728)
    . tests: Address some raciness in
      (LP: #1283085)
    . tests: Suppress spurious memory errors occuring when running the
      unit tests on armhf with valgrind. (LP: #1279438)
    . Mir shows an old frame on client startup (for Mesa GL clients)
      (LP: #1281938)
    . tests: Add expectation to validate second SessionAuthorizer method
      is called wit correct parameter. (LP: #1218436)
    . Set field "current_format" when sending a display config to the
      server. (LP: #1277343)
    . Fix crash in android devices by working around a subtle threading
      bug, use a dummy thead_local array to push the gl/egl context TLS
      into a region where the future wait code does not overwrite it.
      (LP: #1280086)
    . compositor: calling SwitchingBundle::force_requests_to_complete()
      can be a no-op when there are no requests. (LP: #1281145)
    . tests: Don't emit an "add" uevent manually when adding a device
      (LP: #1281146)
    . config: reduce size of default RPC thread pool. (LP: #1233001)
    . Clients freeze on startup if 10 or more are already running
      (LP: #1267323)
    . Fix Nexus 10 leaking FDs in the hwc prepare/set loop. (LP: #1278658)
    . Parallelize page flipping with rendering of the next frame, fixing
      stuttering observed in multi-monitor clone mode (LP: #1213801)
    . Ubuntu trusty update "glm" broke Mir builds. Work around the
      change. (LP: #1285955)
    . Screencast feature by compositing to offscreen buffer (LP: #1207312)

[ Ubuntu daily release ]
* New rebuild forced

62. By PS Jenkins bot

[ Kevin Gunn ]
* Cherry-picked from future release 0.1.6:
  - frontend, shell: provide the client process ID in the shell::Session
    interface (LP: #1276704)
* New upstream release 0.1.5 (https://launchpad.net/mir/+milestone/0.1.5)
  - mirclient ABI bumped to 7
  - mirserver ABI bumped to 15
  - Refactoring to support client-controled RPC.
  - Add an translucent server example (use sparingly, this will kill
  - Add workaround for Qualcomm Snapdragon 8960 driver bug.
  - android-input: Improve debug output
  - Screen rotation support half done (rotation of the screen works but input
    rotation not implemented yet).
  - Add groundwork for overlay support to take better advantage of mobile
    hardware features and optimize composition in future.
  - Add support for HWC 1.2 (Android 4.4)
  - Add groundwork for screencasting (screen recording).
  - Optimized surface resizing, significantly reducing event flooding for
    some input configurations like touch.
  - Bugs fixed:
    . Surfaces no longer visible at all on Nexus 10 (LP: #1271853)
    . mir nested server failure: what(): error binding buffer to texture
      (LP: #1272041)
    . Unity does not process events from evdev device created before unity is
      restarted (autopilot tests) (LP: #1238417)
    . mir_unit_tests can't run on touch images any more (missing
      libumockdev.so.0) (LP: #1271434)
    . chmod 777 /tmp/mir_socket is no longer sufficient for non-root clients
      to connect to a root server (LP: #1272143)
    . Nexus7(2013) flo framerate maxes out at 30fps (LP: #1274189)
    . libmirserver user is unable to #include
       <mir/frontend/template_protobuf_message_processor.h> (LP: #1276162)
    . libmirclient user cannot "#include <mir/client/private.h>"
      (LP: #1276565)
    . AndroidInternalClient.internal_client_creation_and_use hangs on Nexus
      10 (LP: #1270685)
    . Tests that use the InProcessServer bind the default socket file
      (LP: #1271604)
    . BasicConnector threads exit immediately (LP: #1271655)
    . Integration tests TestClientIPCRender.test_accelerated_render fails on
      Galaxy Nexus and Nexus4 (LP: #1272597)
    . Android backend unit-tests FTBS on amd64 (LP: #1276621)
    . Erroneous use of last_consumed in SwitchingBundle::compositor_acquire
      (LP: #1270964)

61. By PS Jenkins bot

[ Daniel van Vugt ]
* New upstream release 0.1.4 (https://launchpad.net/mir/+milestone/0.1.4)
  - Fixed snapshotting and flicker problems for Unity8 on various Nexus
  - Enhanced reporting of performance information:
    . Report input latency in InputReport/InputReceiverReport.
    . Added a CompositorReport for logging compositor performance and state.
  - Added a new package "mir-utils" containing new tools:
    . mirping: Displays round-trip times between client and server
    . mirout: Displays the monitor layout/configuration details
  - Added GL texture caching to improve performance when multiple surfaces
    are visible.
  - Added opacity controls to mir_demo_server_shell
  - Mir server ABI bumped to 13. Client ABI bumped to 5.
  - Removed lots of Android headers, replaced by build-dep: android-headers
  - Added support for translucent nested servers.
  - tests: Fix unitialized values and incorrect fd closing loops
  - Fix unitialized values and incorrect fd closing loops.
  - client: Add basic MirScreencast C API.
  - config: start moving default values for config options from all the
    call sites to the setup
  - tests: Provide a helper for running clients with a stub ClientPlatform.
  - android: split out HWC layers into their own file and add a
    mga::CompositionLayer type that depends on the interface mg::Renderable.
  - client: Add basic MirOutputCapture class.
  - client: Don't create mesa ClientBuffer objects from invalid
  - Optimize surface resizing to avoid doing anything if the dimensions
    are unchanged.
  - SwitchingBundle - add operator<< for debugging.
  - support hwcomposer 1.2 for android 4.4 on nexus 4 (which needs hwc1.2
    support). This patch adds hwc1.2 device construction, as well as progs
    the 'skip' layer in HWC to the buffer properties of the framebuffer.
  - demo-shell: Add simple keyboard controls to rotate outputs; Ctrl +
    Alt + <arrow-key>. Fixes: https://bugs.launchpad.net/bugs/1203215.
  - frontend: exposing internals of the RPC mechanism to enable custom
    function calls to be added.
  - Make udev wrapper into a top-level citizen
  - compositor: ignore double requests to start or stop the
  - Add DisplayBuffer::orientation(), to tell the Renderer if we need it
    to do screen rotation in GL (for platforms which don't implement
    rotation natively) Fixes: https://bugs.launchpad.net/bugs/1203215.
  - graphics: add an post_update function that takes a list of renderables
    to the display buffer. This will let the display buffer take advantage
    of full-surface overlays on android.
  - android-input: Improve debug output
  - the stock qcom 8960 hwcomposer chokes on getDisplayAttributes if the
    submitted arrays are not at least size 6. patched the qcom android 4.2
    hwcomposer driver on the ubuntu touch images to work properly, but
    causes us problems with in-the wild drivers, and the new 4.4 drivers.
    Make sure we always submit a larger-than-needed array to this function.
  - frontend: refactoring to make it easier to expose the underlying RPC
    transport on the server side.
  - Don't assume pressure value is zero if not yet known
  - build: Expose options to allow building but not running tests by default.
  - Translucent Server which prefers a transparent pixel format
  - frontend: refactor ProtobufMessageProcessor to separate out generic
    response sending logic from specific message handling.
  - client: expose the part of the client RPC infrastructure needed for
    downstream to prototype their own message sending.
  - Bugs fixed:
    . unity8 display flickers and stops responding on Nexus 7 (grouper)
      (LP: #1238695)
    . Mir gets textures/buffers confused when running both scroll and flicker
      demos (LP: #1263592)
    . Some snapshots on Nexus10 upside-down (LP: #1263741)
    . mir_unit_tests is crashing with SIGSEGV in libhybris gl functions
      (LP: #1264968)
    . Some snapshots on Nexus10 have swapped red/blue channels (LP: #1265787)
    . Bypass causes some non-bypassed surfaces (on top) to be invisible
      (LP: #1266385)
    . helgrind: Possible data race - MirConnection::mutex not used
      consistently (LP: #1243575)
    . helgrind: Lock order violated (potential deadlock) in
      ConnectionSurfaceMap (LP: #1243576)
    . helgrind: Possible data race - inconsistent locking in PendingCallCache
      (LP: #1243578)
    . helgrind: Lock order violated in
      mir::client::ConnectionSurfaceMap::erase(int) (LP: #1243584)
    . [enhancement] Allow a Mir nested server to have a transparent
      background (LP: #1256702)
    . Compiling without tests fails (-DMIR_ENABLE_TESTS=NO) (LP: #1263724)
    . examples, doc: Make it clear and consistent how to use
      a non-root client with a root compositor endpoint.
      (LP: #1272143)
    . Avoid linking to umockdev on platforms (android) which don't yet
      use it. This allows mir_unit_tests to run on touch images again
      (LP: #1271434)
    . Workaround for N4 nested server issue. This change removes
      mir_pixel_format_bgr_888 - HAL_PIXEL_FORMAT_RGB_888 from the
      list of supported pixel formats on android. (LP: #1272041)
    . Don't ask glUniformMatrix4fv to transpose your matrix. That option
      was officially deprecated between OpenGL and OpenGL|ES. And some
      drivers like the Nexus 10 don't implement it, resulting in incorrect
      transformations and even nothing on screen! (LP: #1271853)
    . Fixes: bug 1272143 (LP: #1272143)
    . fix integration test failure on the galaxy nexus that was due to
      creating two surfaces and registering the same buffer twice. Fixes:
      (LP: #1272597)
    . Implement screen rotation in GLRenderer, for platforms
      which can't do it natively in DisplayBuffer.
      (LP: #1203215)
    . Add an "orientation" field to output structures in preparation for
      screen rotation. It's not yet functionally wired to anything.
      (LP: #1203215)
    . Only use SwitchingBundle::last_consumed after it has been
      set. Otherwise SwitchingBundle::compositor_acquire could follow a bogus
      code path. (LP:#1270964)
    . tests: Override configuration to avoid creating an (unused)
      filesystem endpoint for connections when using InProcessServer.
      (LP: #1271604)
    . frontend: ensure that BasicConnector threads don't exit
      immediately. (LP: #1271655)

[ Ubuntu daily release ]
* New rebuild forced

60. By Steve Langasek

No-change rebuild against libprotobuf8 (this time from a clean tree)

59. By Steve Langasek

No-change rebuild against libprotobuf8

58. By PS Jenkins bot

[ Daniel van Vugt ]
* Preparing for release 0.1.3

[ Ubuntu daily release ]
* Automatic snapshot from revision 1170

57. By Mathieu Trudel-Lapierre

No-change rebuild for ust.

56. By PS Jenkins bot

[ Kevin Gunn ]
* New upstream release 0.1.2
  - graphics: android: improve interface for mga::DisplayDevice so its
    just concerned with rendering and posting.
  - surfaces: rename "surfaces" component to "scene".
  - surfaces, shell: Migrate Session data model from shell to surfaces.
  - graphics: change fill_ipc_package() to use real pointers.
  - mir_client_library.h: Fix typo "do and locking" should be "do any
  - API enumerations cleanup: Remove slightly misleading *_enum_max_
    values, and replace them with more accurate plural forms.
  - test_android_communication_package: Do not expect opened fd to be >0,
    we may have closed stdin making this a valid value (LP: #1247718).
  - Update docs about running Mir on the desktop to mention new package
  - offscreen: Add a display that renders its output to offscreen buffers
  - graphics: android: fix regression for hwc1.0 devices introduced in r1228
    (LP: #1252433).
  - OffscreenPlatform provides the services that the offscreen display
    needs from the Platform.
  - graphics: android: consolidate the GLContexts classes in use.
  - Fix uninitialized variable causing random drm_auth_magic test
    failures. (LP: #1252144).
  - Add a fullyish functional Udev wrapper. This currently sits in
    graphics/gbm, but will be moved to the top-level when input device
    detection migrates.
  - Add resizing support to example code; demo-shell and clients.
  - eglapp: Clarify messages about pixel formats (LP: #1168304).
  - Adds support to the MirMotionEvent under pointer_coordinates called
    tool_type. This will allow clients to tell what type of tool is
    being used, from mouse/finger/etc. (LP: #1252498)
  - client,frontend: Report the real available surface pixel formats to
    clients. (LP: #1240833)
  - graphics: android: 1) change hwc1.1 to make use of sync fences during
    the compositor's gl renderloop. Note that we no longer wait for the
    render to complete, we pass this responsibility to the driver and the
    kernel. 2) support nexus 10. (LP: #1252173) (LP: #1203268)
  - shell: don't publish SurfacesContainer - it can be private to shell.
  - gbm: Don't mess up the VT mode on setup failure Only restore the
    previous VT mode during shutdown if it was VT_AUTO.
  - Fix a crash due to a failed eglMakeCurrent() call when in nested mode.
  - shell: unity-mir uses shell::FocusSetter - make the header public again
  - Add resize support to client surfaces (mir::client::MirSurface).
  - graphics: android: support 'old aka 2012' nexus 7 hwc (nvidia tegra3
    SoC) better. (LP: #1231917)
  - Add resize support to *ClientBuffer classes. Now always get dimensions
    from the latest buffer package.
  - android: support driver hooks for the Mali T604 (present in nexus 10)
  - Add width and height to the protocol Buffer messages, in preparation
    for resizable surfaces.
  - surfaces, shell, logging, tests: don't publish headers
    that can be private to surfaces. surfaces/basic_surface.h,
    surfaces/surface_controller.h and shell/surface_builder.h
  - examples: Restore GL framebuffer binding when destroying the render
  - examples, surfaces, shell: remove render_surfaces dependency on
  - geometry: remove implementation of streaming operators from headers
    (LP: #1247820)
  - Eliminate the registration order focus sequence, folding it's
    functionality in to the session container.
  - Ensure the session mediator releases acquired buffer resources before
    attempting to acquire a new buffer on behalf of the client. This fixes
    performance regression (LP: #1249210).
  - Some cleanups to test_client_input.cpp.
  - Factor out a bunch of "ClientConfigCommon".
  - Small cleanup to session container test to increase encapsulation.
  - shell, surfaces: Another step in "fixing" the surfaces hierarchies -
    only publish interfaces and putting the data model into surfaces.
  - graphics: android: HWC1.1 use EGL to get further information about
    the framebuffer pixel format.
  - Fix FTBS using use_debflags=ON (building for android-armhf).
    (LP: #1248014)
  - Add a client input receiver report.
  - doc: doxygen 1.8.4 complains about an obsolete config so ran "doxygen
    u Doxyfile.in".
  - Implement resize() for the server-side Surface classes.
  - android: clean up mga::DisplayBuffer and mga::DisplayBufferFactory
  - Add resize() support to BufferStream, in preparation for resizable
  - Merge metadata changes from the newly reconstructed lp:mir
  - tests: Deduplicate mg::GraphicBufferAllocator stubs.
  - examples: Remove spurious use of mir/shell/surface.h.
  - frontend: remove ClientTrackingSurface from the Surface class
  - Bumping ABI on server to libmirserver11.
  - Don't mention "Renderable". That interface hasn't existed for quite
    some time now.
  - android-input: Assign more unique touch ids

[ Ubuntu daily release ]
* Automatic snapshot from revision 1167

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.