요약:
Qualcomm은 최근 새로운 Adreno 850 GPU용 오픈 소스 Linux 커널 드라이버 패치의 첫 번째 배치를 제출했으며, 칩 공식 발표부터 관련 코드가 Linux 커널 개발 프로세스에 들어가기까지 단 하루밖에 걸리지 않았습니다. 이는 Qualcomm이 차세대 Adreno GPU용 오픈 소스 드라이버 개발을 더욱 가속화하고 하드웨어 공식 출시 직후 메인라인 Linux 지원을 홍보하기 시작한다는 것을 의미합니다.

이 드라이버가 지원하는 대상 플랫폼은 Qualcomm SoC 코드명 "Hawi"입니다. 이는 현재 업계에서 막 출시된 Snapdragon 8 Elite Extreme Gen 6로 일반적으로 알려져 있습니다. 프로세서는 새로운 Adreno 850 그래픽 코어를 사용하며 Qualcomm 엔지니어는 칩이 출시된 다음 날 관련 GPU 초기화 코드를 Linux 커널 메일링 리스트에 제출했습니다.
사실 Hawi 플랫폼이 Linux 커뮤니티에 갑자기 등장한 것은 아닙니다. 지난 몇 달 동안 Qualcomm은 Hawi에 대한 다른 하드웨어 지원 코드를 Linux 커널에 연속적으로 제출했기 때문에 이 Adreno 850 GPU 드라이버 패치는 실제로 이전 플랫폼 지원을 기반으로 더욱 개선되었습니다.
이번에 제출된 패치는 주로 Qualcomm Adreno GPU의 메인라인 오픈소스 드라이버 프레임워크인 Linux 커널의 MSM 그래픽 드라이버를 대상으로 합니다. 아직 개발 및 코드 검토의 초기 단계이지만 Adreno 850이 커뮤니티에 의해 보완되기 오래 전에 제품이 출시될 때까지 기다리지 않고 Linux 메인라인 드라이버 시스템에 진입하기 시작했다는 것이 의미가 있습니다.
Adreno 850 외에도 이 패치 배치에는 Adreno 845에 대한 예비 지원도 추가됩니다. Adreno 845의 코드명은 "Maili"입니다. 하드웨어 아키텍처는 Adreno 850과 매우 유사하지만 새로운 MALU 매트릭스 코어가 없습니다. 따라서 Qualcomm은 대량의 기본 코드를 공유하면서 두 GPU에 대한 드라이버 지원을 구축할 수 있습니다.
Adreno 850은 Qualcomm의 차세대 Adreno 8xx GPU 아키텍처에 속합니다. 이번 패치에서 공개된 정보에 따르면 이전 세대 Adreno 840과 핵심 아키텍처 및 슬라이스 디자인의 일부를 공유하는 동시에 하드웨어 수준에서도 여러 가지 개선이 이루어졌습니다.
중요한 변경 사항 중 하나는 새로운 MALU 매트릭스 코어입니다. Qualcomm은 이 하드웨어 장치를 사용하여 특정 유형의 행렬 계산 작업을 가속화합니다. 이는 이전 GPU 아키텍처와 비교하여 Adreno 850의 중요한 변경 사항 중 하나이기도 합니다. 그러나 MALU의 특정 애플리케이션 시나리오, 이를 통해 어느 정도의 성능 향상을 가져올 수 있는지, 최종적으로 애플리케이션에 어떤 소프트웨어 API가 공개될지에 대한 자세한 데이터는 아직 공개되지 않았습니다.
Qualcomm은 MALU 관련 지원이 향후 더 추가되어야 하며 Linux 커널 드라이버뿐만 아니라 Mesa 사용자 공간 그래픽 드라이버의 협력도 필요하다고 밝혔습니다. 따라서 이번에 Adreno 850의 기본 GPU 지원이 Linux 메인라인에 진입하더라도 MALU 매트릭스 컴퓨팅 성능을 즉시 사용할 수는 없습니다.
컴퓨팅 유닛 외에도 Adreno 850의 전원 관리 시스템도 조정되었습니다. 패치는 GPU가 일부 GPU 하드웨어 모듈에 전원을 공급하기 위해 새로운 전원 레일을 추가한다는 것을 보여줍니다. 동시에 GPU 전원 상태 관리를 담당하는 GPU 관리 장치(GMU)에는 이제 독립적인 GDSC 전원 게이팅 영역이 있으며, 이 부분은 MxG라는 또 다른 전원 레일에 의해 구동됩니다.
이러한 변경 사항은 낮은 수준의 하드웨어 세부 사항처럼 보일 수 있지만 Linux 드라이버에는 매우 중요합니다. GPU는 그래픽 계산을 완료해야 할 뿐만 아니라 유휴 상태, 저부하 상태, 고부하 상태 사이에서 전압, 주파수 및 전원 공급 상태를 동적으로 조정해야 합니다. 따라서 전원 관리 하드웨어의 변경 사항은 커널 드라이버에서 올바르게 처리되어야 합니다. 그렇지 않으면 전력 소비, 안정성은 물론 정상적인 GPU 작동에도 영향을 미칠 수 있습니다.
현재 Adreno 850 및 Adreno 845 코드 배치는 아직 공식적으로 출시된 Linux 커널 버전에 진입하지 않았으며 아직 코드 검토 단계에 있습니다. 동시에 Adreno 850이 탑재된 장치가 Linux에서 완전한 하드웨어 가속을 실제로 달성하려면 펌웨어, Mesa 사용자 공간 드라이버 및 디스플레이 관련 지원이 이루어져야 합니다.
Linux 생태계에서 Qualcomm Adreno GPU의 사용자 공간 지원은 주로 Mesa 프로젝트의 Freedreno와 Turnip에 의존합니다. Freedreno는 OpenGL과 같은 그래픽 인터페이스를 담당하고 Turnip은 Vulkan을 담당합니다. Adreno 850의 경우 후속 Mesa 지원을 통해 이 커널 드라이버 작업과 함께 최종 Linux 그래픽 성능이 결정됩니다.
현재 Qualcomm의 Adreno 850 테스트는 아직 초기 단계이기 때문에 이번 패치는 "Adreno 850은 이미 Linux에서 정상적으로 실행될 수 있습니다."라고 이해될 수 없습니다. 드라이버 코드는 이제 막 메인라인 개발 프로세스에 진입하기 시작했으며, 일반 사용자가 실제 장치에서 완전한 그래픽 가속을 얻을 수 있으려면 아직 많은 단계가 남아 있습니다.
그러나 시점으로 볼 때 퀄컴의 행보는 여전히 활발한 것으로 보인다. 과거에는 새로운 GPU가 완전한 오픈 소스 Linux 드라이버를 얻기 위해 오랜 시간을 기다려야 하는 경우가 많았습니다. 그러나 Adreno 850에는 하드웨어가 공식적으로 발표된 지 하루 만에 Linux 커널 지원 패치가 포함되어 있어 Qualcomm이 메인라인 Linux 및 오픈 소스 그래픽 생태계에 대한 투자를 크게 늘리고 있음을 나타냅니다.
이러한 추세는 기본적으로 Snapdragon X2 Linux 지원을 홍보하려는 Qualcomm의 최근 방향과 일치합니다. Qualcomm은 현재 PC 플랫폼에서 Adreno X2-85 GPU용 Linux 드라이버를 계속 제출할 뿐만 아니라 Mesa에서 Freedreno 및 Turnip 지원을 홍보하여 Snapdragon X2가 점차 완전한 Linux 그래픽 스택을 갖게 될 것입니다.
Linux 개발자에게 Adreno 850이 오픈 소스 드라이버 개발 프로세스에 이렇게 빨리 들어갈 수 있다는 사실은 Linux 생태계에서 Qualcomm의 주력 모바일 플랫폼의 하드웨어 지원 주기가 향후 더욱 단축될 수 있음을 의미합니다. 전체 오픈 소스 커뮤니티의 경우 이는 개발자가 새 GPU의 하드웨어 정보와 드라이버 코드를 더 일찍 얻을 수 있음을 의미하므로 새 칩 출시 전후에 그래픽 스택 적응을 동시에 촉진할 수 있습니다.
현재 Adreno 850의 Linux 지원은 아직 초기 단계에 있으며 MALU 매트릭스 코어, Mesa 그래픽 드라이버, 펌웨어 및 디스플레이 출력과 같은 기능은 앞으로도 여전히 개선될 필요가 있습니다. 하지만 퀄컴은 새 칩이 출시된 지 하루 만에 GPU 오픈소스 드라이버 패치를 제출했는데, 이는 제품 출시 초기부터 차세대 Adreno GPU를 메인라인 Linux 생태계와 더욱 긴밀하게 동기화시키려고 노력하고 있음을 보여줍니다.
관련 기사:
Qualcomm, Snapdragon X2 GPU Adreno X2-85 드라이버 패치에 대한 Linux 커널 지원 확장
댓글