Skip to content

Don't let the OSD mode switch the performance overlay off at boot - #8

Open
Zulux91 wants to merge 1 commit into
ARMSX2:masterfrom
Zulux91:pr/overlay-enabled-clobbered-by-osd-mode
Open

Don't let the OSD mode switch the performance overlay off at boot#8
Zulux91 wants to merge 1 commit into
ARMSX2:masterfrom
Zulux91:pr/overlay-enabled-clobbered-by-osd-mode

Conversation

@Zulux91

@Zulux91 Zulux91 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Two things end up writing the same config node. RPCS3 has its own Performance Overlay switch, in OverlayTab and the in-game menu, both writing ps3.overlayEnabled. ARMSX2 has its twelve per-stat osdShow* flags, and osdApplyFlags derives Enabled purely from those, all of which default to off. So it pushed Enabled=false right over the switch.

Boot order decided the winner. MainActivityRuntime calls applyTo(), which pushes the switch, and then applyStoredOsdMode() one line later, which pushes the flags. Turning the overlay on in settings did nothing at all.

Only that one key was affected, because osdApplyFlags returns as soon as it sees nothing enabled and never reaches the graph, font size and opacity settings. That is why config.yml held the user's values for those while Enabled sat at false.

Re-assert the switch after the flags have been applied. Scoped to the Custom path, since that is the mode that reads saved settings and the one that runs at boot. Full and Min pass explicit flags, and Off is meant to be off.

Two things end up writing the same config node. RPCS3 has its own Performance
Overlay switch, in OverlayTab and the in-game menu, both writing
ps3.overlayEnabled. ARMSX2 has its twelve per-stat osdShow* flags, and
osdApplyFlags derives Enabled purely from those, all of which default to off.
So it pushed Enabled=false right over the switch.

Boot order decided the winner. MainActivityRuntime calls applyTo(), which
pushes the switch, and then applyStoredOsdMode() one line later, which pushes
the flags. Turning the overlay on in settings did nothing at all.

Only that one key was affected, because osdApplyFlags returns as soon as it
sees nothing enabled and never reaches the graph, font size and opacity
settings. That is why config.yml held the user's values for those while
Enabled sat at false.

Re-assert the switch after the flags have been applied. Scoped to the Custom
path, since that is the mode that reads saved settings and the one that runs
at boot. Full and Min pass explicit flags, and Off is meant to be off.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant