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

63 thoughts on “Video Options

  1. Yes, I confirm this. It is definitely not an emulation problem or a display/graphics-driver problem as I first thought. There must be different versions of the game. I also tested another version of Monkey Island (in english, Skid Row) with FS-UAE and the sprite colors are fine there. – My conclusion: The emulator works perfectly. Thank you for taking the trouble to help me.

  2. I have installed FS-UAE on a Raspberry Pi 4B with the newest version of the Raspberry Pi OS (current version of FS-UAE in the package manager is 2.84).

    I have tested a bunch of games and they work really good (except for a bit of tearing at the very top of the screen but I can live with it). The only game I see a little problem with is “Monkey Island 1”: The characters’ faces seem way too dark. They are usually light pink on a real Amiga but in FS-UAE they look more dark red or purple.

    What irritates me is that I don’t see any problems with the colors in other games and even with Monkey Island everything seems to be fine except the colors of the faces. The game itself runs fine, even from hard drive.

    Do you have any idea what could be causing these wrong colors? Or what could I try to correct it?

      • I have sent an e-mail to you with the subject “Raspberry Pi: Monkey Island color problem”. I would be happy if you could take a look at it and tell me what you think.

        • Hi, I got your email with screenshot. I does indeed look incorrect, but it does not really look like a color problem to me. Instead, it looks like the character sprites are from the DOS EGA version… (?)

          Exactly what version of Monkey Island are you using? If unsure, you can send the disk images to me.

          • Yes. This is exactly what I thought. The colors look like the PC/EGA version.
            But how could this be? As far as I know there’s only one Amiga version.
            I have sent you an e-mail with my version of the game.

          • It really looks like the PC/EGA version. But how can this be? Are there different versions of the Amiga version? I have sent an e-mail with the disk images to you.

          • Yes, it looks like there are different versions. I confirmed the “problem” with your version, and tested several others:

            “Correct” colors:
            ADF, v1.2, cr SR
            ADF, v1.0, FR, cr Defjam
            ADF, v1.0, ES, cr

            “EGA” colors:
            ADF, v1.1, DE, cr QTX
            ADF, v1.0, IT, cr

            So it does not look like an emulation problem at least (I haven’t tested on a real Amiga yet, but I’m quite sure) 🙂

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.