1. 14 Feb, 2018 9 commits
  2. 11 Feb, 2018 1 commit
  3. 06 Feb, 2018 2 commits
    • Mario Kleiner's avatar
      glx: Only assign 8 bpc fbconfigs for composite visuals. · bebcc847
      Mario Kleiner authored
      Commit 91c42093 ("glx: Duplicate relevant fbconfigs for
      compositing visuals") adds many new depth 32 fbconfigs as
      composite visuals. On a X-Screen running at depth 24, this
      also adds bgra 10-10-10-2 fbconigs, as they also have
      config.rgbBits == 32, but these are not displayable on a
      depth 24 screen, leading to visually corrupted desktops
      under some compositors, e.g., fdo bug 104597 "Compton
      weird colors" when running compton with
      "compton --backend glx".
      
      Be more conservative for now and only select fbconfigs with
      8 bpc red, green, blue components for composite visuals.
      
      Fixes: 91c42093 ("glx: Duplicate relevant fbconfigs for
                            compositing visuals")
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      bebcc847
    • Lyude Paul's avatar
      xwayland: Don't process cursor warping without an xwl_seat · 98edb9a3
      Lyude Paul authored
      Unfortunately, on my machine Xwayland immediately crashes when I try to
      start it. gdb backtrace:
      
       #0  0x00007ffff74f0e79 in wl_proxy_marshal () from target:/lib64/libwayland-client.so.0
       #1  0x0000000000413172 in zwp_confined_pointer_v1_destroy (zwp_confined_pointer_v1=0x700000000)
           at hw/xwayland/Xwayland@exe/pointer-constraints-unstable-v1-client-protocol.h:612
       #2  0x0000000000418bc0 in xwl_seat_destroy_confined_pointer (xwl_seat=0x8ba2a0)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2839
       #3  0x0000000000418c09 in xwl_seat_unconfine_pointer (xwl_seat=0x8ba2a0)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2849
       #4  0x0000000000410d97 in xwl_cursor_confined_to (device=0xa5a000, screen=0x8b9d80, window=0x9bdb70)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland.c:328
       #5  0x00000000004a8571 in ConfineCursorToWindow (pDev=0xa5a000, pWin=0x9bdb70, generateEvents=1,
           confineToScreen=0) at /home/lyudess/Projects/xserver/dix/events.c:900
       #6  0x00000000004a94b7 in ScreenRestructured (pScreen=0x8b9d80)
           at /home/lyudess/Projects/xserver/dix/events.c:1387
       #7  0x0000000000502386 in RRScreenSizeNotify (pScreen=0x8b9d80)
           at /home/lyudess/Projects/xserver/randr/rrscreen.c:160
       #8  0x000000000041a83c in update_screen_size (xwl_output=0x8e7670, width=3840, height=2160)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:203
       #9  0x000000000041a9f0 in apply_output_change (xwl_output=0x8e7670)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:252
       #10 0x000000000041aaeb in xdg_output_handle_done (data=0x8e7670, xdg_output=0x8e7580)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:307
       #11 0x00007ffff50e9d1e in ffi_call_unix64 () at ../src/x86/unix64.S:76
       #12 0x00007ffff50e968f in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>,
           avalue=<optimized out>) at ../src/x86/ffi64.c:525
       #13 0x00007ffff74f3d8b in wl_closure_invoke () from target:/lib64/libwayland-client.so.0
       #14 0x00007ffff74f0928 in dispatch_event.isra () from target:/lib64/libwayland-client.so.0
       #15 0x00007ffff74f1be4 in wl_display_dispatch_queue_pending () from target:/lib64/libwayland-client.so.0
       #16 0x00007ffff74f200b in wl_display_roundtrip_queue () from target:/lib64/libwayland-client.so.0
       #17 0x0000000000418cad in InitInput (argc=12, argv=0x7fffffffd9c8)
           at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2867
       #18 0x00000000004a20e3 in dix_main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
           at /home/lyudess/Projects/xserver/dix/main.c:250
       #19 0x0000000000420cb2 in main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
          at /home/lyudess/Projects/xserver/dix/stubmain.c:34
      
      This appears to be the result of xwl_cursor_confined_to() and
      xwl_screen_get_default_seat(). While not against protocol, mutter ends
      up sending xdg_output before wl_seat. xwl_screen_get_default_seat()
      makes the naïve assumption that we always have a valid seat, we end up
      returning a pointer to the empty list itself instead of an actual seat
      and causing ourselves to segfault.
      
      So, actually return NULL in xwl_screen_get_default_seat() if the seat
      list is empty, and skip any pointer confinement processing in
      xwl_cursor_confined_to() when we don't have a seat setup yet.
      Signed-off-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      98edb9a3
  4. 05 Feb, 2018 3 commits
  5. 02 Feb, 2018 6 commits
  6. 01 Feb, 2018 3 commits
  7. 31 Jan, 2018 2 commits
  8. 29 Jan, 2018 6 commits
  9. 25 Jan, 2018 4 commits
  10. 24 Jan, 2018 4 commits