Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Plane 0 doesn't support format 0x34325258 #2166

Closed
zlandau opened this issue May 6, 2020 · 6 comments · Fixed by #2186
Closed

Plane 0 doesn't support format 0x34325258 #2166

zlandau opened this issue May 6, 2020 · 6 comments · Fixed by #2186

Comments

@zlandau
Copy link

zlandau commented May 6, 2020

While running from the lastest master versions of wlroot and sway, I noticed my logs are flooded with messages like this:

May 06 14:13:01 buffalo sway[429005]: 15:33:42.651 [ERROR] [backend/drm/renderer.c:215] Plane 0 doesn't support format 0x34325258
May 06 14:13:01 buffalo sway[429005]: 15:33:42.651 [ERROR] [backend/drm/drm.c:934] Cannot allocate cursor resources

The messages appear every maybe 6 times per second.

According to drm_info, it does support that format:

    ├───Plane 0
    │   ├───Object ID: 41
    │   ├───CRTCs: {0}
    │   ├───Formats:
    │   │   ├───XRGB8888 (0x34325258)
    │   │   └───ARGB8888 (0x34325241)
    │   └───Properties
    │       └───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary

I don't notice any downstream behavior that isn't working due to these messages, but the flooding of the logs doesn't seem ideal, at the very least.

System Information

wlroots revision: 6357e16
swaywm/sway@9cda5a5
Device: PCI 1002:6758 Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670]
Driver: Driver: radeon (ATI Radeon) version 2.50.0 (20080528)
Full output of drm_info: https://gist.github.com/0a50bfb8c538997e5c8d7f989e611da7

@emersion
Copy link
Member

emersion commented May 7, 2020

This happens because this device doesn't advertise a cursor plane. The plane ID is zero and means "no plane", it's not an index.

@superna9999
Copy link

@emersion does wlroots mandates a cursor plane ? AFAIK is was not the case a few months ago

@emersion
Copy link
Member

emersion commented May 7, 2020

No, this is a bug.

@L-as
Copy link
Contributor

L-as commented May 8, 2020

I can run both sway and the pointer example fine if I set WLR_NO_HARDWARE_CURSORS=1, but I assume this is supposed to be detected by wlroots and done automatically if no cursor plane exists?

@L-as
Copy link
Contributor

L-as commented May 8, 2020

commit 8da9d9679e4cad640b0f0a518ca1529c8cdecbe0 seems to have introduced this behaviour @emersion @ascent12

emersion added a commit to emersion/wlroots that referenced this issue May 11, 2020
We have a workaround for legacy drivers that support drmModeSetCursor
without exposing a cursor plane. It doesn't work anymore now that we've
moved to a more atomic interface.

Let's just remove this workaround and fallback to software cursors.

Closes: swaywm#2166
@emersion
Copy link
Member

Can you try #2186?

emersion added a commit that referenced this issue May 12, 2020
We have a workaround for legacy drivers that support drmModeSetCursor
without exposing a cursor plane. It doesn't work anymore now that we've
moved to a more atomic interface.

Let's just remove this workaround and fallback to software cursors.

Closes: #2166
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

Successfully merging a pull request may close this issue.

4 participants