Support AMD GPUs on Desktop#7799
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughAdds AMD GPU support and related UI/storybook updates: GpuPicker renders AMD on non-darwin platforms, storybook stories/platform decorators were added, HardwareOption props were simplified, install/maintenance views updated for AMD and prop removal, English locale strings added, workspace dependency bumped and a storybook script added. Also adds THIRD_PARTY_NOTICES.md. Changes
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 12/31/2025, 09:31:11 PM UTC 🔗 Links🎉 Your Storybook is ready for review! |
🎭 Playwright Test Results❌ Some tests failed ⏰ Completed at: 12/31/2025, 09:44:21 PM UTC 📈 Summary
📊 Test Reports by Browser
🎉 Click on the links above to view detailed test results for each browser configuration. |
Bundle Size ReportSummary
Category Glance Per-category breakdownApp Entry Points — 3.21 MB (baseline 3.21 MB) • 🔴 +120 BMain entry bundles and manifests
Status: 3 added / 3 removed Graph Workspace — 1000 kB (baseline 1000 kB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 6.63 kB (baseline 6.63 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 1 added / 1 removed Panels & Settings — 300 kB (baseline 300 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 6 added / 6 removed UI Components — 199 kB (baseline 199 kB) • ⚪ 0 BReusable component library chunks
Status: 9 added / 9 removed Data & Services — 12.5 kB (baseline 12.5 kB) • ⚪ 0 BStores, services, APIs, and repositories
Status: 2 added / 2 removed Utilities & Hooks — 1.41 kB (baseline 1.41 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 1 added / 1 removed Vendor & Third-Party — 9.12 MB (baseline 9.12 MB) • ⚪ 0 BExternal libraries and shared vendor chunks
Other — 3.47 MB (baseline 3.47 MB) • ⚪ 0 BBundles that do not match a named category
Status: 20 added / 20 removed |
There was a problem hiding this comment.
Is it possible to make the types all work well?
There was a problem hiding this comment.
yeah the desktop types package didn't publish with the AMD changes until recently, I just updated it
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
| :filter | ||
| :display-as-list | ||
| :is-refreshing | ||
| /> |
There was a problem hiding this comment.
This is not used, flagged by typechecking and linting
| displayAsList: string | ||
| filter: MaintenanceFilter | ||
| isRefreshing: boolean | ||
| }>() |
There was a problem hiding this comment.
This is not used, flagged by typechecking and linting
| interface Props { | ||
| imagePath?: string | ||
| placeholderText: string | ||
| subtitle?: string | ||
| value: TorchDeviceType | ||
| selected?: boolean | ||
| recommended?: boolean | ||
| } |
There was a problem hiding this comment.
This is not used, flagged by typechecking and linting, it's handled by the parent component
| :subtitle="$t('install.gpuPicker.manualSubtitle')" | ||
| :value="'unsupported'" | ||
| :selected="selected === 'unsupported'" |
There was a problem hiding this comment.
These are not used, flagged by typechecking and linting, it's handled by the parent component
4fced8a to
6e3723d
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds first-class support for AMD GPUs with ROCm acceleration in the ComfyUI desktop installer, providing AMD GPU users with a proper installation path instead of having to fall back to CPU or manual options.
- Adds AMD as a selectable GPU option in the hardware picker UI with appropriate branding and i18n support
- Updates device detection logic to automatically recognize and select AMD GPUs during installation
- Upgrades
@comfyorg/comfyui-electron-typesdependency from 0.5.5 to 0.6.2 to support the new AMD device type
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/locales/en/main.json |
Adds i18n entries for AMD ROCm subtitle and description text |
pnpm-workspace.yaml |
Updates @comfyorg/comfyui-electron-types catalog version to 0.6.2 |
pnpm-lock.yaml |
Updates lockfile entries for the new types package version |
package.json |
Adds convenience script storybook:desktop for running desktop UI Storybook |
apps/desktop-ui/src/views/MaintenanceView.vue |
Removes unused isRefreshing prop from TaskListPanel component |
apps/desktop-ui/src/views/InstallView.vue |
Adds AMD to GPU detection logic and adds null safety check before installation |
apps/desktop-ui/src/components/maintenance/TaskListPanel.vue |
Removes unused isRefreshing prop from component definition |
apps/desktop-ui/src/components/install/InstallLocationPicker.vue |
Adds AMD case to torch mirror selection (falls back to CPU mirror) and updates function declaration style |
apps/desktop-ui/src/components/install/HardwareOption.vue |
Removes unused value and recommended props from component interface |
apps/desktop-ui/src/components/install/HardwareOption.stories.ts |
Updates stories to remove the now-unused value prop |
apps/desktop-ui/src/components/install/GpuPicker.vue |
Adds AMD hardware option with proper i18n, updates recommended badge logic to include AMD, and adds AMD to description keys |
apps/desktop-ui/src/components/install/GpuPicker.stories.ts |
New Storybook file with comprehensive stories showcasing AMD, NVIDIA, CPU options on Windows and MPS on macOS |
apps/desktop-ui/public/assets/images/amd-rocm-logo.png |
Adds AMD ROCm logo asset for the hardware picker UI |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
| image-path="./assets/images/apple-mps-logo.png" | ||
| placeholder-text="Apple Metal" | ||
| subtitle="Apple Metal" |
There was a problem hiding this comment.
The Apple Metal option uses a hardcoded string "Apple Metal" for the subtitle, while NVIDIA and AMD use i18n translations. For consistency, consider adding an i18n key for the Apple Metal subtitle as well (e.g., "appleMetalSubtitle") to match the pattern used for NVIDIA and AMD.
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
THIRD_PARTY_NOTICES.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
THIRD_PARTY_NOTICES.md
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
1-1: Files should end with a single newline character
(MD047, single-trailing-newline)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: test
- GitHub Check: setup
- GitHub Check: lint-and-format
- GitHub Check: collect
| @@ -0,0 +1 @@ | |||
| AMD and the AMD Arrow logo are trademarks of Advanced Micro Devices, Inc. No newline at end of file | |||
There was a problem hiding this comment.
Add a top-level heading and trailing newline to comply with markdown conventions.
The file is missing a top-level heading and does not end with a newline character, triggering linter warnings.
🔎 Proposed fix
+# Third-Party Notices
+
-AMD and the AMD Arrow logo are trademarks of Advanced Micro Devices, Inc.
+AMD and the AMD Arrow logo are trademarks of Advanced Micro Devices, Inc.Note: The + after the final line indicates a trailing newline.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| AMD and the AMD Arrow logo are trademarks of Advanced Micro Devices, Inc. | |
| # Third-Party Notices | |
| AMD and the AMD Arrow logo are trademarks of Advanced Micro Devices, Inc. |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
1-1: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In THIRD_PARTY_NOTICES.md around lines 1 to 1, the file lacks a top-level
heading and a trailing newline which causes linter warnings; add a suitable
top-level heading (e.g., "# Third Party Notices") as the first line, ensure the
existing content follows beneath it, and make sure the file ends with a single
newline character.
Add AMD ROCm GPU option to the desktop installer
What changed
amddevice type in the install flow when it is detected.@comfyorg/comfyui-electron-typesand lockfile entries required for the new device enum.Why
Evidence
apps/desktop-ui/src/components/install/GpuPicker.stories.ts