Collabora thông báo về sự xuất hiện của NVK, trình điều khiển Vulkan mã nguồn mở cho NVIDIA

NVK

NVK là trình điều khiển Vulkan mã nguồn mở mới cho phần cứng đồ họa NVIDIA

Vài ngày trước Collabora được công bố thông qua một blog đăng tin tức sự tích hợp của trình điều khiển NVK, trong nhánh chính của dự án Mesa và nó cũng sẽ được đưa vào làm bộ điều khiển thử nghiệm trong phiên bản 23.3 của Mesa.

NVK, là một trình điều khiển mở mới với việc triển khai API đồ họa Vulkan cho card màn hình NVIDIA. Trình điều khiển được tạo bởi một nhóm bao gồm Karol Herbst (nhà phát triển Nouveau tại Red Hat), David Airlie (người duy trì hệ thống phụ DRM tại Red Hat) và Jason Ekstrand (nhà phát triển Mesa tích cực tại Collabora).

Liên quan đến sự phát triển của NVK, người ta đã đề cập rằng điều này đã được thực hiện để tạo trình điều khiển Vulkan tham chiếu mới cho Mesa, có thể mượn mã của nó khi tạo các bộ điều khiển khác.

Để làm điều này, khi chúng tôi làm việc trên trình điều khiển NVK, chúng tôi cố gắng tính đến tất cả kinh nghiệm có sẵn trong quá trình phát triển trình điều khiển Vulkan, giữ cho cơ sở mã ở trạng thái tối ưu và giảm thiểu chuyển mã từ các trình điều khiển Vulkan khác, bằng cách thực hiện những gì phải làm. để có công việc tối ưu và chất lượng cao, chứ không phải sao chép một cách mù quáng cách nó được thực hiện trong các trình điều khiển khác.

Điều đáng nói là mặc dù bộ điều khiển NVK được bao gồm trong Mesa, quá trình phát triển trình điều khiển vẫn tiếp tục và không phải tất cả các chức năng mong muốn đều được triển khai. Trình điều khiển tương thích với API Vulkan 1.0, nhưng chưa vượt qua tất cả các bài kiểm tra khả năng tương thích và có vấn đề về hiệu suất. Tuy nhiên, một số trò chơi đã hoạt động với trình điều khiển mới, ngay cả khi sử dụng lớp DXVK.

Để bộ điều khiển hoạt động có hiệu quả, Cần có các thay đổi nhân Linux liên quan đến tiện ích mở rộng API trình điều khiển DRM của Nouveau. Nhu cầu thay đổi API ở cấp kernel là do API trình điều khiển DRM của Nouveau ban đầu được thiết kế để triển khai OpenGL và thiếu các nguyên mẫu cần thiết để hoạt động hiệu quả của trình điều khiển Vulkan trên Mesa.

Đặc biệt, nên thêm khả năng quản lý không gian địa chỉ ảo, vì các hoạt động với bộ đệm đối tượng và cấp phát bộ nhớ ảo được tách biệt trong Vulkan. Ngoài ra, việc gửi lệnh tới Vulkan yêu cầu sử dụng các đối tượng được đồng bộ hóa. Hiện tại, các bản vá với những thay đổi cần thiết đã được gửi tới những người bảo trì hệ thống con DRM của nhân Linux (Trình quản lý kết xuất trực tiếp) và có lẽ sẽ được đưa vào nhân 6.6.

Về trình điều khiển NVK, người ta đề cập rằng điều này, được viết từ đầu, vì mục đích của việc này là trong quá trình tạo bộ điều khiển, các nhà phát triển đã sử dụng các tệp tiêu đề chính thức và các mô-đun hạt nhân mở do NVIDIA xuất bản. Trong mã NVK, các thành phần cơ bản của trình điều khiển Nouveau OpenGL đã được sử dụng ở một số nơi, nhưng do sự khác biệt về tên tệp tiêu đề NVIDIA và tên được thiết kế ngược trong Nouveau, nên việc mượn mã trực tiếp rất khó và phần lớn tôi phải suy nghĩ lại rất nhiều thứ và thực hiện chúng từ đầu.

Trình điều khiển hiện chỉ hỗ trợ GPU dựa trên Turing (RTX 20XX và GTX 16XX) và các kiến ​​trúc vi mô mới hơn (thẻ được phát hành từ tháng 2018 năm 600). Trong tương lai, họ có kế hoạch bổ sung hỗ trợ cho dòng GPU Kepler (GeForce 700 và XNUMX).

Trong tương lai, nó được lên kế hoạch để đưa hiệu suất của bộ điều khiển đến mức phù hợp và triển khai hỗ trợ cho API Vulkan 1.3. Về lâu dài, trình điều khiển NVK dành cho cạc đồ họa NVIDIA dự kiến ​​sẽ đạt được mức chất lượng và chức năng tương tự như trình điều khiển RADV dành cho cạc đồ họa AMD.

Chúng tôi cũng đang xem xét việc sử dụng dự án Zink để triển khai trình điều khiển OpenGL đầy đủ cho thẻ video NVIDIA hoạt động thông qua việc dịch các lệnh gọi API Vulkan.

cuối cùng nếu bạn là muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết theo dõi.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.