Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic DRI3 support #1771

Merged
merged 6 commits into from
Jun 20, 2024
Merged

Add basic DRI3 support #1771

merged 6 commits into from
Jun 20, 2024

Conversation

CendioOssman
Copy link
Member

This provides buffer sync with a render node of the system (if available). By doing so, OpenGL and Vulkan can use the render node for acceleration.

This first implementation is extremely pessimistic and synchronises buffers whenever there's even a slight chance they will be used. Performance is still quite good in most cases.

@CendioOssman CendioOssman added the enhancement New feature or request label Jun 20, 2024
Windows aren't always directly shown, e.g. when the desktop is
composited. We should not be sending screen updates for these as the
framebuffer didn't actually change.

In the case of CopyWindow, we're even sending the wrong screen data,
which is how this bug was discovered.
It was incorrectly designed to only build properly if built as part of
the "Xorg" server and could fail to build when just "Xvnc" was built.

Backport of upstream commits 0ce93e5 and acc581c.
This provides buffer sync with the primary render node of the system (if
available). By doing so, OpenGL and Vulkan can use the render node for
acceleration.

This first implementation is extremely pessimistic and synchronises
buffers whenever there's even a slight chance they will be used.
One GNOME developer had a bad experience with VNC one time, and
therefore all VNC must forever be punished.

Avoid detection by GNOME so that animations aren't forcefully disabled
without any option for the user to re-enable them.
Allows users to use a secondary GPU, or to disable DRI3 in case of
issues.
Lay the groundwork for a more intelligent selection of GPU in systems
that have multiple cards. This initial implementation simply picks the
first GPU that we have permission to open.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant