Microsoft đang bổ sung hỗ trợ DirectX cho các bản phân phối Linux chạy trong môi trường WSL 2. Sự thay đổi sẽ xuất hiện trực tiếp với các bản dựng 21H1 đầu tiên từ nhánh Sắt (Fe) trong Fast Ring, dự kiến sẽ ra mắt vào tháng 6 này.
Quảng cáo
làm thế nào để tip bit trên twitch
Microsoft là giới thiệu Windows Display Driver Model phiên bản 2.9, WDDMv2.9, sẽ mang lại khả năng tăng tốc GPU cho WSL 2. Để làm được điều đó, có một mô-đun nhân Linux đặc biệt ở phía WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl là một trình điều khiển hạt nhân hoàn toàn mới cho Linux, cho thấy / dev / dxg thiết bị sang chế độ người dùng Linux. / dev / dxg cho thấy một tập hợp IOCTL bắt chước gần giống với lớp dịch vụ nhân WDDM D3DKMT gốc trên Windows. Dxgkrnl bên trong nhân Linux kết nối qua VM Bus với người anh lớn của nó trên máy chủ Windows và sử dụng kết nối bus VM này để giao tiếp với GPU vật lý.
Nếu máy chủ có nhiều GPU, tất cả các GPU đều được chiếu và khả dụng cho môi trường Linux (giả sử tất cả các GPU này đang chạy trình điều khiển WDDMv2.9).
Microsoft tuyên bố rằng kiến trúc sẽ không giới hạn hoặc can thiệp vào hiệu suất của các ứng dụng WSL và tài nguyên GPU sẽ được chia sẻ đúng cách giữa các ứng dụng Windows chạy cùng với Linux GUI và các ứng dụng bảng điều khiển sử dụng DirectX.
Phiên bản Dxgkrnl Linux đang được tạo thành mã nguồn mở.
cách bật phụ đề trên amazon prime
DxCore & D3D12 trên Linux
Dự án này mang API D3D12 đầy đủ cho Linux mà không có sự bắt chước .ibd3d12.so được biên dịch từ cùng một mã nguồn như d3d12.dll trên Windows nhưng dành cho mục tiêu Linux. Nó cung cấp cùng một mức chức năng và hiệu suất (trừ chi phí ảo hóa). Ngoại lệ duy nhất là Present (). Hiện tại không có tích hợp trình chiếu với WSL vì WSL là một trải nghiệm chỉ dành cho bảng điều khiển ngày nay. API D3D12 có thể được sử dụng để tính toán và hiển thị ngoài màn hình, nhưng không có hỗ trợ swapchain để sao chép pixel trực tiếp vào màn hình.
DxCore (libdxcore.so) là phiên bản đơn giản hóa của dxgi, nơi các khía cạnh kế thừa của API đã được thay thế bằng các phiên bản hiện đại. DxCore có sẵn trên cả Windows và Linux. DxCore cũng được sử dụng để lưu trữ phiên bản phẳng của D3DKMT API được trình điều khiển dựa trên WDDM trên Windows sử dụng để nói chuyện với GPU. API này tóm tắt sự khác biệt trong cách các dịch vụ WDDM khác nhau đi đến hạt nhân (bảng dịch vụ trên Windows so với IOCTL trên Linux).
libd3d12.so và libdxcore.so là mã nguồn đóng, mã nhị phân chế độ người dùng được biên dịch trước, được cung cấp như một phần của Windows. Các mã nhị phân này tương thích với các bản phân phối dựa trên glibc và được tự động gắn dưới/ usr / lib / wsl / libvà hiển thị cho bộ tải. Nói cách khác, các API này hoạt động ngay lập tức mà không cần cài đặt thêm gói hoặc chỉnh sửa cấu hình của bản phân phối. Hỗ trợ hiện được giới hạn cho các bản phân phối dựa trên glibc bao gồm Ubuntu, Debian, Fedora, Centos, SUSE, v.v.
D3D12 sẽ không thể hoạt động nếu không có trình điều khiển chế độ người dùng dành riêng cho GPU (UMD) do các đối tác nhà sản xuất GPU cung cấp. UMD chịu trách nhiệm về những việc như biên dịch trình tạo bóng thành mã byte cụ thể của phần cứng và dịch các yêu cầu hiển thị API thành các lệnh GPU thực tế trong bộ đệm lệnh để GPU thực thi. Gói trình điều khiển máy chủ được gắn bên trong WSL tại / usr / lib / wsl / drivers và có thể truy cập trực tiếp vào API d3d12. Một lần nữa cần có trình điều khiển WDDM 2.9.
Microsoft cũng đang nghiên cứu để tăng tốc GPU cho OpenGL, OpenCL & Vulkan trong WSL thông qua thư viện Mesa.
kết hợp nhiều jpegs thành một cửa sổ pdf
Hỗ trợ cho DxCore, D3D12, DirectML và NVIDIA CUDA đang đến với một Windows Insider Xây dựng nhanh chóng sớm. Vòng nhanh hiện đang ở trên Mangan (Mn) Nhánh hệ điều hành. Vòng nhanh dự kiến sẽ chuyển sang vòng mớiNhánh sắt (Fe)
vào cuối tháng 6 sẽ giới thiệu chức năng mới này cho Người dùng nội bộ.