Conversation
…n logic - Implement per-game GPU selection by scanning /sys/class/drm and applying appropriate environment variables (DRI_PRIME, __NV_PRIME_RENDER_OFFLOAD). - Refactor GraphicsBackendPolicy and D3D12ProviderPolicy to correctly decouple DX8-11 and DX12 translation logic. - Extend graphics component detection to support modern Wine/wine-tkg layouts (e.g., x86_64-windows subdirectories). - Clean up obsolete manual prefix installation UI and dead code from utils.rs. - Ensure manual "Force" overrides take precedence over backend policies. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
…n logic - Implement per-game GPU selection with support for DRI_PRIME and NVIDIA Prime Offload. - Refactor Graphics Backend Policy (DX8-11) and D3D12 Provider Policy (DX12) to be logically distinct. - Overhaul graphics component detection (DXVK/VKD3D/VKD3D-Proton) to support modern Wine-TKG layouts and improve version parsing. - Remove obsolete "Graphics Layers (per-prefix)" manual installation UI in favor of managed policies and manual overrides. - Align DLL provider resolution scan roots with refined component subdirectories to avoid misidentifying Wine built-ins. - Ensure "Detected Graphics Components" status is visible and accurate in both global settings and per-game options. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
…ants - Implement `effective_launch_config.json` structured dump for every launch attempt. - Enhance `PreflightStage` with detailed game executable resolution diagnostics. - Enforce launch invariants: - Invariant A: Fail if executable path does not exist with full context. - Invariant B: Prevent forced native overrides in baseline/WineD3D mode. - Invariant C: Ensure effective D3D12 provider matches resolved DLL paths. - Invariant D: Detect and log silent overwrites of user settings (backend, provider, GPU). - Separate requested vs effective state in `GraphicsStackInfo` and logs. - Add concise launch summary block to `events.jsonl` for easier triage. - Improve GPU selection routing for 'Unknown' adapters. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
…injection - Refactor `WineTkgRunner` to make `Auto` graphics policies conservative: - `GraphicsBackendPolicy::Auto` now defaults to baseline WineD3D unless manual overrides are set. - `D3D12ProviderPolicy::Auto` now defaults to None unless explicitly requested. - GPU selection now defaults to system default (no forced offload) if unset. - Stop unconditional injection of DXVK/VKD3D paths and overrides based only on detection. - Filter `WINEDLLPATH` to only include directories for components actively selected for use. - Refine `populate_effective_graphics_stack` to distinguish between "default/unset" and "forced" states. - Update `LaunchInvariantValidator` to enforce that no injection occurs for unset components. - Ensure diagnostics clearly separate "Detected" availability from "Applied" runtime usage. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Refactor `WineTkgRunner` to make `Auto` graphics policies conservative: - `Auto` backend and D3D12 provider no longer automatically enable DXVK/VKD3D. - GPU selection defaults to system default if unset (no forced PRIME/offload). - Restricted `WINEDLLPATH` to only include directories for active components. - Implement structured runtime evidence collection in `LaunchPipeline`: - Scans Wine logs for loading signatures of DXVK, VKD3D, and WineD3D. - Provides concise per-component diagnoses (e.g., "requested and found"). - Add explicit tracking for environment variable propagation (HUDs, offloading). - Update `LaunchInvariantValidator` to enforce consistency and detect missing evidence. - Persist structured runtime evidence and propagation status to `effective_launch_config.json`. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Refactor graphics diagnostics in `LaunchPipeline` to derive from a single source of truth (the final resolved effective configuration). - Ensure `graphics_stack_expected` and `override_policy` accurately reflect the materialized environment, even for explicit DXVK launches. - Fix `INVARIANT_D_BACKEND_MISMATCH` to correctly compare requested vs effective backend and skip checks when effective state is not yet populated. - Align runtime evidence expectations with the effective backend and provider choices. - Correct `check_environment_sanity` to prevent false "unexpected override" warnings when DXVK/VKD3D-Proton are active by policy. - Improve `override_policy` labeling to truthfully describe the final `WINEDLLOVERRIDES` (e.g., reporting "Native-preferred" if native D3D overrides are present). - Ensure all diagnostics (summary, events, effective config) are internally consistent for the Batman: Arkham Origins test case. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Overhaul Wine log scanning logic in `LaunchPipeline` to use multi-pattern matching (DLL names, runner-specific paths, and module loading traces). - Add explicit detection for module load failures and builtin/system32 fallbacks. - Record detailed evidence scan metadata (log status, size, line count, scan duration) to distinguish between missing logs and missing evidence. - Distinguish between intent and reality in diagnostics, providing confidence-aware diagnoses (e.g., "confirmed", "inconclusive", "fallback suspected"). - Capture representative matched lines in the `RuntimeEvidence` artifact. - Update `LaunchInvariantValidator` to provide specific context in warnings when evidence is absent due to missing or empty logs. - Ensure diagnostics are fully coherent for the Batman: Arkham Origins test case. Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
This PR improves GPU management and graphics stack configuration. Users with multiple GPUs can now select their preferred adapter on a per-game basis. The graphics policy logic has been refactored to independently manage DX8-11 (Auto, WineD3D, DXVK) and DX12 (Auto, VKD3D-Proton, VKD3D-Wine) backends, fixing previous cross-mapping issues. Component detection is now compatible with modern PE-based Wine builds, and obsolete manual DLL injection controls have been removed in favor of the more robust runner-based resolution.
PR created automatically by Jules for task 5417825578487614697 started by @weter11