hwacc branch builds that use minigbm will switch to software compositor on amd.

Bug #2006646 reported by Bram Stolk
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
chromium-browser (Ubuntu)
Fix Released
Undecided
Bram Stolk

Bug Description

This pertains to the hwacc branches of snap_from_source chromium builds.

Following the guide-0.9.1, we switched from system gbm to minigbm.
(These switches are in args.gn)

use_system_minigbm = false
use_intel_minigbm = true
use_amdgpu_minigbm = true

This enables us to better support intel hardware.

However, there seems to be a regression on other gpus.

Chromium will switch to software compositing on amd.
When I revert back to system gbm, I get hardware compositing again.

See attached screenshot.

To reproduce: build chromium in two different ways, and compare the output from the chrome://gpu url.

tested on: Radeon RX580 GPU.

Related branches

Revision history for this message
Bram Stolk (b-stolk) wrote :
Revision history for this message
Bram Stolk (b-stolk) wrote :

The previous test was on a chromium 107 build.
I re-tested it on a chromium 110 build with minigbm, and it shows the same result on rx580 gpu:
software compositing.

Bram Stolk (b-stolk)
Changed in chromium-browser (Ubuntu):
assignee: nobody → Bram Stolk (b-stolk)
status: New → In Progress
Revision history for this message
Bram Stolk (b-stolk) wrote (last edit ):

NOTE: The non-expansion of DRI_DRIVER_DIR can muddle things, so that needs to be worked around before drawing conclusions from the logs.

Revision history for this message
Bram Stolk (b-stolk) wrote :

With the DRI_DRIVER_DIR issue out of the way, I see:

WARNING:ozone_platform_wayland.cc(273)] Failed to find drm render node path.
WARNING:wayland_buffer_manager_gpu.cc(437)] Failed to initialize drm render node handle.

render node is present:
$ ls -al /dev/dri/
total 0
drwxr-xr-x 3 root root 100 Feb 16 18:32 .
drwxr-xr-x 22 root root 5800 Feb 17 08:00 ..
drwxr-xr-x 2 root root 80 Feb 17 08:00 by-path
crw-rw----+ 1 root video 226, 0 Feb 17 08:00 card0
crw-rw----+ 1 root render 226, 128 Feb 16 18:32 renderD128

Revision history for this message
Bram Stolk (b-stolk) wrote (last edit ):

I've added logging to
third_party/minigbm/src/amdgpu.c
third_party/minigbm/src/drv.c

This yielded:

drm_version->name: amdgpu
backend_list[0] = amdgpu
drv_get_backend(13) returned 0x55bf084e4338
dri_init() failed for path /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so driver radeonsi: No such file or directory
backend init() failed: -19
[27925:27925:0221/111810.067118:WARNING:ozone_platform_wayland.cc(273)] Failed to find drm render node path.
[27925:27925:0221/111810.068456:WARNING:wayland_buffer_manager_gpu.cc(437)] Failed to initialize drm render node handle.

Checking with:

sudo snap run --shell chromium

...it turns out that there is no /usr/lib/x86_64-linux-gnu/dri/ directory in the snap.

NOTE: There is a /snap/gnome-3-38-2004/current/usr/lib/x86_64-linux-gnu/dri directory, but that only contains video drivers, like radeonsi_drv_video.so

summary: - hwacc branch builds with minigbm switch to software compositor on amd.
+ hwacc branch builds that use minigbm will switch to software compositor
+ on amd.
Revision history for this message
Bram Stolk (b-stolk) wrote (last edit ):

Hard-coding the dri directory to point to the snap's dri dir at:
/snap/gnome-3-38-2004/current/usr/lib/x86_64-linux-gnu/dri
fixes this, as I now see:

Graphics Feature Status
Canvas: Hardware accelerated
Canvas out-of-process rasterization: Disabled
Direct Rendering Display Compositor: Disabled
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
OpenGL: Enabled
Rasterization: Hardware accelerated
Raw Draw: Disabled
Video Decode: Hardware accelerated
Video Encode: Software only. Hardware acceleration disabled
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
WebGPU: Disabled

Changed in chromium-browser (Ubuntu):
status: In Progress → Fix Committed
Changed in chromium-browser (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.