1. 30 Apr, 2021 2 commits
    • Jonas Ådahl's avatar
      backend/native: Add udev rule to ignore vkms devices · 8989c42d
      Jonas Ådahl authored
      Virtual Kernel Mode Setting (vkms) is a virtual /dev/dri/card* device
      not backed by any actual hardware. It's intended for testing purposes,
      e.g. to run tests suites with a reproducable setup, or in continuous
      integration pipelines.
      
      Currently mutter don't have any tests that can run on top of vkms, but
      will eventually get that. To prepare for the ability to do that, and
      having said kernel module loaded without causing wierd issues with any
      active session, add an udev rule that tells mutter to ignore any vkms
      device.
      
      Otherwise, when vkms is loaded, mutter would detect it, assume it's a
      regular monitor, configure it as such, thus add a region of the stage
      that ends up nowhere, which isn't very helpful. It might also conflict
      with running actual tests that need to interact with vkms if the active
      session has taken control of it.
      
      Part-of: <GNOME/mutter!1740>
      8989c42d
    • Jonas Ådahl's avatar
      udev: Move device tag detection into helper · 4af0f056
      Jonas Ådahl authored
      Part-of: <GNOME/mutter!1740>
      4af0f056
  2. 29 Apr, 2021 4 commits
  3. 27 Apr, 2021 2 commits
  4. 22 Apr, 2021 1 commit
  5. 21 Apr, 2021 1 commit
  6. 19 Apr, 2021 6 commits
    • Jonas Dreßler's avatar
      window-actor-x11: Invalidate paint volume when shadow changes · 99abb086
      Jonas Dreßler authored and Marge Bot's avatar Marge Bot committed
      The shadow size is factored into the paint volume MetaWindowActorX11
      returns in its get_paint_volume() vfunc override, so we should
      invalidate the paint volume every time that shadow might change.
      
      Part-of: <GNOME/mutter!1829>
      99abb086
    • Jonas Dreßler's avatar
      clutter/actor: Invalidate paint volumes of clones when ours changes · 2be30a34
      Jonas Dreßler authored and Marge Bot's avatar Marge Bot committed
      Turns out ClutterClones need a bit of extra handling as always, there's
      currently nothing that invalidates a clones paint volume when the source
      actors paint volume changes.
      
      Since ClutterClones get_paint_volume() implementation simply takes the
      source actors paint volume and returns that, we should make sure they
      are kept in sync and invalidate the clones paint volume as soon as the
      source actor gets its PV invalidated.
      
      Part-of: <GNOME/mutter!1829>
      2be30a34
    • Tim Sabsch's avatar
      Update German translation · af958e06
      Tim Sabsch authored and Administrator's avatar Administrator committed
      af958e06
    • Robert Mader's avatar
      shaped-texture: Apply viewport and rotation in right order · 2ded9c4b
      Robert Mader authored
      When using buffer transforms and viewports together, we currently
      apply the transformation (read: rotation) first, resulting in
      wrong buffer coordinates for viewport source rects.
      
      Flip the order in whitch we apply our matrix transformations.
      
      This can be tested e.g. via:
      `weston-simple-damage --use-viewport --transform=flipped-180`
      
      Part-of: <GNOME/mutter!1832>
      2ded9c4b
    • Robert Mader's avatar
      wayland/subsurface: Avoid placement ops for detached subsurfaces · 6e00e5e6
      Robert Mader authored and Marge Bot's avatar Marge Bot committed
      If a subsurface first gets reordered and afterwards detached from
      the parent before the parent surface got commited, we currently
      would end up reattaching the subsurface to its previous parent.
      
      While clients should avoid this behaviour, it's legit according
      to the spec.
      
      We already prevent similar cases where the subsurface is destroyed -
      extend that check to detaching, which includes the destroy case.
      
      Part-of: <!1831>
      6e00e5e6
    • Robert Mader's avatar
      window-actor/wayland: Cleaner subsurface reordering · f7768874
      Robert Mader authored and Marge Bot's avatar Marge Bot committed
      Currently when reordering subsurfaces, we un- and reparent all child
      actors of the window actor. This is unnecessarily wasteful and
      triggers bugs in clutter. While the underlying issue should be fixed
      eventually, simply reorder the actors with the tools clutter provides
      us with, avoiding those bugs and likely being faster as well.
      
      Part-of: <GNOME/mutter!1831>
      f7768874
  7. 17 Apr, 2021 2 commits
  8. 15 Apr, 2021 4 commits
    • Yuri Chornoivan's avatar
      Update Ukrainian translation · 986ae69f
      Yuri Chornoivan authored and Administrator's avatar Administrator committed
      986ae69f
    • Florian Müllner's avatar
      data: Add back (hidden) shortcuts for vertical navigation · d2a492de
      Florian Müllner authored and Marge Bot's avatar Marge Bot committed
      Users who customized their workspace shortcuts before updating to
      GNOME 40 are experiencing troubles when trying to use the same
      keybinding for the horizontal shortcuts, because of hidden conflicts
      with the vertical ones.
      
      We can address this by registering the old shortcuts with Settings
      without showing them in the UI, so that they are taken into account
      by Settings' conflict resolution.
      
      #1740
      
      Part-of: <!1814>
      d2a492de
    • Aaron Plattner's avatar
      x11: Skip sending redundant CTM change requests · cf8efb58
      Aaron Plattner authored
      The X server generates a property change notification whenever it processes a
      property change request, even if the value of the property is not changing. This
      triggers libgdk to probe all display outputs, which can be slow depending on
      which display driver and hardware are in use.
      
       #0  0x00007f8e4d5e91a0 in XRRUpdateConfiguration () at /usr/lib/libXrandr.so.2
       #1  0x00007f8e505208da in _gdk_x11_screen_size_changed (screen=0x5566e4b7e080, event=0x7ffe0e44bd60) at ../gdk/x11/gdkscreen-x11.c:1199
       #2  0x00007f8e505066d1 in gdk_x11_display_translate_event (translator=0x5566e4b5b110, display=0x5566e4b5b110, event=0x7f8dec001b20, xevent=0x7ffe0e44bd60) at ../gdk/x11/gdkdisplay-x11.c:1201
       #3  0x00007f8e505135a0 in _gdk_x11_event_translator_translate (translator=0x5566e4b5b110, display=0x5566e4b5b110, xevent=0x7ffe0e44bd60) at ../gdk/x11/gdkeventtranslator.c:51
       #4  0x00007f8e50512c97 in gdk_event_source_translate_event (event_source=0x5566e4b764a0, xevent=0x7ffe0e44bd60) at ../gdk/x11/gdkeventsource.c:243
       #5  0x00007f8e50512f57 in _gdk_x11_display_queue_events (display=0x5566e4b5b110) at ../gdk/x11/gdkeventsource.c:341
       #6  0x00007f8e50497644 in gdk_display_get_event (display=0x5566e4b5b110) at ../gdk/gdkdisplay.c:442
       #7  0x00007f8e5051301f in gdk_event_source_dispatch (source=0x5566e4b764a0, callback=0x0, user_data=0x0) at ../gdk/x11/gdkeventsource.c:363
       #8  0x00007f8e516ecf9c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
       #9  0x00007f8e51740a49 in  () at /usr/lib/libglib-2.0.so.0
       #10 0x00007f8e516ec503 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
       #11 0x00007f8e508ef5fd in meta_run_main_loop () at ../src/core/main.c:928
       #12 0x00007f8e508ef60e in meta_run () at ../src/core/main.c:943
       #13 0x00005566e450842a in  ()
       #14 0x00007f8e50649b25 in __libc_start_main () at /usr/lib/libc.so.6
      
      When GNOME is animating a display fade when the night light feature is toggled
      on or off, it sends a lot of change requests for the CTM property in the
      process, which triggers a lot of display probes from gdk. In the case of the
      night light feature, the CTM itself is not actually changing, so these requests
      are redundant. Fix this by caching the CTM value in the MetaOutputXrandr and
      skipping the server requests if it's not being changed.
      
      Fixes: GNOME/gnome-shell#3978
      
      
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Part-of: <GNOME/mutter!1816>
      cf8efb58
    • Aaron Plattner's avatar
      x11: Rename `atom` to `ctm_atom` · aa498dc2
      Aaron Plattner authored
      This makes it clearer exactly what atom this is referring to.
      
      Feedback from GNOME/mutter!1816 (comment 1081588)
      
      
      
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Part-of: <GNOME/mutter!1816>
      aa498dc2
  9. 14 Apr, 2021 18 commits