Bug 1426549

Summary: mesa-dri-drivers 13.0.3 breaks guest 3D acceleration
Product: [Fedora] Fedora Reporter: Christophe de Dinechin <dinechin>
Component: mesaAssignee: Adam Jackson <ajax>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: ajax, fschwarz, ignatenko, marcandre.lureau
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-02 17:14:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Description Flags
Running glxgears in Fedora 25 guest after mesa-dri-drivers update none

Description Christophe de Dinechin 2017-02-24 09:26:34 UTC
Created attachment 1257184 [details]
Running glxgears in Fedora 25 guest after mesa-dri-drivers update

Description of problem:

Updating mesa-dri-drivers to version 13.0.3 makes 3D rendering in guests totally garbled, see attachment for an example. It looks like the wrong buffer is sent to the screen.

Version-Release number of selected component (if applicable):

mesa-dri-drivers 13.0.3-5.fc25 is broken.
mesa-dri-drivers 12.0.3-3.fc25 (the one selected by dnf downgrade) works

How reproducible: Always

Steps to Reproduce:

1. Install a Fedora 25 guest with virtio and 3D acceleration enabled. See this post https://redskincat.wordpress.com/2017/02/16/virtualized-accelerated-3d-is-complicated/#more-1082 for information on how I installed it.

2. Run glxgears -info and verify that
  a. You have a Gallium / virtgl rendering
  b. Rendering is correct

3. Update the guest with dnf update, or simply mesa-dri-drivers (which brings meas-filesystem with it).

4. Run glxgears -info again, and verify that:
  a. There are error messages on the console from MESA-LOADER
  b. The window output is garbled

Actual results:

Garbled window, with, most often, remnants of some other part of the screen

Expected results:

Glxgears in its beautiful 3-color glory

Additional info:

Comment 1 Christophe de Dinechin 2017-03-02 11:46:17 UTC
Fixed in current mesa master.

Checked out mesa from git, version c0e9e61c9a1.

./configure --prefix=/usr --enable-libglvnd --enable-selinux --enable-gallium-osmesa --with-dri-driverdir=/usr/lib64/dri --enable-gl --disable-gles1 --enable-gles2 --disable-xvmc --with-egl-platforms=drm,x11,surfaceless,wayland --enable-shared-glapi --enable-gbm --enable-glx-tls --enable-texture-float=yes --enable-gallium-llvm --enable-llvm-shared-libs --enable-dri --with-gallium-drivers=i915,nouveau,r300,svga,swrast,virgl --with-dri-drivers=swrast,nouveau


The resulting version works.

Comment 2 Marc-Andre Lureau 2017-03-02 12:12:49 UTC
commit c0e9e61c9a1eaaee9ca4dfc2f05da85a791c4c5d
Author: Kenneth Graunke <kenneth>
Date:   Tue Feb 28 11:48:51 2017 -0800

    mesa: Drop unused STATE_TEXRECT_SCALE program statevars.

Unlikely to be the fixed,

Could you bisect the commit that fixed it (for you)? thanks

Comment 3 Christophe de Dinechin 2017-03-02 14:16:42 UTC
(In reply to Marc-Andre Lureau from comment #2)
> commit c0e9e61c9a1eaaee9ca4dfc2f05da85a791c4c5d
> Unlikely to be the fixed,
> Could you bisect the commit that fixed it (for you)? thanks

Yes, bisect is in progress. I got confused because git does not deal correctly with finding the "first good fix", so I had to swap "good" and "bad".

Comment 4 Christophe de Dinechin 2017-03-02 17:13:27 UTC
The actual fix seems to be dc2d9b8da14b97376cca9c87e2408763b11bdaa7.

This seems to match the fix for https://bugzilla.redhat.com/show_bug.cgi?id=1417932. I was not sure this was the same thing, because the symptoms were different (garbage on screen instead of black windows). But I now believe the two problems are duplicates.

Comment 5 Christophe de Dinechin 2017-03-02 17:14:00 UTC

*** This bug has been marked as a duplicate of bug 1417932 ***