라즈겜동의 losernator님이 라즈베리파4용 EmulationStation을 배포해 주셔서 설치 후 이것저것 설정해 보았습니다.
기존 라즈베리파이3에서 성능이 좋지 못했던 3DO, PSP, DC 등이 꽤 만족스럽게 동작합니다. NDS는 Drastic 설정하기가 애매하고 터치 인터페이스 때문에 사용하지 않았습니다. 전원을 넣고 부팅은 잘되는데, reboot 명령을 실행하면 다시 켜지지 않고 있습니다. 아직은 라즈3만큼의 역사가 있는것은 아니니까 좀 더 기다려봐야겠습니다.

[01. 기기 연결]
5V3A 전원
HDMI0에 Micro HDMI 연결
microSd 256GB
[02. 이미지 굽기]
이미지 다운로드 : https://cafe.naver.com/raspigamer/35845
TV 이용중이므로 기본해상도 사용
[03. ES 키설정]
[LT] [Y] [X] [LS]
[RT] [B] [A] [RS]
[04. 파티션 확장]
설정 > 라즈파이설정 > 7 Advanced Options -> A1 Expand Filesystem
[05. 비밀번호 변경]
초기 ID / PW : pi / raspberry
$ sudo passwd pi
$ sudo passwd root
[06. root 원격 로그인]
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin yes
[07. 개인취향 - 환경설정]
$ sudo apt-get install vim
$ vi .profile (pi, root 계정)
alias ll='ls -alF'
alias vi='vim $*'
alias h='history'
export PS1="[\[\e[36;1m\]\u@\[\e[32;1m\]\h:\[\e[31;1m\]\$PWD\[\e[0m\]]\\$ "
$ source .profile
[08. 개인취향 - vim 설정]
$ vi ~/.vimrc
set number
set ai
set si
set cindent
set shiftwidth=4
set tabstop=4
set ignorecase
set hlsearch
set expandtab
set background=dark
set nocompatible
set fileencodings=utf-8,euc-kr
set bs=indent,eol,start
set history=1000
set ruler
set nobackup
set title
set showmatch
set nowrap
set wmnu
syntax on
[09. 개인취향 - 뷰릭스 전원제어]
$ sudo apt-get install rpi.gpio
$ mkdir /home/pi/kimstar
$ vi /home/pi/kimstar/pishutdown.py --> https://kimstar.kr/7826/
$ sudo vi /opt/retropie/configs/all/autostart.sh
sudo python3 /home/pi/kimstar/pishutdown.py &
emulationstation #auto
[10. 기존 RPi3 메모리에서 Game 복사]
$ sudo fdisk -l | grep sda
/dev/sda1 * 8192 124927 116736 57M e W95 FAT16 (LBA)
/dev/sda2 124928 250085375 249960448 119.2G 83 Linux
// 마운트
$ sudo mkdir /mnt/usb_memory
$ sudo chown pi:pi /mnt/usb_memory
$ sudo mount /dev/sda2 /mnt/usb_memory/
// 기존 BIOS 복사
$ cp -r /mnt/usb_memory/home/pi/RetroPie/BIOS/* /home/pi/RetroPie/BIOS/
// 기존 Game을 roms_new로 복사, 이후 WinSCP 등을 통해 디렉토리 확인하며 파일 Move
$ mkdir /home/pi/RetroPie/roms_new
$ cp -r /mnt/usb_memory/home/pi/RetroPie/roms/* /home/pi/RetroPie/roms_new/
[11. REDREAM 키설정]
키보드/마우스 연결 > DC 게임실행 > esc키 > Input
[] [X] [Y] [LT]
[] [A] [B] [RT]
종료 : select버튼
메뉴 : home버튼
[12. PPSSPP 키설정]
키보드/마우스 연결 > PSP 게임실행 > esc키 > 설정 > 조작 > 컨트롤 매핑
설정 종료 후 esc키로 ppsspp 종료하도록 설정 (https://forums.ppsspp.org/showthread.php?tid=12344)
$ vi /opt/retropie/configs/psp/emulators.cfg
ppsspp = "/opt/retropie/emulators/ppsspp/PPSSPPSDL --fullscreen %ROM% --escape-exit"
default = "ppsspp"
home버튼을 esc로 사용하기 위한 python 코드
$ vi /home/pi/kimstar/buttonDetect.py
$ vi /home/pi/kimstar/button2key.py
참고 : https://cafe.naver.com/raspigamer/23468 ==> '1'을 'esc'로 변경
참고 : https://github.com/RetroPie/RetroPie-Setup/wiki/Runcommand
$ vi /opt/retropie/configs/all/runcommand-onstart.sh
if [ "${emul}" = "ppsspp" -o "${emul}" = "drastic" ]; then
sudo python3 /home/pi/kimstar/button2key.py &
fi
$ vi /opt/retropie/configs/all/runcommand-onend.sh
emul=$2
if [ "${emul}" = "ppsspp" -o "${emul}" = "drastic" ]; then
sudo pkill -f button2key.py
fi
[13. Drastic 키설정]
키보드/마우스 연결 > NDS 게임실행 > m키
키보드가 멋대로 움직여서 설정 포기
[14. Custom Core 추가]
root 권한
다운로드 : https://dsno.tistory.com/7322
/opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so 파일을 교체
[15. core 추가]
$ sudo /home/pi/RetroPie-Setup/retropie_setup.sh
S: Update RetroPie-Setup script
P: Manage package > opt: Manage optional packages > 코어선택 > Install from binary
lr-gw : game & watch
lr-freeintv : intellivision
lr-beetle-vb : vitualboy
kodi
P: Manage package > exp: Manage experimental packages > 코어선택 > Install from binary
lr-pokemini : Pokemon mini
lr-px68k : Sharp X68000
lr-vice : C64
lr-x1 : Sharp X1
lr-yabause : Sega Saturn
lr-virtualjaguar : Atari Jaguar
lr-opera : 3DO
[16. 시스템 수동 추가]
psp에서 pspminis 복사하여 추가
msx에서 msx2 복사하여 추가
$ mkdir -p /opt/retropie/configs/{msx2,pspminis}
$ cp -r /opt/retropie/configs/psp/* /opt/retropie/configs/pspminis/
$ cp -r /opt/retropie/configs/msx/* /opt/retropie/configs/msx2/
$ sudo vi /etc/emulationstation/es_systems.cfg
...
<system>
<name>pspminis</name>
<fullname>PlayStation Portable Minis</fullname>
<path>/home/pi/RetroPie/roms/pspminis</path>
<extension>.iso .pbp .cso .ISO .PBP .CSO</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pspminis %ROM%</command>
<platform>psp</platform>
<theme>pspminis</theme>
</system>
...
<system>
<name>msx2</name>
<fullname>MSX2</fullname>
<path>/home/pi/RetroPie/roms/msx2</path>
<extension>.rom .mx1 .mx2 .col .dsk .zip .m3u .ROM .MX1 .MX2 .COL .DSK .ZIP .M3U</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ msx2 %ROM%</command>
<platform>msx</platform>
<theme>msx2</theme>
</system>
...
[17. 부트 로그 제거]
$ sudo vi /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 root=PARTUUID=f72bbdf6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.enable=0 logo.nologo loglevel=3 quiet
console=tty1 을 console=tty3 로 변경
마지막에 logo.nologo loglevel=3 quiet 추가
참고 : https://retropie.org.uk/docs/FAQ/#how-do-i-hide-the-boot-text
[18. 스플래쉬]
pi 권한
/home/pi/RetroPie/splashscreens 에 mp4 저장
설정 > 스플래쉬 화면 > choose > own/extra > 원하는 파일 선택
[19. 화면보호기]
pi 권한
슬라이드쇼 디렉토리 생성
$ mkdir -p /opt/retropie/configs/all/emulationstation/slideshow/image
start버튼 > UI Settings > Screensaver Settings > Screensaver Behavor : slideshow
start버튼 > UI Settings > Screensaver Settings > Slideshow Screensaver settings > Swap Image After : 30s
start버튼 > UI Settings > Screensaver Settings > Slideshow Screensaver settings > Use custom Images : On
초기화면에서 select버튼 눌러서 확인
[20. 테마]
pi권한 : /opt/retropie/configs/all/emulationstation/themes
root권한 : /etc/emulationstation/themes/
한글 대응 / 추가된 게임시스템 이미지 추가
[21. Run Command Splash]
pi 권한으로 /opt/retropie/configs에 필요한 파일들을 복사
참고 : https://github.com/ehettervik/es-runcommand-splash
[22. KODI 설정]
https://kimstar.kr/8043/ 참고
[23. 베젤 프로젝트]
https://github.com/thebezelproject/BezelProject
/home/pi/RetroPie/retropiemenu/bezelproject.png 파일 추가하고 gamelist.xml 수정
$ vi /home/pi/.emulationstation/gamelists/retropie/gamelist.xml
...
<game>
<path>./bezelproject.sh</path>
<name>베젤 프로젝트</name>
<image>./icons/bezelproject.png</image>
<desc>이 유틸리티는 RetroPie 내의 다양한 시스템에서 사용되는 Retroarach Sytem Bezel Pack을 다운로드하는 기능을 제공합니다.</desc>
</game>
...
[24. 베젤]
베젤프로젝트로 적용 안되는 것들
pi 계정
/opt/retropie/configs/all/retroarch/overlay/ 에 overlay 파일 복사
[25. Custom Collection]
pi 계정
/home/pi/.emulationstation/collections 에 collection 파일 복사
start버튼 > Game Collection Settings > Custom Game Collections > 원하는 collection 선택
참고 : https://retropie.org.uk/forum/topic/13055/share-your-collections
[26. 번역서비스]
참고 : https://kimstar.kr/8618/
참고 : https://retropie.org.uk/forum/topic/25614/retroarch-to-be-built-with-have_translate-option-ai-service/5
번역이 필요한 화면에서 select+guide 버튼으로 번역기능 화면 on/off
$ vi /opt/retropie/configs/all/retroarch.cfg
ai_service_enable = "true" // 번역 사용
ai_service_mode = "0" // 0:이미지, 1:음성, 2:나레이터
ai_service_pause = "true" // 멈춤
ai_service_source_lang = "0" // 원본 : 상관없음
ai_service_target_lang = "12" // 대상 : 한국어
ai_service_url = "http://ztranslate.net/service?api_key=나의키값" // 번역서비스 URL
...
input_ai_service_btn = "12" // 번역 핫키 : guide버튼
[27. 일시정지]
참고 : https://cafe.naver.com/raspigamer/33729
...







[…] http://kimstar.kr/8950/ 참고 […]
[…] 라즈베리파이4 – ES 설치 […]