Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

macOS (Intel + AMD GPU): garbled glyphs and smeared transitions, Impeller MetalSDF

Open
#1,798 3 comments 1 reaction 0 assignees View on GitHub

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
Tech stack
dart, flutter

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

bug

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

  1. Launch Server Box on the machine below.
  2. Open the server sort sheet (or any menu or popup), or switch between tabs.
  3. 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=true and 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 sliding TabBarView, and it rendered fine in every variant. So it seems to depend on something Server Box draws.
  • I can't test FLTEnableImpeller=false on Server Box itself. Editing Info.plist breaks the signature, and an ad-hoc re-signed copy fails at startup with PlatformException(-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.

Image
Dominant language
Dart
Stars
8.9k
Forks
574
Avg merge
2h 24m
Merged PRs (30d)
146

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lollipopkit/flutter_server_box

All issues in lollipopkit/flutter_server_box

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.