mir (0.7.0+14.10.20140829~rtm-0ubuntu1) 14.09; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.7.0 (https://launchpad.net/mir/+milestone/0.7.0)
- Enhancements:
. Test suite: Reworked mechanism to override Mir client functions
. Demo shell: Detect custom rendering (decorations) to make it
compatible with overlay optimizations
. Make sure to preserve fd resources until the end of the sending
of the message
. Add test cases and script for tracking changes to the new ABIs:
libmircommon, libmirplatform
. Symbols file for libmirplatform
. Symbols file for libmircommon
. Symbols file for libmirserver
. Various improvements to the SessionMediator test
. Various build related improvements
. Print testcase output during package build
. Abort test when InProcessServer startup fails
. Link the integration and unit tests against the server objects
. Add a document detailing the useful tests to run and the useful
logs to collect when troubleshooting a new android chipset
. Enable motion event resampling and prediction for a more responsive
touch experience.
- ABI summary: Servers need rebuilding, but clients do not
. Mirclient ABI unchanged at 8
. Mircommon ABI bumped to 1
. Mirplatform ABI bumped to 2
. Mirserver ABI bumped to 25
- API changes
. Deleted function - frontend::Shell::create_surface_for(). If you have
the std::shared_ptr<frontend::Session> session, you can just do
session->create_surface(params) instead to get a SurfaceId
- Bug fixes:
. Ensure we process lifecycle events before the nested server is torn
down (LP: #1353465)
. Fix race in InputTestingServerConfiguration (LP: #1354446)
. Fix fd leaks in prompt session frontend code and tests (LP: #1353461)
. Detect the additional things the demo shell draws on the renderable
list and avoid calling the optimized post function if they are being
drawn (LP: #1348330)
. Client: Fix SIGTERM dispatch in our default lifecycle event handler
(LP: #1353867)
. DemoRenderer: Don't try to create a texture of width zero.
(LP: #1358210)
. Fix CI failures (LP: #1358698)
. Fix build failure: "variable ‘rc’ set but not used" which happens in
release mode when NDEBUG is set (LP: #1358625)
. Only enumerate exposed input surfaces to avoid delivering events to
occluded surfaces (LP: #1359264)
. Android: do not post driver cancelled buffers (LP: #1359406)
. Client: Ensure our platform library stays loaded for as long as it is
needed by other objects (LP: #1358191)
. Examples: Register the DemoCompositor with the Scene to properly
process visibility events (LP: #1359487)
. Mir_demo_client_basic: Don't assert on user errors like failing to
connect to a Mir server (LP: #1331958)
. Tests: Explicitly depend on GMock target to avoid build races
(LP: #1362646)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.6.1+14.10.20140814-0ubuntu1) utopic; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.6.1 (https://launchpad.net/mir/+milestone/0.6.1)
- Bugs fixed:
. libmircommon-dev 0.6.0+14.10.20140811-0ubuntu1 fails to
install/upgrade, does not replace mircommon-dev
0.5.1+14.10.20140728-0ubuntu1 (LP: #1348515)
. Nexus 4 client lock up observed (LP: #1352883)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.6.0+14.10.20140811-0ubuntu1) utopic; urgency=medium
[ Cemil Azizoglu ]
* New upstream release 0.6.0 (https://launchpad.net/mir/+milestone/0.6.0)
- mirclient ABI unchanged at 8. Clients do not need rebuilding.
- mirserver ABI bumped to 24. Servers need rebuilding, but probably don't
need modification:
. Host lifecycle event listener for nested servers introduced.
. Add query function to BasicSurface.
. The (deprecated) function the_ipc_factory() is now removed.
. Removed legacy support for overriding the focus controller or the
frontend shell.
. Added support for a common type for managing fd's.
. Moved testdraw library to examples directory.
. Added support for droping stale frames when a surface becomes exposed.
- Enhancements:
. Split underlying data transport out of MirSocketRpcChannel.
. Introduced two new client-side functions : mir_surface_get_focus and
mir_surface_get_visibility.
. Added symbolic names for cursors.
. Made "shared" code a true shared library.
. Provide linker scripts to control symbols exported by [mesa|android]
libmirclientplatform.
. Correct xcursor loader test to fail properly instead of segfaulting.
. Make mir::Fd type copy constructible.
. Miscellaneous packaging related enhancements.
. Miscellaneous build related enhancements.
. Added automated test cases for detecting ABI breakage.
. examples/fingerpaint: Enable frame dropping so it's faster and more
responsive.
. mirprotobuf folded into new libmircommon.
. Don't propagate exceptions to graphics driver code.
. Dropped unused/minimally used dependencies : boost-filesystem,
boost-thread, boost-chrono, boost-regex.
. platform: provide support for customizing Mir's behavior when a
fatal_error occurs.
. Expose an interface for touch visualization.
- Bugs fixed:
. Mir servers crash with SIGABRT - assertion failed at
buffer_queue.cpp:136 - "!pending_client_notifications.empty()"
(LP: #1335481)
. [regression][hammerhead] Mir fails to start on Nexus 5 & 10 as it
fails to turn vsync signal on (LP: #1345533)
. [qtcomp] Random crash in Mir input when running AP tests: [terminate
called after throwing an instance of '...' what(): assign: File exists]
when constructing a mir::AsioMainLoop::FDHandler (LP: #1346952)
. CI builds fail when trying to install libmircommon-dev (LP: #1348518)
. [regression] Mir 0.6 GL clients crash immediately on startup (Mesa is
trying to use X11 instead of Mir) (LP: #1350163)
. qmlscene crashed with SIGSEGV in _M_release() on quit (LP: #1342694)
. Clients cannot create surfaces when the screen is off (LP: #1344024)
. The packaging of headers and libraries is confused (LP: #1347522)
. [regression] Intermittent CI failure in
ClientLibrary.receives_surface_dpi_value (LP: #1348095)
. Installing mir-demos also unexpectedly installs *-dev packages
(LP: #1297100)
. mir_unit_tests: XCursorLoader.loads_cursors_from_testing_theme crashes
on N4 (LP: #1342029)
. [performance] Mir is spending at least 8% of its time in
__android_log_print() (LP: #1343074)
. [performance] Mir demo shell spends ~12% of its time in vector
allocation under DemoRenderer::tessellate_*() (LP: #1349698)
. mir_client_library_debug.h functions do not have C linkage
(LP: #1349742)
. mir client API is missing getters for some surface attributes
(LP: #1336553)
. Building Mir outputs lots of warnings about Android logging functions
in 3rd_party/ (LP: #1348467)
. The "shared" code should be a shared library (LP: #1341502)
. Finish the removal of mirprotobuf library (LP: #1351133)
. Release overlay buffers when screen is turned off (LP: #1350961)
. mir_demo_server_shell --disable-overlays false renders incorrectly
on android (partial fix for LP: #1348330)
. Remember to honor MIR_ENABLE_TESTS and not emit tests if it's disabled
(LP: #1352800)
. Make it easier to separate command line options used by Mir from those
used elsewhere (LP: #1351255)
. Expose create_native_platform in libmirplatformgraphics.so
(LP: #1353658)
. Add versioning and pkg config to libmirplatform (LP: #1293944)
. unity-system-compositor FTBFS against Mir: undefined reference to
`...@MIR_CLIENT_8' (LP: #1355021)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.5.1+14.10.20140728-0ubuntu1) utopic; urgency=medium
[ Kevin Gunn ]
* Fixed: Crash due to racing input registration & surface removal
(LP: #1346952)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.5.0+14.10.20140724-0ubuntu1) utopic; urgency=medium
[ Kevin Gunn ]
* Fixed: Crashing on assert of empty client notification queue (LP: #1335481)
mir (0.5.0+14.10.20140722-0ubuntu1) utopic; urgency=medium
[ Kevin Gunn ]
* Fixed: [regression] Mir fails to start on Nexus 5 / Nexus 10 (LP: #1345533)
mir (0.5.0+14.10.20140717-0ubuntu1) utopic; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.5.0 (https://launchpad.net/mir/+milestone/0.5.0)
- mirclient ABI unchanged at 8. Clients do not need rebuilding.
- mirserver ABI bumped to 23. Servers need rebuilding, but probably don't
need modification:
. DefaultServerConfiguration/Cursor API: Cursor interfaces changed, most
notably CursorImages moved from ::mir::graphics to ::mir::input.
. DefaultServerConfiguration: New "prompt" API.
. DefaultServerConfiguration: "clock" member is now static.
. SessionAuthorizer: New functions.
. ServerConfiguration: New function added: the_prompt_connector().
- Enhancements:
. Add AddressSanitizer cmake build type.
. frontend, client API, tests: add support for prompt session
permissions and for client detecting errors.
. server: Ensure our emergency cleanup handling infrastructure is
signal-safe.
. Implement and enable an xcursor based image loader for cursors.
. Fix warnings raised by the new g++-4.9.
. shared, scene: Introduce a generic listener collection.
. MirMotionEvent: Define a struct typedef to allow for
pointer_coordinates to be used individually.
- Bugs fixed:
. Nexus 10 leaks during overlay operations (LP: #1331769)
. MultiThreadedCompositor deadlocks (LP: #1335311)
. Intermittent test failure in ClientSurfaceEvents can client query
orientation (LP: #1335741)
. Intermittent test failure in ClientSurfaceEvents/OrientationEvents
(LP: #1335752)
. Intermittent memory error in ClientSurfaceEvents on
orientation query (LP: #1335819)
. mir_unit_tests.EventDistributorTest.* SEGFAULT (LP: #1338902)
. [regression] Device locks randomly on welcome screen (LP: #1339700)
. Intermittent deadlock when switching to session with custom display
config & closing other session (LP: #1340669)
. Mir cursor has no hotspot setting, assumes (0, 0) (LP: #1189775)
. clang built mir_unit_tests.ProtobufSocketCommunicatorFD crashes
intermittently (LP: #1300653)
. g++-4.9 binary incompatibilities with libraries built with g++-4.8
(LP: #1329089)
. [test regression] SurfaceLoop fails sporadically on deleting surfaces
for a disconnecting client (LP: #1335747)
. Intermittent test failure ServerShutdown when clients are blocked
(LP: #1335873)
. [regression] mir_demo_client_multiwin is displayed with obviously
wrong colours (LP: #1339471)
. Partially onscreen surfaces not occluded when covered by another
surface (LP: #1340078)
. SurfaceConfigurator::attribute_set always say "unfocused" for focus
property changes (LP: #1336548)
mir (0.4.1+14.10.20140714-0ubuntu1) utopic; urgency=medium
[ Daniel van Vugt ]
* Bug fix release 0.4.1 (https://launchpad.net/mir/+milestone/0.4.1) fixes:
- [regression] Device locks randomly on welcome screen (LP: #1339700)
mir (0.4.0+14.10.20140701.1-0ubuntu1) utopic; urgency=medium
* New upstream release 0.4.0 (https://launchpad.net/mir/+milestone/0.4.0)
- mirclient ABI bumped to 8. Clients need rebuilding.
. Add surface attribute for visibility.
. Add surface orientation API.
- mirserver ABI bumped to 22. Shells need rebuilding.
. Change compositor::Scene to expose compositor::SceneElements instead
of graphics::Renderables.
. Change various input and Surface classes to support the client cursor
API.
. Support unregistering fd handlers in the EventHandlerRegister and
related interfaces (MainLoop).
. server: Change mc::Scene to deal in mc::SceneElements instead of
mg::Renderables.
. Add visibility tracking to mc::SceneElement interface and
implementations.
. Move InputChannelFactory into DefaultServerConfiguration.
- Unregister FD Handler from EventHandlerRegister.
- Sending user input events through Surfaces.
- Allow setting the orientation of a server surface.
- Enable client cursor API.
- Enable support for USB touchscreens.
- Various test improvements.
- Bugs fixed:
. can't display toolbar after dismissing it (LP: #1332632)
. [regression] demo client connection crashes the server (LP: #1334010)
. demo server locks up in certain scenarios with --disable-overlays
false when starting/stopping second clients (LP: #1329868)
. MultiThreadedCompositor deadlocks (LP: #1335311)
. Intermittent memory error in
ClientSurfaceEvents.client_can_query_current_orientation (LP: #1335819)
. Intermittent hang & fail in mir_acceptance_tests.TestClientCursorAPI.*
(LP: #1332011)
. MirClientSurfaceTests tests leak fds and eventually hang when ran
repeatedly (LP: #1333673)
. [testfail] Intermittent "Invalid read" in MirSurfaceSwapBuffersTest.
swap_buffers_does_not_block_when_surface_is_not_composited
(LP: #1334287)
. android: support alpha blending during hwc overlay (LP: #1329879)
mir (0.3.0+14.10.20140618.1-0ubuntu1) utopic; urgency=medium
[ Cemil Azizoglu ]
* New upstream release 0.3.0 (https://launchpad.net/mir/+milestone/0.3.0)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 21. Shells need rebuilding.
. Divide swap_client_buffers into separate functions.
. Allow buffer swapping even when compositor is turned off or blocked.
(LP: #1308843, 1308844)
. Wire the cursor client API through the session mediator to the surface
observer.
. Generate destination alpha for alpha enabled display buffers.
. Named threads.
. Support for prompt sessions :
https://wiki.ubuntu.com/Security/TrustStoreAndSessions.
- mirscreencast screenshots now produce images with correct color instead
of transparency.
- Rename bind_to_texture->gl_bind_to_texture.
- Refinements in test infrastructure.
- Phablet: allow disabling the overlays via a command line switch.
- Unify the DisplayBuffer interface's optimization functions
behind post_renderables_if_optimizable.
- Clean up the DisplayDevice interface so that it doesn't require the
functions are called in any particular order.
- Phablet: graphics: android: preserve buffer ownership for onscreen
overlay layers until the subsequent display posting.
- Allow the platform to register emergency cleanup handlers in order to
restore the graphics system to a sane state when the server fails
abruptly.
- Bugs fixed:
. Mirscreencast outputs translucency instead of shadows, producing
incorrect images. (LP: #1301210)
. JSON formatting. (LP: #1324902)
. Fix input_area_contains to work properly in global coordinates even
when input_rectangles is updated. (LP: #1261647)
. Allow a moment for clients to acquire a buffer. (LP: #1317370)
. Generate correct alpha by changing blending equation to assume
pre-multiplied alpha sources. (LP: #1318852)
. Rework the recomposition messaging so that the DisplayBufferCompositor
is no longer involved. (LP: #1319907)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.2.0+14.10.20140605-0ubuntu1) utopic; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.2.0 (https://launchpad.net/mir/+milestone/0.2.0)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 20. Shells need rebuilding.
. Cursor::set_image() parameters changed.
. Display::the_cursor() renamed to Display::create_hardware_cursor()
. Platform::create_display() requires a new parameter; gl_program_factory
. Renderable::buffer() no longer accepts any parameter at all. Multi-
monitor frame sync is guaranteed in other ways now.
. Scene::generate_renderable_list() renamed to renderable_list_for(id)
where id is an opaque compositor ID of your choosing.
. Scene::set_change_callback() replaced by the more generic:
add_observer() and remove_observer() functions.
. Added default implementation for SceneObserver.
. SessionCreator renamed to ConnectionCreator.
. ConnectedSessions renamed to Connections.
. ProtobufSessionCreator renamed to ProtobufConnectionCreator.
. SessionAuthorizer: pid_t parameters replaced by SessionCredentials.
. Massive architectural changes to Input-everything.
. Surface no longer implements Renderable, but emits one via
compositor_snapshot().
. Pass the full renderable list to Renderer::render().
. Graceful handling of exceptions thrown from server threads.
. Clarify size position interfaces in the Surface classes.
. Plumbing for trusted sessions.
. Allow posting and managing custom main-loop actions.
. Timer extension.
. Identify client process when client connects to Mir not when socket
connects.
. Use the ServerActionQueue for display config.
. Recomposition signal moved to the MultiThreadedCompositor.
. Make timer service replaceable.
. Clarify assumptions about how many buffers a client can fill without
blocking.
. Introduce EmergencyCleanup interface.
- Demo shell enhancements:
. You can now change graphics modes on the fly using Ctrl+Alt+(-/=).
To reset to the preferred mode use Ctrl+Alt+0.
. The above mode changing as well as existing screen rotation keys
(Ctrl+Alt+arrows) are now per-display; only applied to the monitor
the mouse pointer is on.
. New shell controls documented.
- A new testing category, performance test, was introduced. It currently
runs glmark2-es2 and compares the result to a minimum threshold.
- MIR_VERSION_MINOR is tied to MIRSERVER_ABI in the sense that a change
in the former now requires dependent projects that a rebuild is
necessary.
- SwitchingBundle was replaced by BufferQueue.
- Expand credentials to include uid/gid for session authorizer.
- Bypass control is now Mesa-specific and tied to the command line options.
So the environment variable MIR_BYPASS has changed to MIR_SERVER_BYPASS.
- Ongoing architectural changes in the compositor/renderer logic to
prepare for overlay support, and to reduce locking overhead.
- Made InputDispatcher replaceable.
- Progress made on new cursor interfaces with the end goal of client and
toolkit control of the mouse cursor appearance. More work required.
- Updated cross-compile docs and scripts to support the latest utopic
devel images.
- Replaced uses of android::sp with std::shared_ptr.
- Client cursor API infrastructure.
- Enabled eglSwapInternal(0).
- Make texture caching algorithm reuseable.
- Add a DPI surface attribute.
- Exclude arm64 from build.
- Bugs fixed:
. Mir doesn't install cleanly if docs are not built. (LP: #1304271)
. Unity-system-compositor crashed [what(): Failed to set DRM crtc].
(LP: #1294510)
. [regression] unity8 fails to load libmirplatformgraphics
(undefined symbol: _ZN3mir8graphics9GLProgramD1Ev). (LP: #1317200)
. [regression] unity8 rendering artifacts. (LP: #1317260)
. [regression] [BufferQueue]
BufferQueueTest.compositor_never_owns_client_buffers occasionally
crashes with: what(): unexpected release: buffer was not given to
compositor. (LP: #1317801)
. Hardcoded size for serialization buffers is neither reliable nor
secure. (LP: #1320187)
. [regression] [BufferQueue] mir does not composite last client given
buffer. (LP: #1321861)
. [regression] stale frame on seen on greeter when screen is unblanked
and toolkit/apps are laggy/throttled. (LP: #1321886)
. [regression] [BufferQueue] current_buffer_users vector memory usage
grows unbounded. (LP: #1317808)
. Intermittent test failures in
CustomInputDispatcherFixture.custom_input_dispatcher_receives_input.
(LP: #1318587)
. [regression] [BufferQueue] Race condition in
BufferQueue::compositor_acquire could underflow shared_ptr refcount and
delete prematurely, crash. (LP: #1318632)
. Overflow in
mir::client::rpc::MirSocketRpcChannel::receive_file_descriptors as
reported by address sanitizer. (LP: #1320821)
. [regression] [input] Scroll events are now always zero:
event.motion.pointer_coordinates[0].vscroll. (LP: #1321077)
. CI failures in CustomInputDispatcherFixture
.custom_input_dispatcher_gets_started_and_stopped. (LP: #1321215)
. [regression] Mir cursor vanishes after switching VTs. (LP: #1323225)
. Server library links against libmirserverlttng. (LP: #1323317)
. [DRM/GBM] Killing (or crashing) Mir often leaves the screen blank and
difficult to recover. (LP: #1189770)
. Frame rates of GL clients are limited to 60Hz on Android, even with
swapinterval=0. (LP: #1206400)
. mir_surface_is_valid(NULL) crashes instead of returning false.
(LP: #1248474)
. [regression] tests/unit-tests/shell/test_mediating_display_changer.cpp
is not compiled and executed. (LP: #1312832)
. Android platform does not reset the compositionType to HWC_FRAMEBUFFER
before prepare() on every frame. (LP: #1314399)
. The client process is identified when the socket connects, not when the
client connects to Mir. (LP: #1314574)
. [regression] Clients can't acquire multiple buffers any more.
(LP: #1315302)
. [regression] Enabling SwitchingBundleTest
DISABLED_synchronous_clients_only_get_two_real_buffers now crashes with
no usable stack trace. It used to only fail. (LP: #1315312)
. [regression] [BufferQueue] double-buffered client freezes as no buffer
is returned on compositor_release. (LP: #1319765)
. Uninitialized mem in OutputBuilder.hwc_version_11_success.
(LP: #1312867)
. [enhancement] In the tests make it possible to get a
DefaultConfiguration initialized from the command line (LP: #1316987)
. ci train blocked due to missing arm64 libandroid-properties-dev.
(LP: #1323504)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.1.9+14.10.20140430.1-0ubuntu1) utopic; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.1.9 (https://launchpad.net/mir/+milestone/0.1.9)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 19. Shells need rebuilding.
- More libmirserver class changes and reorganization, including;
. Moving things from shell:: to scene::
. Rewriting/refactoring surface factories.
- Added an id() to Renderable.
- Scene/Renderer interfaces:
. Scene is no longer responsible for its own iteration (no for_each
any more). Instead you should iterate over the list returned by
Scene::generate_renderable_list().
- Bugs fixed:
. Stale socket issue. (LP: #1285215)
. Qt render gets blocked on EGLSwapBuffers. (LP: #1292306)
. Lock order violated found in helgrind (potential deadlock).
(LP: #1296544)
. [regression] SwitchingBundle in framedropping mode can hang.
(LP: #1306464)
. [DPMS] Display backlight turns back on almost immediately after
being turned off. (LP: #1231857)
. Wrong frame is seen on wake up/resume/unlock. (LP: #1233564)
. Nested platform is not testable (LP: #1299101)
. [regression] mir_demo_server_shell crashes on display resume.
(LP: #1308941)
. Multi-threaded composition is actually mostly serialized by
SurfaceStack::guard. (LP: #1234018)
. Mirscreencast slows down compositing and makes it very jerky.
(LP: #1280938)
. Mirscreencast can cause clients to render faster than the screen
refresh rate. (LP: #1294361)
. Screen turns on when a new session/surface appears. (LP: #1297876)
. mir-doc package is >56MB in size, expands to >100MB of files.
(LP: #1304998)
. [regression] Clang: 'mir::test::doubles::MockSurface::visible'
hides overloaded virtual function [-Woverloaded-virtual].
(LP: #1301135)
. [regression] GLRenderer* unit tests have recently become noisy.
(LP: #1308905)
. FocusController::set_focus_to() no longer seems to raise a session
to the top. (LP: #1302689)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.1.8+14.04.20140411-0ubuntu1) trusty; urgency=medium
[ Daniel van Vugt ]
* New upstream release 0.1.8 (https://launchpad.net/mir/+milestone/0.1.8)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 18. Shells need rebuilding.
- Server API changes affecting shells:
. GLRenderer::tessellate() changed syntax.
. graphics::Platform::create_display() has a new parameter allowing you
to customize the compositor's (E)GL configutation.
. Renderable::buffer(unsigned long frameno) is now:
Renderable::buffer(void const* user_id). See below.
. Renderable::should_be_rendered_in() is replaced by a more natural:
Renderable::visble()
. input::Surface::name() returns by value instead of reference now,
to ensure future thread safety.
- Switched EventHub device enumeration and hotplug to Udev. NOTE! This
means mir_test_* can't run natively on touch devices any more without
some setup first:
sudo mount -o remount,rw /
sudo apt-get update
sudo apt-get install -y umockdev
umockdev-run -- bin/mir_unit_tests
- Added logging for HWC events.
- Continued consolidation of Surface classes toward a simpler architecture.
- Introduced "RenderableList" as the way to sample the Scene contents,
and started using that in the default compositor.
- Introduced physical length units and conversion (geometry::Length) in
preparation for arbitrary DPI rendering.
- Added some decorations to demo-shell; shadows and basic title bars, all
anti-aliased and high-DPI scalable.
- Multi-monitor frame sync has been redesigned to eliminate the need for
frame number tracking.
- Bugs (and enhancements) resolved:
. [enhancement] Please move input detection to libudev (LP: #1237784)
. [enhancement] Add a clamping resize mode to GLRenderer (LP: #1259887)
. [regression] Intermittent loss of multimonitor frame sync
(LP: #1290306)
. [enhancement] Make GL config options configurable (LP: #1290780)
. memcheck-test doesn't test anything when DISABLED_GTEST_DISCOVERY is
enabled (LP: #1291876)
. "Error opening DRM device" is always followed by "Unknown error -(some
negative number)" (LP: #1292384)
. Rendering/composition gets stopped early (LP: #1293896)
. Ubuntu Touch Settings and terminal apps are not rendering correctly on
rotate. (LP: #1294048)
. [regression] Apps are much slower to open (LP: #1294051)
. Settings app opens to a blank screen unless given enough time to render
or the app is touched (LP: #1294053)
. TestClientInput/DemoPrivateProtobuf memory leak is causing regular CI
test failures (LP: #1295231)
. OSK touch events "fall through" and hit surface behind them
(LP: #1297878)
. [enhancement] add a test for composite of last client post
(LP: #1298596)
. [regression] Surfaces vanish as soon as their edges touch the edge of
screen (LP: #1301115)
* Cherry-picked from future release 0.1.9:
- Bug fix: mirplatformgraphics does not have boost program options in its
symbol table (LP: #1301040)
- Bug fix: unity8 crashed with SIGSEGV in glDeleteTextures() from
mir::scene::GLPixelBuffer::~GLPixelBuffer() from
mir::scene::ThreadedSnapshotStrategy::~ThreadedSnapshotStrategy()
(LP: #1256360)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.1.7+14.04.20140318-0ubuntu1) trusty; urgency=low
[ 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)
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 used as default
(LP: #1262091)
[ Ubuntu daily release ]
* New rebuild forced
mir (0.1.6+14.04.20140310-0ubuntu1) trusty; urgency=medium
[ 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
mir (0.1.5+14.04.20140212-0ubuntu1) trusty; urgency=medium
[ 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)
mir (0.1.4+14.04.20140204-0ubuntu1) trusty; urgency=medium
[ 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/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
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::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
mir (0.1.3+14.04.20140108-0ubuntu3) trusty; urgency=medium
* No-change rebuild against libprotobuf8 (this time from a clean tree)
mir (0.1.3+14.04.20140108-0ubuntu2) trusty; urgency=medium
* No-change rebuild against libprotobuf8
mir (0.1.3+14.04.20140108-0ubuntu1) trusty; urgency=low
[ Daniel van Vugt ]
* Preparing for release 0.1.3
[ Ubuntu daily release ]
* Automatic snapshot from revision 1170
mir (0.1.2+14.04.20131128.1-0ubuntu2) trusty; urgency=low
* No-change rebuild for ust.
mir (0.1.2+14.04.20131128.1-0ubuntu1) trusty; urgency=low
[ 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
mir (0.1.1+14.04.20131120-0ubuntu1) trusty; urgency=low
[ Daniel van Vugt ]
* New upstream release 0.1.1
- Add unit tests for V/H scroll events.
- surfaces: avoid publishing some internal headers, tidy up default
configuration, integrate surfaces report.
- client: Add mir_connection_drm_set_gbm_device()
- graphics: avoid publishing some internal headers.
- Fixed: unity-system-compositor FTBFS on trusty against new Mir
(libmirserver9) (LP: #1244192)
- compositor: avoid publishing some internal headers.
- shell: Add set_lifecycle_state() to the Session interface.
- frontend: avoid publishing some internal headers
- logging: avoid publishing some internal headers.
- Allow specifying the nested server name by passing --name= or setting
MIR_SERVER_NAME=.
- graphics,gbm: Inform the EGL platform about the used gbm device when
using the native GBM platform
- examples: Restore GL state after initializing buffers, fixing crashes
observed in render_surfaces (LP: #1234563)
- Continue refactoring the mir android display classes.
- shell: Hoist focus control functions needed by unity-mir into
FocusController interface
- client: Remove the timeout for detecting server crashes
- Avoid a race condition that could lead to spurious failures of server
shutdown tests (LP: #1245336)
- test_client_input.cpp: Bump reception time-out in client test fixture.
(LP: #1227683)
- Ensure StubBufferAllocator returns buffers with the properties requested,
and not the same old hardcoded constants.
- Update docs and scripting for trusty.
- compositor: Make DefaultDisplayBufferCompositorFactory private to the
compositor component.
- Ignore warnings clang treats as errors, about unused functions being
generated from macros in <lttng/tracepoint.h> (LP: #1246590)
- Add resize() support to BufferBundle. This is the first step and lowest
level of surface resize support.
- Clean up constants relating to SwitchingBundle.
- Fix the armhf chroot setup script to point to the right library, so
cross compiling can work again (LP: #1246975)
- shell: avoid publishing some internal headers.
- input: avoid publishing some internal headers.
* Bump timeouts used in socket testing. It seems 100ms isn't always
enough, which leads to spurious test failures (LP: #1252144) (LP:
#1252144)
* Fix uninitialized variable causing random drm_auth_magic test
failures. (LP: #1252144). (LP: #1252144)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1165
mir (0.1.0+14.04.20131030-0ubuntu1) trusty; urgency=low
[ Ubuntu daily release ]
* New rebuild forced
[ Alan Griffiths ]
* client: Remove the timeout for detecting server crashes There are
valid cases when the server blocks for an indeterminate amount of
time during a client request, like when a next_buffer request blocks
because a surface is not visible or the server is paused. In such
cases, the timeout mechanism we used to detect server crashes caused
the clients to fail. Furthermore, the clients seem able to detect
server crashes without the timeout, rendering it needless anyway.
(LP: #1245958)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1161
mir (0.1.0+14.04.20131028-0ubuntu1) trusty; urgency=low
[ Daniel van Vugt ]
* Bump version 0.1.0
* Add method for testing if Rectangle::contains(Rectangle), which is
the basis of any occlusion detection. (LP: #1227739)
* Add support for traversing the Scene from front surface to back.
This is required for occlusion detection at least (coming soon). .
(LP: #1227739)
* Optimization: Turn off blending for surfaces that are not blendable.
On some systems this can have a noticeable performance benefit.
* Avoid rendering surfaces that are fully hidden by other surfaces.
This is particularly important for mobile device performance. (LP:
#1227739) . (LP: #1227739)
* Remove orphaned tags, which appear to have come from the Compiz
project (!?) Add tags for the most recent releases up to 0.0.16. No
files changed, only tags.
* Fix significant performance issues LP: #1241369 / LP: #1241371, and
probably more(!) Added regression test to catch such regressions and
revert the offending commit r1049. (LP: #1241369, #1241371)
[ Brandon Schaefer ]
* When Scroll events come in we don't keep around the android vscroll
hscroll data. Store it now. (LP: #1233089)
[ Albert Astals ]
* Fix mismatched free() / delete / delete [] reported by valgrind
[ Alexandros Frantzis ]
* server: Extend server status (formerly pause/resume) listener to
report "started" events This change is needed by users of
libmirserver, so they can properly synchronize external interactions
with the server. (LP: #1239876)
* graphics,examples: Don't enable more outputs than supported when
changing the display configuration. (LP: #1217877)
* client: Allow clients to call API functions after a connection break
has been detected When a client tries to call an API function after
a connection break has been detected in a previous API call, the
client blocks in the new call. This happens because in
MirSocketRpcChannel::notify_disconnected() the pending RPC calls are
not forced to complete, since the channel has already been marked as
'disconnected' by the failure in the previous call. Note that if the
break is first detected while calling an API function, then that
call doesn't block, since this is the first time we call
MirSocketRpcChannel::notify_disconnected() and the pending RPC calls
are forced to complete. This commit solves this problem by always
forcing requests to complete when a communication failure occurs,
even if a disconnection has already been handled. This is preferred
over the alternative of manually calling the completion callback in
a try-catch block when calling an RPC method because of: 1.
Correctness: In case the communication problem first occurs in that
call, the callback will be called twice, once by
notify_disconnected() and once manually. 2. Consistency: The
callback is called from one place regardless of whether the
communication problem is first detected during that call or not.
(LP: #1201436)
* graphics: Improve signature of native platform initialization method
Use an interface to provide the functionality needed by native
platforms.
[ Eleni Maria Stea ]
* Test GBMBufferAllocatorTest.bypass_disables_via_environment
overrides the MIR_BYPASS env variable, causing other tests that use
the MIR_BYPASS to fail when we run the unit-tests with --
gtest_repeat=N, N>1. Set back the MIR_BYPASS env. var. (LP:
#1238000)
[ Kevin DuBois ]
* fix: lp 1239577 TestClientIPCRender (an android-only gfx driver
test) was hanging due to changes in signal handling. refactor the
test, changing the cross-process sync mechanism so it doesn't use
sigcont. (LP: #1239577)
* graphics: android: eliminate one of the two DisplayBuffers. both
hwc/gpu displays use the same displaybuffer now. .
[ Daniel d'Andrada ]
* Add InputReader performance test.
[ Alan Griffiths ]
* logging: correct component tag in connector report.
* client: fix hang(s) in client API when server dies. (LP: #1227743)
* Fix failing acceptance-test:
ServerShutdown/OnSignal.removes_endpoint_on_signal (LP: #1237710)
Avoid fatal_signal_cleanup getting caught in a loop restoring itself
and then re-entering itself. This could happen in some permutations
of acceptance-tests where run_mir is entered with
fatal_signal_cleanup already set up from previous tests' server
instances. (LP: #1237710)
* CMake: remove creation of link to non-existent file.
* shared: some utility functions to provide some consistent ways to
use RAII and application of these functions to some code that has
had RAII related discussions recently.
* config: separate out the configuration options from the
configuration builder.
* config: ensure USC can access
DefaultConfigurationOptions::parse_options (LP: #1244192) (LP:
#1244192)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1161
mir (0.0.15+13.10.20131014-0ubuntu2) trusty; urgency=low
* No change rebuild for Boost 1.54 transition.
mir (0.0.15+13.10.20131014-0ubuntu1) saucy; urgency=low
[ Kevin Gunn ]
* bump version 0.0.15
[ Ubuntu daily release ]
* Automatic snapshot from revision 1133
mir (0.0.14+13.10.20131011-0ubuntu1) saucy; urgency=low
[ thomas-voss ]
* Clean up duplicate instances of the valid connections set. Remove
the static instances from the header file. (LP: #1238312) Requested
to be merged directly to lp:mir by didrocks, tvoss. (LP: #1238312)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1097
mir (0.0.14+13.10.20131010-0ubuntu1) saucy; urgency=low
[ Colin Watson ]
* Don't build-depend on valgrind on arm64 for now, as it is not yet
ported there.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1095
mir (0.0.14+13.10.20131009.4-0ubuntu1) saucy; urgency=low
[Kevin Gunn]
* bump version to 0.0.14
[ Robert Carr ]
* Hold ms::Surface alive from msh::Surface, and remove the explicit
throw calls. This way holding a shared_ptr to msh::Surface becomes
safe (as long as you drop it eventually!). (LP: #1234609). (LP:
#1234609)
[ Alan Griffiths ]
* client: use lock_guard as it is simpler than unique_lock. (fix for
mallit) frontend: Remove the endpoint first when shutting down.
Fixes bug lp#1235159. (LP: #1235159)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1093
mir (0.0.13+13.10.20131003-0ubuntu1) saucy; urgency=low
[ Kevin Gunn ]
* bump version to 0.0.13
[ Daniel d'Andrada ]
* Fix for LP#1233944 Fixes the Mir-side of bug
https://bugs.launchpad.net/mir/+bug/1233944 Event files are first
created with root:root permissions and only later udev rules are
applied to it, changing its permissions to root:android-input and
therefore making it readable by unity8-mir in short: Retry opening a
file when its permissions change as it might be readable now. (LP:
#1233944)
[ Robert Carr ]
* Fix for LP#1233944 Fixes the Mir-side of bug
https://bugs.launchpad.net/mir/+bug/1233944 Event files are first
created with root:root permissions and only later udev rules are
applied to it, changing its permissions to root:android-input and
therefore making it readable by unity8-mir in short: Retry opening a
file when its permissions change as it might be readable now. (LP:
#1233944)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1089
mir (0.0.12+13.10.20131001.1-0ubuntu1) saucy; urgency=low
[ Michael Terry ]
* merge latest dev branch.
[ Kevin DuBois ]
* merge latest dev branch.
[ Daniel d'Andrada ]
* merge latest dev branch.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1086
mir (0.0.12+13.10.20130926.1-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Bump version to 0.0.12
[ Alexandros Frantzis ]
* tests: Fix compiler warning about maybe-uninitialized struct member
[ Ubuntu daily release ]
* Automatic snapshot from revision 1084
mir (0.0.11+13.10.20130924.1-0ubuntu1) saucy; urgency=low
[ kg ]
* bump version for ABI break (LP: #1229212)
[ Robert Ancell ]
* Allow an application to override the options being populated.
* Pass the program options to parse_options().
* Add missing include for std::cerr.
* Report when paused and resumed via configuration. (LP: #1192843)
* Add missing directory separator when searching for a config file to
parse.
[ Kevin Gunn ]
* change test timeouts and fix fence.
[ Alexandros Frantzis ]
* examples: Only check key information for key events This fixes a
memory error reported by valgrind for examples that use eglapp.
* shell: Apply the base configuration on a hardware change only if no
per-session configuration is active.
* graphics: consolidated fixed for nested code and examples on android
stack.
[ Eleni Maria Stea ]
* graphics: Pull in Eleni's changes to get the DRM fd to init GBM from
the host Mir instance.
[ Didier Roche ]
* remove (unused in the ppa as we have libmirserver3) hack to force
depending and building against the exact same version.
[ Robert Carr ]
* Add DPMS configuration API. (LP: #1193222)
* Deduplicate mtd::NullDisplayConfig and
mtd::NullDisplayConfiguration.
* Fix multiple internal client surfaces on android. (LP: #1228144)
* change test timeouts and fix fence.
* Add DPMS API and GBM/android impls.
[ Kevin DuBois ]
* platform, graphics: support nested (mir-on-mir) rendering on the
Android platform.
[ Michael Terry ]
* Change how Mir chooses socket locations to make it simpler for a
nested-Mir world, by using MIR_SOCKET as the host socket if no other
host socket is provided and passing MIR_SOCKET on to any children.
Also, change --nested-mode to --host-socket for clarity and add --
standalone to force standalone mode.
[ Daniel d'Andrada ]
* android-input housekeeping - Updated README - Removed some dead
code.
[ Daniel van Vugt ]
* Add DPMS configuration API. (LP: #1193222)
* Add a "flags" field to MirBufferPackage so that clients can find out
if the buffer they've been given is scanout-capable. This is
normally something a client should never need to know. However there
are two specialized cases where it's required to fix bugs in the
intel and radeon X drivers: LP: #1218735, LP: #1218815 The intel
fix (already landed) contains a hack which will be updated after
this branch lands. (LP: #1218815, #1218735)
* GBM: Ensure that we don't create scanout buffers if bypass is
explicitly disabled from the environment. (LP: #1227133) . (LP:
#1227133)
[ Alan Griffiths ]
* graphics: Pull in Eleni's changes to get the DRM fd to init GBM from
the host Mir instance.
* input: Separate the code for dispatching input from that reading it.
* graphics: Hook up nested surfaces events to input.
* input: Connect nested input relay to input dispatch.
* graphics: Simplify NativeAndroidPlatform out of existence.
* tests: Fixes to get the tests "passing" on android/arm stack. (LP:
#1226284)
* graphics: consolidated fixed for nested code and examples on android
stack.
* examples: add command-line options to examples so the Mir server
connection can be selected.
* change test timeouts and fix fence.
* client: Add client side support for connecting via an existing FD.
[ Łukasz 'sil2100' Zemczak ]
* Revert revision 1054 ABI-change (the libmirclient3 one), which seems
to cause a lot of problems.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1081
mir (0.0.10+13.10.20130904-0ubuntu1) saucy; urgency=low
[ Kevin DuBois ]
* fix lp:1220441 (a test for android display ID was not updated). (LP:
#1220441)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1051
mir (0.0.10+13.10.20130903-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* SwitchingBundle: Simplify and clarify guarantees that
compositor_acquire always has a buffer to return without blocking or
throwing an exception. The trade-off is that to enforce the
guarantee we need to permanently reserve one buffer for compositing.
This reduces the flexibility of SwitchingBundle a little, such that
minimum nbuffers is now 2. This was originally requested by
Alexandros, as the potential throw concerned him. Although, it was
logically guaranteed to never happen for other reasons. The second
reason for doing this is to eliminate recycling logic, which while
safe and correct, was quite confusing. So this change further proves
that that logic (now removed) is not to blame for frame ordering
bugs. .
[ Christopher James Halse Rogers ]
* Synthesise an unfocused event on destruction of a focused window We
probably need to rethink focus entirely, but this is an incremental
improvement that I need.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1049
mir (0.0.10+13.10.20130902-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* graphics: tidy up the roles and responsibilities of nested classes.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1046
mir (0.0.10+13.10.20130830.1-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* config, input: make nested::HostConnection available in
input::NestedInput.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1044
mir (0.0.10+13.10.20130830-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Dramatically improved multi-monitor frame synchronization, using a
global frame count equivalent to the highest refresh rate of all
monitors. This is much more reliable than the old logic which was
based on timers. This fixes LP: #1210478. (LP: #1210478)
* Remove dead code: surfaces::Surface::compositor_buffer() It's
unused. Though I suspect in future we might or should go back to
using it instead of accessing the buffer stream directly (r856). .
[ Alan Griffiths ]
* graphcs, config: make the nested HostConnection available in
configuration.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1042
mir (0.0.10+13.10.20130829.2-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* eglapp: Add a new option -oN to force the surface placement onto
output N. Unfortunately we haven't yet written any tool to tell you
what your output IDs are.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1038
mir (0.0.10+13.10.20130829.1-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* config, input: default_android_input_configuration.cpp should only
use public headers.
* config, input: Stubbed version of input for nested mir.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1036
mir (0.0.10+13.10.20130829-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Add "composition bypass" support, whereby fullscreen surfaces are
allowed to go straight to the display hardware without being
composited at all, hence avoiding the overhead of any OpenGL or
texturing where possible. Hardware support: intel: Excellent radeon:
Good, but REQUIRES kernel 3.11.0 nouveau: Good, but REQUIRES kernel
3.11.0 android: No bypass implemented yet. (LP: #1109963)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1033
mir (0.0.10+13.10.20130828.1-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* I've noticed some confusion in the community around the purposes of
the mir_demo_* binaries. For example: - Users expected
mir_demo_client to do something. - Users expected mir_demo_server to
be useful, when they would get more use from mir_demo_server_shell.
- Users thought mir_demo_client_{un}accelerated were the only
examples of {un}accelerated clients. This proposal renames
mir_demo_client_* to more accurately describe what they are and what
they do. .
[ Alan Griffiths ]
* graphics: make nested code compatable with "bypass" branch.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1031
mir (0.0.10+13.10.20130828-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* graphics.nested: sketch out NestedOutput implementation.
[ Eleni Maria Stea ]
* removed the struct NativeGBMPlatform from gbm_platform.cpp and added
a NativeGBMPlatform class instead.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1028
mir (0.0.10+13.10.20130827.1-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* ipc: add a protocol version to the wire protocol so that we can bump
it in future.
* graphics::nested: Handling of output configuration changes.
* graphics.nested: Hookup NestedDisplay to display change
notifications.
[ Daniel van Vugt ]
* Introducing mir_demo_client_progressbar. It's pretty boring;
designed to simulate key repeat scrolling in a terminal, as an aid
for tracking down bug 1216472. . (LP: #1216472)
[ Eleni Maria Stea ]
* changed the GBMBufferAllocator constructor and class to use the
gbm_device instead of the GBMPlatform to remove the dependency from
the mg::Platform interface - this way we can use the
GBMBufferAllocator with the NativeGBMPlatform (nested mir).
[ Ubuntu daily release ]
* Automatic snapshot from revision 1025
mir (0.0.10+13.10.20130827-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Allow the Mir server socket to be set with the MIR_SOCKET enviroment
variable.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1019
mir (0.0.10+13.10.20130826.1-0ubuntu1) saucy; urgency=low
[ Christopher James Halse Rogers ]
* Fix server-side tracking of client buffers When the server knows the
client has a given buffer cached it only needs to send the BufferID
rather than the full IPC package. While this is an optimisation,
it's also required for correctness - the client will not clean up
fds for buffers it has cached, so if the server sends a full IPC
package for a buffer the client knows about any buffer fds leak. The
buffer cache is per-surface on the client side, but was per-session
on the server side. This meant that the server did not accurately
track the client's buffers, resulting in it sending unexpected fds
that the client then leaked. Fix this by making the buffer tracker
per-surface server-side.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1017
mir (0.0.10+13.10.20130826-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Fix uninitialized fields causing strange exceptions in some clients
such as fingerpaint and multiwin since r991. (LP: #1215754) The
uninitialized field output_id was only introduced in r991. Of
course, giving it an invalid value should not cause such wacky
exceptions. I'll log a bug to improve the error checking separately.
(LP: #1215754)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1015
mir (0.0.10-0ubuntu1) saucy; urgency=low
* New release
mir (0.0.9+13.10.20130825.1-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Disambiguate an exception message which could come from three
places: Output has no associated crtc with more rich and meaningful
information: Output <NAME> has no associated CRTC to <ACTION> on.
[ Robert Carr ]
* SessionMediator must hold only a weak reference to the session. (LP:
#1195089)
[ Ubuntu daily release ]
* Automatic snapshot from revision 1012
mir (0.0.9+13.10.20130825-0ubuntu1) saucy; urgency=low
[ Ricardo Mendoza ]
* Add whitespace to prevent errors in non -fpermissive compilations.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1009
mir (0.0.9+13.10.20130823.3-0ubuntu1) saucy; urgency=low
[ Alan Griffiths ]
* mir: std::hash support for mir::IntWrapper<> .
[ Ubuntu daily release ]
* Automatic snapshot from revision 1007
mir (0.0.9+13.10.20130823.2-0ubuntu1) saucy; urgency=low
[ Ricardo Mendoza ]
* * Implement lifecycle events interface.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1005
mir (0.0.9+13.10.20130823.1-0ubuntu1) saucy; urgency=low
[ Kevin DuBois ]
* Send focus notifications to client. (LP: #1196744, #1192843,
#1102757, #1201435)
[ Robert Carr ]
* Send focus notifications to client. (LP: #1196744, #1192843,
#1102757, #1201435)
[ Alan Griffiths ]
* graphics: spike of NestedDisplayConfiguration.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1003
mir (0.0.9+13.10.20130823-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* event_sender.cpp: I've never seen this before. So it should not have
my name on it.
[ Ubuntu daily release ]
* Automatic snapshot from revision 1000
mir (0.0.9+13.10.20130822.1-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Revert the grey background. It's too visually intrusive while we
don't yet have the ability to give a shell any control over
compositing (and override GLRenderer::clear) like it should
eventually have. (LP: #1215322). (LP: #1215322)
[ Alan Griffiths ]
* graphics: Fills in some more bits of NestedDisplay.
[ Ubuntu daily release ]
* Automatic snapshot from revision 998
mir (0.0.9+13.10.20130822-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* eglplasma: Don't include the alpha component in gradient
calculations. We want the whole surface to be opaque. (LP:
#1215285). (LP: #1215285)
[ Ubuntu daily release ]
* Automatic snapshot from revision 995
mir (0.0.9+13.10.20130821.1-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Make compositor::Scene lockable. This allows us to do multiple
operations on a scene atomically using a nice simple:
std::lock_guard<Scene> lock(scene); In the short term, this is
required by the bypass branch. In the longer term it will also be
useful if/when Scene gets an iterator.
* Check a connection is valid (not NULL) before trying to dereference
it. Such a NULL dereference led to worrying valgrind errors seen in
LP: #1212516. (LP: #1212516)
[ Alan Griffiths ]
* graphics: hard-wire nested Mir to create an output for every host
output.
[ Alexandros Frantzis ]
* Allow clients to specify the output they want to place a surface in.
Only fullscreen placements are supported for now, but the policy is
easy to change. This MP breaks the client API/ABI, so I bumped the
client ABI version. I took this opportunity to rename some fields in
MirDisplayConfiguration to improve consistency. .
[ Ubuntu daily release ]
* Automatic snapshot from revision 993
mir (0.0.9+13.10.20130821-0ubuntu1) saucy; urgency=low
[ Brandon Schaefer ]
* Release the mir surfaces when done in multiwin demo.
* Clean up config->cards when were are deleting the display config.
[ Alexandros Frantzis ]
* server: Handle both user initiated and hardware display changes with
MediatingDisplayChanger Enhance MediatingDisplayChanger to handle
both user initiated display changes and hardware changes, by making
it implement two interfaces for the two responsibilities
(mg::DisplayChanger, mf::DisplayChanger).
* shell: Notify sessions when the display configuration changes This
patchset implements client notifications for display configuration
changes. It also adds a mir_demo_client_display_config example which
can be used to test and demo client initiated display configuration
changes. Use of the example uncovered some issues that are also
fixed by this patchset (see individual commits for more info).
* shell: Add infrastructure for emitting and handling session related
events.
* shell: Support per-session display configurations This MP adds
support for per-session display configurations, i.e., configurations
that are active only when the client that submitted them has the
focus. mir_connection_apply_display_config() now changes the session
display configuration instead of the base/global one.
[ Alan Griffiths ]
* graphics::nested: sketch out some more of the nested mir
implementation.
* tests: Workaround for test timeout under valgrind. (LP: #1212518)
* config: use the DisplayServer to hold ownership of system
components, not the DefaultServerConfiguration.
* graphics: Start on the NativePlatform interface.
* graphics: Split the output state out of the NestedDisplay class.
[ Daniel van Vugt ]
* setup-android-dependencies.sh: Update for saucy flipped phablet
images.
* Give Mir a grey background by default, so you can see which monitors
it is using.
[ Eleni Maria Stea ]
* graphics::nested: sketch out some more of the nested mir
implementation.
* nested_platform.cpp functions.
[ Robert Carr ]
* Pass session through placement strategy.
[ Christopher James Halse Rogers ]
* Add a little extra debugging API.
* Add missing mutex around display config call.
[ Ubuntu daily release ]
* Automatic snapshot from revision 988
mir (0.0.9+13.10.20130813-0ubuntu1) saucy; urgency=low
[ Daniel d'Andrada ]
* Add mir_surface_type_inputmethod enum value.
[ Ubuntu daily release ]
* Automatic snapshot from revision 970
mir (0.0.9+13.10.20130812.4-0ubuntu1) saucy; urgency=low
[ Alexandros Frantzis ]
* server,client: Add type, preferred mode and max. simultaneous
outputs information to the display configuration.
[ Ubuntu daily release ]
* Automatic snapshot from revision 968
mir (0.0.9+13.10.20130812.3-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* eglapp: Add sizing parameters: -f (fullscreen) and -s WxH (specific
size).
[ Alan Griffiths ]
* frontend, examples, tests: provide a utility to adapt
frontend::Surface to the graphics::InternalSurface interface.
[ Ubuntu daily release ]
* Automatic snapshot from revision 966
mir (0.0.9+13.10.20130812.2-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Remove apport hook - we're not installing it and libraries don't
have hooks anyway. Apps that use libmirserver will have hooks
(unity-system-compositor, unity-mir). (LP: #1204284)
[ Alexandros Frantzis ]
* protobuf: Pass a DisplayConfiguration submessage with the
Connection.
[ Ubuntu daily release ]
* Automatic snapshot from revision 963
mir (0.0.9+13.10.20130812.1-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Fix libmirserver dependent packages requiring the exact version - it
hadn't been updated for the soname change in revision 948. (LP:
#1210811)
[ Alan Griffiths ]
* platform: workaround link errors on i386/g++ 4.8.1. (LP: #1208774)
[ Ubuntu daily release ]
* Automatic snapshot from revision 960
mir (0.0.9-0ubuntu1) saucy; urgency=low
* New release
mir (0.0.8+13.10.20130810-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Remove documentation on the system-compositor-testing PPA now
everything is in main/universe in saucy.
[ Kevin DuBois ]
* Add an object for sending display config change messages to all
connected clients (globally).
[ Daniel van Vugt ]
* Fix the compositor side of lag observed between input events and the
screen. This is half the fix for LP: #1199450. The other half of the
fix is to resolve client buffers arriving out of order, which has
not been fully diagnosed but is known to be resolved by the "switch"
branch. . (LP: #1199450)
[ Ubuntu daily release ]
* Automatic snapshot from revision 956
mir (0.0.8+13.10.20130809.4-0ubuntu1) saucy; urgency=low
[ Michael Terry ]
* Pass on the owning Session when creating Surfaces. (LP: #1200035)
[ Ubuntu daily release ]
* Automatic snapshot from revision 952
mir (0.0.8+13.10.20130809.3-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Simplify and generalize buffer swapping to support arbitrary numbers
of: - buffers - compositors - clients This is a unified N-buffers
algorithm which supports any positive number of buffers, as well as
dynamically switching between synchronous and asynchronous
behaviour. So it does everything the existing code does and more.
The key requirement is to support an arbitrary number of (different)
simultaneous compositor acquisitions, as is needed for bypass
support (coming soon). This then leads to the requirement that a
compositor and a snapshot buffer should be acquired differently.
Because a snapshot should never consume frames, only observe them.
On the other hand, a compositior acquire must consume a frame (if
available) so as to guarantee correct ordering when more than one
are acquired simultaneously in bypass mode. Also fixes LP: #1199717
and is half the fix for LP: #1199450. (LP: #1199450, #1199717)
[ Alan Griffiths ]
* doc, tools: update instructions for "flipped" image.
[ Christopher James Halse Rogers ]
* Split out unversioned Mir platform package to fix upgrades across
libmirserver SONAME bumps.
[ Ubuntu daily release ]
* Automatic snapshot from revision 950
mir (0.0.8+13.10.20130808.2-0ubuntu1) saucy; urgency=low
[ Alexandros Frantzis ]
* gbm: Don't try to allocate buffers with unsupported formats. (LP:
#1124948)
[ Ubuntu daily release ]
* Automatic snapshot from revision 946
mir (0.0.8+13.10.20130808.1-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* VT switch on alt+ctrl+Fn.
* Add missing iostream import. This was accidentally removed in
revision 939. Local builds and CI builds both seem to have treated
this as a warning; debian package builds as an error. Fixes
packaging builds.
[ Robert Carr ]
* Add an interface by which the shell may be notified of and interfere
with surface configuration requests.
[ Alexandros Frantzis ]
* Bring back revision 931 with a fix for the crash it caused (LP:
#1209053). (LP: #1209053)
* examples: Quit the example servers and standalone programs when
Ctrl+Alt+Backspace is pressed.
[ Maarten Lankhorst ]
* Re-introduce console support, and ignore control characters. (LP:
#1102756, #1195509)
[ Ubuntu daily release ]
* Automatic snapshot from revision 944
mir (0.0.8+13.10.20130807.3-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* platform: Install and use mirplatform headers. (LP: #1209104)
[ Daniel van Vugt ]
* Revert r931. It is causing instant and widespread crashes (LP:
#1209053). (LP: #1209053)
[ Alan Griffiths ]
* platform: remove spurious ${MIR_COMMON_PLATFORM_LIBRARIES}.
* platform: Install and use mirplatform headers. (LP: #1209104)
[ Christopher James Halse Rogers ]
* Fix multihead API usage in EGL example clients.
[ Ubuntu daily release ]
* Automatic snapshot from revision 937
mir (0.0.8+13.10.20130807.1-0ubuntu1) saucy; urgency=low
[ Kevin DuBois ]
* Add support for sending display change events to the client to the
api/protocol.
[ Ricardo Salveti de Araujo ]
* Just use libhardware instead of libhybris when building mir (avoid
conflicts with egl/gles) .
[ Alan Griffiths ]
* graphics: Split off platform abstraction as a shared library.
* graphics: Split off platform abstraction as an LGPL shared library.
[ Alexandros Frantzis ]
* display_server: Don't configure the display while the display server
is paused Don't configure the display while the display server is
paused. Postpone the configuration until the display server resumes.
* server: Make EventFilter customization easier.
[ Ubuntu daily release ]
* Automatic snapshot from revision 932
mir (0.0.8+13.10.20130806-0ubuntu1) saucy; urgency=low
[ Kevin DuBois ]
* Add protobuf message and api for requesting display configuration
change. Requests to change the display are authorized by the shell
authorizer .
[ Alan Griffiths ]
* 1. establish a MirConnection during the NestedPlatform
initialization 2. check that the socket filename that is used by the
nested mir to accept connections is not the same with the host mir's
socket filename 3. release the connection when the NestedPlatform is
deleted.
[ Eleni Maria Stea ]
* 1. establish a MirConnection during the NestedPlatform
initialization 2. check that the socket filename that is used by the
nested mir to accept connections is not the same with the host mir's
socket filename 3. release the connection when the NestedPlatform is
deleted.
[ Colin Watson ]
* The upcoming arm64 architecture is called arm64, not armel64.
[ Alexandros Frantzis ]
* gbm,compositor: Misc multimonitor related fixes. (LP: #1208354)
[ Ubuntu daily release ]
* Automatic snapshot from revision 925
mir (0.0.8+13.10.20130803-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* fingerpaint: Paint on single clicks, and not just drags. This helps
in testing input/buffer lag issues ;).
[ Robert Carr ]
* Replace SingleVisibilityFocusMechanism with a simpler and more
flexible mechanism based around raising the surface.
* Do not target hidden surfaces for pointer events.
[ Alan Griffiths ]
* graphics: Break the dependency of graphics platforms on MainLoop.
[ Christopher James Halse Rogers ]
* Fix mir_connection_get_display_info There's no guarantee that
config->displays[0] will be valid, and indeed it's always invalid in
all my tests. This causes a segfault when trying to dereference the
current mode of an inactive display.
[ Ubuntu daily release ]
* Automatic snapshot from revision 920
mir (0.0.8+13.10.20130802-0ubuntu1) saucy; urgency=low
[ Daniel van Vugt ]
* Fix crashing demo clients, since the introduction of multimonitor.
(LP: #1207145). (LP: #1207145)
* tools/install_on_android.sh: Don't upload to/test in Android
directories. We don't need to now that the phablet images are
flipped. /tmp is much safer. Also don't hardcode a particular ABI
(which was wrong). .
[ Alan Griffiths ]
* graphics, compositor: Move compositor/buffer_properties.h and
compositor/graphic_buffer_allocator.h to graphics.
* graphics, compositor: Move buffer_ipc_packer.h to graphics.
* graphics/gbm: negate negative error codes returned by drm so they
can be interpreted by boost.
[ Alexandros Frantzis ]
* examples: Add option to specify the display configuration policy to
use We offer three display configuration policies to all the
examples that use configurations based on
mir::example::ServerConfiguration: 1. clone (default) 2. sidebyside
(outputs are placed side-by-side in the virtual space, in increasing
connector id order) 3. single (only the first, in connector id
order, is used).
[ Ubuntu daily release ]
* Automatic snapshot from revision 914
mir (0.0.8+13.10.20130801-0ubuntu1) saucy; urgency=low
[ Kevin DuBois ]
* connect multi-display info from the display, to the client by
improving SessionMediator.
* prepare for global event sending (like display resizing) by
separating the ability to send messages into distinct classes that
is used in the client request service loops clean up constructors
that aren't used, functions that aren't needed as well.
[ Robert Carr ]
* Support monitor input channels for the shell.
[ Eleni Maria Stea ]
* stub Platform functions to NestedPlatform replaced
create_nested_platform with a call to the NestedPlatform constructor
in the default_server_configuration.cpp.
[ Alexandros Frantzis ]
* gbm: Handle the cursor properly with multiple monitors.
[ Ubuntu daily release ]
* Automatic snapshot from revision 907
mir (0.0.8+13.10.20130731.2-0ubuntu1) saucy; urgency=low
[ Dmitrijs Ledkovs ]
* Use explicit boost-dev packages.
[ Alexandros Frantzis ]
* gbm: Support non-cloned display configurations.
[ Thomas Voß ]
* Adjust documentation to account for lightdm/packaging changes.
* Don't make Mir become a process group leader, to avoid CTRL-C
killing the X server.
[ Alan Griffiths ]
* test_framework: Provide boost exception diagnostics.
* graphics: Remove use of frontend::Surface from graphics interface &
implementation.
[ Daniel van Vugt ]
* Don't run Android commands which are no longer valid in flipped
phablet images. They will only kill your connection to the device.
(LP: #1206369). (LP: #1206369)
* Fix documentation to suit the new "flipped" phablet images. Also
remove extraneous comment which could cause copy/paste mistakes.
[ Eleni Maria Stea ]
* mir option --nested-mode <host-socket>.
* added a native platform interface in
include/server/mir/graphics/native_platform.h added a new static
library for the nested platform added some stub
create_native_platform and create_nested_platform functions to be
called when mir runs in nested mode.
[ Ubuntu daily release ]
* Automatic snapshot from revision 901
mir (0.0.8+13.10.20130730-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Use the soname in the filename of all the public libraries.
Explicityly set soname for libmirserver and libmirprotobuf.
[ Daniel van Vugt ]
* Separate MockBufferAllocator for reuse in other test cases.
* Silence noisy integration tests (Uninteresting mock function calls)
(LP: #1192618). (LP: #1192618)
* Distinguish between a buffer locked for composition vs snapshotting.
The difference will become very important with the introduction of
bypass. Stay tuned.
[ Alexandros Frantzis ]
* graphics, shell: move GLPixelBuffer to shell.
* compositor: Introduce and use a different DisplayBufferCompositor
object per non-cloned output.
* geometry: Use an closed-open representation for Rectangle end
points.
[ Thomas Voß ]
* Adjust the Process class to correctly trace child processes. This
should help a lot in avoiding/diagnosing races on armhf.
[ Kevin DuBois ]
* expand client api so that multiple MirDisplayInfo can be returned
for multimonitor situations.
* add a function to the client api to query the possible formats to
create a surface with.
* client: decouple MirConnection from MirEvent a bit. stop two-step
initialization of the client rpc channel.
[ Robert Carr ]
* Add surface lifecycle notification to the session listener.
* Build test_android_input_registrar.cpp.
[ Alan Griffiths ]
* graphics, shell: move GLPixelBuffer to shell.
[ Maarten Lankhorst ]
* Fixes LP: #1195509. (LP: #1195509)
[ Ubuntu daily release ]
* Automatic snapshot from revision 890
mir (0.0.8-0ubuntu1) saucy; urgency=low
* New release
mir (0.0.7+13.10.20130721ubuntu.unity.next-0ubuntu1) saucy; urgency=low
[ Robert Ancell ]
* Update debian/copyright for 3rd_party files. (LP: #1194073)
* update to xmir instructions.
* Put demos back into bin, not libexec. It's confusing, conflicts with
the documentation and makes it harder to run them.
* Add some XMir diagnostic and recovery documentation.
* Update docs to refer to saucy, not raring.
* Display command line options error when failed.
* Remove dead tag code in SessionManager.
* Remove dead code in ProtobufSocketCommunicator.
* Releasing 0.0.6
* Close the platform file descriptors on destruction of MirConnection.
(LP: #1198022)
* Remove libancilliary and implement required functionality directly.
* add xmir guide to debug.
* Only use a DRM device if it has connections. (LP: #1197708)
* Add instructions on how to compile Mesa and X.Org with Mir support.
(LP: #1193261)
[ Jussi Pakkanen ]
* Explicitly create output directory before running custom command.
[ Alexandros Frantzis ]
* graphics: Implement GLBufferPixels to extract buffer pixels using
GL.
* lttng: Install tracepoint provider libraries in private lib
subdirectory.
* surfaces: Fix Surface::flag_for_render() Fixes lp:1195105. (LP:
#1195105)
* compositor: Manage the rendering target properly in the compositing
threads.
* shell: Implement Session::take_snapshot() method.
* graphics: Add Display::configure() method.
* server: Support handlers for file descriptors in MainLoop.
* graphics: Reconfigure the Display when the display configuration
changes.
* tests: Fix race condition in MockDRM leading to memory errors
Previously, because we allocated and returned memory in two step,
using a unique storage point to hold the allocated memory, there was
the potential for memory errors (e.g. double frees) in multithreaded
tests (like
drm_close_not_called_concurrently_on_ipc_package_destruction). (LP:
#1197408)
* server: Make symbols of loaded SharedLibraries available globally.
* gbm: Provide different functions for validating server and client
Mesa EGL native displays. (LP: #1177902)
* gbm: Update mesa egl native display validation function names Update
mesa egl native display validation function names to match the ones
used by Mesa.
* graphics: Introduce a DisplayConfigurationPolicy to set up
DisplayConfigurations.
* geometry: Add Rectangles class to hold a collection of rectangles.
* android: Separate Display and DisplayBuffer implementations.
* graphics: Fall back to reading RGBA pixel data in GLPixelBuffer if
BGRA is not supported.
* Replace ViewableArea with more fitting interfaces.
[ Eleni Maria Stea ]
* minor fix of typo in the example: mir_client_accelerated.
* fixed invalid C++ code, which was using a non-standard gcc language
extension, for named initialization of structure elements.
[ Stephen M. Webb ]
* disable running the integration test suite on arm architecture
during the packaging builds (lp: #1195265). (LP: #1195265, #1195260)
[ Didier Roche ]
* lttng: Install tracepoint provider libraries in private lib
subdirectory.
* build-dep on valgrind as it's used in integration tests. (LP:
#1195265)
* only build on archs we support.
* Don't build on powerpc.
* Disable unity armhf tests, they are failing the armhf build on
buildds.
[ Kevin DuBois ]
* unify advance_client_buffer and client_buffer() interfaces on
ms::Surface. change the ms::Surface class so that it does not hold
the client resource on behalf of the clients, the frontend or native
windows do.
* android drivers have an interface for the drivers to obtain a strong
reference to the native window type. Allow the drivers to acquire
this strong reference to the buffer backing their texture/fbo.
* Activate sending a "swapinterval" signal over IPC. Add client api
for software clients to request different swapintervals.
(eglSwapInterval is not glued together just yet) Currently only
swapinterval of 0 or 1 is supported. (LP: #1130553)
* link eglSwapInterval hook in gbm driver to the ipc message to enable
swapinterval0. This makes eglSwapInterval (1) or (0) work for gbm
ipc clients only.
* fix: lp:1196647 (test bug results in crash in android unit tests)
bug was just in test code on android. (LP: #1196647)
* fix: lp1192742 by cleaning up FD's when an android client
unregisters its native_handle_t. (LP: #1192742)
* saucy's default boost version is 1.53, yet the cross compile script
was still on 1.49. switch script to 1.53.
* begin cleanup of ms::Surface by breaking "ms::Surface : public
mi::SurfaceTarget" inheritance the input system was using the
surface object (specifically the std::weak_ptr<mi::SurfaceTarget> to
the ms::Surface) as its 'key' for coordinating the surfaces. This
bound the input system tightly to the surface stack, which prevented
any proxying of ms::Surface and made the lifetime of ms::Surface
tangled. This change breaks this dependency by making ms::Surface
own an InputChannel, instead of it being a SurfaceTarget.
* remove google mock from the internal source tree. Rather, use the
google-mock package and build the source externally. (LP: #1185265,
#1194017)
* disable running the integration test suite on arm architecture
during the packaging builds (lp: #1195265). (LP: #1195265, #1195260)
* break ms::Surface : public mg::Renderable dependency, paving the way
for a more sensible interface surrounding our ms::Surface object.
Also ensure that graphics data is maintained synchronously. Remove
most state from ms::Surface.
* fixes: lp:1200782 by freeing fd's associated with buffer package.
(LP: #1200782)
[ Kevin Gunn ]
* this is to change the doc's fpr preinstalled binaries to reference
using the system-compositor-testing ppa.
* update to xmir instructions.
* add xmir guide to debug.
[ Alan Griffiths ]
* graphics, config: Dynamically load the graphics platform.
* config: allow graphics platform library to be selected by command-
line/config. (LP: #1118909)
* docs: A move towards house style for the webpages.
* Make gmock and umockdev dependencies of the tests, clean up, and
make not building tests an option. (LP: #1196987)
* client: remove some unnecessary memory allocation, copying and
threading.
* frontend: Guard SessionMediator::session against race conditions.
* frontend: remove redundant and misleading comment.
* frontend: cut down memory allocations by pre-allocating and reusing
buffers.
* geometry: more tractable construction of objects. (LP: #1199756)
* tests: rework test to prevent test input events being missed before
handler is registered. (LP: #1200236)
* geometry: make geometry compound types easier to construct. (LP:
#1199756)
* doc: use house font and colors for coding guidelines.
* mir: Simpler IntWrapper that doesn't need type tags upfront.
* graphics, conpositor: Move dependencies of graphics platform into
graphics.
* graphics: Delete unused file -
include/server/mir/graphics/framebuffer_backend.h.
* graphics, compositor: Move the rendering interfaces and code to
compositor.
* graphics, compositor: move BufferBasic to graphics.
* graphics::gbm: delete unused headers.
[ Christopher James Halse Rogers ]
* Improve GBM platform's device probing, by actually making it probe
devices.
* Fix clearly-broken code, for which clang produced deliberately
broken output.
* Fix two issues caught by Clang's static analyser.
* I like clang's error messages. Let's keep Mir building on clang.
* Make libmirclient not aggressively signal-unsafe by blocking signals
on our IO thread. Fixes infinite loop in XMir (LP: #1199319). (LP:
#1199319)
* Document XMir drivers too.
[ Sebastien Bacher ]
* Small copyright fixes (lp: #1195647). (LP: #1195647)
[ Daniel van Vugt ]
* Cache the transformation matrix; only recalculate it when some part
of the transformation changes. (LP: #1193020) . (LP: #1193020)
* Don't pass a clang-only option to gcc. It will not understand and
cause build failure (LP: #1194385). (LP: #1194385)
* Fix build failure due to differing exception specifiers. noexcept
destructors should be enforced in derived classes if the base uses
them. (LP: #1194703). (LP: #1194703)
* Document thread safety pitfalls about client-side callbacks. .
* Fix mismatched destructor exception specifiers causing build failure
in gcc 4.7. Also fix struct/class mismatches that some compilers
will treat as an error. (LP: #1196415). (LP: #1196415)
* mir_demo_client_unaccelerated: Add an FPS count, and a "-n" option
to disable vsync (set swap interval to 0).
* mir_demo_client_egl*: Add a "-n" option to disable syncing to vblank
(hence to use swap interval == 0).
* Initial attempts at making the Mir client API thread safe.
Ordinarily you would not build locking into an API, however the fact
that Mir clients implicitly get multiple threads created for them
makes it important for the API itself to be automatically thread
safe. I've tried to avoid API changes, but adding a new function:
mir_wait_for_one was necessary. This is because mir_wait_for doesn't
work if multiple threads are waiting on the same thing
simultaneously. And the fact that waiting at all is optional means
we can't change the behaviour of mir_wait_for -- it must always wait
for all outstanding results (which is only safe in clients where the
waiting happens in a single thread). .
* Work around GCC issue 50043 which is causing build failures on
raring. (LP: #1199210) The gcc bug is only fixed in 4.8/saucy. (LP:
#1199210)
* MockDisplayConfigurationPolicy: Work around gcc-4.7 bugs causing
build failure on raring. (LP: #1200064). (LP: #1200064)
* Another workaround for gcc-4.7 bugs causing build failure. (LP:
#1200107). (LP: #1200107)
* buffer_swapper_spin.h: Remove dead code: initialize_queues.
* Remove unused interface surfaces::GraphicRegion It became unused
when Kevin's work landed in r856 yesterday. .
* Rename compositor::Renderables --> compositor::Scene What is a
"Renderables"? It's the interface by which we know the scene graph,
or the model of how all the surfaces relate to each other. Right,
then call it a scene graph... but the word "graph" might imply a
particular structure. And we don't want to imply such things in an
interface. So just call it "scene". That makes slightly more sense
than imagining what a "Renderables" (singular) is.
* Fix comments which mention incorrect namespaces for Buffer following
yesterday's landings.
[ Ricardo Mendoza ]
* Fix broken tests/unit-
tests/client/android/test_client_android_registrar.cpp due to unused
return value.
[ Thomas Voß ]
* Wait for vt to become active if we need to activate it.
* Remove disabling asio's epoll reactor implementation from the
package build flags.
* Introduce cmake options to be able to selectively switch acceptance,
integration and unit tests on/off. (LP: #1195265)
[ Thomi Richards ]
* Remove workaround for bug #1198022. (LP: #1198022)
[ Robert Carr ]
* Add raise method to surface stack.
* Remove cucumber and all references. (LP: #1194075)
* Add support for shaped input regions.
* Store MirMotionAction as integer due to usage of extra bits by
android input stack. (LP: #1197108)
* Fix obscurance of touch events according to stacking.
* Extract DefaultServerConfiguration::the_cursor_listener from
DefaultServerConfiguration::the_input_configuration. (LP: #1192916)
* Implement a connection authorization mechanism.
* Correct test_surface_stack.cpp ordering tests.
* Move the DepthId in surface creation to
msh::SurfaceCreationParameters.
[ Ubuntu daily release ]
* Automatic snapshot from revision 874 (ubuntu-unity/next)
mir (0.0.7-0ubuntu1) saucy; urgency=low
* New release
mir (0.0.6-0ubuntu1) saucy; urgency=low
* New release
mir (0.0.5-0ubuntu1) saucy; urgency=low
* Misc a numerous package fixes.
* Automatic snapshot from revision 766 (bootstrap)
mir (0.0.4-0ubuntu1) raring; urgency=low
* change mesa header to clean up the file and add swapinterval 0 hook
mir (0.0.3-0ubuntu1) raring; urgency=low
[ Bryce Harrington ]
* Add apport hook, source_mir.py
mir (0.0.2-0ubuntu2) raring; urgency=low
* Put mir in split mode
mir (0.0.2-0ubuntu1) raring; urgency=low
* New upstream release
* debian/control:
- libmirclient-demos breaks older version of mir
mir (0.0.1-0ubuntu1) quantal; urgency=low
* Initial release
-- Ubuntu daily release <email address hidden> Fri, 29 Aug 2014 16:12:54 +0000