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

48 thoughts on “Video Options

  1. Hi. Is there some command or launcher setting to control which display the Arcade and the emulation window, in a two display setup? I want them both fullscreen on secondary display. A workaround is to use a script that switches primary/secondary before starting the Arcade (and the resets on close). But it would be handy to have that built in.

    BTW I read here http://eab.abime.net/showthread.php?p=955862 that a FS Game Center is in the works. That was last May – any news? That post says there are builds available. Any chance one can test drive it? The Arcade is a great frontend! The autoimport of game configs is only icing on the cake. A Game Center with manual config creation for all non-Amiga games would still be very useful.

    • 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) 🙂

  2. Hej Frode,
    I am running a version of the old e-uae on an arcade cabinet, together with MAME and VICE. e-uae is able to render to SDL/framebuffer, without the need for UNITY or any other Desktop environment…. thus, I can select a game via my own interface and launch the apropriate emulator (be it Arcade, C64 or Amiga). However, e-uae is old and difficult, so I would like to use a newer version…. but FS-UAE is not able to run without a Desktop Environment, is that right? I have not been able to find a way to get it to render to SDL without an Environment….. is that correct? Will it ever be?

    • FS-UAE on Linux/Unix requires SDL(2) and OpenGL. It kind of implicitly requires X11 (no desktop environment needed) since the GL drivers usually runs via X/GLX.

      Support for running directly on the framebuffer isn’t planned. There’s a EGL/GLES port of FS-UAE on github which may run on Linux without X on some systems.

  3. Apologises if this has been asked before but once a game loads up how do i get that in full screen and not just a little window in the middle of the screen. I have a macbook.
    Amazing program you’ve set up! reliving my childhood once again!

    • Before you use the start button in FS-UAE Launcher, there’s a button to the left of it which toggles fullscreen/window mode. When FS-UAE is running, you can use a keyboard shortcut to toggle fullscreen/window mode.

      • Thanks Frode! Could you also tell me, are the mouse and joystick set ups different for every game?

        • I’m not sure what you are asking. If the question is related to the online game database, then yes, the game entries can specify different input settings for different games.

  4. Is there any easy way to record video out from FS-UAE? Other than using some sort of Screen Recorder? I’m on a Mac. Wanting to record video animation. Wondering if there would be a easy way to out to the new Syphon Recorder project. Amazing app, records full screen resolution without killing your processor. Records from video mixer apps like Modul8 and Arena right now.
    http://syphon.v002.info/recorder/

    thx

  5. Hi Frode, only a brief question. Thre’s any option to rotate the screen 90, 270 degrees for example. I’ve a pinball cabinet and my screen is in vertical position.

    Is really dificult to find emulators with this option like MAME or MESS have.

    Regards from Spain (sorry for my english).

    • No, there’s no feature to rotate the screen (though due to flexible shader support, anyone could in theory write an OpenGL shader to perform the rotation without changes to FS-UAE itself…). But many display drivers allow for rotating the screen in the driver itself, wouldn’t this be better? Then all software would work fine on your screen…

  6. Hey Frode. I find that the themes are set to fit a 16:9 aspect screen. I have a Mac Display which is 16:10 aspect. As such, the theme stretches to fill the extra space on my screen and so too does the Amiga display. Is there a way to stop the theme from stretching to fill my monitor screen?

  7. If you find that FS-UAE crashes when you try to use the full screen option, try to add values for fullscreen_height and fullscreen_width.

  8. Run the good old DOC DEMO (with demons moving around in patterns). (It is a really old demo.) The whole screen keeps resizing as the emulator tries to adjust everything to fit inside the screen. Everything jumps up and down. It you turn “Keep Aspect Ratio” on it gets even worse. Everything wobbles and there is no way to turn off this auto-fit-to-screen thing to run the demo normally.

    • The default autoscaling feature will get confused with some games/demos. You can use F11 to cycle through some fixed zoom levels. You can also set this option in preferences in FS-UAE Launcher.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.