NVIDIA / egl-wayland

The EGLStream-based Wayland external platform
MIT License
275 stars 43 forks source link

OpenGL + EGL + Wayland - unsupported buffer format when requesting an SRGB colorspace #85

Closed tim-rex closed 3 months ago

tim-rex commented 11 months ago

I'm seeing the following when running an OpenGL application on Wayland with nVidia proprietary drivers.. error 7: failed to import supplied dmabufs: Unsupported buffer format 875713345

This only occurs when creating an EGL Context having the following attrib to define an SRGB colourspace

const EGLAttrib egl_surface_attribs[] = {
                EGL_GL_COLORSPACE, EGL_GL_COLORSPACE_SRGB,
                EGL_RENDER_BUFFER, EGL_BACK_BUFFER,
                EGL_NONE,
            };

In case the following is relevant:

GL_RENDERER: NVIDIA GeForce GTX 970/PCIe/SSE2
GL_VERSION: 4.6.0 NVIDIA 535.54.03
Fedora 38
GNOME 44.2
Linux 6.3.12-200.fc38.x86_64

Originally posted by @tim-rex in https://github.com/NVIDIA/egl-wayland/issues/84#issuecomment-1632259108

Indicated to be a seperate issue from #84 per @erik-kz

Hmm, I don't think that's quite the same issue. Upstream DRM formats don't actually distinguish between sRGB and linear color spaces. However, 875713345 is not a valid upstream DRM format. It looks like our EGL driver defines some extra NVIDIA-specific formats which are used by our embedded Tegra platform. If we're trying to use those on a regular Linux system, though, that's probably a bug

MadByteDE commented 9 months ago
OpenGL renderer string: NVIDIA GeForce RTX 4070/PCIe/SSE2
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 535.104.05
Fedora 38 Workstation Edition
GNOME 44.5
Linux 6.4.15-200.fc38.x86_64

I get the same error message trying to run the game framework LOVE (version 11.4):

[user@fedora-pc ~]$ love
[destroyed object]: error 7: failed to import supplied dmabufs: Unsupported buffer format 875713345

Runs fine using x11.

tim-rex commented 6 months ago

This appears to still be the case with driver v545.29.06 Does this need to be passed upstream to the driver development team?

EGL_CONTEXT_CLIENT_TYPE: OpenGL
GL_RENDERER: NVIDIA GeForce GTX 970/PCIe/SSE2
GL_VERSION: 4.6.0 NVIDIA 545.29.06
GL_EXTENSIONS: (null)
API BOUND:  EGL_OPENGL_API
Read surface == 107151696
Draw surface == 107151696
[2594115.227]  -> wl_surface@14.frame(new id wl_callback@38)
[2594115.438]  -> zwp_linux_dmabuf_v1@46.create_params(new id zwp_linux_buffer_params_v1@34)
[2594115.449]  -> zwp_linux_buffer_params_v1@34.add(fd 29, 0, 0, 3200, 50331648, 5234708)
[2594115.455]  -> zwp_linux_buffer_params_v1@34.create_immed(new id wl_buffer@30, 800, 600, 875713345, 0)
[2594115.459]  -> zwp_linux_buffer_params_v1@34.destroy()
[2594115.466]  -> wl_surface@14.attach(wl_buffer@30, 0, 0)
[2594115.471]  -> wl_surface@14.damage(0, 0, 800, 600)
[2594115.474]  -> wl_surface@14.commit()
[2594115.478]  -> wl_display@1.sync(new id wl_callback@26)
[2594607.368] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Unsupported buffer format 875713345")
[destroyed object]: error 7: failed to import supplied dmabufs: Unsupported buffer format 875713345
erik-kz commented 6 months ago

Addressing this requires some tricky coordination between our team and the Tegra team which has unfortunately delayed the fix. Sorry about that. We are doing our best to move things forward.

dkorkmazturk commented 4 months ago

Thank you for your patience. We will be including the fix for this issue in the first update to the r550 stable release.

mhkarimi1383 commented 3 months ago

Having the same problem on ArchLinux + NVIDIA + Wayland

Here is my GPU/Driver information if it can help


λ  nvidia-smi                                                                                                                                                                                                                                 ~
Tue Mar 19 09:07:13 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3050 ...    On  |   00000000:01:00.0  On |                  N/A |
| N/A   45C    P8              4W /   35W |     455MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      2058      G   /usr/bin/gnome-shell                          172MiB |
|    0   N/A  N/A      2573      G   /usr/bin/Xwayland                              84MiB |
|    0   N/A  N/A      2989      G   ...ures=SpareRendererForSitePerProcess          2MiB |
|    0   N/A  N/A     31161      G   /usr/lib/firefox/firefox                      133MiB |
|    0   N/A  N/A     34544      G   /usr/bin/kitty                                 42MiB |
+-----------------------------------------------------------------------------------------+             
erik-kz commented 3 months ago

@mhkarimi1383 the sRGB bug should be fixed in that driver version. When are you encountering the problem?

mhkarimi1383 commented 3 months ago

@erik-kz Getting same error when an app wants to use GPU

kitty [destroyed object]: error 7: failed to import supplied dmabufs: Unsupported buffer format 875713345 [019 14:14:27.520528] [glfw error 65544]: Wayland: fatal display error: Protocol error

erik-kz commented 3 months ago

Apologies, I was mistaken, it looks like the fix didn't make it into 550.54.14. It is in version 550.67, though, which just went public today.

mhkarimi1383 commented 3 months ago

@erik-kz When update will be available (On repositories [ArchLinux])? I have checked but update is not available yet.

erik-kz commented 3 months ago

The Arch package maintainer is usually pretty quick, probably within a day or two.


From: Muhammed Hussein karimi @.> Sent: Tuesday, March 19, 2024 11:18 To: NVIDIA/egl-wayland @.> Cc: Erik Kurzinger @.>; Mention @.> Subject: Re: [NVIDIA/egl-wayland] OpenGL + EGL + Wayland - unsupported buffer format when requesting an SRGB colorspace (Issue #85)

@erik-kzhttps://github.com/erik-kz When update will be available (On repositories [ArchLinux])? I have checked but update is not available yet.

— Reply to this email directly, view it on GitHubhttps://github.com/NVIDIA/egl-wayland/issues/85#issuecomment-2007846700, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA3WPD3NKZQHBVOSY26ELH3YZB6QFAVCNFSM6AAAAAA2IF6CXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBXHA2DMNZQGA. You are receiving this because you were mentioned.Message ID: @.***>

mhkarimi1383 commented 3 months ago

The Arch package maintainer is usually pretty quick, probably within a day or two.


From: Muhammed Hussein karimi @.> Sent: Tuesday, March 19, 2024 11:18 To: NVIDIA/egl-wayland @.> Cc: Erik Kurzinger @.>; Mention @.> Subject: Re: [NVIDIA/egl-wayland] OpenGL + EGL + Wayland - unsupported buffer format when requesting an SRGB colorspace (Issue #85)

@erik-kzhttps://github.com/erik-kz When update will be available (On repositories [ArchLinux])? I have checked but update is not available yet.

— Reply to this email directly, view it on GitHubhttps://github.com/NVIDIA/egl-wayland/issues/85#issuecomment-2007846700, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA3WPD3NKZQHBVOSY26ELH3YZB6QFAVCNFSM6AAAAAA2IF6CXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBXHA2DMNZQGA. You are receiving this because you were mentioned.Message ID: @.***>

Yeah that's why I'm using Arch😁

tim-rex commented 3 months ago

v550.67 is now available on arch in extra-testing, it does appear this has resolved the SRGB buffer format issue

Thanks you @dkorkmazturk + @erik-kz