Skip to content
Christer Solskogen edited this page Feb 28, 2024 · 53 revisions

Frequently Asked Questions

Q: On Debian Bookworm, the performance when running in Full-Window is terrible. But it's much faster in Windowed mode. What is going on?

A: This is due to SDL2's choice of back-ends. The current versions seem to prefer X11, even when Wayland is used in the system (Bookworm is using Wayland by default). You can override this manually, by telling SDL2 to use a specific back-end, or change the order of priority it should use. Alternatively, you can switch to X11 instead of Wayland (read further to see how to do that).

First, test running Amiberry like this (from the terminal): SDL_VIDEODRIVER=wayland ./amiberry Does this fix the performance issue while in Full-Window modes? If so, you can make this change apply whenever you login, by doing the following:

  • Open a console, and type sudo nano /etc/profile.d/sdl2_fix.sh - provide the root password if requested.
  • In the text editor that opens, type the following:
#!/bin/bash
export SDL_VIDEODRIVER=kmsdrm,wayland,x11
  • Press Ctrl-X and then Enter (or Y), to save the changes to the file.
  • Log out and log back in, for the changes to take effect.

If you prefer to switch to X11 instead, you can do that by going to raspi-config -> 6 Advanced Options -> Wayland -> W1 X11 Openbox window manager with X11 backend.

Q: I'm getting a black screen when starting emulation, on Debian Bookworm. What can I do?

A: There seems to be a problem with Debian Bookworm on the Raspberry Pi platform, when the SDL2 multi-threaded option is enabled. You can disable that option for now, until a solution becomes available, by setting use_sdl2_render_thread=no in the amiberry.conf file.

Q: I have a Competition Pro joystick but the mapping doesn't seem to be correct. What can I do?

A: The below is only an issue with older versions of Amiberry. Amiberry v5.x or newer already includes the correct mapping in the controllers file. Starting with v4.x of Amiberry, we use SDL2's "gamecontrollerdb.txt" file for mappings of known controllers. It seems that the Competition Pro is re-using a gamepad USB ID, so it gets an incorrect mapping from that file. To fix the problem, you'll need to edit the file conf/gamecontrollerdb.txt with a text editor, and find the line starting with the following ID:

03000000790000001c18000011010000,PC Game Controller

Change that line with the following contents:

03000000790000001c18000011010000,Competition Pro Extra,a:b3,b:b1,back:b2,leftx:a0,lefty:a1,start:b0,platform:Linux,

Save the file and restart Amiberry. The mapping should now work properly for this joystick.

Q: Amiberry on a Pi4/Pi400 seems extraordinary slow. The Status Line shows it's only doing 30 FPS. What's wrong?

A: Is your connected monitor/TV a 4K one? If so, it may be forcing your Pi output to 4k@30Hz resolution. Amiberry uses VSync, so it will only show as many frames per second as the current refresh rate of your monitor. If that's set to 30, video and audio will be choppy and slower than expected. Normally you can change the resolution in /boot/config.txt and force it to a 1080p one. However, some SmartTVs seem to ignore that and force a 4K resolution again... If that's the case with you, you could try forcing the configuration to 1080p in /boot/config.txt by using these additional options:

[hdmi:0]
hdmi_max_pixel_freq=200000000
[hdmi:1]
hdmi_max_pixel_freq=200000000
hdmi_ignore_edid=0xa5000080

Q: When I type some letters on the keyboard, I get unexpected behavior (e.g. typing x also adds Return). What's wrong?

A: Don't use the "Keyboard as Joystick" option in the Input panel. The CD32 mapping uses some extra keyboard keys that will interfere with normal keyboard typing.

Q: Input latency seems increased, when running Amiberry under a full Desktop. What can I do?

A: Disable the Compositor to gain some more performance. On XCFE desktops for example, you can disable your compositor by opening the main Applications menu and clicking “Settings -> Window Manager Tweaks.” This will open a new window. Open the Compositor tab, and uncheck the option “Enable display compositing.”

Q: How can I launch CD32 games from .CUE/BIN CD images?

A: Launching CD32 games does not require any default config, and you shouldn't use the A1200 config with it either (it won't enable the CD32 specific bits). If you have .cue/bin files, then the best way to launch them would be:

  1. From the command line: use the -autoload parameter. E.g. ./amiberry -autoload /home/pi/RetroPie/roms/amiga/Alien Breed - Tower Assault_CD32.cue (use escape characters where necessary, to handle spaces)
  2. From the GUI: Select CD32 from Quickstart, select the .CUE file in the CD slot, click on Start. CD32 images don't need or use WHDLoad. If you have WHDLoad installed CD32 games however, you can also launch them using the -autoload option, in the same way as shown above. Only the file passed would probably be an .lha one, not a CD image. Keep in mind that WHDLoad games usually don't contain CD audio tracks, so you'll be missing those...

Q: My keyboard doesn't have a Right Windows or Menu key. How can I access the RAmiga key?

A: Since Amiberry v3.4, there are two ways you can handle this:

  1. Enable the RCltrl = RAmiga option, in the Misc. Panel of the GUI. This option saves to a normal UAE config file, like all the other options from the GUI.
  2. If you want to have this option turned on by default, regardless of what UAE config was loaded, you can alternatively edit the amiberry.conf file and edit the option rctrl_as_ramiga. If either one of this options is enabled, the RCtrl key will function as the RAmiga key under emulation.

Q: I have thousands of Config files in my installation, and Amiberry takes a long time to display the GUI.

A: The default behavior is to scan the list of config files, open each one and get the Description in order to populate the list in the GUI. If you have many such files, the process can take a longer time than desired. To bypass this behavior, you can make a change in the conf/amiberry.conf file:

  • Open the file, and look for the line read_config_descriptions.
  • Change the value of that line to no and save the file again.
  • Restart the emulator for the changes to take effect.

Q: My game runs too fast, what can I do?

A: Run the Whdload versions and Switch on “wait for blitter” and this should fix the speed issue on many games.

Q: I've got a question about the WHDLoad booter...

A: Please refer to the specific FAQ for this: WHDLoad Booter F.A.Q

Q: Amiberry v2.19 was faster in benchmarks, when using JIT and Fastest Possible/Turbo mode, than the latest version!

A: The reason for this change is that we implemented more instructions in the JIT engine, in versions of Amiberry after v2.19. Those instructions were not implemented in older versions, and they were instead empty "no-op" placeholders. So of course, benchmarks run faster since those instructions were not doing any actual work in the background. However, with these implementations we improved compatibility in several areas (e.g. 3D Ray-tracing software) which had issues before.

Q: Audio is noticeable distorted when playing back with USB audio device instead of 3.5mm audio jack

A: Check if you're using a GPIO kernel module, which imposes some latency. Normally there shouldn't be any difference in audio latency from Amiberry, regardless if you're using the 3.5mm audio jack, HDMI-out, or a USB audio card.

Q: I want to troubleshoot something. Can I enable logging in Amiberry?

A: Logging can be enabled from the GUI (Paths panel) or by changing a value in the conf/amiberry.conf file:

  • Open the file, and look for the line write_logfile.
  • Change the value of that line to yes and save the file again.
  • Restart the emulator for the changes to take effect. A new file named amiberry_log.txt will be created in the same location the emulator was started from. Additionally, the WHDLoad booter will also save log information in the whdboot/save-data/Debugs path. Note: Make sure that the user running the emulator has permissions to create the file!

Q: Can I enable Scanlines by default for all games?

A: Yes, with v2.24 onwards a new feature was added, you can make a change in the conf/amiberry.conf file:

  • Open the file, and look for the line scanlines_by_default.
  • Change the value of that line to yes and save the file again.
  • Restart the emulator for the changes to take effect. Note: Scanlines requires that Line Doubling is also enabled, which will cause a performance hit, since double the amount of lines will have to be drawn on-screen. Also, if your vertical resolution is not enough to display scanlines, this option will have no effect (it will revert back to no scanlines automatically).

Q: Are HDFs with multiple partitions and custom Filesystems (e.g. PFS) supported?

A: Yes, you can use HDFs with RDB and multiple partitions, even if they were formatted using PFS. If you use a custom filesystem without RDB mode HDFs, just remember to place the Filesystem handler you're using (e.g. FastFileSystem or pfs3aio) in the kickstarts directory, along with your Kickstart ROMs. Then add your HDF as normal, and Amiberry will automaticall look for it there and attempt to mount the partitions during startup.

Q: When the emulator starts up, I get a few warning messages (MESA-LOADER: failed to retrieve device information) on the console. Is this a problem?

A: This is due to a known bug in libdrm (https://bugs.launchpad.net/raspbian/+bug/1656930). It's harmless and you can ignore it.

Q: Amiberry doesn't startup, but everything else looks normal

A: Check your gpu_mem settings. gpu_mem needs to be set to (minimum) 32 in config.txt

Q: I get a black screen as soon as I start Amiberry (Raspberry Pi). Why?

A: You're using the kms driver, while amiberry is compiled for DispmanX. Either recompile amiberry for sdl2 or change from kms to fkms in config.txt

Q: Can I change the directory Amiberry will look for its data files?

A: Yes, if you set the environment variable EXTERNAL_FILES_DIR to any valid path, Amiberry will automatically use that to lookup the required subdirectories, instead of the current dir you started it from.

Q: Mac OS M1 App is broken or it says it is not compatible. Why?

A: The binary is not broken, but Apple OS does for some strange reason not allow non-signed apps to be run if you download it with a browser. There are two workarounds: Download the zip file with wget or run "xattr -rd com.apple.quarantine Amiberry.app". Also, make sure you're using the latest and macOS and that it is up to date.

Q: What is KMSDRM and should I use it?

A: KMSDRM makes it possible to run Amiberry in console, without running X11 or wayland. It might squeezes a little bit of extra performance. That said, the performance gain from running in KMSDRM is neglectable for most use cases. You'll probably wont see the difference unless you're running benchmark or do rendering on the emulated Amiga.

Q: When I use Amiberry in KMS the mouse doesn't work. Why? (Raspberry PI OS)

A: There are several issues with the version of SDL2 shipped with Debian Bullseye / Raspberry Pi OS. You have install your own, or upgrade to the latest Raspberry Pi OS (Bookworm) which doesn't have this issue.

Q: How do I use Amiberry in KMSDRM (console) or Why is KMSDRM so slow?

A: The SDL that is distributed in Debian Buster (2.0.9) doesn't support KMSDRM, and the one in Bullseye (2.0.14) have some bugs that has been fixed in the latest upstream version of SDL(2.0.18 and later), so in order to fix that you have to install that manually. How to do that is out of scope for this FAQ. If you run Manjaro or Arch Linux KMSDRM is supported out of the box, no need for additional hacks. The latest Raspberry Pi OS (Bookworm) also works.

Q: Which KMS driver should I use?

A: Amiberry works with all versions, but keep in mind the following when making your decision:

  • KMS is the new default in newer distros, including the offical RPI-OS one (starting with Bullseye)

Q: Sound doesn't work with KMS (Raspberry Pi OS)

A: But it works when using the fkms driver, right? Install pulseaudio and reboot.

Q: How to I enable support for IPF files

A: In order to do this, Amiberry needs an external library (capsimg). If you have downloaded a pre-compiled release, the library is already included in the archive. But if you have compiled Amiberry from source yourself, you may be missing it. You can follow these steps to build that library manually:

Go in the directory where you have cloned the amiberry sources, then follow this:

sudo apt install autoconf  
git submodule update --init  
make capsimg

If all went well, you should have the library file compiled in the current directory:

capsimg.so

You will need to copy the file above into the same directory your amiberry binary is located, so it can open it on startup.

E.g. if you're running RetroPie: sudo cp capsimg.so /opt/retropie/emulators/amiberry/

Start the emulator and try to load IPF images as disks (either from the Quickstart or the Floppy panels).

Clone this wiki locally