Mir

Connecting Xmir to USC fails [std::exception::what: An output ID must be specified from src/server/shell/system_compositor_window_manager.cpp(66)]

Bug #1536815 reported by Josh Arenson
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
New
Undecided
Unassigned
mir (Ubuntu)
New
Undecided
Unassigned
xorg-server (Ubuntu)
Won't Fix
Wishlist
Unassigned

Bug Description

As seen here https://unity.ubuntu.com/mir/using_mir_on_pc.html

I should be able to install ubuntu-desktop-mir and run unity7, but instead I receive the following error:

failed to create a surface: Error processing request: An output ID must be specified
Internal error details: /build/mir-1tnxlh/mir-0.18.1+16.04.20160115/src/server/shell/system_compositor_window_manager.cpp(66): Throw in function virtual mir::frontend::SurfaceId mir::shell::SystemCompositorWindowManager::add_surface(const std::shared_ptr<mir::scene::Session>&, const mir::scene::SurfaceCreationParameters&, const std::function<mir::IntWrapper<mir::frontend::detail::SessionsSurfaceIdTag>(const std::shared_ptr<mir::scene::Session>&, const mir::scene::SurfaceCreationParameters&)>&)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: An output ID must be specified

Tags: xmir
summary: - Unity7 doesn't run under xmir
+ Unity7 doesn't run under xmir [std::exception::what: An output ID must
+ be specified from
+ src/server/shell/system_compositor_window_manager.cpp(66)]
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Unity7 doesn't run under xmir [std::exception::what: An output ID must be specified from src/server/shell/system_compositor_window_manager.cpp(66)]

A weird proposal. I guess this will crash. But it's really an enhancement request to ask for XMir (with Unity7 or anything inside it) to run under Unity System Compositor.

tags: added: xmir
summary: - Unity7 doesn't run under xmir [std::exception::what: An output ID must
- be specified from
+ Connecting Xmir to USC crashes USC [std::exception::what: An output ID
+ must be specified from
src/server/shell/system_compositor_window_manager.cpp(66)]
Changed in xorg-server (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged
summary: - Connecting Xmir to USC crashes USC [std::exception::what: An output ID
- must be specified from
+ Connecting Xmir to USC fails [std::exception::what: An output ID must be
+ specified from
src/server/shell/system_compositor_window_manager.cpp(66)]
description: updated
Changed in xorg-server (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, here's a quick workaround for Xmir to get things going:
https://git.launchpad.net/~xmir-team/xorg-server/+git/xmir/commit/?id=18ee4ec59c1ab47c857205d6abbcdc5881ec2f9b

It's a workaround and not a fix because a proper fix will have to occur in Mir itself. Mir's "system compositor" mode needs to be enhanced to not reject surfaces that don't select and fit a physical display. So this will only work with a single monitor. And it will only work after we figure out this USC issue: bug 1548210

Once Mir gets fixed, the workaround in Xmir should be reverted. And theoretically we could then have multi-monitor Xmir inside Mir.

Changed in xorg-server (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Reverted. I changed my mind; that approach might break Unity8 and others that want a root window in a window.

We need a proper solution. Either:
  (a) Mir understand and accept client windows can be bigger than one output; or
  (b) Xmir chop up the root window and display it as separate surfaces (difficult, lots of work).

Changed in xorg-server (Ubuntu):
status: Fix Committed → Triaged
assignee: Daniel van Vugt (vanvugt) → nobody
Revision history for this message
Reinhard (rkalx93) wrote :

I'm getting this issue on the stable 16.04 Ubuntu. Does this mean Mir should not (cannot) be used in this combination on Xenial ? I merely like to have a test system with similar behaviour as the mobile one as development on PC is much easier than on tablet/phone alone.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The same behaviour as on mobile is:
   Xmir -> Unity8 -> USC
which works.

This bug however is about:
   Xmir -> USC
without any Unity8.

Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in xorg-server (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.