macOS (Intel + AMD GPU): garbled glyphs and smeared transitions, Impeller MetalSDF
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 36/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- desktop, performance
Research direction
Start by locating the sort sheet, menus, and tab transitions described in the report, then compare the app’s rendering behavior with the minimal Flutter reproduction on macOS Intel/AMD. The report provides no source file or test entry point, so first identify what Server Box draws differently under Impeller MetalSDF. Done means the corrupted glyphs and smeared transitions are reproduced and render cleanly on the specified machine.
Written by the indexing model from the issue text.
Description
Describe the bug
On an Intel MacBook Pro with an AMD GPU, the UI renders corrupted from the moment the app starts. Text and icon glyphs turn into striped noise, and slide transitions (switching tabs, opening menus and sheets) smear and tear while they animate.
It happens right after a cold launch, not after the app has been running for a while. All appearance settings are at their defaults (no background image, gradient or store theme).
To reproduce
- Launch Server Box on the machine below.
- Open the server sort sheet (or any menu or popup), or switch between tabs.
- Glyphs in the sheet are garbled, and transitions smear and tear.
Expected result
Text, icons and transitions render cleanly.
Actual result
See the screenshot: in the sort sheet, most labels and their icons are striped noise. "顺序" and "按名称 (A-Z)" render fine, but the items below them do not.
Screenshots
Device
- OS: macOS 15.8.1 (24H32)
- Machine: MacBook Pro, Intel Core i9-9880H, Intel UHD Graphics 630 + AMD Radeon Pro 560X (4 GB), automatic graphics switching on, built-in Retina display
- App Version: 1.0.1816 (x86_64 DMG build, Flutter 3.47.5, engine
af7e796e16)
Additional context
What I checked locally:
- The engine logs
Using the Impeller rendering backend (MetalSDF). - With the Metal API validation layer on (
MTL_DEBUG_LAYER=1), the only messages are "redundant setCullMode/setTriangleFillMode/setFrontFacingWinding" and "previous setScissorRect was unused". There are no real validation errors. - I could not reproduce it in a minimal Flutter 3.47.5 app on the same machine. The engine binary matches the one in Server Box. I tried the default settings,
FLTEnableImpeller=false,FLTDisablePartialRepaint=trueand the binary retagged as built against SDK 27. The test app had a few thousand CJK glyphs, a modal bottom sheet styled like the sort sheet, and a slidingTabBarView, and it rendered fine in every variant. So it seems to depend on something Server Box draws. - I can't test
FLTEnableImpeller=falseon Server Box itself. Editing Info.plist breaks the signature, and an ad-hoc re-signed copy fails at startup withPlatformException(-34018)from the keychain.
Could you provide a test build with FLTEnableImpeller set to false in macos/Runner/Info.plist, or an in-app option to fall back to Skia? That would confirm whether Impeller (MetalSDF) is the cause on Intel/AMD Macs.
- Dominant language
- Dart
- Stars
- 8.9k
- Forks
- 574
- Avg merge
- 2h 24m
- Merged PRs (30d)
- 146
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lollipopkit/flutter_server_box
-
打开报错Openbug invalid
Difficulty 3/5 1-2 days Newbie friendliness 35/100
lollipopkit/flutter_server_box#1784 · 10 comments · 2 reactions ·
Maintainers usually reply within 1 day
-
enhancement lib
Difficulty 4/5 3-5 days Newbie friendliness 48/100
lollipopkit/flutter_server_box#1773 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
lollipopkit/flutter_server_box#1772 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
lollipopkit/flutter_server_box#1771 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
WebDAV 自动恢复后出现重复服务器Openbug
Difficulty 3/5 1-2 days Newbie friendliness 47/100
lollipopkit/flutter_server_box#1770 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
All issues in lollipopkit/flutter_server_box
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
google/skills_lint.dart#165 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
good first issue help wanted translation
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
blankframe-tech/ThrottleIQ#23 ·
Maintainers usually reply within 5 days
-
good first issue mobile P0 size:S
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
trufi-association/trufi-core#1024 ·
Maintainers usually reply within 14 days