레트로파이-우분투에서 소리만 나오고 화면이 안나올 때
가끔 특정 컴퓨터에서 롬을 불러오면 소리는 나오는데 화면이 나오지 않는 경우가 있다. 기본적으로 레트로파이는 설치 초기에 비디오 드라이버를 gl을 사용하도록 세팅되어있다. 이 문제가 발생했을 때 비디오 드라이버를 sdl2 로 바꿔주면 정상 작동 했었다. gl 지원이 완벽하지 않은 그래픽 드라이버와 커널간의 버그 때문인것으로 예상해보기는 하지만 아직 확실한건 아니다.
SDL2 를 사용하면 여러 환경에서 작동하게 하는 범용성은 높아지는데 일부 프레임이 많이 쓰이는 게임은 크게 눈에 띄지는 않지만 감지할 수 있을 정도의 성능 저하가 따라오는것 같다. 따라서 openGL 이 잘 돌아갈 수 있도록 사용자의 컴퓨터와 그래픽 카드 상성을 드라이버를 통해 잘 맞추길 권장한다. 2018년 현재는 리눅스에 비디오 드라이버 지원이 좋은 Nvidia 칩셋류가 괜찮은듯 하다.
애둘러 또 생각해보면 구형 게임의 대부분이 극한의 성능을 요구하는것이 아니기 때문에 SDL2 만으로도 무난하게 사용할 수 있을것으로 생각된다. 리콜박스는 SDL2 를 사용한다. SDL2로 바꾸는 방법은 다음과 같다.
ES 안에 있는 메뉴중 retropie > retroarch > settings > video driver
의 값을 gl 에서 sdl2 로 바꿔주면 해결 된다.
하지만 저장이 안되는 경우가 있으므로(기본설정값을 제법 중요하게 여기므로 설정을 변경하고 난 뒤 다시 시작할 때마다 초기값으로 돌아올 수 있도록 저장이 안되게 설정되어 있는 경우가 있다.) 직접 파일을 수정하는 방법도 있다.
바꿔주어야 할 파일은 retroarch.cfg
이다.
전체 설정을 관장하는 retroarch.cfg 의 위치는 아래와 같다.
/opt/retropie/configs/all/retroarch.cfg
이 파일안에 있는 설정 값 중에
# video_driver = "gl"
의 주석(#)을 제거하고, gl 을 sdl2 로 고쳐 저장 하면 설정이 적용된다.
물론 레트로파이는 다시 시작하는것이 좋다.
이외에 레트로파이에서 retroarch.cfg 는 각각의 에뮬레이터마다 별도로 적용가능해서 에뮬레이터 설정 파일별로 'retroarch.cfg'가 하나씩 따로 있다. 여기에 따라 전체적으로 적용하지 않고 특정 에뮬레이터만의 비디오 값을 별도로 설정하려면 /opt/retropie/configs/
에서 값을 변경하기 원하는 에뮬레이터 폴더에 들어가서 에뮬레이터별 retroarch.cfg 를 열어 아래 내용을 넣고 저장하면 적용이 된다.
video_driver = "sdl2"