Skip to content

features/graphics: per-game GPU selection + fix backend/provider policy resolution + remove obsolete per-prefix graphics layer block#30

Open
weter11 wants to merge 1 commit intomainfrom
features/graphics-gpu-policy-2441258945916296802
Open

features/graphics: per-game GPU selection + fix backend/provider policy resolution + remove obsolete per-prefix graphics layer block#30
weter11 wants to merge 1 commit intomainfrom
features/graphics-gpu-policy-2441258945916296802

Conversation

@weter11
Copy link
Owner

@weter11 weter11 commented Mar 8, 2026

This PR implements per-game GPU selection and fixes several issues related to graphics compatibility policy resolution and UI consistency.

Key changes:

  1. GPU Selection: Users can now choose a specific GPU for each game or keep the 'Auto' setting. Discovery is handled via DRI devices on Linux, and appropriate environment variables (DRI_PRIME, MESA_VK_DEVICE_SELECT, and NVIDIA-specific vars) are applied at launch.
  2. Policy Resolution: Refactored WineTkgRunner to use the authoritative DLL provider resolutions from the launch pipeline. This ensures that the selected GraphicsBackendPolicy and D3D12ProviderPolicy are strictly followed without silent downgrades.
  3. Component Detection: Expanded the search paths for DXVK and VKD3D-Proton to cover more runner layouts (e.g., nested vkd3d-proton directories). This fixes reports of components being "not found" when they are actually bundled with the runner.
  4. UI Cleanup: The obsolete "Graphics Layers (per-prefix)" block in the Game tab, which performed manual file copying, has been removed. It is replaced by the "Graphics Compatibility" section containing the new GPU selector and simplified override toggles.
  5. Diagnostics: The Settings window now shows the exact path of detected components on hover. Launch summaries now include the chosen GPU configuration.

Unit tests for DLL resolution and environment sanity have been updated and pass successfully.


PR created automatically by Jules for task 2441258945916296802 started by @weter11

…I cleanup

* Implemented per-game GPU selection for multi-GPU systems.
* Fixed deterministic resolution of Graphics Backend and D3D12 Provider policies.
* Improved graphics component detection by expanding search paths for Wine-TKG/Proton.
* Cleaned up the Game tab by removing the obsolete per-prefix graphics layer block.
* Enhanced diagnostics with GPU selection info and component path tooltips.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
@google-labs-jules
Copy link
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant