라즈베리파이의 HDMI 사운드 드라이버 설정

라즈베리파이의 HDMI 사운드 드라이버 설정


라즈베리파이에 라즈베리안을 설치하지 않고, 바로 레트로아크만 설치 했을때, HDMI 단자로 TV와 연결했음에도 사운드가 나오지 않는 경우가 있습니다. 저도 이것 때문에 고생을 좀 했는데요. 사운드 드라이버를 잡아주야 합니다.


ALSA, asound 모듈을 이용해서 출력이 되기 때문에, HDMI를 이용하도록 잡아줘야 합니다.

LibreELEC:~ # aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=ALSA
    bcm2835 ALSA, bcm2835 ALSA
    Default Audio Device
소문자L로 옵션을 바꿔서 출력합니다.
LibreELEC:~ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
HDMI 출력은 card 0, device 1 입니다.
LibreELEC:~ # vi /storage/.config/asound.conf

내용 변경

# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)

pcm.!default {
    type hw
    card 0
    device 1
}
ctl.!default {
  type hw
  card 0
  device 1
}

asound.conf를 위처럼 수정 해주고 재구동하면 소리가 나올겁니다.

라즈베리파이 레트로아크를 위한 네트워크 드라이브 smb 마운트

라즈베리파이 레트로아크를 위한 네트워크 드라이브 smb 마운트


라즈베리파이로 레트로아크를 구성하신분들을 위한 네트워크 드라이브 설정 값입니다. MicroSD 카드의 용량은 한계가 있는데 거기다 많은 용량의 Rom 파일들을 모두 복사할 수 없으니, Nas의 samba를 이용해 네트우크 드라이브를 구성하는 겁니다.

일반적으로 리눅스의 네트워크 드라이브 마운트와 비슷합니다.

저는 Libreelec 9.0 RR 버전에 얹어져 있는 레트로아크를 사용하기 때문에 레트로아크만 구성하신 분이라면, 경로가 다를 수 있으니, find 명령으로 경로를 잘 찾아보시기 바랍니다.

# cd /storage/.config/system.d
파일 생성
# vi storage-emulators-retroarch-roms.mount
what 에는 자신의 NAS나 PC의 samba 경로를 넣어주면 됩니다.
[Unit]
Description=Emulator ROMs SAMBA mount drive
Wants=network-online.service
After=network-online.target
Before=kodi.service

[Mount]
What=//192.168.xxx.xxx/PDS/Games/Emul
Where=/storage/emulators/retroarch/roms
Type=cifs
Options=username=retro,pass=kodi1234,rw,vers=2.0


[Install]
WantedBy=multi-user.target
실행 권한 부여
# chmod a-x storage-emulators-retroarch-roms.mount
서비스에 등록
# systemctl enable storage-emulators-retroarch-roms.mount
서비스 실행
# systemctl start storage-emulators-retroarch-roms.mount 
서비스 Status 확인
# systemctl status storage-emulators-retroarch-roms.mount

마운트 확인

# df -h

//192.168.xxx.xxx/PDS/Games/Emul
                          3.5T    552.2G      2.9T  15% /storage/emulators/retroarch/roms