!! grosse update depuis cette doc… (raspi3, crt-pi shader, compile des emu, utilisation exclusive retroarch car fba-next performant, update distrib , etc…). Faudra que je mette à jour…un jour :D
Retropie permet de transformer un raspberry en plateforme d'émulation en rassemblant un ensemble de projet open source: raspbian pour l'OS, emulationstation pour l'habillage / pilotage des émulateurs et plusieurs scripts pour paramétrer l'ensemble.
L'installation peut se faire depuis une rasbian ou directement via une image disque à pousser sur une micro sd.
Je vous propose de décortiquer la configuration que j'utilise. C'est un projet sur mesure pour des pads type 8bitnesdo sans fil et xbox 360 filaire. En gros emulation station, retroarch uniquement et la gestion des pads.
Rien à signaler , suivre les instructions sur le site officiel de retropie. J'ai utilisé l'image 2.3 pour micro sd.
Principaux fichiers / répertoires:
1 - utilisation du mode turbo via sudo raspi-config
2- /etc/emulationstation/es_systems.cfg:
3- ajout de repertoires partagées en cifs via samba :
[screenshoot] comment = screenshoot path = /home/pi/RetroPie/screenshoot writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [savestate] comment = savestate path = /home/pi/RetroPie/savestate writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi [share] comment = share path = /home/pi/RetroPie/share writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi
4- Paramétrage global de retroarch:
/opt/retropie/configs/all # scanline.glsl a un rendu proche de mon slg=HD et prend très peu de ressource. J'ai essayé les autres shaders comme crt-xxx mais ils demandent trop de puissance au raspberry (meme en mode turbo) video_shader = "/opt/retropie/emulators/RetroArch/shader/scanline.glsl" video_shader_enable = true video_shader_dir = /opt/retropie/emulators/RetroArch/shader/ # screenshoot avec le post-processing , notamment scanlines video_gpu_screenshot = true # on desactuve l'invite d'aide lors d' laccès au menu retroarch rgui_show_start_screen = false # ajout de repertoires dans le partage samba savefile_directory = /home/pi/RetroPie/savestate savestate_directory = /home/pi/RetroPie/savestate screenshot_directory = /home/pi/RetroPie/screenshoot overlay_directory = /opt/retropie/emulators/RetroArch/overlays # l'aspect ratio 6 (Core provided) me donne, combiné au runcommand 4 , un ratio excellent quelques soit l'écran (tv 16/9 full hs, lcd 16/10 et lcd 5/4) aspect_ratio_index = "6"
Spécificité du core pc engine:
ajouté/modifié dans /opt/retropie/configs/all/retroarch-core-options.cfg: pce_initial_scanline = "0" pce_last_scanline = "239"
Lien utilisé pour l'intégration des nes30 en bluetooth (scripts): http://www.open-consoles-news.com/2014/10/raspberry-pi-realiser-une-retro-gaming.html
Pour vérifier que la manette fonctionne correctement , que le dongle bluetooth fonctionne etc… on peut utiliser la commande suivante : sudo hciconfig hci0 sspmode 0. Cette commande permet de s'affranchir de toute la configuration suivante mais n'est pas persistante au reboot.
configuration de emulation station , dans es_input.cfg:
<?xml version="1.0"?> <inputList> <inputConfig type="joystick" deviceName="8Bitdo NES30 GamePad" deviceGUID="0500000038426974646f204e45533300"> <input name="a" type="button" id="2" value="1" /> <input name="b" type="button" id="3" value="1" /> <input name="down" type="axis" id="1" value="1" /> <input name="left" type="axis" id="0" value="-1" /> <input name="pagedown" type="button" id="5" value="1" /> <input name="pageup" type="button" id="4" value="1" /> <input name="right" type="axis" id="0" value="1" /> <input name="select" type="button" id="6" value="1" /> <input name="start" type="button" id="7" value="1" /> <input name="up" type="axis" id="1" value="-1" /> </inputConfig> </inputList>
Ajout d'un sleep 5 dans le lancement de emulationstation pour laisser le temps aux pads bluetooth nes30 de se connecter.
vim usr/bin/emulationstation #!/bin/bash sleep 5 ...
paramétrage retroarch.cfg : la combinaison R1 puis R2 ouvre le menu retroarch. J'utilise uniquement des émulateurs retroarch avec ma retropie dédiée nes30.
/opt/retropie/configs/all ##### INPUT #nes30 p1 input_player1_joypad_index = "0" input_player1_analog_dpad_mode = "3" input_player1_b_btn = "14" input_player1_y_btn = "11" input_player1_select_btn = "17" input_player1_start_btn = "18" input_player1_a_btn = "13" input_player1_x_btn = "12" input_player1_l_btn = "15" input_player1_r_btn = "16" input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_left = "nul" input_player1_right = "nul" input_player1_up = "nul" input_player1_down = "nul" input_player1_l2_btn = "nul" input_player1_r2_btn = "nul" input_player1_l3_btn = "nul" input_player1_r3_btn = "nul" input_player1_l_x_plus_btn = "nul" input_player1_l_x_minus_btn = "nul" input_player1_l_y_plus_btn = "nul" input_player1_l_y_minus_btn = "nul" input_player1_r_x_plus_btn = "nul" input_player1_r_x_minus_btn = "nul" input_player1_r_y_plus_btn = "nul" input_player1_r_y_minus_btn = "nul" #nes30 p2 input_player2_joypad_index = "1" input_player2_analog_dpad_mode = "3" input_player2_b_btn = "14" input_player2_y_btn = "11" input_player2_select_btn = "17" input_player2_start_btn = "18" input_player2_a_btn = "13" input_player2_x_btn = "12" input_player2_l_btn = "15" input_player2_r_btn = "16" input_player2_up_axis = "-1" input_player2_down_axis = "+1" input_player2_left_axis = "-0" input_player2_right_axis = "+0" input_player2_left = "nul" input_player2_right = "nul" input_player2_up = "nul" input_player2_down = "nul" input_player2_l2_btn = "nul" input_player2_r2_btn = "nul" input_player2_l3_btn = "nul" input_player2_r3_btn = "nul" input_player2_l_x_plus_btn = "nul" input_player2_l_x_minus_btn = "nul" input_player2_l_y_plus_btn = "nul" input_player2_l_y_minus_btn = "nul" input_player2_r_x_plus_btn = "nul" input_player2_r_x_minus_btn = "nul" input_player2_r_y_plus_btn = "nul" input_player2_r_y_minus_btn = "nul" ##### hotkeys input_enable_hotkey_btn = "15" input_menu_toggle_btn = "16"
Autoconf retroarch:
Mettre des profiles automatique pour retroarch:
Copier les inputs/paramètres spécifiques de la manette dans un nouveau fichier à l'emplacement suivant: /opt/retropie/emulators/RetroArch/configs/
Commandes utiles:
Générér un fichier de configuration retroarch d'une manette (ici j1): /opt/retropie/emulators/RetroArch/installdir/bin/retroarch-joyconfig -j1 » fichier_commandes_pad.conf