Skip to content

[홈서버] FreeBSD SPDIF Sound out

FreeBSD가 설치된 내 홈서버에는 Headphone Jack과 SPDIF 광출력 단자가 있는데 광출력으로 음악을 내보내고 싶다.

어떻게 해야할까?

OS가 인식하고 있는 장치를 알기 위해선 booting message를 보면 된다.

$cat /var/run/dmesg.boot

/boot/loader.conf에서 boot_verbose="YES" 를 기록하고 reboot 하면 booting message를 자세히 볼 수 있다.

Sound 장치를 알기 위해선 $cat /dev/sndstat을 보면 간단히 알 수 있다.

HDMI, Analog, Digital Play를 지원한다. Analog가 default로 되어있다.

이 정보를 보면 pcm2가 Onboard Digital, 즉 SPDIF 광출력 device가 된다.

따라서 pcm2를 default 출력단자로 하면 sound 재생시 광출력으로 나가게 된다.

이는 sysctl 명령으로 한다. ($ sysctl hw.snd.default_unit=2)

sysctl로 값을 확인하고, 다시 sysctl로 값을 설정한다. /dev/sndstat 으로 default가 변경된 것을 확인한다.

FreeBSD H/W의 SPDIF가 AMP나 Speaker로 잘 연결되었는지 확인하고, mp3 Audio를 mpg123 player를 통해 재생해본다.

$mpg123 test.mp3

AMP와 스피커를 통해 노래가 나오면 감동에 휩싸이게 된다. 설정이 제대로 먹힌 것이다.

위에서 sysctl로 설정한 것은 휘발적 설정으로 reboot시에도 자동 적용할 수 있게, /etc/sysctl.conf에 저장한다.

$vi /etc/sysctl.conf

# SPDIF Sound Out (Refer to cat /dev/sndstat)

hw.snd.default_unit=2

참고: https://cooltrainer.org/a-freebsd-desktop-howto/

저장저장

About The Author