그들은 Apple AGX G13 및 G14를 위해 Rust로 작성된 GPU 드라이버의 구현을 제안합니다.

리눅스 애플 러스트

이것은 Apple AGX G13 및 G14 시리즈 GPU를 위한 상당히 포괄적인 드라이버입니다.
오늘날의 컨트롤러는 SoC와 호환됩니다.

최근에 발표 된 뉴스는 drm-asahi 드라이버의 예비 구현이 제안되었습니다. 시리즈 GPU용 Apple M13 및 M14 칩에 사용되는 Apple AGX G1 및 G2 Linux 커널 개발자 메일링 리스트에 있습니다.

컨트롤러는 Rust로 작성되었습니다. 을 더한, DRM 하위 시스템에 대한 범용 링크 세트를 포함합니다. (직접 렌더링 관리자) Rust에서 다른 그래픽 드라이버를 개발하는 데 사용할 수 있습니다.

출시된 패치 세트 지금까지 토론을 위해서만 제안되었습니다. 핵심 개발자(RFC)에 의해 승인되지만 검토가 완료되고 확인된 결함이 수정된 후 핵심 팀에 수용될 수 있습니다.

이것은 DRM용 Rust 추상화의 첫 번째 버전입니다. 하위 시스템. 추상화 자체, 약간의 사소한 부분 포함 C 측 및 drm-asahi GPU 드라이버의 전제 조건 변경 (추상화 사용 방법에 대한 참조용이지만 반드시 그런 것은 아닙니다. 함께 착륙할 예정).

이러한 패치는 [1]의 트리 맨 위에 적용됩니다. 많은 추상화/Rust 지원 커밋이 추가된 6.3-rc1 위에. 이들 중 대부분은 DRM 추상화의 전제 조건이 아닙니다. 하지만 운전자에게서만 가능합니다.

XNUMX월부터 컨트롤러가 커널이 포함된 패키지 Asahi Linux 배포용 이 프로젝트의 사용자가 테스트했습니다.

이 드라이버는 Linux 배포판에서 다음을 수행하는 데 사용할 수 있습니다. d에서 그래픽 환경 구성SoC M1, M1 Pro, M1 Max, M1 Ultra 및 M2를 탑재한 Apple 기기. 드라이버를 개발할 때 CPU 측에서 실행되는 코드에서 메모리 작업 시 오류를 최소화하여 보안을 강화할 뿐만 아니라 펌웨어와 상호 작용할 때 발생하는 문제에 대해 부분적으로 보호하려고 시도했습니다.

특히 드라이버는 공유 메모리 구조에 대한 특정 바인딩을 제공합니다. 컨트롤러와 상호 작용하기 위해 펌웨어에서 사용되는 복잡한 포인터 문자열로 인해 안전하지 않습니다. 제안된 드라이버는 사용자 공간 OpenGL 지원을 제공하고 OpenGL ES 2 호환성 테스트를 통과한 asahi Mesa 드라이버와 함께 사용됩니다. OpenGL ES 3.0을 지원할 준비가 거의 다 되었습니다.

동시에 커널 수준에서 작동하는 드라이버 처음에는 Vulkan API에 대한 향후 지원을 염두에 두고 개발되었습니다., 사용자 공간과의 상호 작용을 위한 프로그래밍 인터페이스는 새로운 Intel Xe 드라이버에서 제공하는 UAPI를 염두에 두고 설계되었습니다.

이상 알려진 문제 다음이 언급됩니다.

  • 기존 Rust 통합은 현재 추상화를 모듈로 빌드하는 것을 지원하지 않으므로 Rust 추상화는 포함된 DRM 구성 요소에만 사용할 수 있습니다.
  • DRM은 컨트롤러 개체에 대한 "하위 분류" 패턴에 크게 의존하며 이는 Rust와 잘 맞지 않습니다.
  • 현재는 컨트롤러에 필요한 부분만 구현되어 있습니다(게다가 소량의
    더 나은 API 무결성이 의미가 있는 명백한 추가 사항).
  • drm::mm은 대신 추상화에 내장된 뮤텍스를 필요로 합니다.
    일반적인 Rust 가변성 규칙을 사용하여 사용자에게 위임합니다.
    이는 노드가 언제든지 삭제될 수 있고 이러한 작업이 가능하기 때문입니다.
    동기화가 필요합니다.
  • Mesa 측에는 현재 대부분 이미 업스트림인 Gallium 드라이버가 있고(UAPI 비트는 대부분 누락됨)
    dEQP GLES2/EGL 테스트 통과, 대부분의 GLES3.0 통과
    진행 중인 작업의 업스트림 분기. 이것은 커뮤니티 드라이버 리버스 엔지니어링이므로 이 부분에서 아직 해야 할 일이 많다고 언급됩니다.

마침내 당신이 있다면 그것에 대해 더 알고 싶어에서 세부 정보를 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.