# Support for DMA-BUF zero-copy compositing under X11 (EGLStream) for Firefox WebRender Compositor

**URL:** <https://forums.developer.nvidia.com/t/support-for-dma-buf-zero-copy-compositing-under-x11-eglstream-for-firefox-webrender-compositor/340415>\
**Category:** Linux\
**Created:** [July 27, 2025, 8:05pm UTC](https://forums.developer.nvidia.com/t/support-for-dma-buf-zero-copy-compositing-under-x11-eglstream-for-firefox-webrender-compositor/340415 "2025-07-27T20:05:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kszwaba](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@kszwaba](https://forums.developer.nvidia.com/u/kszwaba)\
**Post date:** [July 27, 2025, 8:05pm UTC](https://forums.developer.nvidia.com/t/support-for-dma-buf-zero-copy-compositing-under-x11-eglstream-for-firefox-webrender-compositor/340415/1 "2025-07-27T20:05:03Z")

</div>

Hello,

I’m using \*\*Firefox 141 on Linux Mint mate 21.3 (X11), kernel 6.8.0-64-lowlatency #67.1~22.04.1-Ubuntu \*\* with an **NVIDIA GT 1030 GPU** and the **proprietary NVIDIA driver v550**.  
I’ve configured `nvidia-vaapi-driver` and successfully enabled **hardware video decoding via VAAPI** (confirmed by `about:support` and actual performance), but **WebRender Compositor remains blocked**.

This is consistent with Mozilla’s [Bugzilla Bug 1638709](https://bugzilla.mozilla.org/show_bug.cgi?id=1638709), which describes how Mozilla intentionally disables WebRender Compositor for **NVIDIA + EGLStream (X11)** due to the **lack of DMA-BUF zero-copy support** and unstable behavior.

* * *

### 🔧 What I tried:

#### `user.js` configuration:

```js
user_pref("gfx.webrender.compositor", true);
user_pref("gfx.webrender.compositor.force-enabled", true);
user_pref("gfx.webrender.all", true);
user_pref("layers.acceleration.force-enabled", true);

```

#### Environment variables:

```bash
MOZ_WEBRENDER=1
MOZ_WEBRENDER_COMPOSITOR=1
MOZ_GFX_BLOCKLIST_ALL=1

```

#### Firefox output (`about:support`):

```auto
WEBRENDER_COMPOSITOR:
  default: disabled (Disabled by default)
  user: available (Enabled via gfx.webrender.compositor)
  env: blocklisted (Blocked by gfxInfo – FEATURE_FAILURE_WEBRENDER_COMPOSITOR_DISABLED)

```

Even with the above force-enabled settings and environment variables, the WebRender Compositor stays disabled — blocked by Firefox’s internal `gfxInfo`.

* * *

### 🧪 Diagnostic Log (DMA-BUF)

I launched Firefox with the following debug logging:

```bash
MOZ_LOG="Dmabuf:5" MOZ_WEBRENDER=1 MOZ_WEBRENDER_COMPOSITOR=1 MOZ_GFX_BLOCKLIST_ALL=1 MOZ_LOG_FILE=/dev/stdout firefox -P test 2>&1

```

#### Output:

```auto
[Parent 523342: Main Thread]: D/Dmabuf DMABufDeviceLock::DMABufDeviceLock() [7ffc525f2900]
[Parent 523342: Main Thread]: D/Dmabuf DMABufDevice::Init()
[Parent 523342: Main Thread]: D/Dmabuf Loading DMABuf system library libgbm.so.1 ...
[Parent 523342: Main Thread]: D/Dmabuf Using DRM device /dev/dri/renderD128
[Parent 523342: Main Thread]: D/Dmabuf DMABuf is enabled
[Parent 523342: Main Thread]: D/Dmabuf EnsureDMABufDevice(): created DMABufDevice
[Parent 523342: Main Thread]: D/Dmabuf DMABufDevice::GetDevice() [7fd91d114d30]
[Parent 523342: Main Thread]: D/Dmabuf DMABufFormats::EnsureBasicFormats(): GBM_FORMAT_XRGB8888 is missing, adding.
[Parent 523342: Main Thread]: D/Dmabuf DMABufFormats::EnsureBasicFormats(): GBM_FORMAT_ARGB8888 is missing, adding.
[Parent 523342: Main Thread]: D/Dmabuf DMABufDeviceLock::~DMABufDeviceLock() [7ffc525f2900]

```

This confirms that:

- Firefox detects and tries to enable **DMA-BUF** ,
- `libgbm.so.1` is loaded,
- `/dev/dri/renderD128` is used,
- DMA-BUF support is marked as _enabled_ internally.

Yet WebRender Compositor is still blocked by `gfxInfo`, because EGLStream does **not** support zero-copy buffer sharing between the decoder and compositor, and **GBM is not used** on NVIDIA under X11.

* * *

### ❓ Questions for NVIDIA:

1. **Does the current NVIDIA proprietary driver support DMA-BUF zero-copy compositing under X11 with EGLStream?**
2. **If not, is there any roadmap or plan to implement this so that Firefox (and other clients) can use WebRender Compositor under X11 with NVIDIA GPUs?**
3. **Is it NVIDIA’s recommendation to use Wayland + GBM for zero-copy rendering instead?**

Thank you in advance for any clarification regarding DMA-BUF and compositing support for Firefox on X11 with NVIDIA GPUs.

Best regards,  
Krzysztof Szwaba
