라즈베리파이4 – ES 설치

라즈겜동의 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 --> http://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 추가

[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 설정]
	http://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. 번역서비스]
	참고 : http://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버튼
	...

Notice

  • 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스
  • 저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.
  • 댓글에 대한 답변은 늦을 수도 있습니다.
  • Retroarch 등의 게임 설정에 대한 질문들은 답변이 힘들 수 있습니다.
  • 1 댓글

    1. 핑백: Odroid Go Advance - 무적풍화륜 펌웨어 - Kimstar 3.0

    댓글이 닫혔습니다.