[Mesa-dev] [PATCH 08/10] drirc: Don't expose 10 bpc visuals/configs to gnome-shell.

Marek Olšák maraeo at gmail.com
Thu Sep 7 15:26:08 UTC 2017


[+ Dave]

We can also ignore gnome-shell in Mesa for now and let the gnome-shell
maintainers fix the issue in gnome-shell.

Marek

On Tue, Sep 5, 2017 at 7:01 AM, Mario Kleiner
<mario.kleiner.de at gmail.com> wrote:
> Set 'expose_rgb10_configs' false when gnome-shell is the
> client.
>
> Gnome-Shell/Wayland (= Mutter drm/kms wayland backend)
> currently can't handle non RGB8 configs. It will treat
> any framebuffer as RGBX8 or RGBA8, so if provided with
> a RGB10A2 or RGB10X2 framebuffer, the compositors
> kms backend will simply pass it to the kernel as RGBX8
> for scanout, resulting in false colors.
>
> Gnome-Shell/X11 displays 10 bpc drawables correctly without
> any color artifacts if X-Screen DefaultDepth 30 is set.
>
> Both Gnome-Shell Wayland and X11 for some reason seem to
> have problems with hit-testing for RGB10 modes, making them
> almost unusable: Neither context menus (right mouse click)
> on the desktop, nor the icons in the dock, nor any part of
> the menu bar at the top, nor any icons on the desktop,
> respond to any mouse clicks. The same problem appears for
> window decorations (resize, move, close of windows via mouse
> impossible).
>
> The same problem happens when testing with the amdgpu-pro
> proprietary OpenGL library in "DefaultDepth 30" mode, and
> with the NVidia proprietary driver with depth 30 mode, so
> this seems to be a problem inside Gnome-Shell, not in Mesa,
> X or Wayland.
>
> Not exposing RGB10 configs keeps Gnome-Shell usable, and
> still allows other X-Clients to do RGB10 rendering if X
> "DefaultDepth 30" is selected.
>
> No such problems happened under Gnome flashback session
> (Metacity), or with Compiz based UI's, or under KDE-5 with
> or without compositing.
>
> Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
> ---
>  src/util/drirc | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/src/util/drirc b/src/util/drirc
> index 30ac9c8..c3170be 100644
> --- a/src/util/drirc
> +++ b/src/util/drirc
> @@ -160,6 +160,10 @@ TODO: document the other workarounds.
>              <option name="glsl_correct_derivatives_after_discard" value="true"/>
>          </application>
>
> +        <application name="gnome-shell" executable="gnome-shell">
> +            <option name="expose_rgb10_configs" value="false"/>
> +        </application>
> +
>          <!-- The GL thread whitelist is below, workarounds are above.
>               Keep it that way. -->
>
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list