Project

General

Profile

Actions

Emulator Issues #6072

open

Allow to change refresh rate on fullscreen mode under X11 multimonitor setups

Added by tomman almost 11 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

It's nice to see emulators that actually care about multimonitor setups, allowing the user to pick on which display where I want to run the emulator. Also it's nice to see XRandR support on mainstream X11 GPU video drivers to be mostly solid.

However, in my case, a interesting problem arises: My gaming setup is kinda unusual:

  • Laptop panel [LVDS1]
  • Good ol' CRT TV plugged through a HDMI-to-CVBS converter box, since modern laptops no longer ship with S-Video outputs [HDM11]

The HDMI converter box announces the following supported resolutions:
HDMI1 connected 800x600+1366+0 (normal left inverted right x axis y axis) 160mm x 90mm
1920x1080 60.0 +
1600x1200 60.0

1680x1050 60.0

1280x1024 75.0 60.0

1440x900 75.0 59.9

1280x960 60.0

1280x800 59.8

1152x864 75.0

1280x720 60.0

1024x768 75.1 70.1 60.0

832x624 74.6

800x600 72.2 75.0 60.3* 56.2

640x480 72.8 75.0 66.7 60.0

720x400 70.1

I've set my HDMI output to 800x600@60.3Hz. This converter box in particular has a quite interesting flaw: it only outputs video if set to 60 or 75Hz, and in the case of 800x600, the other two refresh rates cause the box to just output NTSC test colorbars (Blame fly-by-night chinese OEMs, but noone makes HDMI CRT TVs nowadays...).

Now to the point: when I set Dolphin to run on HDMI1 at 800x600, start a game, then go fullscreen, it uses the XRandR extension to pick the proper video mode. After reading X11_Utils.cpp, when Dolphin requests 800x600 to XRandR, it returns a list of supported modes, and picks the first one of the list. In my case, as you can see on my commandline xrandr output, the very first mode is 800x600@72.2Hz... which triggers the bug on my converter box, leading to no video, and therefore no game. The workaround in my case is to manually set the refresh rate using another application (for example, xrandr commandline, or the desktop environment monitor settings applet) after starting the game. Obviously this becomes quite annoying.

My idea would imply to
1) Append the refresh rate (as specified by XRandR) into the supported video modes list on Video Settings, or
2) Include a extra box to select the desired refresh rate independently of the video mode (The emulator should fallback to the nearest rate should the user introduce some out-of-range value for the desired resolution).

Have you searched the issue tracker for a similar issue?
Issue 3631 describes a remotely similar case, but the bug reporter most likely was under Windows. Under X11, thanks to XRandR there is no such limitation.

What version of Dolphin were you using?
Git master, built from source

64 or 32 bit Dolphin?
64-bit

What Operating System were you using and what are your hardware
specifications?
Debian Wheezy/testing on a ASUS K53SD:

  • Core i5-2450M (Sandy Bridge)
  • Intel HD3000 / nVidia GeForce 610M (through bumblebee/Primus)
  • 6GB RAM / 750GB HDD No-name HDMI-to-CVBS converter box plugged to a analog Samsung CRT TV

64 or 32 bit Operating system?
AMD64

Any other relevant information or links to logs:

Actions

Also available in: Atom PDF