Skip to content

feat: add a 1920x1080 docked output mode - #1144

Merged
hckrman101 merged 2 commits into
NotRexed:mainfrom
arthur-moebios:feat/docked-1080p
Nov 9, 2026
Merged

hckrman101 merged 2 commits into
NotRexed:mainfrom
arthur-moebios:feat/docked-1080p

Conversation

@arthur-moebios

Copy link
Copy Markdown

Summary

Add 1920×1080 as a docked output size for the full game image and HUD. The new mode uses output_res=3 or HOS_OUTPUT_RES=3. The existing saved mode IDs and the default output are preserved.

Testing

Compared the two output sizes in the same patched v2.0.7 executable on Windows with a Core i7-13700H and RTX 4060 Laptop GPU (driver 617.42). Both headless Vulkan runs loaded the same Hyrule Field save and held the same camera at fixed 100% render scale with frame generation off. Measured one 25-second window per mode after loading. The native present trace measures time between game present-call returns.

Output Mean native FPS Frame time p95 Median GPU time per frame
2048×1152 38.77 29.59 ms 19.40 ms
1920×1080 42.78 26.23 ms 17.40 ms

Verified the 1920×1080 render dimensions in the log and checked HUD placement in local gameplay captures. The regression test covers mode IDs, the environment override, handheld fallback, and render-target budgets. The full local source suite reported 119 passed, 12 skipped and four failures that also reproduced on unmodified main (test_nup_paths.py, test_fps_overlay_order.py, test_precompile_compute_guard.py, and test_program_answer_domains.py).

Refs #1007 and #1134.

Add 1920x1080 as a docked output size, with output_res=3 and
HOS_OUTPUT_RES=3. Keep the saved identifiers for all existing modes and
show the corresponding internal resolution in the Graphics menu.

Add a game-free regression covering saved modes, the override, handheld
fallback, and render-target budgets. On Windows, 119 checks passed and
12 were skipped. The four failures also reproduce on unmodified main.

Smoke-tested the same runtime/menu patch on v2.0.7 on Windows with an
RTX 4060 Laptop GPU (driver 617.42). The startup run reported 1920x1080
NVN window textures, a 1920x1080 scene at fixed 100%, and frame presents.
No gameplay performance comparison was run.

Refs NotRexed#1134

Assisted-by: OpenAI Codex
Co-Authored-By: OpenAI Codex <codex@openai.com>
@arthur-moebios

Copy link
Copy Markdown
Author

Thanks for the review, @hckrman101. I agree that sharper HUD and text on a 1080p display are the stronger reason to add this mode. I'll make that the main point in the README and keep the benchmark in the PR as a measured result.

I'll put 1080p first in the menu and README while keeping the saved IDs stable. I'll also replace the exact menu-row text assertion with checks for the selectable modes and their order.

I'd keep the integer setting for this PR to preserve compatibility with existing configs. If we expect to add more resolutions, I'm happy to discuss a more extensible format separately. Thanks for the heads-up about #841.

Step through the sizes from 1080p to 4K, with the saved IDs intact.
Describe native HUD and text scaling in the README and test navigation
in both directions, including the endpoints.

Assisted-by: OpenAI Codex
Co-Authored-By: OpenAI Codex <codex@openai.com>
@hckrman101
hckrman101 merged commit d39923e into NotRexed:main Nov 9, 2026
NotRexed added a commit that referenced this pull request Nov 9, 2026
…, Windows paths in two tests)

- test_output_resolution: hos_wide_out, which nn_applet.c reads since the ultrawide pool fix.
- test_rumble_menu: step_output_choice, which set_row calls since #1144's Output row.
- utf8_paths_test.c: the log is written through text-mode stderr, CR LF on Windows: compared without the CRs.
- test_oot_saves: USERPROFILE redirected too, and skipped on Windows (its discovery is the Linux one).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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