2014-04-14 5 views
0

Intel GPU 용 DRM 드라이버 인 i915_drm을 발견했습니다. 내가 아는 한, GPU 드라이버는 대개 공개되지 않습니다.Linux 커널의 GPU 드라이버 관련

내 질문은 :이 i915는 일반적으로 인텔 GPU 용 "GPU 드라이버"입니까? 그렇지 않다면 DRM 드라이버와 GPU 드라이버의 관계는 무엇입니까?

답변

1

실제 GPU 드라이버가 명령 스트림을 준비하는 동안 DRM 드라이버는 GPU에 대한 액세스를 중재합니다. 전자는 보안과 관련이 있으며 커널에서 수행해야하는 반면, 후자는 매우 복잡하고 사용자 프로세스로 더 잘 구현됩니다.

커널 드라이버는 CPU-> GPU 액세스 (BAR 매핑) 및 GPU-> 메모리 액세스 (DMA 영역) 모두에 대해 주소 범위를 설정합니다.

이렇게하면 GPU 프로그램이 전용 DMA 메모리에만 액세스 할 수 있으므로 GPU 프로그램이 암호와 같은 중요한 데이터를 읽지 못하게하고 GPU DMA 엔진의 기능에 따라 여러 가지 문맥을 더욱 제한적으로 설정할 수 있습니다 GPU는 프로그램과 함께 제출 된 DMA 버퍼에 저장됩니다.

전체 GPU 드라이버는이 기능을 사용하여 장치 컨텍스트 및 DMA 메모리 매핑을 요청하고 쉐이더 또는 OpenCL 커널과 같은 프로그램을 컴파일하고 하위 수준의 드라이버를 통해 제출합니다.

+0

감사합니다. 그것은 많은 도움이되었습니다. 또 다른 질문은 실제 GPU 드라이버 (사용자 공간에서 실행)가 MESA 3D 또는 x11 드라이버 내부에있는 것입니까? 아니면 완전히 다른가요? – jaeyong

+0

둘 다. X11은 2D 드로잉 프리미티브 및 합성을 처리하며 Mesa는 3D를 처리합니다. –

+0

오 ... 오해가있는 것 같습니다. 제 질문은 '공급 업체별 사용자 수준 드라이버'였고 X11/MESA 도면 라이브러리는 동일한 것입니까? 안 그래? – jaeyong