-
Notifications
You must be signed in to change notification settings - Fork 342
Disappearing cursor on multi-GPU setup #3030
Comments
The debug logs look incomplete and only includes errors. Please submit a complete debug log. |
|
Same problem here after updating to version 1.6.1 on archlinux (wlroots 0.14). |
Can you try #3021? |
Now on start sway I have no cursor, wdisplays restores it, but it disappears if I start wofi (so nothing has changed here). New log: |
OK. The errors are the same. Do you have anything in dmesg, btw? |
Does |
|
|
This comment has been minimized.
This comment has been minimized.
@AToMiXhawK, you have a different bug, fixed in wlroots master. |
Does this wlroots patch help by any chance? https://l.sr.ht/-ZAc.txt |
Some buffers need to be copied across GPUs. Such buffers need to be allocated with a format and modifier suitable for both the source and the destination. When explicit modifiers aren't supported, we were forcing the buffers to be allocated with a linear layout, because implicit modifiers aren't portable across GPUs. All is well with this case. When explicit modifiers are supported, we were advertising the whole list of destination modifiers, in the hope that the source might have some in common and might be able to allocate a buffer with a more optimized layout. This works well if the source supports explicit modifiers. However, if the source doesn't, then wlr_drm_format_intersect will fallback to implicit modifiers, and everything goes boom: the source uses a GPU-specific tiling and the destination interprets it as linear. To avoid this, just force linear unconditionally. We'll be able to revert this once we have a good way to indicate that an implicit modifier isn't supported in wlr_drm_format_set, see [1]. [1]: swaywm#2815 Closes: swaywm#3030
For me - works great! But it's nice to check @nwg-piotr also |
I'll check as soon as I'm back home. |
Works for me, too. Excellent news! |
Thanks for testing! |
Some buffers need to be copied across GPUs. Such buffers need to be allocated with a format and modifier suitable for both the source and the destination. When explicit modifiers aren't supported, we were forcing the buffers to be allocated with a linear layout, because implicit modifiers aren't portable across GPUs. All is well with this case. When explicit modifiers are supported, we were advertising the whole list of destination modifiers, in the hope that the source might have some in common and might be able to allocate a buffer with a more optimized layout. This works well if the source supports explicit modifiers. However, if the source doesn't, then wlr_drm_format_intersect will fallback to implicit modifiers, and everything goes boom: the source uses a GPU-specific tiling and the destination interprets it as linear. To avoid this, just force linear unconditionally. We'll be able to revert this once we have a good way to indicate that an implicit modifier isn't supported in wlr_drm_format_set, see [1]. [1]: #2815 Closes: #3030
Some buffers need to be copied across GPUs. Such buffers need to be allocated with a format and modifier suitable for both the source and the destination. When explicit modifiers aren't supported, we were forcing the buffers to be allocated with a linear layout, because implicit modifiers aren't portable across GPUs. All is well with this case. When explicit modifiers are supported, we were advertising the whole list of destination modifiers, in the hope that the source might have some in common and might be able to allocate a buffer with a more optimized layout. This works well if the source supports explicit modifiers. However, if the source doesn't, then wlr_drm_format_intersect will fallback to implicit modifiers, and everything goes boom: the source uses a GPU-specific tiling and the destination interprets it as linear. To avoid this, just force linear unconditionally. We'll be able to revert this once we have a good way to indicate that an implicit modifier isn't supported in wlr_drm_format_set, see [1]. [1]: #2815 Closes: #3030 (cherry picked from commit d71ed63)
Just for curiosity: average CPU load measured on idle in the same conditions. Ryzen 7 + hybrid AMD graphics w/ 2 external displays.
|
Sway Version:
Debug Log:
https://0bin.net/paste/up-swxj-#PJPVTysHFaMxP3QLzyxcJ-EN4sFoSob1FtZtbqIm2FW
Configuration File:
https://0bin.net/paste/eUn83bT7#nkNcFBESXx5ruLKva2F+zyzxJuhy5rw6Bu22csinUPT
Description:
The error is probably due to disabling one monitor (using wdisplays). This causes problems with the cursor not displaying in Sway. Various actions turn it off and on. For example hover the mouse over wofi makes the cursor disappear and running wdisplays makes it come back.
The mouse is on button (it changed a color, but invisible)
![20210627_22h03m11s_grim](https://user-images.githubusercontent.com/56807194/123559385-0e512100-d79c-11eb-8b00-96db2d5efee9.png)
Here the mouse is near the menu, but also invisible)
![20210627_22h03m20s_grim](https://user-images.githubusercontent.com/56807194/123559387-0f824e00-d79c-11eb-9913-e637f3358059.png)
The text was updated successfully, but these errors were encountered: