Matte app icon For ColorOS 17 on OnePlus, OPPO, realme

Notifications you can actually read.

ColorOS 17 draws notification cards as pale frosted glass with white text. Matte makes them solid. One tap, no root, fully reversible.

No root Nothing installed into the system Open source
9:41

Chats

Search
MCMaya ChenSounds good, see you at 79:382
BCBook clubJordan: next pick is up for a vote9:215
PPPriya PatelPhoto8:54
SRSam RiveraThanks for the recipe!Yesterday
WHWeekend hikeTrail opens at 8, bring waterYesterday
JLJordan LeeRunning 5 min lateTue
Before and after

Same banner. Same app. Readable.

Real screenshots from a OnePlus 15 on ColorOS 17, over a white screen. Drag to compare.

After: Matte on, solid notification card with readable text
Before: ColorOS 17 glass notification card, white text on light grey
GlassMatte

Solid cards, full-contrast text.

Why Matte

No setting fixes this. Matte does.

Visual Blur, window-level blurs, high contrast text, light mode. All tested, none change the cards.

Solid cards

Heads-up banners and shade cards get an opaque background with full-contrast text.

No root

Uses a SystemUI debug switch the shell is allowed to set. No bootloader unlock, no Magisk.

Fully reversible

Switch off any time. A phone restart also clears it. No system files are touched.

Quick Settings tile

Toggle from the shade without opening the app.

Re-applies after reboot

With Shizuku, Matte turns itself back on once Shizuku is running again.

Works from a computer

Prefer no app at all? Two adb commands, or the bundled scripts.

The app

One switch. That is the app.

Material 3, follows your system colors. Setup walks you through Shizuku in three steps.

Matte main screen: Matte is on
Matte setup done with Shizuku, re-apply after restart, Quick Settings tile
Matte test notification and Experimental notification dropdown slider set to Dark
Install

Two ways in.

Pick one. Both set the same switch.

Shizuku

Recommended

One-tap toggle on the phone, plus a Quick Settings tile.

  1. Install and start Shizuku.
  2. Install Matte and grant it Shizuku access.
  3. Switch Matte on. Add the tile if you like.

Computer

No app

Enable USB debugging, connect the phone, run:

Turn on
$ adb shell setprop debug.systemui.gaussblur_level 3
$ adb shell am crash com.android.systemui
Turn off
$ adb shell setprop debug.systemui.gaussblur_level -1
$ adb shell am crash com.android.systemui

Or use scripts/matte.sh / matte.bat with on, off, status.

How it works

One debug switch, already built in.

ColorOS 17 gives powerful phones frosted glass and low-end phones a solid, blur-free look. Matte asks SystemUI to use the low-end look on your phone.

  1. Set the override. SystemUI checks debug.systemui.gaussblur_level before its normal blur level. The shell user (adb, or Shizuku) may set debug.* properties, so no root is needed. Matte sets it to 3.
  2. Restart SystemUI. The level is only read at startup, so Matte restarts SystemUI. The screen flickers for a few seconds.
  3. Solid cards. Banners and dropdown cards come back painted solid and dark, with full-contrast text.

Off sets it back to -1. The value lives in memory, so a phone restart clears it. Side effect: the shade background, Quick Settings and volume panel lose their blur too.

Why not something else

  • OverlaysFabricated overlays are blocked for the shell on Android 16: "Non-root shell cannot fabricate overlays".
  • Custom themesThe theme engine does not load SystemUI colors for these cards.
  • Root + LSPosedThe c17-statusbar module works, but needs root.
FAQ

Questions.

Does it survive a restart?

No. Sleep, lock and SystemUI restarts are fine. A full phone restart resets it. With Shizuku, Matte re-applies it once Shizuku is running. With adb, run the command again.

Is it safe?

It sets one debug property SystemUI already supports and restarts the status bar. No root, nothing written to the system, fully reversible.

adb says "more than one device/emulator"?

Your phone is listed twice. These commands pick the first one.

Turn on
$ S=$(adb devices | awk 'NR==2{print $1}'); adb -s $S shell setprop debug.systemui.gaussblur_level 3 && adb -s $S shell am crash com.android.systemui
Back to glass
$ S=$(adb devices | awk 'NR==2{print $1}'); adb -s $S shell setprop debug.systemui.gaussblur_level -1 && adb -s $S shell am crash com.android.systemui
What is the Experimental slider?

With Shizuku, the app has an Experimental "Notification dropdown" slider: Light, Grey or Dark. It changes how see-through the notification dropdown is. Pop-ups stay solid at every setting. Dark is the default. Each change restarts the status bar, so give it a few seconds between changes.

How do I undo it?

Switch it off in Matte, run the turn-off command, or restart the phone.

Are there side effects?

Other SystemUI blur goes flat too: shade background, Quick Settings, volume panel. The status bar flickers for a few seconds while switching.

Which phones are supported?

ColorOS 17 on OnePlus, OPPO and realme. Verified on a OnePlus 15 with ColorOS 17.0.0.102. Other versions are untested.