Created by Robert Ancell on 2016-04-28 and last modified on 2016-04-28
Get this branch:
bzr branch lp:~robert-ancell/mir/vt-tty0
Only Robert Ancell can upload to this branch. If you are Robert Ancell please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Robert Ancell

Recent revisions

3483. By Robert Ancell on 2016-04-28

Use /dev/tty0 instead of /dev/console.

For some unknown reason /dev/console doesn't seem to be working in Ubuntu 16.04.
Use /dev/tty0 as that is what logind / LightDM / GDM are using.

3482. By Daniel van Vugt on 2016-04-27

Fix all binaries getting replaced by mir_performance_tests, which would
happen if you do incremental builds (bzr pull without cleaning the
tree before rebuild).

Approved by Alan Griffiths, Cemil Azizoglu, mir-ci-bot, Alberto Aguirre, Andreas Pokorny.

3481. By Alan Griffiths on 2016-04-27

examples: fix racy code that fails to ensure buffers are posted exactly once. Fixes: https://bugs.launchpad.net/bugs/1575211.

Approved by mir-ci-bot, Cemil Azizoglu, Alberto Aguirre.

3480. By Alan Griffiths on 2016-04-27

geometry: Make a load of stuff constexpr.

Approved by mir-ci-bot, Kevin DuBois, Cemil Azizoglu.

3479. By Kevin DuBois on 2016-04-26

client: send incoming asynchronous buffer messages directly to the mcl::Buffer object. Prepares the buffers to be allocated from the connection, instead of a chain/stream.

Change the async protocol a bit too so the RPC channel can manage the async buffers better. The RPC allocate/free buffer calls are not synchronized with the async buffer sending, so the server has to be a bit more explicit about what operation its performing, so the client side rpc channel can clean up the buffers better.

So the notification chains go from:
OBS (buffer_stream):
rpc -> buffer_stream
NBS (buffer_stream):
rpc -> buffer_stream
NBS: (presentation_chain):
rpc -> buffer_stream -> buffer


OBS (buffer_stream):
rpc -> buffer_stream
NBS (buffer_stream):
rpc -> buffer -> buffer_stream
NBS: (presentation_chain):
rpc -> buffer .

Approved by mir-ci-bot, Cemil Azizoglu.

3478. By Chris Halse Rogers on 2016-04-26

Server::run(): Destroy server config after only exception processing has completed.

The server config owns all UniqueModulePtr references to all the loaded platforms.
If the server config is destroyed, then all loaded platforms will be dlclos()ed.

Since we may be handling an exception thrown from one of those DSOs, this is unsafe and can lead to a SIGEGV that appears to be stack corruption as the code it is jumping to has been unloaded.

Fixes: https://bugs.launchpad.net/mir/+bug/1553549. Fixes: https://bugs.launchpad.net/bugs/1553549.

Approved by mir-ci-bot, Daniel van Vugt, Kevin DuBois, Alan Griffiths, Cemil Azizoglu.

3477. By Daniel van Vugt on 2016-04-26

Generalise performance tests:
  * Rename mir_performance_tests to mir_glmark2_performance_test to
    show it is just a client performance test; and
  * Add a replacement script 'mir_performance_tests' that executes
    the old test but also will launch other performance tests in

Approved by Cemil Azizoglu, mir-ci-bot.

3476. By Kevin DuBois on 2016-04-25

client: split off the simpler groundwork code from the larger lp:~kdub/mir/notify-buffers-directly branch to reduce diff size.
1) Plumb through connection-wide the BufferFactory and SurfaceMap for the later branch to use in the BufferStream
2) provide a mechanism to cancel buffer requests in the factory
3) refine locking a bit in SurfaceMap.

Approved by Alan Griffiths, mir-ci-bot, Cemil Azizoglu.

3475. By Alberto Aguirre on 2016-04-22

Add an explicit "Virtual" display type. Fixes LP: #1573782.

Approved by Cemil Azizoglu.

3474. By Alberto Aguirre on 2016-04-22

Remove orphaned screencast sessions on disconnection

When a client disconnects either normally or due to a crash, remove any screencasts associated with the session. Fixes: https://launchpad.net/bugs/1573572

Approved by Cemil Azizoglu, mir-ci-bot.

Branch metadata

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