NetBSD Problem Report #58710

From www@netbsd.org  Mon Sep 30 02:14:34 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits)
	 client-signature RSA-PSS (2048 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id D7CB71A923B
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 30 Sep 2024 02:14:34 +0000 (UTC)
Message-Id: <20240930021433.4880F1A923D@mollari.NetBSD.org>
Date: Mon, 30 Sep 2024 02:14:33 +0000 (UTC)
From: pfr@sdf.org
Reply-To: pfr@sdf.org
To: gnats-bugs@NetBSD.org
Subject: amdgpu kernel bug -- modesetting driver GL Rendering failure
X-Send-Pr-Version: www-1.0

>Number:         58710
>Category:       kern
>Synopsis:       amdgpu kernel bug -- modesetting driver GL Rendering failure
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Sep 30 02:15:00 +0000 2024
>Last-Modified:  Tue Oct 01 18:55:02 +0000 2024
>Originator:     David
>Release:        NetBSD 10.0 amd64
>Organization:
>Environment:
NetBSD desktop.local 10.0 NetBSD 10.0 (MYKERNEL) #0: Sat Sep  7 22:38:21 AEST 2024  dave@desktop.local:/usr/src/sys/arch/amd64/compile/MYKERNEL amd64
>Description:
I've rebuilt the kernel to get the system to support amdgpu. The only modifications made were uncommenting the 2 amdgpu lines and commenting out the 2 radeon lines. Additionally I uncommended the DEBUG, DIAGNOSTIC, and LOCKDEBUG lines.

My GPU is: AMD Radeon RX 570 Series

Any GL rendered apps report errors when launching:

Firefox:

```
~ $ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.462674) [GFX1-]: glxtest: DRM device has no render node
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.462674) |[1][GFX1-]: glxtest: Cannot find DRM device (t=0.462784) [GFX1-]: glxtest: Cannot find DRM device
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
EE ../src/gallium/drivers/radeonsi/si_state_shaders.c:2226 si_build_shader_variant - Failed to build shader variant (type=0)
ac_rtld error: !data || data->d_size != shdr->sh_size
LLVM failed to upload shader
```

```
~ $ firefox --MOZ_LOG=Dmabuf:5
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.520564) [GFX1-]: glxtest: DRM device has no render node
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.520564) |[1][GFX1-]: glxtest: Cannot find DRM device (t=0.520684) [GFX1-]: glxtest: Cannot find DRM device
[Parent 13098: Main Thread]: D/Dmabuf DMABufDevice::Configure()
[Parent 13098: Main Thread]: D/Dmabuf Loading DMABuf system library libgbm.so.1 ...
[Parent 13098: Main Thread]: D/Dmabuf Failed to load libdrm.so.2, dmabuf isn't available.
[Parent 13098: Main Thread]: D/Dmabuf GbmLib is not available!
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
```


GLXINFO:

```
~ $ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD Radeon RX 570 Series (POLARIS10, DRM 3.36.0, 10.0, LLVM 13.0.0) (0x67df)
    Version: 19.1.17
    Accelerated: yes
    Video memory: 4096MB
    Unified memory: no
    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
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 3917 MB, largest block: 3917 MB
    VBO free aux. memory - total: 4068 MB, largest block: 4068 MB
    Texture free memory - total: 3917 MB, largest block: 3917 MB
    Texture free aux. memory - total: 4068 MB, largest block: 4068 MB
    Renderbuffer free memory - total: 3917 MB, largest block: 3917 MB
    Renderbuffer free aux. memory - total: 4068 MB, largest block: 4068 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 8192 MB
    Currently available dedicated video memory: 3917 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon RX 570 Series (POLARIS10, DRM 3.36.0, 10.0, LLVM 13.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.17
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 19.1.17
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 19.1.17
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
```

/etc/xorg.conf :

```
Section "Device"
        Identifier "Card0"
        Driver "modesetting"
EndSection
```


>How-To-Repeat:
1. Have an AMD Radeon RX 570 Series GPU.
2. Recompile kernel with both amdgpu lines uncommented and both radeon lines commented out.
3. Set modesetting drive in xorg.conf
4. Have Firefox installed
5. Start graphical xorg session using startx
6. Open Firefox, observe. >> Screenshot: https://0x0.st/XwYi.png
>Fix:

>Audit-Trail:
From: David <pfr@sdf.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/58710: amdgpu kernel bug -- modesetting driver GL Rendering
 failure
Date: Mon, 30 Sep 2024 12:23:38 +1000

 Silly me forgot to include dmesg and Xorg.0.log (how rude).

 Here they are:

 dmesg: https://0x0.st/Xgec.txt

 Xorg.0.log: https://0x0.st/Xgea.txt


 On 30/9/24 12:15, gnats-admin@netbsd.org wrote:
 > Thank you very much for your problem report.
 > It has the internal identification `kern/58710'.
 > The individual assigned to look at your
 > report is: kern-bug-people.
 >
 >> Category:       kern
 >> Responsible:    kern-bug-people
 >> Synopsis:       amdgpu kernel bug -- modesetting driver GL Rendering failure
 >> Arrival-Date:   Mon Sep 30 02:15:00 +0000 2024

From: RVP <rvp@SDF.ORG>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/58710: amdgpu kernel bug -- modesetting driver GL Rendering
 failure
Date: Mon, 30 Sep 2024 07:30:41 +0000 (UTC)

 On Mon, 30 Sep 2024, pfr@sdf.org wrote:

 > ~ $ firefox --MOZ_LOG=Dmabuf:5
 > Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.520564) [GFX1-]: glxtest: DRM device has no render node
 > Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device has no render node (t=0.520564) |[1][GFX1-]: glxtest: Cannot find DRM device (t=0.520684) [GFX1-]: glxtest: Cannot find DRM device
 > [Parent 13098: Main Thread]: D/Dmabuf DMABufDevice::Configure()
 > [Parent 13098: Main Thread]: D/Dmabuf Loading DMABuf system library libgbm.so.1 ...
 > [Parent 13098: Main Thread]: D/Dmabuf Failed to load libdrm.so.2, dmabuf isn't available.
 > [Parent 13098: Main Thread]: D/Dmabuf GbmLib is not available!
 >

 Hmm. NetBSD 10.x comes with libdrm.so.3, so what's (and why) is something
 requiring libdrm.so.2?

 Can you do a clean re-install of everything (OS and your binary packages)?

 -RVP

From: matthew green <mrg@eterna23.net>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org
Subject: re: kern/58710: amdgpu kernel bug -- modesetting driver GL Rendering failure
Date: Tue, 01 Oct 2024 06:08:54 +1000

 is there a chance you can try -current on this system?  for me it
 was working mostly good with an RX 550, but i don't recall trying
 netbsd-10 branch recently.  i'll try to find time to do that, but
 i can't promise anything for a week or more.

 > Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: DRM device=
  has no render node (t=3D0.462674) [GFX1-]: glxtest: DRM device has no ren=
 der node

 i wonder if you, like me on some systems, are missing the render
 nodes in /dev/dri that are created i modern systems, but not there
 for older ones that have been upgraded.  eg, i just created this
 on one system it was missing on:

 the-blessing /dev# l dri
 total 0
 crw-rw----  1 root  wheel  180, 0 Jul 24 20:47 card0
 the-blessing /dev# sh MAKEDEV drm0
 the-blessing /dev# l dri
 total 0
 crw-rw----  1 root  wheel  180,   0 Jul 24 20:47 card0
 crw-rw----  1 root  wheel  180, 128 Sep 30 13:05 renderD128

 i don't *think* this is relevant, so if it doesn't help are you
 capable of patching Mesa to expand the errors and determine where
 exactly the shader creation is failing?  if so, please add some
 diagnostic to si_create_shader_variant() to track down which of
 the various paths that return false was taken?

 thanks.


 .mrg.

From: matthew green <mrg@eterna23.net>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, pfr@sdf.org
Subject: re: kern/58710: amdgpu kernel bug -- modesetting driver GL Rendering failure
Date: Wed, 02 Oct 2024 04:51:05 +1000

 >  > [Parent 13098: Main Thread]: D/Dmabuf Loading DMABuf system library l=
 ibgbm.so.1 ...
 >  > [Parent 13098: Main Thread]: D/Dmabuf Failed to load libdrm.so.2, dma=
 buf isn't available.
 >  =

 >  Hmm. NetBSD 10.x comes with libdrm.so.3, so what's (and why) is somethi=
 ng
 >  requiring libdrm.so.2?
 >  =

 >  Can you do a clean re-install of everything (OS and your binary package=
 s)?

 this seems like a firefox bug?  it comes from this source
 i have handy from a few months ago:

 firefox-127.0.2/toolkit/xre/glxtest/glxtest.cpp:#  define LIBDRM_FILENAME =
 "libdrm.so.2"


 .mrg.

From: matthew green <mrg@eterna23.net>
To: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, pfr@sdf.org, gnats-bugs@netbsd.org
Cc: 
Subject: re: kern/58710: amdgpu kernel bug -- modesetting driver GL Rendering failure
Date: Wed, 02 Oct 2024 04:53:16 +1000

 > firefox-127.0.2/toolkit/xre/glxtest/glxtest.cpp:#  define LIBDRM_FILENAM=
 E "libdrm.so.2"

 actually, there are a couple more:

 firefox-127.0.2/widget/gtk/DMABufLibWrapper.cpp:#define DRMLIB_NAME "libdr=
 m.so.2"
 firefox-127.0.2/third_party/drm/libdrm/mozdrm.cpp:    drmLib =3D PR_LoadLi=
 brary("libdrm.so.2");

 since the above one is a test program.


 .mrg.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.49 2026/05/14 01:52:41 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.