검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 시스템
관련 링크: Mesa (computer graphics)
관련 링크: Direct Rendering Infrastructure
관련 링크: Gallium3D

  리눅스 게이밍이 떠오르는 요즘, 많이 보이는 관련 용어들에 대해 간단히 알아봤습니다.

리눅스 그래픽 스택

Mesa: OpenGL 구현하기 위한 프리&오픈 소스 라이브러리와 하드웨어 가속 3D 렌더링, 3D 컴퓨터 그래픽, GPGPU와 관련된 API의 모음집. API + DRI(Direct Rendering Infrastructure) + Gallium3D로 구성.

DRI(좌) vs Gallium3D(우)

DRI(Direct Rendering Infrastructure): X 윈도우 시스템에서 사용자 프로그램의 데이터가 디스플레이어 서버를 거치지 않고 비디오 하드웨어에 직접 접근하는 것을 안전하게 허용하기 위해 사용하는 인터페이스 및 자유 소프트웨어 기능.

DRM(Direct Rendering Manager): 비디오 하드웨어를 지원하기 위한 DRI 아키텍쳐를 구현하는 하드웨어에 의존적인 커널 모듈.

Gallium3D: 그래픽 디바이스 드라이버를 3개의 파트로 나눔으로서 3D 그래픽 칩셋을 위한 디바이스 드라이버 프로그래밍을 쉽게 만든 프레임워크.

fglrx: AMD GPU용 독점 드라이버 이름. 정확한 이름은 libGL-fglrx-glx. 참고로 NVIDIA GPU용 독점 드라이버 이름은 그냥 libGL-nvidia-glx.

nouveau: NVIDIA GPU용 오픈 소스 드라이버(정확히는 DRM) 이름. 정확한 이름은 libDRM-nouveau. 참고로 AMD GPU용 오픈 소스 드라이버 이름은 libDRM-radeon이고, Intel 내장 그래픽 칩셋용 오픈 소스 드라이버 이름은 libDRM-intel.


  AMD는 자사의 GPU를 위한 드라이버의 소스를 오픈 소스로 공개했습니다. 다만 독점 드라이버도 계속 내놓고 있는 걸 봐선 독점 드라이버의 소스를 그대로 공개한 것 같진 않습니다. 그런데 재미있는 점은 성능에서 Gallium3D의 오픈 소스 드라이버가 독점 드라이버를 앞지른다는 겁니다. 대체 뭘 하는 거냐 AMD...

  NVIDIA는 소스를 공개하고 있지 않습니다. 그래서 nouveau도 순전히 리버스 엔지니어링에 의존하고 있었습니다. 그러던 올해 9월, 자신들을 향한 리눅스 커뮤니티의 비난(+리누스 토발츠의 fxxk you 사건)이 신경쓰였는지 GPU 프로그래밍 문서를 공개했습니다. NVIDIA가 소스를 공개하고 있진 않지만 적어도 독점 드라이버의 성능에 있어서는 칭찬하지 않을 수 없습니다. 윈도우에서의 OpenGL 지원도 AMD와 비교했을 때 언제나 월등했고 결국 그게 리눅스에서도 결실을 맺은 겁니다.

  한편, AMD는 'Mantle'이라는 게임 그래픽 API를 독자적으로 개발하는 중이며 이를 통해 큰 퍼포먼스 상승을 노리고 있습니다. 일단은 멀티 플랫폼이고 리눅스에서도 뛰어난 성능을 발휘할 거라고 광고하고 있긴 한데...그 이전 문제로 신기술임과 동시에 AMD의 GPU만을 위한 기술이라 이런 단점을 감수하면서까지 Mantle을 도입할 개발사는 그리 많지 않을 것이라는 게 제 생각입니다.
2013/12/19 21:56 2013/12/19 21:56