gamescope: RGA hardware acceleration#3017
Closed
felixjones wants to merge 25 commits into
Closed
Conversation
Contributor
|
gates these patch to target system, they are not needed for qcom devices |
Contributor
|
Move your changes in packages/linux-drivers/rga3 to projects/ROCKNIX/packages/linux-drivers/rga3. |
Closed
Contributor
Author
|
Superseded by #3019 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I feel like I'm going to be the RGA guy from now on...
Summary
This is a follow up to #2983 using hardware RGA enabled by #2977.
f73203aabe355cc25e00693b4eb250513b3665b1onwards is the active change, dependent commits have been left in.This PR offloads panel rotation, scaling, and multi-layer compositing onto the RGA2 2D engine (via librga). Falls back to the stock Vulkan/GPU path when the RGA (or a required buffer format/kernel feature) isn't available.
It also adds the Wayland pieces needed to display a nested Wayland video client on-panel (Steamlink was the test case I used to build this part, but the code is generic to any client using these protocols).
Testing
About a month ago I was developing this with Steam x86 FEX, and this was good enough for software rendered CEF. The past week and a bit I've been bringing it up targeting the Steamlink app, which led to the Wayland video client additions.
Additional Context
It's a meaty amount of changes. Steamlink works great with this, I might return to getting Steam x86 running again. I'm happy to answer questions.
AI Usage
The code comments are generated by Copilot, there was a heck of a lot of scar tissue I had to crawl through when cleaning these up for PR and most of the comments I had originally left for myself, now they are a lot more verbose and more explainy as AI tends to do with comments. As a result, there's more comment lines then there are active lines of code (I did try to keep this as minimal as possible).