GPi Case를 위한 초기설정


얼마전 Retroflag에서 출시한 GPi CASE라는 제품을 주문하였는데요.
게임보이 형태의 라즈베리파이 제로용 케이스입니다.

이전의 Retroflag 케이스들의 품질이 좋았기에 이번에도 제품을 구매해 보았습니다. 아직 제품이 도착하기 전이라서 라즈베리파이 제로 W에 기본적인 세팅을 진행해 보았습니다.

라즈베리파이 제로용 이미지

retropie 이미지를 다운로드 합니다.
2가지 이미지가 배포되어 있는데요. 라즈베리파이 제로(0)용으로 다운로드 합니다.
https://retropie.org.uk/download/

이후 SD File Formatter로 Micro SD를 포멧하고, Disk Imager로 다운로드한 RetroPie 이미지를 Write합니다. Write가 완료된 Micro SD는 아래와 같이 2개의 파티션으로 구성되어 있습니다.

참고로 초기에는 두번째 파티션은 확장되어 있지 않습니다. 라즈베리파이에 Micro SD 연결 후 자동으로 파티션이 최대 크기로 확장됩니다.

초기 설정

라즈베리파이 제로에 Micro SD, Mini HDMI, Micro 5핀 USB 전원, USB 컨트롤러, Micro 5핀 젠더 (OTG)를 연결하면 초기 설정 후 RetroPie 화면을 볼 수 있습니다.

1) 컨트롤러 세팅

  • 연결된 게임 컨트롤러를 설정합니다.
  • 매핑할 버튼이 없다면 기존에 매핑한 버튼을 길게 눌러주면 skip 됩니다.
  • HotKey는 Select 버튼으로 설정합니다.

2) RASPI-CONFIG

  • 1. Change User Password > 암호 입력
  • 2. Network Options > M2. Wi-fi > Italy
  • 4. Localisation Options > I2 Change Timezone > None of the above > GMT+9
  • 5. Interfacing Options > P2 SSH > 활성화

3) WiFi

  • Connect to WiFi network

PC에서 SSH 접속 후 설정

[비밀번호 변경]
    $ sudo passwd root

[root 원격 로그인]
    $ sudo vi /etc/ssh/sshd_config
    PermitRootLogin yes

[키보드 변경]
    $ sudo vi /etc/default/keyboard
    XKBLAYOUT="us"   --> 영국에서 미국으로 변경

[개인 환경설정 - prompt]
    $ vi .profile
    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

[개인 환경설정 - vim]
    $ sudo apt-get update
    $ sudo apt-get install vim
    $ vi ~/.vimrc
    set number
    set ai
    set si
    set cindent
    set shiftwidth
    set tabstop
    set ignorecase
    set hlsearch
    set expandtab
    set background
    set nocompatible
    set fileencodings
    set bs
    set history
    set ruler
    set nobackup
    set title
    set showmatch
    set nowrap
    set wmnu
    syntax on

[부팅후 텍스트 감추기]
    $ sudo vi /boot/cmdline.txt
    console=tty1을 console=tty3로 수정

게임 파일 복사

보통 작은 파일들은 WinSCP 등의 파일 전송 프로그램을 사용하여, Windows에서 파일을 전송했는데요.
WiFi로 파일을 전송하려다 보니 시간이 너무 많이 걸릴 것 같더군요.
기존에 라즈베리파이 3B+로 게임기를 구성한게 있어서, USB 리더기에 Micro SD를 넣고 기존 라즈베리파이에 연결 후 복사를 진행했습니다.

// usb 리더기를 꼽은 후 2개의 파티션 확인
[pi@retropie:/mnt]$ sudo fdisk -l | grep sda
Disk /dev/sda: 29.8 GiB, 32010928128 bytes, 62521344 sectors
/dev/sda1  *      8192   124927   116736   57M  e W95 FAT16 (LBA)
/dev/sda2       124928 62521343 62396416 29.8G 83 Linux

// 마운트
[pi@retropie:/mnt]$ sudo mkdir /mnt/usb_memory
[pi@retropie:/mnt]$ sudo chown pi:pi /mnt/usb_memory
[pi@retropie:/mnt]$ sudo mount /dev/sda2 /mnt/usb_memory/

// 마운트 후 파일 확인
[pi@retropie:/home/pi]$ ls /mnt/usb_memory/home/pi/RetroPie/roms
amstradcpc  atari7800  fds       gbc            mastersystem  nes       psx      snes
arcade      atari800   gamegear  genesis        megadrive     ngp       sega32x  vectrex
atari2600   atarilynx  gb        mame-libretro  n64           ngpc      segacd   zxspectrum
atari5200   fba        gba       mame-mame4all  neogeo        pcengine  sg-1000

// 복사할 원본 파일 확인
[pi@retropie:/home/pi]$ ls /home/pi/RetroPie/roms
amiga        dreamcast      mame-libretro    nes          retropie   vic20
amstradcpc   famicom        mame-mame4all    ngp          sc-3000    videopac
arcade       fba            markiii          ngpc         scummvm    videopac2
atari2600    fds            mastersystem     oddyse       sega32x    virtualboy
atari5200    gameandwatch   megadrive        pc           segacd     wonderswan
atari7800    gamegear       megadrive-japan  pcengine     sfc        wonderswancolor
atari800     gb             msx              pcenginecd   sg-1000    zmachine
atarijaguar  gba            msx2             ports        sgfx       zxspectrum
atarilynx    gbc            msx2+            power        snes
bezels       genesis        music_disable    psp          stratagus
c64          intellivision  n64              pspminis     tg16
coleco       kodi           nds              psx          tg16cd
daphne       mame-advmame   neogeo           Read Me.txt  vectrex

// 디렉토리를 통채로 복사
[pi@retropie:/home/pi]$ vi copy_roms.sh
[pi@retropie:/home/pi]$ chmod +x copy_roms.sh 
cp -r /home/pi/RetroPie/BIOS /mnt/usb_memory/home/pi/RetroPie
cp -r /home/pi/RetroPie/roms/atari2600 /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/arcade /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/coleco /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/gb /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/gba /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/gbc /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/mastersystem /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/megadrive /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/msx /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/neogeo /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/nes /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/sega32x /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/snes /mnt/usb_memory/home/pi/RetroPie/roms
cp -r /home/pi/RetroPie/roms/vectrex /mnt/usb_memory/home/pi/RetroPie/roms
[pi@retropie:/home/pi]$ ./copy_roms.sh

Launching Image

게임 실행시 이미지를 교체하는 방법은 기존글을 참고하면 됩니다.
https://kimstar.kr/8065/
이미지 파일들은 /opt/retropie/configs 아래의 각 에뮬별로 넣으시면 됩니다.
참고로 GPi Case의 해상도는 320x240 입니다.
XnView 등의 도구를 이용해 손쉽게 크기 변경/잘라내기 등을 수행할 수 있습니다.

Core 다운로드

$ sudo ~/RetroPie-Setup/retropie_setup.sh
  • S : Update RetroPie-Setup Script
  • I : Basic install
  • U : Update
  • P : Manage packages > opt : Manage optional packages > core선택 > install from binary
    • lr-fbalpha2012
    • advmame-0.94
    • advmame-1.4
    • advmame
    • lr-mame2010
    • lr-bluemsx
    • openmsx
    • coolcv

기본 Core 설정

게임 목록에서 게임을 최초 실행시 기본 core를 설정할 수 있습니다. 이미 기본 core가 선택된 상태에서는 게임 실행시 A를 연타하면 core를 설정할 수 있습니다.
저는 아래와 같이 기본 core를 설정하였습니다.

  • atari2600 : lr-stella2014
  • arcade : lr-fbalpha2012 (확인 필요)
  • coleco : lr-bluemsx
  • gb : lr-gabatte
  • gba : lr-gpsp
  • gbc : lr-gabatte
  • mastersystem : lr-genesis-plus-gx
  • megadrive : lr-picodrive
  • msx : lr-bluemsx
  • neogeo : lr-fbneo
  • nes : lr-fceumm
  • sega32x : lr-picodrive (확인 필요)
  • snes : lr-snes9x2010 (확인 필요)
  • vectrex : lr-vecx

테마

gamelist.xml 파일에는 게임이름, 스냅샷 등의 metadata가 들어 있습니다. 저는 한글화된 게임이름을 사용하므로, 한글 폰트로 수정된 테마가 필요합니다.
아직 GPi Case를 받아 보지 못해서 가독성 확인이 불가하여 구체적인 테마 설정은 미뤄두었습니다.

일단 한글롬 확인을 위해 SNES MINI 테마를 사이즈를 줄여서 수정한 버전을 적용해 보았습니다. 적용해 보고 가독성이 좋지 않다면, 라즈겜동에서 배포한 ssimpleboxmini 테마도 좋은 선택이 될것 같습니다.
참고 : https://retropie.org.uk/forum/topic/12583/snes-mini-theme

테마 파일들은 /opt/retropie/configs/all/emulationstation/themes 에 위치하면 됩니다.

GPi Case용 설정

retroflag의 케이스들은 이전부터 safe shutdown 기능을 제공합니다. 이 부분은 미리 작업해도 별 문제가 없어 보입니다.
그리고, GPi Case는 HDMI가 아니라 GPIO를 통해 디스플레이를 출력합니다. 따라서 별도의 패치가 필요합니다. 이 작업은 모든 설정이 끝나고 마지막에 수행하면 됩니다. 일반 tv에 연결시에는 uninstall 하면 될것같습니다.

참고

광고

댓글 1개

댓글 남기기