System compositor not aware of VT
Bug #1102758 reported by
Robert Ancell
on 2013-01-22
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Mir |
Fix Released
|
High
|
Alexandros Frantzis |
Bug Description
System compositor not aware of VT. It should correctly handle being switched away from and only take input when active.
Related branches
lp:~afrantzis/mir/vt-switching-1
- PS Jenkins bot (community): Approve (continuous-integration) on 2013-04-12
- Daniel van Vugt: Abstain on 2013-04-12
- Robert Carr (community): Approve on 2013-04-11
- Kevin DuBois (community): Approve on 2013-04-11
- Robert Ancell: Pending requested 2013-04-11
-
Diff: 1824 lines (+935/-65)33 files modifiedinclude/server/mir/graphics/display.h (+11/-0)
include/test/mir_test_doubles/mock_display.h (+5/-0)
include/test/mir_test_doubles/null_display.h (+7/-0)
include/test/mir_test_doubles/null_virtual_terminal.h (+47/-0)
src/server/display_server.cpp (+12/-0)
src/server/graphics/android/android_display.cpp (+15/-0)
src/server/graphics/android/android_display.h (+8/-0)
src/server/graphics/gbm/CMakeLists.txt (+1/-0)
src/server/graphics/gbm/gbm_display.cpp (+31/-3)
src/server/graphics/gbm/gbm_display.h (+12/-2)
src/server/graphics/gbm/gbm_display_buffer.cpp (+17/-2)
src/server/graphics/gbm/gbm_display_buffer.h (+4/-0)
src/server/graphics/gbm/gbm_display_helpers.cpp (+40/-0)
src/server/graphics/gbm/gbm_display_helpers.h (+3/-0)
src/server/graphics/gbm/gbm_platform.cpp (+9/-4)
src/server/graphics/gbm/gbm_platform.h (+7/-2)
src/server/graphics/gbm/linux_virtual_terminal.cpp (+180/-0)
src/server/graphics/gbm/linux_virtual_terminal.h (+67/-0)
src/server/graphics/gbm/virtual_terminal.h (+55/-0)
tests/behavior-tests/session_management_context.cpp (+9/-0)
tests/integration-tests/test_display_server_main_loop_events.cpp (+178/-0)
tests/integration-tests/test_surfaceloop.cpp (+7/-0)
tests/mir_test_framework/testing_server_options.cpp (+7/-0)
tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+7/-0)
tests/unit-tests/graphics/gbm/mock_drm.cpp (+10/-0)
tests/unit-tests/graphics/gbm/mock_drm.h (+3/-0)
tests/unit-tests/graphics/gbm/test_gbm_buffer.cpp (+4/-1)
tests/unit-tests/graphics/gbm/test_gbm_buffer_allocator.cpp (+3/-1)
tests/unit-tests/graphics/gbm/test_gbm_display.cpp (+117/-31)
tests/unit-tests/graphics/gbm/test_gbm_display_configuration.cpp (+13/-6)
tests/unit-tests/graphics/gbm/test_gbm_display_multi_monitor.cpp (+12/-5)
tests/unit-tests/graphics/gbm/test_gbm_platform.cpp (+18/-5)
tests/unit-tests/graphics/test_graphics_platform.cpp (+16/-3)
lp:~afrantzis/mir/vt-switching
- Daniel van Vugt: Needs Fixing on 2013-04-11
- Robert Ancell: Approve on 2013-04-11
- Robert Carr (community): Needs Information on 2013-04-10
- PS Jenkins bot (community): Approve (continuous-integration) on 2013-04-10
-
Diff: 2053 lines (+1049/-51)44 files modifiedinclude/server/mir/graphics/display.h (+3/-0)
include/server/mir/graphics/platform.h (+12/-1)
include/server/mir/server_configuration.h (+2/-0)
include/test/mir_test_doubles/mock_display.h (+2/-0)
include/test/mir_test_doubles/null_display.h (+2/-0)
include/test/mir_test_doubles/null_virtual_terminal.h (+47/-0)
src/server/display_server.cpp (+18/-1)
src/server/graphics/android/android_display.cpp (+8/-0)
src/server/graphics/android/android_display.h (+3/-0)
src/server/graphics/android/android_platform.cpp (+15/-0)
src/server/graphics/android/android_platform.h (+6/-0)
src/server/graphics/gbm/CMakeLists.txt (+1/-0)
src/server/graphics/gbm/gbm_display.cpp (+17/-3)
src/server/graphics/gbm/gbm_display.h (+7/-2)
src/server/graphics/gbm/gbm_display_buffer.cpp (+17/-2)
src/server/graphics/gbm/gbm_display_buffer.h (+4/-0)
src/server/graphics/gbm/gbm_display_helpers.cpp (+41/-0)
src/server/graphics/gbm/gbm_display_helpers.h (+3/-0)
src/server/graphics/gbm/gbm_platform.cpp (+27/-3)
src/server/graphics/gbm/gbm_platform.h (+12/-2)
src/server/graphics/gbm/linux_virtual_terminal.cpp (+180/-0)
src/server/graphics/gbm/linux_virtual_terminal.h (+67/-0)
src/server/graphics/gbm/virtual_terminal.h (+55/-0)
tests/behavior-tests/session_management_context.cpp (+3/-0)
tests/integration-tests/cucumber/test_session_management_context.cpp (+1/-0)
tests/integration-tests/graphics/gbm/test_buffer_integration.cpp (+9/-0)
tests/integration-tests/test_display_info.cpp (+8/-0)
tests/integration-tests/test_display_server_main_loop_events.cpp (+233/-0)
tests/integration-tests/test_drm_auth_magic.cpp (+9/-0)
tests/integration-tests/test_surfaceloop.cpp (+20/-0)
tests/mir_test_framework/testing_server_options.cpp (+12/-0)
tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+3/-0)
tests/unit-tests/frontend/test_session_mediator.cpp (+9/-0)
tests/unit-tests/frontend/test_session_mediator_android.cpp (+9/-0)
tests/unit-tests/frontend/test_session_mediator_gbm.cpp (+9/-0)
tests/unit-tests/graphics/gbm/mock_drm.cpp (+10/-0)
tests/unit-tests/graphics/gbm/mock_drm.h (+3/-0)
tests/unit-tests/graphics/gbm/test_gbm_buffer.cpp (+4/-1)
tests/unit-tests/graphics/gbm/test_gbm_buffer_allocator.cpp (+3/-1)
tests/unit-tests/graphics/gbm/test_gbm_display.cpp (+24/-16)
tests/unit-tests/graphics/gbm/test_gbm_display_configuration.cpp (+13/-6)
tests/unit-tests/graphics/gbm/test_gbm_display_multi_monitor.cpp (+12/-5)
tests/unit-tests/graphics/gbm/test_gbm_platform.cpp (+90/-5)
tests/unit-tests/graphics/test_graphics_platform.cpp (+16/-3)
Daniel van Vugt (vanvugt) wrote : | #1 |
Daniel van Vugt (vanvugt)
on 2013-02-14
tags: | added: vt |
Robert Ancell (robert-ancell)
on 2013-03-05
Changed in mir: | |
assignee: | nobody → Robert Ancell (robert-ancell) |
status: | Triaged → In Progress |
Robert Ancell (robert-ancell) wrote : | #2 |
This is blocked by bug #1108725
Daniel van Vugt (vanvugt)
on 2013-03-08
information type: | Proprietary → Public |
Daniel van Vugt (vanvugt) wrote : | #3 |
Robert -
Bug 1108725 blocking this work looks like it will have a fix landing soon. So you'll be able to finish this, in theory.
Daniel van Vugt (vanvugt)
on 2013-04-03
Changed in mir: | |
milestone: | none → 0.0.3 |
Alexandros Frantzis (afrantzis)
on 2013-04-05
Changed in mir: | |
assignee: | Robert Ancell (robert-ancell) → Alexandros Frantzis (afrantzis) |
PS Jenkins bot (ps-jenkins) wrote : | #4 |
Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.0.3
Changed in mir: | |
status: | In Progress → Fix Committed |
Daniel van Vugt (vanvugt) wrote : | #5 |
I'm tempted to say this is not fixed because switching does not work yet. But instead I've logged a new bug 1169034.
Robert Ancell (robert-ancell)
on 2013-05-15
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Even worse... if mir loses the VT then it also loses vsync and pins a CPU at 100% CPU. Because it has no "idle mode" and currently busy waits, slowed only by vsync.