libretro / libretro/RetroArch

[Feature Request] Rotate RetroArch menus without OS-level rotation

Open
#19,123 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

On Windows, if you want to rotate the RetroArch menu, you have to change your monitor orientation in the OS, or use the RA option that does it for you. This can add latency for systems that don't support Multi-Plane Overlay rotation (many NVIDIA cards), since it forces a composited presentation mode instead of flip-model.

On affected systems, this can be verified using PresentMon, and the Windowed Fullscreen toggle doesn't help:

Image

I use RA for portrait-monitor games like shmups, with a rotated display, and there's currently no way to get the lowest possible latency while having the game video and the emulator menus in the correct orientation. Allowing the menus to be rotated in the same way as core video, without changing system-level display orientation, would fix this for me.

Contributor guide

Open the contributing guide

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.

Research direction

Start by tracing RetroArch's Windows menu presentation path and the existing core-video rotation handling. Use PresentMon to compare the presentation mode and latency before and after the change; done means the game video and menus rotate correctly without OS-level display rotation or the added compositing latency described here.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend, operating-systems, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.