What's new in Switchres 2.21d (June 2024)
- [nogpu]
- Support for analog joysticks connected to the MiSTer.
- New input backend -keyboardprovider mister: allows using one keyboard connected to the MiSTer.
- New input backend -mouseprovider mister: allows using one mouse connected to the MiSTer.
What's new in Switchres 2.20c (April 2024)
- Fix wrong speed on certain games (crusnusa, etc.), always update screen when syncrefresh is on (bypass frameskip).
What's new in Switchres 2.20b (April 2024)
- [nogpu] New option -[no]mister_interlaced_fb: if enabled, odd and even fields of interlaced modes are sent separately (as in previous releases). If disabled, both fields are sent together and the fpga will pick the correct one based on its current raster status (this avoids field synchronization issues, but requires higher bandwidth).
- [nogpu] New input backend -joystickprovider mister: allows using gamepads connected to the MiSTer (2 players).
Both features require up-to-date groovymister core.
What's new in Switchres 2.20a (February 2024)
- Version synchronized with first Switchres full release.
What's new in Switchres 2.002zz (January 2024)
- [nogpu]
- Add audio support.
- Various fixes to allow building on Mac [djfumberger]
- Fix blinking on internal FE with lz4
- Avoid modes bigger than RGB buffer (force 640x480)
- Add bilinear filterning, linked to -autofilterAdd audio support.
What's new in Switchres 2.002z (January 2024)
- [nogpu] Properly compute pixel aspect ratio of nogpu(MiSTer) screen.
What's new in Switchres 2.002y (December 2023)
- [nogpu] First release with GroovyMiSTer support. New video backend -video mister for RGB video through network.
What's new in Switchres 2.002x (December 2023)
- [Linux] Add new option -dri_device. Use to force vsync on a specific gpu, e.g. "card0", "card1", etc., or "auto" for automatic selection (currently it will pick the first device with a valid connector.
- [Windows] Raw input improvements. Workaround for devices with buggy drivers. PlayStation triggers hack removed. Should now be compatible with most existing gamepads. [star69rem]
What's new in Switchres 2.002w (October 2023)
- [Linux] Added Switchres fixes to drmkms backend to properly poll dri devices.
What's new in Switchres 2.002v (July 2023)
- Also save Screen Refresh Rate slider.
What's new in Switchres 2.002u (May 2023)
- Only save certain sliders: frame delay, vsync-offset, overclock and CRT geometry sliders. This avoids the problem with vector games not responding to ini settings.
What's new in Switchres 2.002t (May 2023)
- [Windows] Fix rawinput for joysticks for certain devices [star69rem].
- Fix lcd_range operation.
What's new in Switchres 2.002s (April 2023)
- Fix popup error with custom preset (switchres: error trying to fill monitor range with).
What's new in Switchres 2.002r (March 2023)
- Improve rendering of UI frames and lines in low resolutions. [Oomek]
- Correctly apply rotation after modeline adjustment (using the geometry sliders with rotated games now works).
- Correctly apply syncrefresh (it wasn't applied automatically since v_scale was changed from int to float).
What's new in Switchres 2.002q (February 2023)
- Implement integer scaled fonts. Finally clear fonts for CRTs at low resolutions. Set uifont uismall.bdf in mame.ini to enable it. [Oomek & Calamity]
- Force 2-line step for -v_shift (option & slider) on interlaced modes. This way it preserves vertical field parity which is required for correct timings and some hardware. Maybe you need to readjust your previous -v_shift settings.
- [Windows] Make rawinput for joysticks not the default option. Set joystickprovider rawinput manually in mame.ini if you want to use it. It doesn't work for UltraStick and probably other controllers yet.
What's new in Switchres 2.002m (September 2022)
- [Windows] Add rawinput support for joysticks. Split global inputs settings for keyboards, mice and joysticks. [Chester C. Rumpled]
- Extend h-size slider to 2.00 maximum.
What's new in Switchres 2.002l (August 2022)
- Added controls for geometry adjustment. These are available both as command-line/.ini options and in-game sliders for interactive adjustment:
* H-size [0.5 - 1.5]: option -h_size
* H-shift [positive or negative, in pixels]: option -h_shift
* V-shift [positive or negative, in lines]: option -v_shift
As a reminder: V-size is not possible from software.
What's new in Switchres 2.002k (July 2022)
- [Linux] Add low latency (drm) vsync to sdl2 video backend (-video accel).
- Properly apply -keepaspect on rotated targets with -autostretch.
What's new in Switchres 2.002j (June 2022)
- Improve UI text drawing performance. [Oomek]
- Another fix to the scaling algorithm (hopefully the last needed).
What's new in Switchres 2.002i (April 2022)
- Fixed wrong scaling of vertical games in certain cases.
- [Linux] Internal changes to support libdrm hook (experimental feature).
What's new in Switchres 2.002g (January 2022)
- New option -switchres_ini. If enabled, GroovyMAME will try to parse switchres.ini and use it for its configuration. Options priorities, in increasing order: mame.ini < switchres.ini < display#.ini < orientation.ini < ..... < command line.
- [Linux] Improved support for mode switching on KMS.
- [Linux] Fixes toggling fullscreen on/off (still imperfect but functional).
What's new in Switchres 2.002f (December 2021)
- [Linux] First release ever to support mode switching on KMS. It needs Substring's patched kernel and SDL2 (>=2.0.16) available on GroovyArcade's repository.
What's new in Switchres 2.002e (October 2021)
- Properly fix configuration saving from the ui.
What's new in Switchres 2.002d (October 2021)
- [Windows] Fix bug that caused interlaced modes to lock screen updates.
- Fix bug that caused an exception when saving configuration after doing changes from the ui.
- Make -vsync_offset slider setting not propagate between different games when launched from the ui.
What's new in Switchres 2.002c (September 2021)
- [Windows] Fixed bug that caused games using interlaced modes run at double speed.
What's new in Switchres 2.002b (June 2021)
- New option -[no]syncaudio: Make audio synchronization (resampling) optional. Default is enabled. Disable to avoid sound wobble with erratic emulation speeds (like that caused by frame delay on some systems).
- New option -[no]autostretch: Make auto stretching feature optional. Default is enabled, so GM will apply the scaling mode (fractional or integer) that best fits the situation.
- New option -[no]autofilter: Make auto filter optional. Default is enabled, so GM will apply bilinear filtering when fractional scaling or an interlaced mode are used.
- New option -[no]interlace_force_even: Calculate all vertical values of interlaced modes as even numbers. Required by AMD APU hardware on Linux
- [Windows] Implement asynchronous rendering through native D3D9ex api (replace for old multithreaded -triplebuffer). This mode is selected automatically by -autosync. You can force it manually with -waitvsync -nosyncrefresh.
- [Linux] New option -sync_mode <0-4>: In combination with -syncrefresh, select the synchronization mode that offers the lowest latency based for the specific video driver. The default value is 2, which gives good results for both amdgpu and radeon on X11 and kms mode. Other modes are provided that could be useful with other hardware/driver combination.
sync algorithm amdgpu radeon radeon/kms amdgpu/kms
mode
0 -Swap(1) perfect(1) perfect smooth smooth
-glFinish lag 1 frame lag 1 frame
1 -Swap(0) tearing tearing perfect tearing/
-drmWaitVBlank perfect w/fd stuttering
-glFinish
2 -Swap(1) perfect(1) perfect perfect perfect(1)
-drmWaitVBlank
-glFinish
3 -drmWaitVBlank tearing perfect(2) tearing tearing
-Swap(0)
-glFinish
4 -drmWaitVBlank half speed half speed smooth smooth
-Swap(1) lag 1 frame lag 1 frame
-glFinish
- Swap(x), x = Opegl swap interval (0 = immediate, 1 = v-sync)
(1) Low frame delay performance
(2) GM's pre-0.232 implementation
perfect = smooth + subframe latency
Note: amdgpu on X11 has tearing with mode 1, however tearing can be removed with frame delay, and when done, it offers better performance than mode 2.
What's new in Switchres 2.002a (March 2021)
- Fixed crash on emulated systems with 2 or more screens.
- Correctly update game video information after machine initialization.
- Properly account for refresh scaling & black frame insertion with frame delay.