Bug 1222417

Summary: [sle15sp6] MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER) with 'glxinfo -B' or 'gkt4' commands
Product: [openSUSE] PUBLIC SUSE Linux Enterprise Server 15 SP6 Reporter: Richard Fan <richard.fan>
Component: X.OrgAssignee: Gfx Enterprise Bugs <gfx-enterprise-bugs>
Status: VERIFIED INVALID QA Contact: Gfx Bugs <gfx-bugs>
Severity: Normal    
Priority: P5 - None CC: richard.fan, santiago.zarate, swayammitra.tripathy
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://openqa.suse.de/tests/13957977/modules/gtk4/steps/13
Whiteboard:
Found By: openQA Services Priority:
Business Priority: Blocker: Yes
Marketing QA Status: --- IT Deployment: ---

Description Richard Fan 2024-04-08 06:40:13 UTC
## Description

OS: sle15sp6 79.1

# uname -a
Linux susetest 6.4.0-150600.13-default #1 SMP PREEMPT_DYNAMIC Fri Apr  5 02:31:02 UTC 2024 (80962db) x86_64 x86_64 x86_64 GNU/Linux

----

glxinfo -B command gets below output, is it expect? can we ignore the error messages?

[PLEASE let me know if you need access into my setup to debug]

#glxinfo -B
MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
glx: failed to create drisw screen
failed to load driver: zink
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 17.0.6, 256 bits) (0xffffffff)
    Version: 23.3.4
    Accelerated: no
    Video memory: 1651MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.3.4
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.3.4
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

-----------------------------------------

Our openQA test 'gtk4' can also hit the error messages in xterm. 


## openQA automation tests Observation


openQA test in scenario sle-15-SP6-Online-x86_64-toolkits@64bit fails in
[gtk4](https://openqa.suse.de/tests/13957977/modules/gtk4/steps/13)

## Test suite description
Maintainer: dheidler@suse.de Test GUI Toolkits.
Now job dependency has changed to `START_AFTER_TEST=create_hdd_gnome_autoyast`, see poo#128339
========================

# rpm -qi Mesa-23.3.4-150600.81.2.x86_64
Name        : Mesa
Version     : 23.3.4
Release     : 150600.81.2
Architecture: x86_64
Install Date: Sat 06 Apr 2024 06:33:26 AM EDT
Group       : System/Libraries
Size        : 9589
License     : MIT
Signature   : RSA/SHA256, Fri 08 Mar 2024 03:03:39 PM EST, Key ID f74f09bc3fa1d6ce
Source RPM  : Mesa-23.3.4-150600.81.2.src.rpm
Build Date  : Fri 08 Mar 2024 03:02:23 PM EST
Build Host  : h01-ch2d
Relocations : (not relocatable)
Packager    : https://www.suse.com/
Vendor      : SUSE LLC <https://www.suse.com/>
URL         : https://www.mesa3d.org
Summary     : System for rendering 3-D graphics
Description :
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL.* To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc.(SGI). However, the author does not possess an
OpenGL license from SGI, and makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with SGI. Those who
want a licensed implementation of OpenGL should contact a licensed
vendor.

Please do not refer to the library as MesaGL (for legal reasons). It's
just Mesa or The Mesa 3-D graphics library.

* OpenGL is a trademark of Silicon Graphics Incorporated.
Distribution: SUSE Linux Enterprise 15

===================================================================




## Reproducible

Fails since (at least) Build [59.2](https://openqa.suse.de/tests/13634930)


## Expected result

Last good: (unknown) (or more recent)


## Further details

Always latest result in this scenario: [latest](https://openqa.suse.de/tests/latest?arch=x86_64&distri=sle&flavor=Online&machine=64bit&test=toolkits&version=15-SP6)
Comment 1 Richard Fan 2024-04-08 07:55:02 UTC
I am not sure it has something to do with https://gitlab.freedesktop.org/mesa/mesa/-/issues/10293
Comment 2 Stefan Dirsch 2024-04-08 11:02:42 UTC
It's an error message, which can be completely ignored.

It's this one

  https://gitlab.freedesktop.org/mesa/mesa/-/issues/10802

I addressed this with Mesa for Tumbleweed.

-------------------------------------------------------------------
Tue Mar 19 12:59:16 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

- 0010-glx-silence-more-implicit-load-zink-errors.patch 
  * glx: silence more implicit-load zink errors [gitlab mesa issue #10802]

-------------------------------------------------------------------
Tue Mar 19 02:20:03 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

- 0001-loader-delete-unused-param-from-pipe_loader_sw_probe.patch,
  0002-glx-fix-some-indentation.patch,
  0003-glx-add-an-implicit-param-to-createScreen.patch,
  0004-glx-pass-implicit-load-param-through-allocation.patch,
  0005-dri-plumb-a-implicit-param-through-createNewScreen-i.patch,
  0006-gbm-plumb-an-implicit-param-through-device-creation.patch,
  0007-frontends-dri-plumb-an-implicit-param-through-screen.patch,
  0008-pipe-loader-plumb-a-flag-for-implicit-driver-load-th.patch,
  0009-zink-don-t-print-error-messages-when-failing-an-impl.patch
  * get rid of error message:
    'MESA: error: ZINK: vkEnumeratePhysicalDevices failed
    (VK_ERROR_INITIALIZATION_FAILED)' 
    [gitlab mesa issue #10802]

As you can see these are a bunch of patches and I'm scared adding these also still for SP6. I'm afraid I might introduce a regression. Still these patches are not in any release. Hopefully in Mesa 24.1.x.
Comment 3 Stefan Dirsch 2024-04-08 11:03:36 UTC
What's the issue with that? Are you parsing the output of an OpenGL program or what?
Comment 4 Richard Fan 2024-04-08 11:16:06 UTC
(In reply to Stefan Dirsch from comment #3)
> What's the issue with that? Are you parsing the output of an OpenGL program
> or what?

Thanks Stefan for the feedback!

Actually, our automation test 'gtk4' program can print these error messages. and I am not sure if they can be ignored. however so far no function impact seen. 

It should be great if the error messages can be hidden as you did for TW :).
Comment 5 Stefan Dirsch 2024-04-08 11:30:42 UTC
(In reply to Richard Fan from comment #4)
> (In reply to Stefan Dirsch from comment #3)
> > What's the issue with that? Are you parsing the output of an OpenGL program
> > or what?
> 
> Thanks Stefan for the feedback!
> 
> Actually, our automation test 'gtk4' program can print these error messages.
> and I am not sure if they can be ignored. however so far no function impact
> seen. 
> 
> It should be great if the error messages can be hidden as you did for TW :).

As said these error message can be safely ignored. 

Since OpenQA has not native GL driver, Mesa now tries a fallback via zink (OpenGL over Vulkan), but since there is not native Vulkan driver either, this fails as well and in the end there is the fallback to the swrast GL driver. So behaviour is fine, just too much confusing error messages ...
Comment 6 Stefan Dirsch 2024-04-08 11:31:19 UTC
So can we close this ticket?
Comment 7 Swayammitra Tripathy 2024-04-08 12:29:26 UTC
Hello Stefan,

As discussed with Richard ,this ticket can be set to Resolved .
Comment 8 Stefan Dirsch 2024-04-08 12:55:13 UTC
Ok. Will do so.
Comment 9 Richard Fan 2024-04-09 00:57:56 UTC
(In reply to Stefan Dirsch from comment #8)
> Ok. Will do so.

Thanks