Video Options

These options do not affect the Amiga emulation itself, but will affect how the Amiga output is displayed on your computer. These options may affect how well FS-UAE performs.

Display Settings

fullscreen

Open the emulator in fullscreen or windowed mode (1 = fullscreen, 0 = window). The default is windowed mode at 960×540.

 fullscreen = 0

fullscreen_mode

Since 1.1.8. You can set this option to fullscreen-window instead if you want to use the fake fullscreen support (a borderless window the size of the current display will be created instead of switching to real fullscreen).

fullscreen_mode = fullscreen

fullscreen_width

Since 1.1.8. Use to override fullscreen mode width. Normally this is not necessary, as FS-UAE uses the current desktop resolution by default (recommended), but can be useful in some circumstances (multi-monitor setups on nVIDIA/Linux).

fullscreen_width = 1024

fullscreen_height

Since 1.1.8. Use to override fullscreen mode height.

fullscreen_height = 768

window_width

Specify the width of the FS-UAE window to create on start-up.

window_width = 960

window_height

Specify the height of the FS-UAE window to create on start-up.

window_height = 540

window_resizable

Set to 0 to make the window non-resizable.

window_resizable = 1

fsaa

Set to , 4 or 8 to enable full-scene anti-aliasing (reduces jagged edges in menu-mode). Specify 2 for 2x, 4 for 4x, etc. This may negatively impact rendering performance, depending on your GPU.

fsaa = 0

keep_aspect

If keep_aspect is set to 1, the amiga video output will be scaled with the aspect ratio intact, otherwise it will be stretched to fill the screen. The default is 0.

keep_aspect = 0

Filters, Shaders and Scaling

scanlines = 0

Enable scanlines by setting scanlines to 1. The default is 0. When scanlines are enabled, you will see aliasing effects if your resolution is low (and in window mode). Use fullscreen mode with sufficient resolution and the scanlines effect should look good. There will also be a visible moire pattern when entering menu mode (this is normal). Scanline rendering is done on the CPU, and this may negatively impact emulation speed if you do not have a sufficiently fast CPU.

rtg_scanlines = 0

Since 1.1.3. By default, when enabling scanlines, they are not shown when the Amiga opens a RTG screen (“Picasso96”). You must also set rtg_scanlines = 1 if you want to render scanlines on these screens.

scanlines_dark = 10

Intensity of scanlines, in percent. The default, when scanlines are enabled, is 10 (percent) black.

scanlines_light = 5

To prevent an overall darker image, you can lighten the “other” lines. The default, when scanlines are enabled, is 5 (percent).

shader = curvature

Since 1.3.0. The option shader be either the name of a bundled shader, or path to a shader in XML Shader Format 1.1. The bundled shaders are:

  • curvature
low_resolution = 0

Since 1.3.2

line_doubling = 1

Since 1.3.2

scale_x = -1.0

Since 1.3.0

scale_y = -1.0

Since 1.3.0

align_x = 0.5

Since 1.3.0

align_y = 0.5

Since 1.3.0

zoom = 640x512+border

Since 1.3.2. This setting controls the initial mode for the F11 zoom key, which defaults to auto. Valid values are (with or without +border):

  • auto – viewport settings are only used in auto mode
  • full – which is full frame, not full zoom
  • 640×400
  • 640×480
  • 640×512

The zoom settings has no effect while in RTG graphics mode (“Picasso 96”).

texture_filter

Since 1.3.8. FS-UAE by default renders the Amiga display as a texture with texture filter set to GL_LINEAR. You can use the following option to force GL_NEAREST filter:

texture_filter = nearest

Video Synchronization

The following option can be used to override the automatic configuration of video synchronization.

video_sync = auto

Video sync behaviour can be configured with the “video_sync” option. The default setting is auto. The available values are:

  • off – video and emulation will not be synced to the display
  • vblank – video buffer swap (but not emulation) will be synced to vblank to remove tearing
  • full – emulation and video will be synchronized to the display. This will give perfect scrolling if the display refresh rate matches the game’s refresh rate.
  • auto – this sets video sync to “full” if the refresh rate matches the game’s refresh rate, and “vblank” if not.

It is generally recommended to leave this option at auto. If you change your desktop to a 50Hz screen mode, full synchronization and smooth scrolling will be enabled automatically.

video_sync_method = finish-sleep-swap-finish

Since 1.1.9. Choose the method used to ensure video synchronization with the display. Valid values are:

  • swap – Most basic method, but will probably not mantain emulation perfectly in sync on many  GPUs due to pipelining and the swap buffers command returning before  it is completed.
  • swap-finish – This method should force the emulation to be in sync with the display, but glFinish may use a busy-loop and cause high CPU usage.
  • finish-swap-finish – Execute a glFinish also before swapping buffers. May work better with some OpenGL drivers. Otherwise same as swap-finish (High CPU usage with many drivers).
  • finish-sleep-swap-finish – Same as above, but sleep before executing the swap command. The sleep time is based on the (estimated) time left to the next vblank. This should reduce the CPU usage a lot, but on some systems/drivers, the display will not be synchronized properly.
  • sleep-swap-finish – Same as above, but do not issue a glFinish before starting the sleep. This should use less CPU than the above option, but some drivers seem to need the finish before the sleep to achieve proper sync.
  • swap-fence – Set a fence after swapping buffers and poll periodically (with sleeps)   for completion of swap. This seems to work very well on Linux with recent nVIDIA drivers.
  • swap-sleep-fence – Same as above, but sleep a while (based on estimated time to next vblank) before starting to pool the fence, (in case the test-fence method blocks with high CPU usage, problem seen on nVIDIA/Windows).

The default value is:

  • for Windows and Mac OS X: finish-sleep-swap-finish
  • for Linux: finish-swap-finish

Video and Texture Buffer Formats

Changing the video and texture buffer formats may improve texture upload speed on your computer. The default values are the most efficient options for most computers.

video_format

Since 1.1.4. This option allows you to configure whether video data is stored in RGBA or BGRA byte order in the internal video buffers. This setting (together with texture_format) may affect texture upload performance. The option should not be shared between computers, since appropriate values may differ for other operating system or OpenGL GPU vendors. Valid values are:

  • bgra – This is the default setting as it has been verified to provide best performance with most OpenGL drivers.
  • rgba – Depending on your system, this may give better performance.
video_format = bgra

texture_format

Since 1.1.4. This option allows you to configure the internal texture format used by OpenGL for displaying the Amiga video frames. This setting (together with video_format) may affect texture upload performance. The option should not be shared between computers, since appropriate values may differ for other operating system or OpenGL GPU vendors. Valid values are:

  • rgb
  • rgb8
  • rgba
  • rgba8
texture_format = rgb

44 thoughts on “Video Options

  1. Problem with the fullscreen mode in FS-UAE Arcade. Version 2.8.0, Mac OS Sierra.

    Whenever I launch FS-UAE Arcade it leaves the Mac Menu Bar on the top and the Dock at the bottom. It is not _completly_ fullscreen. When I start a game it wents to complete fullscreen mode. As this is a new behavior I want to know if this can be fixed or if it is a feature?

    • Hi, this is by design, well, actually, only the menu bar was supposed to be visible, so I need to check that out. The reason is to avoid problems happening sometimes when starting one fullscreen app from another.

      There is an option to start FS-UAE Arcade in fullscreen though, check FS-UAE Launcher -> Settings -> FS-UAE Arcade!

  2. Hi, it’s great that some GLSL shaders are already implemented, for example shader = crt looks good — but it’s too curved for my tastes. I’d like to adjust the overscan, distance and curvature radius in crt.shader.

    How can I apply the new shader after editing the “FS-UAE Arcade.app/Contents/FS-UAE.app/Contents/Resources/fs-uae/shaders/crt.shader” file ?
    Just editing the file doesn’t seem to do anything, I’ve tried restarting FS-UAE but that doesn’t help…

    I’m on Mac OS X.

    Cheers 🙂

    • Hi, you should copy the shader file to some other location of your choice (but preferably outside of the .app so any app upgrade won’t delete your customization). Then use the shader option to point to the full path of the shader file.

  3. Any idea why WinUAE offers more UAE display modes?

    There is nothing between 1344×1080 and 2560×1440 in FS-UAE. In WinUAE I can chose 1600×900 and many other modes. I have copied over a harddisk file from my Amiga Forever installation and both emulators are set to UAEGFX Zorror III. In AF I don’t have the PAL modes either.

    • Hi, I believe WinUAE adds all “native” resolutions supported by the host system (Windows). FS-UAE never changes screenmode, and only uses the native/full desktop resolution and scales the UAEGFX display, so I felt it didn’t make sense to add all the host resolutions.

      Is there any specific resolution you are missing, which would be useful to you? If so, could you tell me why? I could perhaps add an option to allow users to add a custom UAEGFX resolution…

    • I will not be writing shaders myself, but I have created shader support (GLSL) for FS-UAE, and some CRT emulation shaders already work. For example shader = crt (in advanced settings).

  4. The pixels look slightly blurred when using a 1080p resolution. I have confirmed this by taking screenshots and loading them in photoshop. I have fullscreen set to 1 and keep aspect set to 1. There is no bluriness when using at lower resolutions like 1680 x 1050. I am using the latest dev version although I have also experienced this on earlier versions.

    • Hi, blurred pixels are unavoidable when scaling up the Amiga display to non-integer sizes (not strictly true, the alternative is uneven pixels which are sharp, but uneven pixels looks worse). What you need to do to get sharp pixels is to ensure that the display is scaled by integer (“whole number”) factors, such as 2x or 3x.

      Since you use 1920×1080, one good alternative is to use a new zoom in the recent development version: 704×540. 1080 / 540 = 2, so this will get sharp pixels in the vertical direction. If you then also use the keep_aspect option, the pixels will be scaled by the same factor horizontally so you’ll end up with a sharp 1408×1080 output centered on your 1920×1080 screen.

      TL;DR: a good choice for 1080P: zoom = 704x540, keep_aspect = 1

      • Thanks for your help, it is a big improvement but still ever so slightly blurry. But as you say, seems to be unavoidable at 1080P.

        • No, I didn’t mean to say you couldn’t get a sharp result. You can! I forgot to mention that for a complete sharp result, you also need to change from the “bi-linear” filter to “nearest”. Video -> Advanced in FS-UAE Launcher, set texture filter to GL_NEAREST.

          This will always give a sharp result, but as I mentioned in my previous reply, it only gives a “good” result when scaling is 2x, 3x, 4x (etc) as the previous options I mentioned ensures.

          So, here’s an updated list of options which gives 100% sharp pixels of 4x size for 1080P:
          zoom = 704x540, keep_aspect = 1, texture_filter = GL_NEAREST

          Enjoy 🙂

          • Thanks for your reply, I have tried those settings and am getting some bluriness still. I have uploaded the ‘real’ screenshot here: https://flic.kr/p/seVekv
            The settings I am using are:
            fullscreen = 1
            keep_aspect = 1
            zoom = 704×540
            texture_filter = GL_NEAREST

            My monitor resolution in Windows is 1920×1080.

          • Sorry, wrote one of the configuration values incorrectly. It should be texture_filter = nearest.

          • texture_filter = nearest did the trick thanks. Pixels are now crisp with no blur.

  5. Hi, I run Win7 and have a 1920×1200 monitor as my primary display and a 1920×1080 TV as a secondary display that I use to play emulated games. Could anyone please advise how to display FS-UAE in full screen mode on my second screen?

    • Hi, with recent development versions of FS-UAE, you can finally specify which monitor to use in a multi-monitor environment (it’s in Launcher Settings) 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *