lp://qastaging/ubuntu/trusty-proposed/mir
- Get this branch:
- bzr branch lp://qastaging/ubuntu/trusty-proposed/mir
Branch merges
Related bugs
Related blueprints
Branch information
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
"DisplayConfigur ation:: 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
MesaDisplayTest. drm_device_ change_ event_triggers_ handler.
(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 0.9.5.1-1" 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
performance!)
- 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
devices.
- Enhanced reporting of performance information:
. Report input latency in InputReport/InputReceiverRe port.
. 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::CompositionLay er type that depends on the interface mg::Renderable.
- client: Add basic MirOutputCapture class.
- client: Don't create mesa ClientBuffer objects from invalid
MirBufferPackages.
- 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
MultiThreadedCompositor.
- 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: :ConnectionSurf aceMap: :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 - 58. By PS Jenkins bot
-
[ Daniel van Vugt ]
* Preparing for release 0.1.3[ Ubuntu daily release ]
* Automatic snapshot from revision 1170 - 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
locking".
- 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
ubuntu-desktop- mir.
- 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
target
- examples, surfaces, shell: remove render_surfaces dependency on
BasicSurface
- 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
surfaces.
- 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
hierarchy
- 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:
- lp://qastaging/ubuntu/utopic/mir