מיקרוסופט מוסיפה תמיכה ב- DirectX להפצות לינוקס הפועלות בסביבת WSL 2. השינוי יופעל עם הבנייה הראשונה של 21H1 מסניף הברזל (Fe) בטבעת המהירה, שצפויים להגיע ביוני הקרוב.
פרסומת
איך פינג טלפון סלולרי ממחשב - -
מיקרוסופט היא מציגה Windows Display Driver Model גרסה 2.9, WDDMv2.9, שתביא את האצת ה- GPU ל- WSL 2. כדי לאפשר, יש מודול ליבת לינוקס מיוחד בצד ה- WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl הוא מנהל התקן ליבות חדש לגמרי עבור לינוקס שחושף את ה- / dev / dxg מכשיר למצב משתמש לינוקס. / dev / dxg חושף קבוצה של IOCTL המחקה מקרוב את שכבת שירות הליבה המקומית WDDM D3DKMT ב- Windows. Dxgkrnl בתוך ליבת לינוקס מתחבר דרך ה- VM Bus לאחיו הגדול במארח Windows ומשתמש בחיבור אוטובוס VM זה כדי לתקשר עם ה- GPU הפיזי.
אם למארח יש מספר GPUs, כל GPUs מוקרנים וזמינים לסביבת Linux (בהנחה שכל GPUs אלה מריצים מנהלי התקנים של WDDMv2.9).
מיקרוסופט טוענת כי הארכיטקטורה לא תגביל או תפריע לביצועים של יישומי WSL ומשאבי GPU ישותפו כראוי בין אפליקציות Windows הפועלות לצד אפליקציות ה- GUI של לינוקס וקונסולות המשתמשות ב- DirectX.
מהדורת Linux של Dxgkrnl הופכת לקוד פתוח.
כיצד לשמור על סרטי וידאו מלהפעיל אוטומטית כרום
DxCore ו- D3D12 בלינוקס
פרויקטים אלה מביאים ממשק API מלא של D3D12 לינוקס ללא חיקויים .ibd3d12.so מורכב מאותו קוד מקור כמו d3d12.dll ב- Windows אך עבור מטרת לינוקס. הוא מציע אותה רמת פונקציונליות וביצועים (פחות תקורה של וירטואליזציה). היוצא מן הכלל היחיד הוא Present (). כרגע אין שילוב מצגות עם WSL מכיוון ש- WSL מהווה חוויית קונסולה בלבד כיום. ניתן להשתמש בממשק ה- API של D3D12 לצורך עיבוד ומחשב מחוץ למסך, אך אין תמיכה ב- swapchain להעתקת פיקסלים ישירות למסך.
DxCore (libdxcore.so) היא גרסה פשוטה של dxgi כאשר היבטים מדור קודם של ה- API הוחלפו בגרסאות מודרניות. DxCore זמין גם ב- Windows וגם ב- Linux. DxCore משמש גם לארח גרסה שטוחה של ה- API D3DKMT המשמש את מנהל ההתקן מבוסס WDDM ב- Windows כדי לדבר עם ה- GPU. ממשק API זה ממצה את ההבדלים באופן בו שירותי WDDM השונים עושים את דרכם אל הליבה (טבלת השירות ב- Windows לעומת IOCTL ב- Linux).
libd3d12.so ו- libdxcore.so הם מקור סגור, קבצים בינאריים של מצב משתמש שנאספו מראש, שנשלחים כחלק מ- Windows. קבצים בינאריים אלה תואמים להפצות מבוססות glibc ומותקנים אוטומטית תחת/ usr / lib / wsl / libוהופך גלוי לעומס. במילים אחרות, ממשקי ה- API הללו פועלים ממש מחוץ לקופסה ללא צורך בהתקנת חבילות נוספות או שינוי התצורה של ההפצה. התמיכה מוגבלת כרגע להפצות מבוססות glibc הכוללות את אובונטו, דביאן, פדורה, סנטוס, SUSE וכן הלאה.
D3D12 לא יוכל לפעול ללא מנהל התקן ספציפי למשתמש (UMD) המסופק על ידי שותפי יצרן GPU. ה- UMD אחראי על דברים כמו קומפילציה של צלליות לקוד בתים ספציפי לחומרה ותרגום בקשות עיבוד ממשק API להוראות GPU בפועל במאגרי פקודה שיבוצעו על ידי ה- GPU. חבילת מנהל ההתקן המארח מותקנת בתוך WSL ב- / usr / lib / wsl / drivers ונגישה ישירות ל- API של d3d12. שוב נדרש מנהל התקן WDDM 2.9.
מיקרוסופט עובדת גם על האצת GPU עבור OpenGL, OpenCL ו- Vulkan ב- WSL דרך ספריית Mesa.
אתה יכול ליצור גרף ב- Google Docs
תמיכה ב- DxCore, D3D12, DirectML ו- NVIDIA CUDA מגיע ל Windows Insider בנייה מהירה בקרוב. הטבעת המהירה נמצאת כרגע ב- מנגן (Mn) סניף מערכת ההפעלה. הטבעת המהירה צפויה לעבור לחדשענף ברזל (Fe)
לקראת החלק המאוחר יותר של יוני אשר יחשוף את הפונקציונליות החדשה הזו בפני גורמים פנימיים.