popn: hook DisplayConfigGetDeviceInfo to allow for any GPU port to be used for monitor, get past I/O check (#622)

## Link to GitHub Issue or related Pull Request, if one exists
#618 

## Description of change
The game expects the main display to be *not* HDMI, and at port 2.

Hooking DisplayConfigGetDeviceInfo allows us to boot the game on any
monitor.

Add basic I/O hook. It gets stuck in `USB I/O Checking...` for a couple
minutes but it'll eventually skip and boot to title screen.

## Testing
ugh.
This commit is contained in:
bicarus
2026-04-10 02:56:32 -07:00
committed by GitHub
parent 54ec9f272e
commit b281517429
6 changed files with 129 additions and 7 deletions
+5 -3
View File
@@ -4540,9 +4540,11 @@ namespace overlay::windows {
for (const auto &monitor : monitors) {
const bool is_selected = option.value == monitor.display_name;
auto friendly = wchar_to_u8(monitor.friendly_name.c_str());
if (ImGui::Selectable(
fmt::format("{} ({})", monitor.display_name, friendly).c_str(),
is_selected)) {
auto str = fmt::format("{} ({})", monitor.display_name, friendly);
if (monitor.is_primary) {
str += " [Primary]";
}
if (ImGui::Selectable(str.c_str(), is_selected)) {
option.value = monitor.display_name;
}
}