The Logitech F310 on Retropie

Last Updated on March 3, 2017 by Dave Farquhar

I went looking for a reliable, modern controller to use on my Retropie setup. I eventually settled on a Logitech F310, betting the Logitech F310 on Retropie would make a nice combination based on my experience with other Logitech peripherals in regards to their quality and value for the money.

The reviews I found suggested the F310 continued in this tradition, and I found enough people who said they got it working with Linux to feel confident I could get it working on the Raspberry Pi. And sure enough, I did.

I paid $18 for mine, and my first impressions of the quality were good. It’s precise, and button pushes register with a slight click. It’s no worse than a Sony, Microsoft or Nintendo controller, and if anything, I think I liked it a little better. A pair of Logitech F310s costs more than the Raspberry Pi board, but playing games is a lot more enjoyable when the controller does what you want it to do all the time, not just most of the time.

The F310 wasn’t a drop-in replacement for the controller I’d been using, though. I had to configure it for Retroarch, the software that provides most of Retropie’s console emulation.

Prep work

First, SSH into your Retropie, then enter the following commands.

sudo mv /opt/retropie/configs/all/retroarch.cfg /opt/retropie/configs/all/retroarch.cfg.bak
sudo nano /opt/retropie/configs/all/retroarch.cfg

Next, paste in my config file. If you want a real retro feel of magazine type-ins, you can type it in and debug it. Most people will prefer to copy and paste it.

This worked pretty well for Atari 2600, NES and SNES emulation for me. It also gives the option to exit a game by hitting the Start and Back buttons together so you don’t have to keep a keyboard hooked up to your Pi.

The config file

system_directory = /home/pi/RetroPie/roms/../BIOS
config_save_on_exit = false
video_aspect_ratio = 1.33
video_smooth = false
video_threaded = true
rewind_enable = false
rewind_buffer_size = 10
rewind_granularity = 2
input_rewind = r
video_gpu_screenshot = true
video_shader_dir = /opt/retropie/emulators/RetroArch/shader/
joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/
#Audio Settings
#audio_out_rate = 48000
audio_out_rate = 44100
audio_driver = alsathread
audio_volume = 20.0
#GamePad 1 Settings
input_player1_joypad_index = "0"
input_player1_a_btn = "0"
input_player1_b_btn = "1"
input_player1_x_btn = "2"
input_player1_y_btn = "3"
input_player1_select_btn = "6"
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_l_btn = "4"
input_player1_r_btn = "5"
input_player1_l3_btn = "11"
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 = "+2"
input_player1_r_x_minus_axis = "-2"
input_player1_r_y_plus_axis = "+3"
input_player1_r_y_minus_axis = "-3"
input_enable_hotkey_btn = 7
input_exit_emulator_btn = 6
#GamePad 2 Settings
input_player2_joypad_index = "1"
input_player2_a_btn = "0"
input_player2_b_btn = "1"
input_player2_x_btn = "2"
input_player2_y_btn = "3"
input_player2_select_btn = "6"
input_player2_start_btn = "7"
input_player2_up_btn = "h0up"
input_player2_down_btn = "h0down"
input_player2_left_btn = "h0left"
input_player2_right_btn = "h0right"
input_player2_l_btn = "4"
input_player2_r_btn = "5"
input_player2_l3_btn = "11"
input_player2_l_x_plus_axis = "+0"
input_player2_l_x_minus_axis = "-0"
input_player2_l_y_plus_axis = "+1"
input_player2_l_y_minus_axis = "-1"
input_player2_r_x_plus_axis = "+2"
input_player2_r_x_minus_axis = "-2"
input_player2_r_y_plus_axis = "+3"
input_player2_r_y_minus_axis = "-3"
input_enable_hotkey_btn = 7
input_exit_emulator_btn = 6

Potential tweaks

If you primarily emulate 8-bit systems, you may prefer to swap the “A” and “X” buttons. I find I’m constantly hitting “X” when I play NES games, but that layout might be too awkward for SNES and Genesis.

So that’s pretty much it. You may opt to tweak the config a little to match what you’re used to, but my config is a good start to get your Logitech F310 on Retropie going.

If you found this post informative or helpful, please share it!

3 thoughts on “The Logitech F310 on Retropie

  • July 28, 2014 at 10:23 am


    my retropie 2.3 and my F310 doesn’t work at all.

    What are the right steps to make it work from clean install?

  • July 28, 2014 at 6:38 pm

    The steps I outlined above will work from a clean install.

  • August 10, 2014 at 11:24 pm

    I came across this post while searching and wanted to share what I found. I assumed this would work for my F710 since it’s so similar.. but it didn’t.

    Anyone googling, check this post on the main forum, this will allow you to configure YOUR controller exactly how you want it, button by button. Those instructions will append all the appropriate mappings to your config file.

    Don’t forget to include the following so you can exit your emulators (and obviously change to the button mappings you want)!

    input_enable_hotkey_btn = "7"
    input_exit_emulator_btn = "6"

Comments are closed.

%d bloggers like this: