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.
David Farquhar is a computer security professional, entrepreneur, and author. He started his career as a part-time computer technician in 1994, worked his way up to system administrator by 1997, and has specialized in vulnerability management since 2013. He invests in real estate on the side and his hobbies include O gauge trains, baseball cards, and retro computers and video games. A University of Missouri graduate, he holds CISSP and Security+ certifications. He lives in St. Louis with his family.
hi,
my retropie 2.3 and my F310 doesn’t work at all.
What are the right steps to make it work from clean install?
The steps I outlined above will work from a clean install.
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"
http://blog.petrockblock.com/forums/topic/xbox-controller-config/#post-16690