Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1847064

Summary: gnome-shell black screen on S390x
Product: Red Hat Enterprise Linux 8 Reporter: Ben Crocker <bcrocker>
Component: mesaAssignee: Ben Crocker <bcrocker>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 8.3CC: airlied, csoriano, fmuellner, hannsj_uhl, jadahl, jkoten, jwboyer, lmanasko, mboisver, mclasen, sbarcomb, tpelka, tpopela
Target Milestone: rcKeywords: Regression
Target Release: 8.3Flags: pm-rhel: mirror+
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:28:58 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1842946    
Attachments:
Description Flags
bisect log
none
commit e6b2af56cb0
none
TGSI
none
NIR
none
Possible patch/workaround to go back to TGSI on big-endian arch
none
S390x tri NIR
none
For comparison, ppc64le tri NIR
none
Latest S390x NIR output
none
Latest ppc64le NIR output
none
s390x vncserver with gnome none

Description Ben Crocker 2020-06-15 14:46:31 UTC
Description of problem:

I installed the latest RHEL 8.3 build on an S390x machine (ibm-z-102)
plus gnome-shell and tigervnc.  I started up VNC and connected to the
machine w/ vncviewer, only to get a black screen.


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

kernel 4.18.0-212 (note, machine originally provisioned w/ 8.2.1-20200609;
upgraded via dnf distro-sync)
tigervnc     1.10.1-2, later 1.9.0-9
gnome-shell  3.32.2-16

How reproducible:

100%


Steps to Reproduce:
1.
2.
3.

Actual results:

Black screen

Expected results:

gnome-shell starts up normally and shows Activities menu.

Additional info:

Comment 6 Matthias Clasen 2020-06-16 12:38:38 UTC
did this work before ?

Comment 7 Florian Müllner 2020-06-16 12:45:12 UTC
Does this setup work on different arches?

Comment 8 Michael Boisvert 2020-06-16 12:46:27 UTC
(In reply to Florian Müllner from comment #7)
> Does this setup work on different arches?

Works on x86_64 on latest RHEL 8.3.

Comment 9 Ben Crocker 2020-06-16 15:20:45 UTC
Works on Power and ARM.

Comment 12 Ben Crocker 2020-06-20 20:39:44 UTC
This BZ is somewhat reminiscent of several BZs that Ray Strode, Tom
Stellard, and I worked on in 2017:

https://bugs.freedesktop.org/show_bug.cgi?id=100613
Regression in Mesa 17 on s390x

https://bugzilla.redhat.com/show_bug.cgi?id=1438891
Black output on ppc64 and s390x

https://bugzilla.redhat.com/show_bug.cgi?id=1445423
blue shadows on ppc64 and s390x

https://bugzilla.redhat.com/show_bug.cgi?id=1456040
Black output on ppc64 and s390x

Fortunately, at that time glxgears served as a bellweather to pinpoint
bad behavior in Mesa's llvmpipe.

And fortunately, glxgears appears to serve in the same capacity today.

For today's purposes, glxgears exhibits three different behaviors
depending on the underlying version of Mesa:

1) correct display;
2) broken geometry: gears are recognizable, but lighting,
   orientations, and rotation look wrong;
3) totally random-looking 2D trash.

I bisected Mesa between 19.3-branchpoint, which exhibited behavior #2
(broken geometry; later versions 19.3.x show correct behavior), and
20.0-branchpoint; see the attached bisect log.

The bisection pointed to commit e6b2af56cb0 (attached), which enabled
NIR as the default IR (preferred over TGSI).

I did a Mesa 20.1.1 debug build, and ran the following tests:

LP_DEBUG=tgsi_ir GALLIVM_DEBUG="ir asm" glxgears >& tgsi.out
GALLIVM_DEBUG="ir asm" glxgears >& nir.out

The respective output files are posted below.

With NIR (and running metacity as the window manager), glxgears
exhibited behavior #3, i.e. random 2D trash.

But with TGSI, glxgears displayed correctly; AND, as a bonus,
gnome-shell is back to working, too!

The problem of making NIR work for big-endian remains, however.

Comment 13 Ben Crocker 2020-06-20 20:41:19 UTC
Created attachment 1698209 [details]
bisect log

Comment 14 Ben Crocker 2020-06-20 20:42:12 UTC
Created attachment 1698210 [details]
commit e6b2af56cb0

Comment 15 Ben Crocker 2020-06-20 20:43:10 UTC
Created attachment 1698211 [details]
TGSI

Comment 16 Ben Crocker 2020-06-20 20:44:12 UTC
Created attachment 1698212 [details]
NIR

Comment 17 Ben Crocker 2020-06-20 20:45:50 UTC
Created attachment 1698213 [details]
Possible patch/workaround to go back to TGSI on big-endian arch

Comment 18 Ben Crocker 2020-06-22 04:55:16 UTC
Created attachment 1698255 [details]
S390x tri NIR

Here is the NIR output from the Mesa demos trivial/tri program.

This program draws a smooth-shaded triangle on a dim purplish
background (r = 0.3, g = 0.1, b = 0.3, a = 0.0)
using just glBegin/glColor3f/glVertex3f/glEnd to draw the vertices in
counterclockwise order:

x0 = -0.9  y0 = -0.9  z = -30.0  r = 0.8  g = 0    b = 0
x1 =  0.9  y1 = -0.9  z = -30.0  r = 0    g = 0.9  b = 0
x2 =  0.0  y2 =  0.9  z = -30.0  r = 0    g = 0    b = 0.7

So, red on lower left, green on lower right, and blue on top.

Comment 19 Ben Crocker 2020-06-22 04:57:05 UTC
Created attachment 1698256 [details]
For comparison, ppc64le tri NIR

For the sake of comparison, here is the NIR output from the same
Mesa demos trivial/tri program.

Comment 20 Ben Crocker 2020-06-22 05:00:01 UTC
(In reply to Ben Crocker from comment #18)
> Created attachment 1698255 [details]
> S390x tri NIR
> 
> Here is the NIR output from the Mesa demos trivial/tri program.
> 
> This program draws a smooth-shaded triangle on a dim purplish
> background (r = 0.3, g = 0.1, b = 0.3, a = 0.0)
> using just glBegin/glColor3f/glVertex3f/glEnd to draw the vertices in
> counterclockwise order:
> 
> x0 = -0.9  y0 = -0.9  z = -30.0  r = 0.8  g = 0    b = 0
> x1 =  0.9  y1 = -0.9  z = -30.0  r = 0    g = 0.9  b = 0
> x2 =  0.0  y2 =  0.9  z = -30.0  r = 0    g = 0    b = 0.7
> 
> So, red on lower left, green on lower right, and blue on top.

Sorry, forgot to mention: at this moment, this program only draws
the background, no triangle.

Comment 23 Ben Crocker 2020-06-25 21:07:46 UTC
Created attachment 1698860 [details]
Latest S390x NIR output

Note the small number of lines beginning with "input"

Comment 24 Ben Crocker 2020-06-25 21:09:51 UTC
Created attachment 1698861 [details]
Latest ppc64le NIR output

Note the LARGE number of lines beginning with "input"

Comment 25 Dave Airlie 2020-06-28 23:24:58 UTC
Upstream fix merged:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5677

Built locally.

Comment 29 Michael Boisvert 2020-07-08 16:42:29 UTC
Created attachment 1700331 [details]
s390x vncserver with gnome

I can successfully begin a vncserver on s390x "Server with GUI" without a black screen and it works as expected.

Comment 32 errata-xmlrpc 2020-11-04 03:28:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (userspace graphics, xorg-x11, and mesa bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:4742