-
Search Results
-
Topic: Dualshock 4 SNES problems
So my Dualshock 4 is connected via USB and works fine in the menu and was an easy set up in config. In the SNES emulator the face buttons work. The D-Pad does not. Has anyone else experienced this?
Topic: Dual Shock 4
Is there a modern tutorial on how to get the DS4 controller set up wirelessly with RetroPie version 3+?
I see a lot of references to the ds4drv project, but everyone says it lags too much. I tried following a bunch of tutorials but they are all from RetroPie 2.3-ish and it seems that the new 3+ version do not have the same dependencies. The instructions fail every time from a fresh install of RP. When I launch bluetoothctrl I cannot type the commands from the tutorials. I’ve also tried in vain to replace Bluez 4.99 with the latest 5+ version (5+ has full support for DS4 natively)… nothing works.
I love the ease of pairing a DS3 controller, I’d like the same ease with pairing a DS4 controller.
On that same line, will we ever get Bluez 5+ in RP or is 4.99 the best we can get?
Hello everyone,
I use for some time Retropie v3.0 beta 3 and I would like to add new emulator for zx spectrum and make it default.
Retropie comes with two built-in emulators fbzx and fuse (default), but for me the best emulator “Unreal Speccy Portable” is not present.
I downloaded an emulator here https://bitbucket.org/djdron/unrealspeccyp/downloads/unreal-speccy-portable_0.0.64_rpi.zipunpacked and put together with the others in /opt/retropie/emulators/usp
Then edited the emulator.cfg file in /opt/retropie/configs/zxspectrum adding a line usp=”/opt/retropie/emulator/usp/unreal_speccy_portable %ROM%” and set default =”usp”
Unfortunately, the emulator is not working when I started a game, just came back in emulationstation menu.
I also tried to make a script +Start USP.sh that will start the emulator manually from es menu (as uae4all for example) but this also failed, because obviously I’m not well-configured parameters.
The only way to start the emulator is to press F4 and go to the terminal, then manually change the emulator directory and start it with ./unreal_speccy_portableAlso, maybe I should set the es_systems.cfg file but did not know what.
Can someone help me set this emulator as the default, or at least that it can start from emulationstation menu and be able to use it comfortably as other emulators.
I exhausted my modest knowledge of retropie package and linux and I would like to solve this problem.
Sorry for my bad english, best regards.Pi Model: 2B
RetroPie Version Used: 3.0 Beta 3
Built From: SD Image
USB Devices connected: joypad, wireless keyboard
Controller used: ps3 dualshock cloneHi there,
Ran into a bug I’m not sure how to fix.
I am attempting to follow the instructions here:
https://github.com/RetroPie/RetroPie-Setup/wiki/How-would-I-start-from-command-line,-say,-the-SNES-emulator-by-itself%3FI am running this command:
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-imame4all/libretro.so /home/pi/RetroPie/roms/mame-mame4all/ddragon.zip
I am getting this error:
Illegal instruction
Any idea what that means?
thanks,
Scott## My setup
* retropie-v3.0beta-rpi2
* rasberry pi b+
* x-arcade dual joystick (x 2)Topic: Raspiporn
I guess it’s about time I showed you what I’m working with.
Here’s my Pi in it’s natural habitat:
[attachment file=”99388″]And the glory shot. I’ve got a 3 TB HDD in there (mostly full of kung fu movies for watching in Kodi) with a print server for wireless network/internet access (more free USB ports, yay!), with a powered USB hub that sticks out the front of the case. You’ll notice there is a CPU fan, and a massive case fan. It’s super quiet. I’ve also got a power button for the pi and an off switch that safely powers off the Pi, as well as access to the power strip switch through a hole in the top. Everything is mounted in place with screws through the bottom. There are rubber feet on it to protect whatever it sits on.
[attachment file=”99389″]It’s not meant to be pretty, purely functional, but it does a great job at that, thanks to everyone’s help here of course.
I’m using wireless Xbox 360 controllers, but my custom dual arcade stick, which is basically just 2 wired Xbox 360 controllers and arcade cabinet parts, also works with it.
Hi again,
so i know how to setup the psx pad type via the retroarch-core-options.cfg or the in-emu-menu.
Is there a way to bind these options, and toggle them ingame, sort of like the original dualshock-hardware-rubber-button?
Or even better, can i define this setting for each psx game, so it will startup with one or the other?
I have the ControlBlock setup and wired.
2x 8Way Joysticks and 18 buttons wired (9 for each player), Sticks, buttons and microswitches come from X-Arcade
All the buttons work fine. I can play games like Sonic, Mario, etc..
When I try playing games like Street Fighter, it seems like the system doesn’t recognize rapid button presses.
Example 1: If you choose a player like EHodna or Blanka and rapidly press a punch button, they should do a special move, instead is like I’m just tapping the button.
Example 2: If I choose a player like Ryu/Ken and try to do a special move that involves dragging the controller quickly across multiple directions, it almost never works. It’s like I am just hitting each direction individually.
Is this a delay issue or limitation with the ControlBlock? Is there a setting anywhere to correct it? Or is it an issue with my Joystick/Buttons/Micro-switches?
Thanks.
hello im new to all this, im trying to configure my xbox wired controller to exit, load, and save. right now im only using nes. i have edited the retroarch.cfg in the all configs/all folder. below is the cfg file
## Skeleton config file for RetroArch
# Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
# This will be overridden by explicit command line options.
# savefile_directory =# Save all save states (*.state) to this directory.
# This will be overridden by explicit command line options.
# savestate_directory =# If set to a directory, Content which is temporarily extracted
# will be extracted to this directory.
# extraction_directory =# Save all input remapping files to this directory.
# input_remapping_directory =# Save all playlist files to this directory.
# playlist_directory =# If set to a directory, the content history playlist will be saved
# to this directory.
# content_history_dir =# Automatically saves a savestate at the end of RetroArch’s lifetime.
# The path is $SRAM_PATH.auto.
# RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
# savestate_auto_save = false
# savestate_auto_load = true# Load libretro from a dynamic location for dynamically built RetroArch.
# This option is mandatory.# Path to a libretro implementation.
# libretro_path = “/path/to/libretro.so”# A directory for where to search for libretro core implementations.
# libretro_directory =# A directory for where to search for libretro core information.
# libretro_info_path =# Sets mode for archived files in file browser.
# 0 = Ask, 1 = Load Archive, 2 = Open Archive
# archive_mode = 0# Sets log level for libretro cores (GET_LOG_INTERFACE).
# If a log level issued by a libretro core is below libretro_log_level, it is ignored.
# DEBUG logs are always ignored unless verbose mode is activated (–verbose).
# DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
# libretro_log_level = 0# Enable or disable verbosity level of frontend.
# log_verbosity = false# If this option is enabled, every content file loaded in RetroArch will be
# automatically added to a history list.
# history_list_enable = true# Enable or disable RetroArch performance counters
# perfcnt_enable = false# Path to core options config file.
# This config file is used to expose core-specific options.
# It will be written to by RetroArch.
# A default path will be assigned if not set.
core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg# Path to content load history file.
# RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
# A default path will be assigned if not set.
# game_history_path =# Number of entries that will be kept in content history file.
# game_history_size = 100# Sets the “system” directory.
# Implementations can query for this directory to load BIOSes, system-specific configs, etc.
system_directory = /home/pi/RetroPie/BIOS# Sets start directory for menu content browser.
# rgui_browser_directory =# Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
# Usually set by developers who bundle libretro/RetroArch apps to point to assets.
# content_directory =# Assets directory. This location is queried by default when menu interfaces try to look for
# loadable assets, etc.
assets_directory = /opt/retropie/emulators/retroarch/assets# Sets start directory for menu config browser.
# rgui_config_directory =# Show startup screen in menu.
# Is automatically set to false when seen for the first time.
# This is only updated in config if config_save_on_exit is set to true, however.
# rgui_show_start_screen = true# Flushes config to disk on exit. Useful for menu as settings can be modified.
# Overwrites the config. #include’s and comments are not preserved.
config_save_on_exit = false# Load up a specific config file based on the core being used.
# core_specific_config = false#### Video
# Video driver to use. “gl”, “xvideo”, “sdl”
# video_driver = “gl”# Which OpenGL context implementation to use.
# Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
# By default, tries to use first suitable driver.
# video_context_driver =# Windowed x resolution scale and y resolution scale
# (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
# video_scale = 3.0# Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
# video_fullscreen_x = 0
# video_fullscreen_y = 0# Start in fullscreen. Can be changed at runtime.
# video_fullscreen = false# If fullscreen, prefer using a windowed fullscreen mode.
# video_windowed_fullscreen = true# Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
# suggests RetroArch to use that particular monitor.
# video_monitor_index = 0# Forcibly disable composition. Only works in Windows Vista/7 for now.
# video_disable_composition = false# Video vsync.
# video_vsync = true# Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows
# have video problems with sRGB FBO support enabled.
# video_force_srgb_disable = false# Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
# video_hard_sync = false# Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
# Maximum is 3.
# video_hard_sync_frames = 0# Sets how many milliseconds to delay after VSync before running the core.
# Can reduce latency at cost of higher risk of stuttering.
# Maximum is 15.
# video_frame_delay = 0# Inserts a black frame inbetween frames.
# Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
# video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
# video_black_frame_insertion = false# Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
video_threaded = true# Use a shared context for HW rendered libretro cores.
# Avoids having to assume HW state changes inbetween frames.
# video_shared_context = false# Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
video_smooth = false# Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
# video_force_aspect = true# Only scales video in integer steps.
# The base size depends on system-reported geometry and aspect ratio.
# If video_force_aspect is not set, X/Y will be integer scaled independently.
# video_scale_integer = false# A floating point value for video aspect ratio (width / height).
# If this is not set, aspect ratio is assumed to be automatic.
# Behavior then is defined by video_aspect_ratio_auto.
# video_aspect_ratio =# If this is true and video_aspect_ratio is not set,
# aspect ratio is decided by libretro implementation.
# If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
video_aspect_ratio_auto = true# Forces cropping of overscanned frames.
# Exact behavior of this option is implementation specific.
# video_crop_overscan = true# Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
# video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”# Load video_shader on startup.
# Other shaders can still be loaded later in runtime.
# video_shader_enable = false# Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
video_shader_dir = /opt/retropie/emulators/retroarch/shader/# CPU-based video filter. Path to a dynamic library.
# video_filter =# Defines a directory where CPU-based video filters are kept.
# video_filter_dir =# Path to a font used for rendering messages. This path must be defined to enable fonts.
# Do note that the _full_ path of the font is necessary!
# video_font_path =# Size of the font rendered.
video_font_size = 12# Enable usage of OSD messages.
# video_font_enable = true# Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
# [0.0, 0.0] maps to the lower left corner of the screen.
# video_message_pos_x = 0.05
# video_message_pos_y = 0.05# Color for message. The value is treated as a hexadecimal value.
# It is a regular RGB hex number, i.e. red is “ff0000”.
# video_message_color = ffffff# Video refresh rate of your monitor.
# Used to calculate a suitable audio input rate.
# video_refresh_rate = 59.95# Allows libretro cores to set rotation modes.
# Setting this to false will honor, but ignore this request.
# This is useful for vertically oriented content where one manually rotates the monitor.
# video_allow_rotate = true# Forces a certain rotation of the screen.
# The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
# The angle is <value> * 90 degrees counter-clockwise.
# video_rotation = 0#### Audio
# Enable audio.
# audio_enable = true# Mutes audio.
# audio_mute_enable = false# Audio output samplerate.
# audio_out_rate = 48000# Audio resampler backend. Which audio resampler to use.
# Default will use “sinc”.
# audio_resampler =# Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
# audio_driver =# Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
# audio_device =# Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
# audio_dsp_plugin =# Directory where DSP plugins are kept.
# audio_filter_dir =# Will sync (block) on audio. Recommended.
# audio_sync = true# Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
# audio_latency = 64# Enable audio rate control.
# audio_rate_control = true# Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
# Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
# audio_rate_control_delta = 0.005# Controls maximum audio timing skew. Defines the maximum change in input rate.
# Input rate = in_rate * (1.0 +/- max_timing_skew)
# audio_max_timing_skew = 0.05# Audio volume. Volume is expressed in dB.
# 0 dB is normal volume. No gain will be applied.
# Gain can be controlled in runtime with input_volume_up/input_volume_down.
# audio_volume = 0.0#### Overlay
# Defines a directory where overlays are kept for easy access.
overlay_directory = /opt/retropie/emulators/retroarch/overlays# Enable or disable the current overlay.
# input_overlay_enable = true# Path to input overlay
# input_overlay =# Overlay opacity
# input_overlay_opacity = 1.0# Overlay scale
# input_overlay_scale = 1.0#### OSK (Onscreen Keyboard) Overlay
# Defines a directory where overlays are kept for easy access.
# osk_overlay_directory =# Enable OSK overlay.
# input_osk_overlay_enable = true# Path to OSK overlay
# input_osk_overlay =# OSK Overlay opacity
# input_osk_overlay_opacity = 1.0# OSK Overlay scale
# input_osk_overlay_scale = 1.0#### Input
# Input driver. Depending on video driver, it might force a different input driver.
# input_driver = sdl# Joypad driver. (Valid: linuxraw, sdl, dinput)
# input_joypad_driver =# Path to input remapping file.
# input_remapping_path =# If enabled, overrides the input binds with the remapped binds set for the current core.
# input_remap_binds_enable = true# Maximum amount of users supported by RetroArch.
# input_max_users = 16# Keyboard layout for input driver if applicable (udev/evdev for now).
# Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
# input_keyboard_layout =# Defines axis threshold. Possible values are [0.0, 1.0]
# input_axis_threshold = 0.5# Enable input auto-detection. Will attempt to autoconfigure
# joypads, Plug-and-Play style.
input_autodetect_enable = true# Show the input descriptors set by the core instead of the
# default ones.
# input_descriptor_label_show = true# Hide input descriptors that were not set by the core.
# input_descriptor_hide_unbound = false# Directory for joypad autoconfigs.
# If a joypad is plugged in, that joypad will be autoconfigured if a config file
# corresponding to that joypad is present in joypad_autoconfig_dir.
# Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
# Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
# Requires input_autodetect_enable to be enabled.
joypad_autoconfig_dir = /opt/retropie/emulators/retroarch/configs/# Sets which libretro device is used for a user.
# Devices are indentified with a number.
# This is normally saved by the menu.
# Device IDs are found in libretro.h.
# These settings are overridden by explicit command-line arguments which refer to input devices.
# None: 0
# Joypad (RetroPad): 1
# Mouse: 2
# Keyboard: 3
# Generic Lightgun: 4
# Joypad w/ Analog (RetroPad + Analog sticks): 5
# Multitap (SNES specific): 257
# Super Scope (SNES specific): 260
# Justifier (SNES specific): 516
# Justifiers (SNES specific): 772# input_libretro_device_p1 =
# input_libretro_device_p2 =
# input_libretro_device_p3 =
# input_libretro_device_p4 =
# input_libretro_device_p5 =
# input_libretro_device_p6 =
# input_libretro_device_p7 =
# input_libretro_device_p8 =# Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
# is for keypad keys):
#
# left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
# rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
# f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
# num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
# keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
# period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
# tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
# backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
#
# Keyboard input, Joypad and Joyaxis will all obey the “nul” bind, which disables the bind completely,
# rather than relying on a default.
input_player1_a = x
input_player1_b = z
input_player1_y = a
input_player1_x = s
input_player1_start = enter
input_player1_select = rshift
input_player1_l = q
input_player1_r = w
input_player1_left = left
input_player1_right = right
input_player1_up = up
input_player1_down = down
# input_player1_l2 =
# input_player1_r2 =
# input_player1_l3 =
# input_player1_r3 =# Two analog sticks (DualShock-esque).
# Bound as usual, however, if a real analog axis is bound,
# it can be read as a true analog.
# Positive X axis is right, Positive Y axis is down.
# input_player1_l_x_plus =
# input_player1_l_x_minus =
# input_player1_l_y_plus =
# input_player1_l_y_minus =
# input_player1_r_x_plus =
# input_player1_r_x_minus =
# input_player1_r_y_plus =
# input_player1_r_y_minus =# If desired, it is possible to override which joypads are being used for user 1 through 8.
# First joypad available is 0.
# input_player1_joypad_index = 0
# input_player2_joypad_index = 1
# input_player3_joypad_index = 2
# input_player4_joypad_index = 3
# input_player5_joypad_index = 4
# input_player6_joypad_index = 5
# input_player7_joypad_index = 6
# input_player8_joypad_index = 7# Joypad buttons.
# Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
# You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
# E.g. “h0up”
# input_player1_a_btn =
# input_player1_b_btn =
# input_player1_y_btn =
# input_player1_x_btn =
# input_player1_start_btn =
# input_player1_select_btn =
# input_player1_l_btn =
# input_player1_r_btn =
# input_player1_left_btn =
# input_player1_right_btn =
# input_player1_up_btn =
# input_player1_down_btn =
# input_player1_l2_btn =
# input_player1_r2_btn =
# input_player1_l3_btn =
# input_player1_r3_btn =# Axis for RetroArch D-Pad.
# Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
# Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
# input_player1_left_axis =
# input_player1_right_axis =
# input_player1_up_axis =
# input_player1_down_axis =# Holding the turbo while pressing another button will let the button enter a turbo mode
# where the button state is modulated with a periodic signal.
# The modulation stops when the button itself (not turbo button) is released.
# input_player1_turbo =# Describes the period and how long of that period a turbo-enabled button should behave.
# Numbers are described in frames.
# input_turbo_period = 6
# input_turbo_duty_cycle = 3# This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
# All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.# Toggles fullscreen.
# input_toggle_fullscreen = f# Saves state.
# input_save_state = f2
# Loads state.
# input_load_state = f4# State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
# When slot is != 0, path will be $path%d, where %d is slot number.
# input_state_slot_increase = f7
# input_state_slot_decrease = f6# Toggles between fast-forwarding and normal speed.
# input_toggle_fast_forward = space# Hold for fast-forward. Releasing button disables fast-forward.
# input_hold_fast_forward = l# Key to exit RetroArch cleanly.
# Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
# On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
input_exit_emulator = escape# Applies next and previous shader in directory.
input_shader_next = m
input_shader_prev = n# Hold button down to rewind. Rewinding must be enabled.
input_rewind = r# Toggle between recording and not.
# input_movie_record_toggle = o# Toggle between paused and non-paused state
# input_pause_toggle = p# Frame advance when content is paused
# input_frame_advance = k# Reset the content.
# input_reset = h# Cheats.
# input_cheat_index_plus = y
# input_cheat_index_minus = t
# input_cheat_toggle = u# Mute/unmute audio
# input_audio_mute = f9# Take screenshot
# input_screenshot = f8# Netplay flip users.
# input_netplay_flip_players = i# Hold for slowmotion.
# input_slowmotion = e# Enable other hotkeys.
# If this hotkey is bound to either keyboard, joybutton or joyaxis,
# all other hotkeys will be disabled unless this hotkey is also held at the same time.
# This is useful for RETRO_KEYBOARD centric implementations
# which query a large area of the keyboard, where it is not desirable
# that hotkeys get in the way.# Alternatively, all hotkeys for keyboard could be disabled by the user.
# input_enable_hotkey_btn =# Increases audio volume.
# input_volume_up = kp_plus
# Decreases audio volume.
# input_volume_down = kp_minus# Toggles to next overlay. Wraps around.
# input_overlay_next =# Toggles eject for disks. Used for multiple-disk content.
# input_disk_eject_toggle =# Cycles through disk images. Use after ejecting.
# Complete by toggling eject again.
# input_disk_next =# Toggles menu.
# input_menu_toggle = f1# Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
# and keeps the mouse pointer inside the window to allow relative mouse input
# to work better.
# input_grab_mouse_toggle = f11#### Menu
# Menu driver to use. “rgui”, “lakka”, etc.
# menu_driver = “rgui”# If enabled, the libretro core will keep running in the background when we
# are in the menu.
# menu_pause_libretro = false# Enable mouse input inside the menu.
# menu_mouse_enable = false# Enable touch input inside the menu.
# menu_pointer_enable = false# Shows current date and/or time inside menu.
# menu_timedate_enable = true# Shows current core inside menu.
# menu_core_enable = true# Path to a .png image to set as menu wallpaper.
# menu_wallpaper =# Wrap-around toe beginning and/or end if boundary of list reached horizontally
# menu_navigation_wraparound_horizontal_enable = false# Wrap-around to beginning and/or end if boundary of list reached vertically
# menu_navigation_wraparound_vertical_enable = false# Filter files being show in ‘Load Content’ by supported extensions
# menu_navigation_browser_filter_supported_extensions_enable = true# Collapse subgroup settings into main group to create one big listing of settings
# per category.
# menu_collapse_subgroups_enable = false#### UI
# Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored
# by video driver.
# suspend_screensaver_enable = true#### Camera
# Override the default camera device the camera driver uses. This is driver dependant.
# camera_device =# Override the default privacy permission for cores that want to access camera services. Is “false” by default.
# camera_allow = false#### Location
# Override the default privacy permission for cores that want to access location services. Is “false” by default.
# location_allow = false#### Core Updater
# URL to core update directory on buildbot.
# core_updater_buildbot_url = “http://buildbot.libretro.com”# URL to assets update directory on buildbot.
# core_updater_buildbot_assets_url = “http://buildbot.libretro.com/assets/”# Automatically extract archives that the cores are contained in to the libretro cores directory.
# core_updater_auto_extract_archive = true#### Network
# When being client over netplay, use keybinds for user 1.
# netplay_client_swap_input = false# The username of the person running RetroArch. This will be used for playing online, for instance.
# netplay_nickname =# The amount of delay frames to use for netplay. Increasing this value will increase
# performance, but introduce more latency.
# netplay_delay_frames = 0# Netplay mode for the current user.
# false is Server, true is Client.
# netplay_mode = false# Enable or disable spectator mode for the user during netplay.
# netplay_spectator_mode_enable = false# The IP Address of the host to connect to.
# netplay_ip_address =# The port of the host IP Address. Can be either a TCP or an UDP port.
# netplay_ip_port = 55435#### Misc
# Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
rewind_enable = false# Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
# The buffer should be approx. 20MB per minute of buffer time.
rewind_buffer_size = 10# Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
rewind_granularity = 2# Pause gameplay when window focus is lost.
# pause_nonactive = true# Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
# The interval is measured in seconds. A value of 0 disables autosave.
# autosave_interval =# Path to content database directory.
# content_database_path =# Path to cheat database directory.
# cheat_database_path =# Path to XML cheat config, a file which keeps track of which
# cheat settings are used for individual games.
# If the file does not exist, it will be created.
# cheat_settings_path =# Directory to dump screenshots to.
# screenshot_directory =# Records video after CPU video filter.
# video_post_filter_record = false# Records output of GPU shaded material if available.
# video_gpu_record = false# Screenshots output of GPU shaded material if available.
video_gpu_screenshot = true# Block SRAM from being overwritten when loading save states.
# Might potentially lead to buggy games.
# block_sram_overwrite = false# When saving a savestate, save state index is automatically increased before
# it is saved.
# Also, when loading content, the index will be set to the highest existing index.
# There is no upper bound on the index.
# savestate_auto_index = false# Slowmotion ratio. When slowmotion, content will slow down by factor.
# slowmotion_ratio = 3.0# The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
# RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
# Do not rely on this cap to be perfectly accurate.
# fastforward_ratio = 1.0# Setting this to false equals no FPS cap and will override the fastforward_ratio value.
# fastforward_ratio_throttle_enable = false# Enable stdin/network command interface.
# network_cmd_enable = false
# network_cmd_port = 55355
# stdin_cmd_enable = falseinput_enable_hotkey = “0”
input_exit_emulator_btn = “7”
input_save_state_btn = “3”
input_load_state_btn = “4”
input_player1_joypad_index = “0”
input_player1_b_btn = “1”
input_player1_y_btn = “3”
input_player1_select_btn = “0”
input_player1_start_btn = “7”
input_player1_up_btn = “h0up”
input_player1_down_btn = “h0down”
input_player1_left_btn = “h0left”
input_player1_right_btn = “h0right”
input_player1_a_btn = “2”
input_player1_x_btn = “4”
input_player1_l_btn = “5”
input_player1_r_btn = “6”
input_player1_l2_axis = “+2”
input_player1_r2_axis = “+5”
input_player1_l3_btn = “9”
input_player1_r3_btn = “10”
input_player1_l_x_plus_axis = “+0”
input_player1_l_x_minus_axis = “-0”
input_player1_l_y_plus_axis = “+1”
input_player1_l_y_minus_axis = “-1”
input_player1_r_x_plus_axis = “+3”
input_player1_r_x_minus_axis = “-3”
input_player1_r_y_plus_axis = “+4”
input_player1_r_y_minus_axis = “-4”Hello!
I try to configure my Logitech Dual action in RetroPie to work as I want it to.
But the more I google, the more confused I get. :)What files should I edit? I have read about opt/retropie/configs/all and rom-specific folders.
I have figured out which button is which on my controller.
For example, my retroarch.cfg in NES-folder only includes:
#include “/opt/retropie/configs/all/retroarch.cfg”
# All settings made here will override the global settings for the current emulator core
input_remapping_directory = /opt/retropie/configs/nes/
video_shader = /opt/retropie/emulators/retroarch/shader/phosphor.glslp
video_shader_enable = false
video_smooth = falseAnd if I edit my controller in a NES-game using RetroPie, it saves the file as fceumm_libretro.cfg.
Hope that anyone can help me. I’m very confused. :(
Hi, I watched Floob’s video (all 60 minutes!) on config files in v3b2, and I’m sure the info was in there, but I’m going to have to go back and take detailed notes, I think. In the meantime, can anyone tell me how to specify a controller per emulator?
I’ve built a small console device that has 2 sets of arcade style controls interfaced using the xin-mo usb controller. After a bunch of mucking around, it actually works pretty good. I also have a Logitech dual action usb gamepad that I’d like to use for it’s analog joysticks, basically in the n64 and psx titles. Everything works fine if I plug and unplug the appropriate controllers, but is there a way to specify that the Logitech is to be used for player 1 in those two emulators, while the xin mo is used for P1 in the others? Any help is appreciated!
JaredHey guys,
Thanks for reading.
I am receiving a few weird error messages.
My CPUs seem to work fine tho.
And what means:
map: vt01 => fb0?
[attachment file=”error3.JPG”]
Thanks!
///
Raspberry Pi2b
RetroPie Version Used: 2.6
Built From: SD Image
USB Devices connected: Keyboard, XinMo Dual Arcade
///Topic: Red tinted screen
Hello guys,
Thanks for reading.
///
Raspberry Pi2b
RetroPie Version Used: 2.6
Built From: SD Image
USB Devices connected: Keyboard, XinMo Dual Arcade
///I am using a HDMI to DVI cable to connect my BenQ E900T. It works perfectly at first. I run a the SNES Emulator and can play a game. If I now exit the emulator, the screen is suddenly tinted and stays that way:
It happens with: NES, SNES
But not with GBA, which uses another BIOS.
Thanks!!!!
Hello!
Yesterday I bought a RPi2. Now I want to set up my controller.
I have had a RPi1 before, and set up my controller there, but I have forgotten how to do it. I remember that I edited my controller, but don’t know how.I also edited some file then, to remove hotkey-function.
Hope anyone can help me. :)
Topic: RetroPie Hotkeys not working
Hi All,
I’m new to RetroPie and have just build & setup my system (retropie 3.0).
I’ve got a bunch of games working, but have hit a brick wall with trying to get hotkeys working so I can save my game state, and exit a game easily.
I’ve built an arcade cabinet, so am using sanwa joysticks and buttons via an ipac-2 (therefore using keyboard controls).
I’ve tried Floob’s suggestions and deleted all supplementary configs, but no luck. I’ve updated the Retroarch config file to what I think the hotkeys should be, but still no luck. (all the buttons/joysticks are working, but not the hotkeys).
I used to be able to exit a game easily by holding start1 (num1) and pressing start2 (num2) buttons, but after I tried changing the hotkey setup script to “2” it changed to ALT, and now I have no idea how to change it back.
Any help would be MOST appreciated~! Thanks in advance !
Here is my /opt/retropie/configs/all/retroarch.cfg file:
## Skeleton config file for RetroArch
# Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
# This will be overridden by explicit command line options.
savefile_directory = /home/pi/RetroPie/savestate# Save all save states (*.state) to this directory.
# This will be overridden by explicit command line options.
savestate_directory = /home/pi/RetroPie/savestate# If set to a directory, Content which is temporarily extracted
# will be extracted to this directory.
# extraction_directory =# Save all input remapping files to this directory.
# input_remapping_directory =# Save all playlist files to this directory.
# playlist_directory =# If set to a directory, the content history playlist will be saved
# to this directory.
# content_history_dir =# Automatically saves a savestate at the end of RetroArch’s lifetime.
# The path is $SRAM_PATH.auto.
# RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
savestate_auto_save = false
savestate_auto_load = true# Load libretro from a dynamic location for dynamically built RetroArch.
# This option is mandatory.# Path to a libretro implementation.
# libretro_path = “/path/to/libretro.so”# A directory for where to search for libretro core implementations.
# libretro_directory =# A directory for where to search for libretro core information.
# libretro_info_path =# Sets mode for archived files in file browser.
# 0 = Ask, 1 = Load Archive, 2 = Open Archive
# archive_mode = 0# Sets log level for libretro cores (GET_LOG_INTERFACE).
# If a log level issued by a libretro core is below libretro_log_level, it is ignored.
# DEBUG logs are always ignored unless verbose mode is activated (–verbose).
# DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
# libretro_log_level = 0# Enable or disable verbosity level of frontend.
# log_verbosity = false# If this option is enabled, every content file loaded in RetroArch will be
# automatically added to a history list.
# history_list_enable = true# Enable or disable RetroArch performance counters
# perfcnt_enable = false# Path to core options config file.
# This config file is used to expose core-specific options.
# It will be written to by RetroArch.
# A default path will be assigned if not set.
core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg# Path to content load history file.
# RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
# A default path will be assigned if not set.
# game_history_path =# Number of entries that will be kept in content history file.
# game_history_size = 100# Sets the “system” directory.
# Implementations can query for this directory to load BIOSes, system-specific configs, etc.
system_directory = /home/pi/RetroPie/BIOS# Sets start directory for menu content browser.
# rgui_browser_directory =# Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
# Usually set by developers who bundle libretro/RetroArch apps to point to assets.
# content_directory =# Assets directory. This location is queried by default when menu interfaces try to look for
# loadable assets, etc.
assets_directory = /opt/retropie/emulators/retroarch/assets# Sets start directory for menu config browser.
# rgui_config_directory =# Show startup screen in menu.
# Is automatically set to false when seen for the first time.
# This is only updated in config if config_save_on_exit is set to true, however.
# rgui_show_start_screen = true# Flushes config to disk on exit. Useful for menu as settings can be modified.
# Overwrites the config. #include’s and comments are not preserved.
config_save_on_exit = false# Load up a specific config file based on the core being used.
# core_specific_config = false#### Video
# Video driver to use. “gl”, “xvideo”, “sdl”
# video_driver = “gl”# Which OpenGL context implementation to use.
# Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
# By default, tries to use first suitable driver.
# video_context_driver =# Windowed x resolution scale and y resolution scale
# (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
# video_scale = 3.0# Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
# video_fullscreen_x = 0
# video_fullscreen_y = 0# Start in fullscreen. Can be changed at runtime.
# video_fullscreen = false# If fullscreen, prefer using a windowed fullscreen mode.
# video_windowed_fullscreen = true# Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
# suggests RetroArch to use that particular monitor.
# video_monitor_index = 0# Forcibly disable composition. Only works in Windows Vista/7 for now.
# video_disable_composition = false# Video vsync.
# video_vsync = true# Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows
# have video problems with sRGB FBO support enabled.
# video_force_srgb_disable = false# Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
# video_hard_sync = false# Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
# Maximum is 3.
# video_hard_sync_frames = 0# Sets how many milliseconds to delay after VSync before running the core.
# Can reduce latency at cost of higher risk of stuttering.
# Maximum is 15.
# video_frame_delay = 0# Inserts a black frame inbetween frames.
# Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
# video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
# video_black_frame_insertion = false# Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
video_threaded = true# Use a shared context for HW rendered libretro cores.
# Avoids having to assume HW state changes inbetween frames.
# video_shared_context = false# Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
video_smooth = false# Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
# video_force_aspect = true# Only scales video in integer steps.
# The base size depends on system-reported geometry and aspect ratio.
# If video_force_aspect is not set, X/Y will be integer scaled independently.
# video_scale_integer = false# A floating point value for video aspect ratio (width / height).
# If this is not set, aspect ratio is assumed to be automatic.
# Behavior then is defined by video_aspect_ratio_auto.
# video_aspect_ratio =# If this is true and video_aspect_ratio is not set,
# aspect ratio is decided by libretro implementation.
# If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
video_aspect_ratio_auto = true# Forces cropping of overscanned frames.
# Exact behavior of this option is implementation specific.
# video_crop_overscan = true# Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
# video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”# Load video_shader on startup.
# Other shaders can still be loaded later in runtime.
# video_shader_enable = false# Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
video_shader_dir = /opt/retropie/emulators/retroarch/shader/# CPU-based video filter. Path to a dynamic library.
# video_filter =# Defines a directory where CPU-based video filters are kept.
# video_filter_dir =# Path to a font used for rendering messages. This path must be defined to enable fonts.
# Do note that the _full_ path of the font is necessary!
# video_font_path =# Size of the font rendered.
video_font_size = 12# Enable usage of OSD messages.
# video_font_enable = true# Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
# [0.0, 0.0] maps to the lower left corner of the screen.
# video_message_pos_x = 0.05
# video_message_pos_y = 0.05# Color for message. The value is treated as a hexadecimal value.
# It is a regular RGB hex number, i.e. red is “ff0000”.
# video_message_color = ffffff# Video refresh rate of your monitor.
# Used to calculate a suitable audio input rate.
# video_refresh_rate = 59.95# Allows libretro cores to set rotation modes.
# Setting this to false will honor, but ignore this request.
# This is useful for vertically oriented content where one manually rotates the monitor.
# video_allow_rotate = true# Forces a certain rotation of the screen.
# The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
# The angle is <value> * 90 degrees counter-clockwise.
# video_rotation = 0#### Audio
# Enable audio.
# audio_enable = true# Mutes audio.
# audio_mute_enable = false# Audio output samplerate.
# audio_out_rate = 48000# Audio resampler backend. Which audio resampler to use.
# Default will use “sinc”.
# audio_resampler =# Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
# audio_driver =# Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
# audio_device =# Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
# audio_dsp_plugin =# Directory where DSP plugins are kept.
# audio_filter_dir =# Will sync (block) on audio. Recommended.
# audio_sync = true# Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
# audio_latency = 64# Enable audio rate control.
# audio_rate_control = true# Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
# Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
# audio_rate_control_delta = 0.005# Controls maximum audio timing skew. Defines the maximum change in input rate.
# Input rate = in_rate * (1.0 +/- max_timing_skew)
# audio_max_timing_skew = 0.05# Audio volume. Volume is expressed in dB.
# 0 dB is normal volume. No gain will be applied.
# Gain can be controlled in runtime with input_volume_up/input_volume_down.
# audio_volume = 0.0#### Overlay
# Defines a directory where overlays are kept for easy access.
overlay_directory = /opt/retropie/emulators/retroarch/overlays# Enable or disable the current overlay.
# input_overlay_enable = true# Path to input overlay
# input_overlay =# Overlay opacity
# input_overlay_opacity = 1.0# Overlay scale
# input_overlay_scale = 1.0#### OSK (Onscreen Keyboard) Overlay
# Defines a directory where overlays are kept for easy access.
# osk_overlay_directory =# Enable OSK overlay.
# input_osk_overlay_enable = true# Path to OSK overlay
# input_osk_overlay =# OSK Overlay opacity
# input_osk_overlay_opacity = 1.0# OSK Overlay scale
# input_osk_overlay_scale = 1.0#### Input
# Input driver. Depending on video driver, it might force a different input driver.
# input_driver = sdl# Joypad driver. (Valid: linuxraw, sdl, dinput)
# input_joypad_driver =# Path to input remapping file.
# input_remapping_path =# If enabled, overrides the input binds with the remapped binds set for the current core.
# input_remap_binds_enable = true# Maximum amount of users supported by RetroArch.
# input_max_users = 16# Keyboard layout for input driver if applicable (udev/evdev for now).
# Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
# input_keyboard_layout =# Defines axis threshold. Possible values are [0.0, 1.0]
# input_axis_threshold = 0.5# Enable input auto-detection. Will attempt to autoconfigure
# joypads, Plug-and-Play style.
input_autodetect_enable = true# Show the input descriptors set by the core instead of the
# default ones.
# input_descriptor_label_show = true# Hide input descriptors that were not set by the core.
# input_descriptor_hide_unbound = false# Directory for joypad autoconfigs.
# If a joypad is plugged in, that joypad will be autoconfigured if a config file
# corresponding to that joypad is present in joypad_autoconfig_dir.
# Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
# Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
# Requires input_autodetect_enable to be enabled.
joypad_autoconfig_dir = /opt/retropie/emulators/retroarch/configs/# Sets which libretro device is used for a user.
# Devices are indentified with a number.
# This is normally saved by the menu.
# Device IDs are found in libretro.h.
# These settings are overridden by explicit command-line arguments which refer to input devices.
# None: 0
# Joypad (RetroPad): 1
# Mouse: 2
# Keyboard: 3
# Generic Lightgun: 4
# Joypad w/ Analog (RetroPad + Analog sticks): 5
# Multitap (SNES specific): 257
# Super Scope (SNES specific): 260
# Justifier (SNES specific): 516
# Justifiers (SNES specific): 772# input_libretro_device_p1 =
# input_libretro_device_p2 =
# input_libretro_device_p3 =
# input_libretro_device_p4 =
# input_libretro_device_p5 =
# input_libretro_device_p6 =
# input_libretro_device_p7 =
# input_libretro_device_p8 =# Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
# is for keypad keys):
#
# left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
# rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
# f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
# num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
# keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
# period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
# tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
# backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
#
# Keyboard input, Joypad and Joyaxis will all obey the “nul” bind, which disables the bind completely,
# rather than relying on a default.
input_player1_a = ctrl
input_player1_b = alt
input_player1_y = shift
input_player1_x = space
input_player1_start = num1
input_player1_select = num5
input_player1_l = z
input_player1_r = x
input_player1_left = left
input_player1_right = right
input_player1_up = up
input_player1_down = down
input_player1_coin1 = 5
input_player2_a = a
input_player2_b = s
input_player2_y = q
input_player2_x = w
input_player2_start = num2
input_player2_select = num6
input_player2_l = i
input_player2_r = k
input_player2_left = d
input_player2_right = g
input_player2_up = r
input_player2_down = f
input_player2_coin2 = 6
input_enable_hotkey_btn = num1
input_exit_emulator_btn = num2
input_save_state_btn = 5
input_load_state_btn = 6
# input_player1_l2 =
# input_player1_r2 =
# input_player1_l3 =
# input_player1_r3 =# Two analog sticks (DualShock-esque).
# Bound as usual, however, if a real analog axis is bound,
# it can be read as a true analog.
# Positive X axis is right, Positive Y axis is down.
# input_player1_l_x_plus =
# input_player1_l_x_minus =
# input_player1_l_y_plus =
# input_player1_l_y_minus =
# input_player1_r_x_plus =
# input_player1_r_x_minus =
# input_player1_r_y_plus =
# input_player1_r_y_minus =# If desired, it is possible to override which joypads are being used for user 1 through 8.
# First joypad available is 0.
# input_player1_joypad_index = 0
# input_player2_joypad_index = 1
# input_player3_joypad_index = 2
# input_player4_joypad_index = 3
# input_player5_joypad_index = 4
# input_player6_joypad_index = 5
# input_player7_joypad_index = 6
# input_player8_joypad_index = 7# Joypad buttons.
# Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
# You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
# E.g. “h0up”
# input_player1_a_btn =
# input_player1_b_btn =
# input_player1_y_btn =
# input_player1_x_btn =
# input_player1_start_btn =
# input_player1_select_btn =
# input_player1_l_btn =
# input_player1_r_btn =
# input_player1_left_btn =
# input_player1_right_btn =
# input_player1_up_btn =
# input_player1_down_btn =
# input_player1_l2_btn =
# input_player1_r2_btn =
# input_player1_l3_btn =
# input_player1_r3_btn =# Axis for RetroArch D-Pad.
# Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
# Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
# input_player1_left_axis =
# input_player1_right_axis =
# input_player1_up_axis =
# input_player1_down_axis =# Holding the turbo while pressing another button will let the button enter a turbo mode
# where the button state is modulated with a periodic signal.
# The modulation stops when the button itself (not turbo button) is released.
# input_player1_turbo =# Describes the period and how long of that period a turbo-enabled button should behave.
# Numbers are described in frames.
# input_turbo_period = 6
# input_turbo_duty_cycle = 3# This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
# All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.# Toggles fullscreen.
# input_toggle_fullscreen = f# Saves state.
input_save_state_btn = 5
# Loads state.
input_load_state_btn = 6# State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
# When slot is != 0, path will be $path%d, where %d is slot number.
# input_state_slot_increase = f7
# input_state_slot_decrease = f6# Toggles between fast-forwarding and normal speed.
# input_toggle_fast_forward = space# Hold for fast-forward. Releasing button disables fast-forward.
# input_hold_fast_forward = l# Key to exit RetroArch cleanly.
# Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
# On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
input_exit_emulator = escape# Applies next and previous shader in directory.
input_shader_next = m
input_shader_prev = n# Hold button down to rewind. Rewinding must be enabled.
input_rewind = r# Toggle between recording and not.
# input_movie_record_toggle = o# Toggle between paused and non-paused state
# input_pause_toggle = p# Frame advance when content is paused
# input_frame_advance = k# Reset the content.
# input_reset = h# Cheats.
# input_cheat_index_plus = y
# input_cheat_index_minus = t
# input_cheat_toggle = u# Mute/unmute audio
# input_audio_mute = f9# Take screenshot
# input_screenshot = f8# Netplay flip users.
# input_netplay_flip_players = i# Hold for slowmotion.
# input_slowmotion = e# Enable other hotkeys.
# If this hotkey is bound to either keyboard, joybutton or joyaxis,
# all other hotkeys will be disabled unless this hotkey is also held at the same time.
# This is useful for RETRO_KEYBOARD centric implementations
# which query a large area of the keyboard, where it is not desirable
# that hotkeys get in the way.# Alternatively, all hotkeys for keyboard could be disabled by the user.
input_enable_hotkey_btn = num1# Increases audio volume.
# input_volume_up = kp_plus
# Decreases audio volume.
# input_volume_down = kp_minus# Toggles to next overlay. Wraps around.
# input_overlay_next =# Toggles eject for disks. Used for multiple-disk content.
# input_disk_eject_toggle =# Cycles through disk images. Use after ejecting.
# Complete by toggling eject again.
# input_disk_next =# Toggles menu.
input_menu_toggle = F1# Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
# and keeps the mouse pointer inside the window to allow relative mouse input
# to work better.
# input_grab_mouse_toggle = f11#### Menu
# Menu driver to use. “rgui”, “lakka”, etc.
# menu_driver = “rgui”# If enabled, the libretro core will keep running in the background when we
# are in the menu.
# menu_pause_libretro = false# Enable mouse input inside the menu.
# menu_mouse_enable = false# Enable touch input inside the menu.
# menu_pointer_enable = false# Shows current date and/or time inside menu.
# menu_timedate_enable = true# Shows current core inside menu.
# menu_core_enable = true# Path to a .png image to set as menu wallpaper.
# menu_wallpaper =# Wrap-around toe beginning and/or end if boundary of list reached horizontally
# menu_navigation_wraparound_horizontal_enable = false# Wrap-around to beginning and/or end if boundary of list reached vertically
# menu_navigation_wraparound_vertical_enable = false# Filter files being show in ‘Load Content’ by supported extensions
# menu_navigation_browser_filter_supported_extensions_enable = true# Collapse subgroup settings into main group to create one big listing of settings
# per category.
# menu_collapse_subgroups_enable = false#### UI
# Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored
# by video driver.
# suspend_screensaver_enable = true#### Camera
# Override the default camera device the camera driver uses. This is driver dependant.
# camera_device =# Override the default privacy permission for cores that want to access camera services. Is “false” by default.
# camera_allow = false#### Location
# Override the default privacy permission for cores that want to access location services. Is “false” by default.
# location_allow = false#### Core Updater
# URL to core update directory on buildbot.
# core_updater_buildbot_url = “http://buildbot.libretro.com”# URL to assets update directory on buildbot.
# core_updater_buildbot_assets_url = “http://buildbot.libretro.com/assets/”# Automatically extract archives that the cores are contained in to the libretro cores directory.
# core_updater_auto_extract_archive = true#### Network
# When being client over netplay, use keybinds for user 1.
# netplay_client_swap_input = false# The username of the person running RetroArch. This will be used for playing online, for instance.
# netplay_nickname =# The amount of delay frames to use for netplay. Increasing this value will increase
# performance, but introduce more latency.
# netplay_delay_frames = 0# Netplay mode for the current user.
# false is Server, true is Client.
# netplay_mode = false# Enable or disable spectator mode for the user during netplay.
# netplay_spectator_mode_enable = false# The IP Address of the host to connect to.
# netplay_ip_address =# The port of the host IP Address. Can be either a TCP or an UDP port.
# netplay_ip_port = 55435#### Misc
# Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
rewind_enable = false# Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
# The buffer should be approx. 20MB per minute of buffer time.
rewind_buffer_size = 10# Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
rewind_granularity = 2# Pause gameplay when window focus is lost.
# pause_nonactive = true# Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
# The interval is measured in seconds. A value of 0 disables autosave.
autosave_interval = 5# Path to content database directory.
# content_database_path =# Path to cheat database directory.
# cheat_database_path =# Path to XML cheat config, a file which keeps track of which
# cheat settings are used for individual games.
# If the file does not exist, it will be created.
# cheat_settings_path =# Directory to dump screenshots to.
# screenshot_directory =# Records video after CPU video filter.
# video_post_filter_record = false# Records output of GPU shaded material if available.
# video_gpu_record = false# Screenshots output of GPU shaded material if available.
video_gpu_screenshot = true# Block SRAM from being overwritten when loading save states.
# Might potentially lead to buggy games.
# block_sram_overwrite = false# When saving a savestate, save state index is automatically increased before
# it is saved.
# Also, when loading content, the index will be set to the highest existing index.
# There is no upper bound on the index.
# savestate_auto_index = false# Slowmotion ratio. When slowmotion, content will slow down by factor.
# slowmotion_ratio = 3.0# The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
# RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
# Do not rely on this cap to be perfectly accurate.
# fastforward_ratio = 1.0# Setting this to false equals no FPS cap and will override the fastforward_ratio value.
# fastforward_ratio_throttle_enable = false# Enable stdin/network command interface.
# network_cmd_enable = false
# network_cmd_port = 55355
# stdin_cmd_enable = falseTo explain my settings:
Nearly every (emulated) system use its own resolution. (e.g. NES 256×240)
And with this resolution nearly every system have its own natively aspect ratio.
In the case of NES it is 1,06666667.
But on real hardware with an real CRT TV the image is stretched to an aspect ratio of 1,333333 (4:3).
The result is that the pixel width is not the same as the pixel height.
And because of the resolution you have also on a real CRT something patrickm says pixel warping.On an emulated system the aspect ratio is not automatically set to an aspect ratio 4:3 (1,33333), but the natively aspect ratio (NES=1.06666667 256×240).
You have the possibility to change the resolution and aspect ratio manually, but you have to chose between a realistic aspect ratio of 1.3333333 (4.3) and warping pixels or no warping pixels but also no realistic aspect ratio.I really prefer realistic aspect ratio… I don’t want a to fat or thin Mario ;-)
Fortunately with smooth on settings you won’t see this warping pixels anymore, because of the of the softness similar to a real (consumer) CRT.
I will not write where you can see these pixels exactly, because if you do not know what to look for, it will not attract attention.That’s also why I set the Integer Scale option to off because as already written each system has its own vertical resolution and each line should be a multiple of each emulated vertikal pixels, and I still want the image has an aspect ratio of 4:3.
For the current consoles, except for the Master system (and Handhelds), I always use a 4 times the vertical resolution of the original vertikal system resolution.Because each vertikal line on the LCD should be a multiple of each emulated vertikal pixels, I use also a border around the image. Otherwise the emulated image is to small or to big for the resolution of a LCD display as i write later.
And most of the systems offers different resolutions and have games that sometimes have different vertical resolution in some games or some games show some lines that are only black and so on…
e.g. NES has a PAL resolution 256×240 and a NTSC 256×224.
But the libretto NES cores always show 256×240 as native resolution.The SNES cores shows 256×239 !! pixels as nativ resolution.
With integer scale on you can only use scanline overlays if the integer scale a multiple of of the original resolution at x1, x2, x4, x6 because with x3 or x5 you will get 3×239= 717 or 5×239= 1.195 vertical lines, and with this resolution you can’t create a overlay scanlineimage in which the vertical pixel spacing is always the same and fit eh pixelborder.
And with a 239 vertical resolution the whole image “looks to high“ because of PAL. So I don’t use 240 but i resize the vertikal Resolution to NTSC 224 x4 = 896 Pixels. And to get an authentic 4:3 aspect ratio, I set the horizontal Resolution to 896 * 1,33333333 = 1.194(,66666)
So 1194×896 for SNES.1080p (or also 720p) is sometimes the exactly a multiple of the resolution of the emulated system, but mostly not.
If so, you don’t need a black or TV border to get a fullscreen image, if you don’t want.
I want it, because i want the same look of all emulators the border around the image are not only blackI want to see the whole picture, as it was designed.
(PAL games would still another chapter, rare games use the extra PAL resolution, mostly the image is only compressed so you have the ugly black PAL borders at the upper and lower ends of the image.)At the end you have in all these resolutions and aspect ratios a lot to consider in order to get a good looking „authentic“ image.
Plus, of course, everyone has a different meaning “good” looks like.
One like the picture a bit softer and less blocky. The other may prefer ultra-sharp and with or without scanlines, … and so on
There is no „best method“ .. ;-)I designed my Overlay Images for a 1080p LCD Resolution.
On a LCD with other resolution these images does not look good.
A 720p Display for example needs custom scanlines. The result would be you can see lines that do not fit or the whole image will be only darker or so…Now the Settings:
The overlay image should be at the same resolution as the display resolution.
– To do this edit the file:
/opt/retropie/configs/all/videomodes.cfgNote: Entries will be only automatically in the file when each emulator was called already once.
Otherwise, you can simply paste the entries. If the file does not exist, create the file.
The file should look like this:lr-catsfc_render=”config”
lr-armsnes_render=”config”
lr-picodrive_render=”config”
lr-fba_render=”config”
lr-fceumm_render=”config”
lr-gambatte_render=”config”
lr-pocketsnes_render=”config”
lr-snes9x-next_render=”config”
lr-handy_render=”config”
lr-genesis-plus-gx_render=”config”
lr-gpsp_render=”config”
lr-pcsx-rearmed_render=”config”
lr-nestopia_render=”config”Entries are only necessary for emulators that you use and scanlines want to have.
– Save the file.– You can edit the retroarch.cfg’s for the respective emulators
e.g. /opt/retropie/configs/snes/retroarch.cfg
The file should look like this:
( All comments starting with “#” can be omitted, except for the line “#include …”
and all the entries that the same for alle emulators like „video_fullscreen_x“ must not in this config, ist can also be in the config:
/opt/retropie/configs/all/retroarch.cfg )video_shader_enable = false
# We don’t need them + RP1/2 is to slow for most shaders
video_fullscreen_x = 1920
# Horizontal Monitor resolution
video_fullscreen_y = 1080
# Vertical Monitor resolution
custom_viewport_width = 1194
# Horizontal emulator resolution
custom_viewport_height = 896
# Vertical emulator resolution
custom_viewport_x = 363
# The first X pixel of the emulator image
custom_viewport_y = 90
# The first Y pixel of the emulator image
aspect_ratio_index = 22
# Aspect Ratio set to custom
input_overlay = /opt/retropie/emulators/retroarch/overlays/16-9/TV_16-9_SNES-MD.cfg
# Overlayimage
input_overlay_enable = true
# Overlay Image enable
input_overlay_opacity = 1.000000
# opacity of the overlayimage
input_overlay_scale = “1.000000”
# Scalesize of the overlay image
video_smooth = true
# Smoth the emulated image, not the overlay, If you set it to false, it will remain sharp but blocky.
#include “/opt/retropie/configs/all/retroarch.cfg”
# The line must remain so, otherwise the settings of /opt/retropie/configs/all/retroarch.cfg are not appliedI’ve uploaded the retroarch.cfg’s for the individual emulators I use, in my Dropbox. Individual entries that you not need, you can delete.
e.g. rewind_enable = true-> configs.zip
Download and unzip the file and copy each retrorch.cfg in every folder in each system config folder on the RaspberryPi.
e.g. „/opt/retropie/configs/snes/retroarch.snes“-MasterSystem
-MegaDrive / Genesis + Sega32x + SegaCD + SNES (It’s the same retroarch.cfg)
-NeoGeo
-NES + PSX (It’s the same retroarch.cfg)
PSX is a little problem because some games use different resolutions.
Also in the game the resolution change sometimes, e.g. cinematics.
I think the best overall image is the same as my NES Settings except:
rewind_enable = false
Because with setting on, the emulator would be really slow and unplayable-fba:
There is another small problem similar PSX. fba does not emulate one system with one native resolution, but many systems as CPS1 2 3, Konami, NeoGeo and so on. And the resolution differs from system to system.
I have chosen a resolution that looks good in the most games i tried.
The solution would be if emulationstaion supports configs for each game not only each system.For the handhelds I solved it very similar.
But the emulated image I set smaller.
And for GB I set the 4 green colors by the emulator itself.
-GameGear
-Atarilynx
-GBC
-GBA
-GB: For the nearly realistic green GameBoy colors i use the lr-gambatte core and set up individual colors in a extra file.
Therefore download and unzip the file from my Dropbox and copy the whole folder “palettes“ with the file „palettes.pal“ to „/home/pi/RetroPie/BIOS“-> palettes.zip
– I also uploaded on my Dropbox the scanline overlay images with the TV border i created for 1080p displays:
–> 16-9.zip
Download and unzip the file and copy the whole folder „16-9“ with the PNG images and .cfg files to the RaspberryPi to
„/opt/retropie/emulators/retroarch/overlays“– Start a game and as the result you should look like this:
[attachment file=”98328″]I find the smooth one looks much better, especially when the image is moving.
Also the aspect ratio is correct and the whole picture is not as dark as if the scan lines are all black, I find much better. Especially on a larger screen or television.
But of course everyone see that differently.
(open the images in a new window and resize it to fullscreen at a minimum resolution of 1080p to see it how it really looks, especially because of the scanlines )Of course in this guide can be still logical errors (and write errors because I am german) or there are better solutions for some things.
If questions remains, please ask ;-)Here are the scanline overlays without borders for all Systems except MasterSystem:
–> Scanlines_1080p.pngAnd here is the scanline overlay without borders for MasterSystem
–> Scanlines_1080p_MasterSystem.pngTopic: USB controller problems
Hi,
I manage to configure my playstation 2 controller with a converter into the raspberry pie. The only problem that I’m having is that when I connect my gamecube controller with its usb converter the configuration file for the playstation gets erase. I try reconfiguring the playstation controller again with retroarch and both the gamecube and playstation retroarch files don’t get erase. I setup the hotkeys for my playstation and gamecube controllers, each on their individual files. For some odd reason only the playstation hotkeys work. When I connect only the gamecube controller it works but the hotkeys don’t work. When I connect the playstation controller the hotkeys and everything work. What is also weird is that I try different snes multiplayer games and only the playstation controller seems to work. If exit out and try only the gamecube controller it works, but if connect the playstation controller it recognizes the controller but it doesn’t work for the second player. The hotkeys for the gamecube controller don’t work regardless if I’m playing single player as the playstation controller do.
Any help will be appreciated thanks.
Also when I create the playstation file, the file says it has root permission when the others just say pie.