
NVK là trình điều khiển Vulkan mã nguồn mở mới cho phần cứng đồ họa NVIDIA
Collabora đã ra mắt NVK, một trình điều khiển mã nguồn mở mới cho Mesa triển khai API đồ họa Vulkan cho cạc đồ họa NVIDIA. Trình điều khiển được viết từ đầu bằng cách 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 phát hành.
Khi phát triển một trình điều khiển mới, Các thành phần cốt lõi 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 kỹ thuật đảo ngược trong Nouveau, việc sử dụng lại mã là khó khăn và phần lớn yêu cầu phải suy nghĩ lại và thực hiện từ đầu.
Sự phát triển cũng đang được tiến hành với mục đích tạo một trình điều khiển Vulkan mới tham chiếu cho Mesa, mã có thể được mượn khi tạo các bộ điều khiển khác.
Hỗ trợ cho phần cứng NVIDIA trong trình điều khiển mã nguồn mở luôn thiếu một chút. Trình điều khiển Nouveau có tồn tại, nhưng chúng thường thiếu tính năng, có lỗi hoặc đơn giản là không tương thích với một số thẻ nhất định. Điều này là do sự kết hợp của các yếu tố. Không giống như trình điều khiển Intel và AMD, ngăn xếp trình điều khiển nouveau đã được phát triển với ít hoặc không có tài liệu chính thức hoặc trợ giúp từ NVIDIA. Họ thỉnh thoảng cung cấp các đạo cụ nhỏ ở đây. Về mặt lịch sử, nó chủ yếu tập trung vào việc kích hoạt nouveau đủ để bạn có thể cài đặt bản phân phối Linux của mình, truy cập trình duyệt web và tải xuống ngăn xếp trình điều khiển độc quyền của nó.
Để làm được điều này, người ta đề cập rằng trong quá trình làm việc của người lái xe NVK, một nỗ lực đã được thực hiện để tính đến tất cả kinh nghiệm có sẵn trong việc phát triển trình điều khiển Vulkan, giữ cho cơ sở mã ở hình dạng tối ưu và giảm thiểu việc chuyển mã từ các trình điều khiển Vulkan khác, làm những gì nên làm để có chất lượng cao, công việc tối ưu.
Trình điều khiển NVK chỉ mới được phát triển trong vài tháng, vì vậy chức năng của nó bị hạn chế. Người điều khiển vượt qua thành công 98% bài kiểm tra khi chạy 10% bài kiểm tra Vulkan CTS (Bộ kiểm tra khả năng tương thích).
Nói chung, đào tạo lái xe ước tính khoảng 20-25% chức năng của bộ điều khiển ANV và RADV. Về hỗ trợ phần cứng, trình điều khiển hiện bị giới hạn ở thẻ dựa trên vi kiến trúc Turing và Ampère. Các bản vá để hỗ trợ GPU Kepler, Maxwell và Pascal đang trong quá trình hoạt động nhưng vẫn chưa sẵn sàng.
Có lẽ lĩnh vực kỹ thuật lớn nhất của cuộc đấu tranh là việc điều khiển phần cứng thích hợp từ không gian hạt nhân. Phần cứng NVIDIA dựa trên phần sụn đã ký cho mọi thứ, từ hiển thị đến thực thi công việc đến quản lý năng lượng. Các đốm màu chương trình cơ sở mà NVIDIA cung cấp trước đây là các phiên bản rút gọn mà họ chỉ tạo cho các trình điều khiển mã nguồn mở.
Dài hạn, trình điều khiển NVK 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 cho thẻ AMD. Khi trình điều khiển NVK đã sẵn sàng, các thư viện được chia sẻ được tạo trong quá trình phát triển của nó có thể được sử dụng để nâng cao trình điều khiển Nouveau OpenGL cho card màn hình NVIDIA.
Nó cũng đang được xem xét khả năng sử dụng dự án Zink để triển khai trình điều khiển OpenGL cho các thẻ video NVIDIA hoạt động thông qua việc dịch các lệnh gọi API Vulkan.
Về lâu dài, hy vọng rằng NVK sẽ chuyển sang phần cứng của NVIDIA, RADV là phần cứng của AMD.
Cuối cùng, đối với những người quan tâm đến dự án, nó được đề cập rằng đang được phát triển bởi một đội bao gồm Thảo dược Karol (Nhà phát triển Nouveau tại Red Hat), david airlie (Người bảo trì DRM tại Red Hat) và Jason Ekstrand (nhà phát triển tích cực của Mesa trong Collabora).
Đối với mã bộ điều khiển, bạn nên biết rằng Nó là mã nguồn mở theo giấy phép MIT. Trình điều khiển chỉ hỗ trợ GPU dựa trên vi kiến trúc Turing và Ampere được phát hành từ tháng 2018 năm XNUMX. Nếu bạn muốn biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.