mir 0.7.0+14.10.20140829~rtm-0ubuntu1 source package in Ubuntu RTM
Changelog
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
Upload details
- Uploaded by:
- PS Jenkins bot
- Uploaded to:
- 14.09
- Original maintainer:
- Ubuntu Developers
- Architectures:
- i386 amd64 armhf arm64 all
- Section:
- x11
- Urgency:
- Medium Urgency
See full publishing history Publishing
Series | Published | Component | Section |
---|
Downloads
File | Size | SHA-256 Checksum |
---|---|---|
mir_0.7.0+14.10.20140829~rtm.orig.tar.gz | 1.2 MiB | 7a960d2aa295e928a9312b218f01ca5610232bf4f6a0b8e1545e32fd0a4305ed |
mir_0.7.0+14.10.20140829~rtm-0ubuntu1.diff.gz | 40.2 KiB | 1eb7ee0b846326793271fe13bfc105aae3902aee28162467639bda47d774334e |
mir_0.7.0+14.10.20140829~rtm-0ubuntu1.dsc | 3.7 KiB | fe00c8078ef37a3329f18bf5698ca02e545314437012eccf4d04710404f215ab |
Available diffs
Binary packages built by this source
- libmirclient-dev: Display server for Ubuntu - development headers
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains header files required to develop against Mir.
- libmirclient8: Display server for Ubuntu - client library
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains the shared library needed by client applications for Mir.
- libmirclientplatform-android: No summary available for libmirclientplatform-android in ubuntu-rtm 14.09.
No description available for libmirclientpla
tform-android in ubuntu-rtm 14.09.
- libmirclientplatform-mesa: No summary available for libmirclientplatform-mesa in ubuntu-rtm 14.09.
No description available for libmirclientpla
tform-mesa in ubuntu-rtm 14.09.
- libmircommon-dev: Display server for Ubuntu - development headers
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains header files required for server and/or client development.
- libmircommon1: No summary available for libmircommon1 in ubuntu-rtm 14.09.
No description available for libmircommon1 in ubuntu-rtm 14.09.
- libmirplatform-dev: Display server for Ubuntu - development headers
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains header files required for hardware/driver support development.
- libmirplatform2: No summary available for libmirplatform2 in ubuntu-rtm 14.09.
No description available for libmirplatform2 in ubuntu-rtm 14.09.
- libmirplatformgraphics-android: No summary available for libmirplatformgraphics-android in ubuntu-rtm 14.09.
No description available for libmirplatformg
raphics- android in ubuntu-rtm 14.09.
- libmirplatformgraphics-mesa: No summary available for libmirplatformgraphics-mesa in ubuntu-rtm 14.09.
No description available for libmirplatformg
raphics- mesa in ubuntu-rtm 14.09.
- libmirserver-dev: Display server for Ubuntu - development headers
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains header files required to build Mir servers.
- libmirserver25: No summary available for libmirserver25 in ubuntu-rtm 14.09.
No description available for libmirserver25 in ubuntu-rtm 14.09.
- mir-demos: Display server for Ubuntu - demonstration programs
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains demo applications (with source) that use the Mir display server
- mir-doc: API documentation for mir
This package installs the mir API documentation.
- mir-test-tools: Display Server for Ubuntu - stress tests and other test tools
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains a tool for stress testing the Mir display server
- mir-utils: Display server for Ubuntu - utility programs
Mir is a display server running on linux systems, with a focus on efficiency,
robust operation and a well-defined driver model.
.
Contains utility programs for probing and controling a Mir server.