void-linux / void-linux/void-packages

AMD Cinnamon Wayland session falls back to OpenGL software-rendering (`llvmpipe`)

Open
#62,369 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-testing
Dominant language
Shell
Stars
3.4k
Forks
2.8k
Avg merge
2d 5h
Merged PRs (30d)
299

Description

Is this a new report?

Yes

System Info

Void 6.18.49_1 x86_64 AuthenticAMD uptodate rrrm

Package(s) Affected

cinnamon-6.6.7_1, cinnamon-all-6.6.0_1, elogind-252.39_1, lightdm-1.32.0_8, dbus-1.16.2_2, mesa-dri-26.1.8_1

Does a report exist for this bug with the project's home (upstream) and/or another distro?

No response

Expected behaviour

LightDM is supposed to launch cinnamon wayland session and do the output on $ inxi -G such as:

Linux Mint Cinnamon-edition live-boot test

Graphics:
  Device-1: AMD Renoir [Radeon RX Vega 6 ] driver: amdgpu v: kernel
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB
  Display: wayland server: X.Org v: 23.2.6 with: Xwayland v: 23.2.6 driver:
    X: loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu
    resolution: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: kms_swrast,radeonsi,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa
    v: 25.0.7-0ubuntu0.24.04.2 renderer: AMD Radeon Graphics (radeonsi renoir
    ACO DRM 3.61 6.14.0-37-generic)
  API: Vulkan v: 1.3.275 drivers: N/A surfaces: xcb,xlib,wayland

(Cinnamon 6.6.4)

Actual behaviour

LightDM working without issues only in X11 session, but when you trying to launch the cinnamon-wayland session:
LightDM shows black screen for a second then crashes back into the sign-in graphic-interface without any feedback. I was able to fix this by changing a setting in the file /usr/share/wayland-sessions/cinnamon-wayland.desktop changing the Exec= parameter from the Exec=cinnamon-session-cinnamon --wayland to the Exec=env XDG_SESSION_TYPE=wayland EGL_PLATFORM=wayland GBM_BACKEND=dri dbus-run-session cinnamon-session-cinnamon --wayland, and the wayland session have started successfully then, but in glxinfo or in inxi -G I can see that the OpenGL graphics falls back onto the llvmpipe renderer:

$ inxi -Gxx
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Renoir [Radeon Vega Series /
    Radeon Mobile Series] vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5
    pcie: speed: 8 GT/s lanes: 16 ports: active: eDP-1
    empty: DP-1,DP-2,HDMI-A-1 bus-ID: 07:00.0 chip-ID: 1002:1636 temp: 49.0 C
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 6-2:2 chip-ID: 04f2:b724
  Display: wayland server: X.org v: 1.21.1.24 with: Xwayland v: 24.1.13
    driver: X: loaded: amdgpu unloaded: fbdev,modesetting,vesa alternate: fglrx
    dri: radeonsi gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: Lenovo 0x40a9 res: 1920x1080 dpi: 158
    diag: 355mm (14")
  API: OpenGL v: 4.6 vendor: mesa v: 26.1.8 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: llvmpipe (LLVM 21.1.7 256 bits)
    device-ID: ffffffff:ffffffff display-ID: :0.0
  API: Vulkan v: 1.4.350 surfaces: N/A device: 0 type: integrated-gpu
    driver: mesa radv device-ID: 1002:1636
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo,vulkaninfo x11: xdpyinfo, xprop, xrandr
Steps to reproduce
  1. Install all listed packages and mesa drivers for your Ryzen 5 Pro 4650U
  • cinnamon-6.6.7_1
  • cinnamon-all-6.6.0_1
  • elogind-252.39_1
  • lightdm-1.32.0_8 or SDDM, behavior with the render would be the same.
  • dbus-1.16.2_2
  1. launch dbus and lightdm via $ sudo ln -s /etc/sv/dbus /var/service/ && sudo ln -s /etc/sv/lightdm /var/service/

  2. enter X11-cinnamon session, tap in terminal $ inxi -G and see:

Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Renoir [Radeon Vega Series /
    Radeon Mobile Series] driver: amdgpu v: kernel
  Device-2: Chicony Integrated Camera driver: uvcvideo type: USB
  Display: x11 server: X.Org v: 21.1.24 with: Xwayland v: 24.1.13 driver: X:
    loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu
    resolution: 1920x1080~60Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 26.1.8 renderer: AMD Radeon
    Graphics (radeonsi renoir ACO DRM 3.64 6.18.49_1)
  API: Vulkan v: 1.4.350 drivers: radv surfaces: N/A
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo,vulkaninfo x11: xdpyinfo, xprop, xrandr

4. logout from the X11 session and login into the cinnamon wayland experimental session, and see the llvmpipe as renderer in inxi -G or glxinfo.

Additional info:

$ groups
user wheel audio video
$ sudo usermod -aG render user
usermod: group 'render' does not exist
$ ls -l /dev/dri/
итого 0
drwxr-xr-x  2 root root        80 сен  3 17:27 by-path
crw-rw----+ 1 root video 226,   0 сен  3 17:27 card0
crw-rw-rw-  1 root video 226, 128 сен  3 17:27 renderD128

$ LIBGL_ALWAYS_DRI3=1 eglinfo -p wayland | grep Renderer
libEGL warning: failed to get driver name for fd -1libEGL warning: MESA-LOADER: failed to retrieve device informationlibEGL warning: failed to get driver name for fd -1
$ eglinfo | grep -E "Platform|Renderer"
_amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)libEGL warning: egl: failed to create dri2 screenlibEGL warning: DRI3 error: Could not get DRI3 devicelibEGL warning: Ensure your X server supports DRI3 to get accelerated renderingPlatform Device platform:Platform Device platform:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with /usr/share/wayland-sessions/cinnamon-wayland.desktop and compare the default Exec= entry with the working environment override described in the report. Reproduce the LightDM or SDDM Wayland login, then check eglinfo, glxinfo, or inxi -G for the renderer. Done means the Cinnamon Wayland session starts and uses the AMD renderer instead of llvmpipe.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.