QtWebEngine 6.11 GBM/X11Pixmap path fails on older AMD Oland GPU; disabling GBM fixes it
- Dominant language
- Rust
- Stars
- 30.5k
- Forks
- 3.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 72
Description
## Summary
Anki 26.08 fails to render QtWebEngine content when using an older AMD Radeon GPU under X11.
The same machine and GPU worked correctly with Anki 25.09 (no driver update in-between these versions).
The failure disappears when disabling QtWebEngine GBM support:
```bash
QTWEBENGINE_FORCE_USE_GBM=0 anki
```
With this workaround, QtWebEngine reports:
```bash
GBM support is force disabled.
GBM is not supported with the current configuration. Fallback to Vulkan rendering in Chromium.
Using GBM: no
Native Buffer Supported: no
Native Pixmap Support Type: None
```
This suggests that the new GBM/native-pixmap compositor path doesn't work correctly on some older GPUs, like mine :))
## Hardware / software:
```bash
Anki: 26.08
OS: Debian 12
Kernel: 6.13.1
Qt: 6.11.0
PyQt: 6.11.0
QtWebEngine: 6.11.0
GPU:
AMD Radeon R7 M350 (AMD FirePro W4190M [2GB GDDR5])
Oland / RadeonSI
Mesa Version:
25.0.7-2~bpo12+1
Display server:
X11
```
GPU works normally in other applications.
## Symptoms
Launching Anki normally produces:
```bash
OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
SharedImageManager::ProduceSkia:
Trying to produce a Skia representation from an incompatible backing
RasterDecoderImpl: Context lost during MakeCurrent
```
QtWebEngine reports:
```bash
Compositor Type: Native
QPA Platform Plugin: xcb
Skia Graphics Context Type: GaneshGL
Native Buffer Supported: yes
Native Pixmap Support Type: X11Pixmap
Native Skia Output Device: OpenGL
```
The failure happens when Chromium tries to use the X11Pixmap/native buffer path.
### Possible fixes?
Could Anki:
- Detect GPUs where GBM/native pixmap import is unreliable and automatically fall back?
- Provide a supported runtime option to disable GBM/native buffers?
- Improve the compatibility path for older GPUs (for example AMD Oland/GCN 1.x)?
Older GPUs may still support OpenGL/Vulkan correctly but they fail the newer zero-copy/native-buffer compositor path I guess.
Contributor guide
Research direction
No source file or test is named. First reproduce the failure on the listed AMD Oland/X11 setup, compare normal startup with QTWEBENGINE_FORCE_USE_GBM=0, and trace Anki's QtWebEngine configuration around the GBM/X11Pixmap path. Done means affected GPUs render reliably without the workaround while existing configurations retain their current path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100