Further notes... The issue seems to occur on frames where some but not
all of the outputs are dirty. So one output makes it through to callback
(sna_xmir_copy_to_mir), but the other does not:

_X_EXPORT void
xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_window_proc 
callback)
{
    xmir_window *xmir_win, *tmp_win;
    xorg_list_for_each_entry_safe(xmir_win, tmp_win, &xmir->damage_list, 
link_damage) {
        if (xmir_window_has_free_buffer(xmir_win) &&
            xmir_window_is_dirty(xmir_win))
            (*callback)(xmir_win, xmir_window_get_dirty(xmir_win));
    }
}

XMir is intentionally designed to only redraw dirty outputs. So not all
get swapped every frame. I wonder however if that is somehow
incompatible with how the intel DDX works?

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/1216472

Title:
  [xmir] [multimonitor] Frames eventually get slightly out of order,
  look like glitches or typing will feel slow

Status in Mir:
  Invalid
Status in XMir:
  In Progress
Status in “mir” package in Ubuntu:
  Invalid
Status in “xorg-server” package in Ubuntu:
  Confirmed

Bug description:
  Using ppa:mir-team/qa-testing and ppa:mir-team/qa-testing2, eventually
  the frames you see get slightly out of order and slightly lagged.

  I've only ever seen this bug in ppa:mir-team/qa-testing and ppa:mir-
  team/qa-testing2 so there's a reasonable chance it's come from one of
  the branches being tested there, which are not on trunk yet.

  The issue seems more pronounced with bypass (qa-testing) but
  eventually appears using qa-testing2 as well (no bypass).

  It doesn't seem to happen when using a single monitor. Only with
  multiple monitors. But possibly haven't tested enough to be sure.

  TEST CASE:
  Open a terminal in XMir and hold down a key.
  Expected: Key appears to repeat smoothly.
  Observed: Key sometimes appears to skip one character/frame ahead, and then 
back again.

  WORKAROUND (1)
  1. sudo apt-get install compizconfig-settings-manager
  2. ccsm &
  3. CCSM > OpenGL > (untick everything except maybe "Sync To VBlank")

  WORKAROUND (2)
  Use simpler single buffering desktop environment, like Xfce.

  WORKAROUND (3)
  Unplug all external monitors. Use a single monitor :(

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1216472/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to