[GH-ISSUE #1560] GPU preselect chooses AMD iGPU over NVIDIA dGPU when both present #459

Closed
opened 2026-10-31 22:13:15 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @benceruleanlu on GitHub (Jan 26, 2026).
Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/1560

Originally assigned to: @benceruleanlu on GitHub.

Summary

On Windows systems with an AMD iGPU and an NVIDIA dGPU, the install GPU preselect can choose AMD (ROCm) instead of NVIDIA. The user also observed a brief NVIDIA selection that then switches to AMD.

Steps to reproduce

  1. Use a Windows machine with an AMD iGPU (e.g., Ryzen APU) and an NVIDIA dGPU.
  2. Launch the installer and reach the GPU selection step.
  3. Observe the auto-selected GPU.

Actual behavior

  • AMD is preselected even though an NVIDIA dGPU is present.
  • In at least one case, NVIDIA is briefly selected and then AMD becomes selected.

Expected behavior

  • Prefer NVIDIA when both NVIDIA and AMD GPUs are present.
  • Preselect should be deterministic and stable (no visible “flip”).

Notes / possible cause

validateHardware() uses systeminformation.graphics().controllers and returns the first detected GPU. If the AMD iGPU appears first, detectedGpu becomes amd, which is then used by the frontend to preselect.

A fix could prioritize NVIDIA when both are present (or prefer discrete GPUs over integrated GPUs).

Impact

Users with NVIDIA dGPU may be misled into installing AMD ROCm packages.

┆Issue is synchronized with this Notion page by Unito

Originally created by @benceruleanlu on GitHub (Jan 26, 2026). Original GitHub issue: https://github.com/Comfy-Org/desktop/issues/1560 Originally assigned to: @benceruleanlu on GitHub. ## Summary On Windows systems with an AMD iGPU and an NVIDIA dGPU, the install GPU preselect can choose **AMD (ROCm)** instead of NVIDIA. The user also observed a brief NVIDIA selection that then switches to AMD. ## Steps to reproduce 1. Use a Windows machine with an AMD iGPU (e.g., Ryzen APU) and an NVIDIA dGPU. 2. Launch the installer and reach the GPU selection step. 3. Observe the auto-selected GPU. ## Actual behavior - AMD is preselected even though an NVIDIA dGPU is present. - In at least one case, NVIDIA is briefly selected and then AMD becomes selected. ## Expected behavior - Prefer NVIDIA when both NVIDIA and AMD GPUs are present. - Preselect should be deterministic and stable (no visible “flip”). ## Notes / possible cause `validateHardware()` uses `systeminformation.graphics().controllers` and returns the **first** detected GPU. If the AMD iGPU appears first, `detectedGpu` becomes `amd`, which is then used by the frontend to preselect. A fix could prioritize NVIDIA when both are present (or prefer discrete GPUs over integrated GPUs). ## Impact Users with NVIDIA dGPU may be misled into installing AMD ROCm packages. ┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-1560-GPU-preselect-chooses-AMD-iGPU-over-NVIDIA-dGPU-when-both-present-2f46d73d365081d3b5f2cecad5a1b533) by [Unito](https://www.unito.io)
bsakaguchi 2026-10-31 22:13:15 +00:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@coderabbitai[bot] commented on GitHub (Jan 26, 2026):

📝 CodeRabbit Plan Mode

Generate an implementation plan and prompts that you can use with your favorite coding agent.

  • Create Plan
Examples

🔗 Related PRs

Comfy-Org/desktop#1501 - Add AMD GPU Support [merged]


🧪 Issue enrichment is currently in open beta.

You can configure auto-planning by selecting labels in the issue_enrichment configuration.

To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

issue_enrichment:
  auto_enrich:
    enabled: false

💬 Have feedback or questions? Drop into our discord!

<!-- gh-comment-id:3802243510 --> @coderabbitai[bot] commented on GitHub (Jan 26, 2026): <!-- This is an auto-generated issue plan by CodeRabbit --> ### 📝 CodeRabbit Plan Mode Generate an implementation plan and prompts that you can use with your favorite coding agent. - [ ] <!-- {"checkboxId": "8d4f2b9c-3e1a-4f7c-a9b2-d5e8f1c4a7b9"} --> Create Plan <details> <summary>Examples</summary> - [Example 1](https://redirect.github.com/coderabbitai/git-worktree-runner/issues/29#issuecomment-3589134556) - [Example 2](https://redirect.github.com/coderabbitai/git-worktree-runner/issues/12#issuecomment-3606665167) </details> --- <details> <summary><b>🔗 Related PRs</b></summary> Comfy-Org/desktop#1501 - Add AMD GPU Support [merged] </details> --- <details> <summary> 🧪 Issue enrichment is currently in open beta.</summary> You can configure auto-planning by selecting labels in the issue_enrichment configuration. To disable automatic issue enrichment, add the following to your `.coderabbit.yaml`: ```yaml issue_enrichment: auto_enrich: enabled: false ``` </details> 💬 Have feedback or questions? Drop into our [discord](https://discord.gg/coderabbit)!
Author
Owner

@dosubot[bot] commented on GitHub (Jan 26, 2026):

The current GPU preselect logic on Windows scans the list of detected GPUs and picks the first match—so if your AMD iGPU appears before your NVIDIA dGPU, the installer will preselect AMD (ROCm), even if an NVIDIA GPU is present. This is because the detection code in getWindowsGpuFromGraphics and validateHardware does not prioritize discrete GPUs or NVIDIA over AMD; it simply returns the first detected type from the controllers list, which can lead to non-deterministic and unstable preselection (including the visible "flip" you described) [PR #1501].

To fix this, the detection logic should be updated to scan all controllers and explicitly prefer NVIDIA (especially discrete) GPUs when both are present, falling back to AMD only if no NVIDIA GPU is found. This prioritization should be implemented in the GPU detection code—specifically in getWindowsGpuFromGraphics and validateHardware—to ensure deterministic and user-friendly preselection. This would prevent users with NVIDIA dGPUs from being misled into installing AMD ROCm packages and eliminate the selection "flip" during install.

To reply, just mention @dosu.


Docs are dead. Just use Dosu.

Leave Feedback Ask Dosu about desktop Share Dosu with your team

<!-- gh-comment-id:3802260031 --> @dosubot[bot] commented on GitHub (Jan 26, 2026): <!-- Answer --> The current GPU preselect logic on Windows scans the list of detected GPUs and picks the first match—so if your AMD iGPU appears before your NVIDIA dGPU, the installer will preselect AMD (ROCm), even if an NVIDIA GPU is present. This is because the detection code in `getWindowsGpuFromGraphics` and `validateHardware` does not prioritize discrete GPUs or NVIDIA over AMD; it simply returns the first detected type from the controllers list, which can lead to non-deterministic and unstable preselection (including the visible "flip" you described) [[PR #1501](https://github.com/Comfy-Org/desktop/pull/1501)]. To fix this, the detection logic should be updated to scan all controllers and explicitly prefer NVIDIA (especially discrete) GPUs when both are present, falling back to AMD only if no NVIDIA GPU is found. This prioritization should be implemented in the GPU detection code—specifically in `getWindowsGpuFromGraphics` and `validateHardware`—to ensure deterministic and user-friendly preselection. This would prevent users with NVIDIA dGPUs from being misled into installing AMD ROCm packages and eliminate the selection "flip" during install. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=Comfy-Org%2Fdesktop).* --- Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=Comfy-Org%2Fdesktop). [![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=Comfy-Org%2Fdesktop#message_id=57efeded-ff13-4478-a3ab-a6527516ce1f) [![Ask Dosu about desktop](https://img.shields.io/badge/Ask%20Dosu%20about%20desktop-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUgODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/Comfy-Org/desktop?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=Comfy-Org%2Fdesktop) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=Comfy-Org%2Fdesktop)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/desktop#459
No description provided.