[Touch-packages] [Bug 1373809] Re: [regression] Mir server uses too much CPU during touch scrolling
This bug was fixed in the package mir - 0.8.1+15.04.20150112.2~rtm- 0ubuntu1 --- mir (0.8.1+15.04.20150112.2~rtm-0ubuntu1) 14.09; urgency=medium [ Daniel van Vugt ] * Bug fix release 0.8.1 (https://launchpad.net/mir/+milestone/0.8.1) - ABI summary: Servers need rebuilding, but clients do not; . Mirclient ABI unchanged at 8 . Mircommon ABI unchanged at 2 . Mirplatform ABI unchanged to 3 . Mirserver ABI bumped to 26.1 (due to breakage in LP: #1355173) - Fixes bugs: . Switching windows with a Trusted Prompt Session active loses the trusted prompt session (LP: #1355173) . a prompt session with an invalid application pid should be an error (LP: #1377968) * mir_demo_client_basic: Don't assert on user errors like failing to connect to a Mir server. It's much more useful to tell the user what they did wrong than to automatically generate error reports and duplicate apport bugs. (LP: #1331958) . (LP: #1331958) * Enable Project Butter motion event resampling and prediction for a more responsive touch experience. . * When the server disconnects unexpectedly, give the client SIGHUP instead of the present SIGTERM. The former is more appropriate because it indicates: Hangup detected on controlling terminal or death of controlling process [signal(7)] whereas SIGTERM is reserved for more polite user-requested shutdowns. . * Fix the common/shared source tree layout inconsistency. If it goes in libmircommon then it should be called common and not shared: * Move mir::time::*Clock out of libmirserver and into libmircommon. It will soon be used by libmirclient. * Bump version to 0.8.0 as Mir 0.7.0 was released today. * Remove dead code kill_client_processes() from mir_test_framework. * Work around spurious SIGKILL delivered to clients by Valgrind during tests. This is why CI is failing randomly (LP: #1364772) Actually this workaround is nothing new. A quick grep shows we already use the same hack in 13 other locations under tests/. . (LP: #1364772) * Privatise (don't install) headers that are unused by clients, QtMir or USC. This reduces the size of the public include/ tree from 377 to 121 files, and reduces the number of those that get installed from 208 to 121. * Bump the mircommon ABI to 2. We actually broke it in the Mir 0.7.0 release with symbols.map and didn't notice in time (LP: #1364890) (LP: #1364890) * Restore support for gcc-4.8/trusty (LP: #1366134) (LP: #1366134) * Publish an internal header that QtMir recently started using: mir/input/input_channel.h (LP: #1365934) . (LP: #1365934) * Relax dependencies on libmirplatform2. Any binary package that uses libmirplatform2 should already be ABI compatible with any version of libmirplatform2. Assuming we maintain our ABIs correctly... Minimising exact version requirements should minimise future package upgrade problems. . * Privatise more headers -- these are the ones unused by any external projects but are used internally by the server code in examples/ only. * Introducing a generic client performance report. Just turn it on: env MIR_CLIENT_PERF_REPORT=log yourclient and you will get nice useful performance information: [1409905806.508895] (II) perf: eglappsurface: 60.21 FPS, render time 0.62ms, buffer lag 47.64ms (3 buffers) [1409905807.510868] (II) perf: eglappsurface: 59.94 FPS, render time 0.13ms, buffer lag 49.96ms (3 buffers) [1409905808.513115] (II) perf: eglappsurface: 59.88 FPS, render time 0.12ms, buffer lag 49.98ms (3 buffers) . * Remove FPS output from examples/*. A more accurate and useful measure of FPS is now available to all clients by: env MIR_CLIENT_PERF_REPORT=log anyclient. * Privatise shared_library_prober*.h until such time that some external project needs them. * examples: Restore the -q (quiet mode) option to eglapps and flicker. It got deleted a little to hastily in r1906 when really it's still useful and worth keeping. . * Fix constructor syntax errors, which only just today g++ has decided are fatal (LP: #1369389) (LP: #1369389) * Introduce explicit driver ABI levels: libmirplatformNdriver, libmirclientMdriver * Bump the server ABI to 26. We broke it in r1924. * Build all platforms by default. No just Mesa. It's safe to do so, and in fact we already do so in our Deb builds :) This way no one can forget to fix Android build issues when working on desktop. . * Fix jerky/stuttering event delivery that could happen inside nested servers sometimes (LP: #1372300) (LP: #1372300) * Reduced visible input lag by approx one frame (on 59-60Hz displays)* * Avoid polling in a loop with timeout zero most of the time. That will only waste CPU. (LP: #1373809) (LP: #1373809) * demo shell: Keep colours consistent, regardless of the physical pixel format of
[Touch-packages] [Bug 1373809] Re: [regression] Mir server uses too much CPU during touch scrolling
** Changed in: mir (Ubuntu) Status: Fix Released = Invalid -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1373809 Title: [regression] Mir server uses too much CPU during touch scrolling Status in Mir: Fix Released Status in Mir 0.7 series: Invalid Status in “mir” package in Ubuntu: Invalid Bug description: [regression] Mir server uses too much CPU during touch events. Until recently constant touch events never cause the CPU usage of my Mir server to exceed 50%. However with the latest code it's 80-90% CPU. I'm fairly sure this is caused by my recent change: revno: 1936 [merge] author: Daniel van Vugt daniel.van.v...@canonical.com committer: Tarmac branch nick: development-branch timestamp: Thu 2014-09-25 06:06:57 + message: Fix jerky/stuttering event delivery that could happen inside nested servers sometimes (LP: #1372300) Waiting significantly longer than a frame before consuming previously batched events is too dangerous in slow raw-event environments (nested servers or very slow input devices). It causes frame skipping. . Fixes: https://bugs.launchpad.net/bugs/1372300. Approved by Alexandros Frantzis. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1373809/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1373809] Re: [regression] Mir server uses too much CPU during touch scrolling
This bug was fixed in the package mir - 0.8.0+14.10.20141010-0ubuntu1 --- mir (0.8.0+14.10.20141010-0ubuntu1) utopic; urgency=medium [ Daniel van Vugt ] * New upstream release 0.8.0 (https://launchpad.net/mir/+milestone/0.8.0) - Enhancements: . Less sensitivity to ABI breaks - many headers unused by external projects are now hidden and not installed by -dev packaes. If you require any headers that are missing, just ask. . Touchspots: --enable-touchspots to servers; visually shows touch locations (warning: This affects performance LP: #1373692). . Client performance reporting: Any Mir client can now get accurate performance information (frame rate, render time, buffer lag etc) logged to stdout. Just set env MIR_CLIENT_PERF_REPORT=log . Further improved touch responsiveness, with less lag and smoother scrolling (so long as you don't enable touchspots). . Slightly faster builds using precompiled headers. . Turn hardware overlays on by default. When in use, this halves the CPU usage of a Mir server. Already enabled in unity-system-compositor. . More scripting to detect ABI breaks. . Improved src/ tree consistency (renamed src/shared to src/common). . Improved fatal signal design: Changed from SIGTERM to SIGHUP delivered to clients on unexpected server disconnection. . Improved library/package design to allow concurrent installations of different Mir versions without conflicts. . Fd reception code is now common to client and server. - ABI summary: Servers need rebuilding, but clients do not; . Mirclient ABI unchanged at 8 . Mircommon ABI bumped to 2 . Mirplatform ABI bumped to 3 . Mirserver ABI bumped to 26 - API changes between Mir 0.7 and 0.8: . Lots of headers removed from the public SDK! We have only hidden headers not known to be used by any known projects. Please let us know if anything is missing - https://bugs.launchpad.net/mir/+filebug . graphics::Platform - interface changed significantly. . Lots of server API changes to support touchspots. . File descriptors now passed as type Fd instead of int32_t. - Bug fixes: . [regression] Mir deb packages with versioned names cannot be installed simultaneously any more (LP: #1293944) . A frozen client can hang the whole server (LP: #1350207) . QtMir FTBFS: fatal error: mir/input/input_channel.h: No such file or directory (LP: #1365934) . [regression] platform-api fails to build against Mir 0.8 (LP: #1368354) . Mir FTBFS with gcc 4.9.1-14 (utopic update): auto_unblock_thread.h:44:46: error: no matching function for call to ‘std::thread::thread(brace-enclosed initializer list)’ (LP: #1369389) . [regression] Compositing is jerky and stutters during touch events (LP: #1372850) . unit test fails: AndroidInputReceiverSetup.slow_raw_input_doesnt_cause_ frameskipping (LP: #1373826) . intermittent hang in TestClientInput (LP: #1338612) . TestClientInput.scene_obscure_motion_events_by_stacking fails intermittently (LP: #1361757) . [regression] First frame is composited as black (even though the client has provided a non-black frame) (LP: #1362444) . Some mali drivers crash after repeatedly creating/destroying the mir compositor threads (LP: #1362841) . [android] SIGTERM to server with connected client causes crash (LP: #1364637) . [regression] acceptance tests fails in ServerDisconnect.causes_client_to_terminate_by_default (LP: #1364772) . [regression] symbol lookup error: /usr/lib/arm-linux-gnueabihf/libmirserver.so.24: undefined symbol: _ZTIN7android7RefBaseE (libmirserver 0.6.1 doesn't work with libmircommon 0.7.0) (LP: #1364890) . [regression] Mir FTBFS with g++-4.8 [error: ISO C++ forbids casting between pointer-to-function and pointer-to-object] (LP: #1366134) . Intermittent CI failure in DemoPrivateProtobuf.client_calls_server (LP: #1367353) . Overly strict libmirplatform* dependencies are blocking CI (LP: #1370866) . [regression] mir demo servers segfault on shutdown (LP: #1371619) . Nested server crashes with SIGSEGV on shutdown in eglDestroyContext() (LP: #1372276) . [regression] Moving/resizing clients in a nested server is very jerky/stuttery (LP: #1372300) . [regression] Bypass/overlays are toggling constantly (LP: #1373689) . [regression] Mir server uses too much CPU during touch scrolling (LP: #1373809) . Intermittent test failures in TestClientCursorAPI.* (LP: #1342567) . clang emits lots of warnings about lttng headers (LP: #1348472) . [enhancement] Draw input event location (LP: #1323522) . demo shell: Keep
[Touch-packages] [Bug 1373809] Re: [regression] Mir server uses too much CPU during touch scrolling
** Changed in: mir Status: Fix Committed = Fix Released -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1373809 Title: [regression] Mir server uses too much CPU during touch scrolling Status in Mir: Fix Released Status in Mir 0.7 series: Invalid Status in “mir” package in Ubuntu: Invalid Bug description: [regression] Mir server uses too much CPU during touch events. Until recently constant touch events never cause the CPU usage of my Mir server to exceed 50%. However with the latest code it's 80-90% CPU. I'm fairly sure this is caused by my recent change: revno: 1936 [merge] author: Daniel van Vugt daniel.van.v...@canonical.com committer: Tarmac branch nick: development-branch timestamp: Thu 2014-09-25 06:06:57 + message: Fix jerky/stuttering event delivery that could happen inside nested servers sometimes (LP: #1372300) Waiting significantly longer than a frame before consuming previously batched events is too dangerous in slow raw-event environments (nested servers or very slow input devices). It causes frame skipping. . Fixes: https://bugs.launchpad.net/bugs/1372300. Approved by Alexandros Frantzis. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1373809/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1373809] Re: [regression] Mir server uses too much CPU during touch scrolling
Invalid for Ubuntu. The bug was never released (it regressed and was fixed entirely in the 0.8 series before the 0.8.0 release). ** Also affects: mir (Ubuntu) Importance: Undecided Status: New ** Changed in: mir (Ubuntu) Status: New = Invalid -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1373809 Title: [regression] Mir server uses too much CPU during touch scrolling Status in Mir: Fix Committed Status in Mir 0.7 series: Invalid Status in “mir” package in Ubuntu: Invalid Bug description: [regression] Mir server uses too much CPU during touch events. Until recently constant touch events never cause the CPU usage of my Mir server to exceed 50%. However with the latest code it's 80-90% CPU. I'm fairly sure this is caused by my recent change: revno: 1936 [merge] author: Daniel van Vugt daniel.van.v...@canonical.com committer: Tarmac branch nick: development-branch timestamp: Thu 2014-09-25 06:06:57 + message: Fix jerky/stuttering event delivery that could happen inside nested servers sometimes (LP: #1372300) Waiting significantly longer than a frame before consuming previously batched events is too dangerous in slow raw-event environments (nested servers or very slow input devices). It causes frame skipping. . Fixes: https://bugs.launchpad.net/bugs/1372300. Approved by Alexandros Frantzis. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1373809/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp