Windows Tips & News

WSL תקבל תמיכת DirectX בלינוקס עם בניית 21H1

click fraud protection
מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכת

מיקרוסופט מוסיפה תמיכת DirectX להפצות לינוקס הפועלות בסביבת WSL 2. השינוי עולה לאוויר עם הבנייה הראשונה של 21H1 מסניף Iron (Fe) ב-Fast Ring, שצפויות להגיע ביוני הקרוב.

פרסומת

מיקרוסופט היא מציגים Windows Display Driver Model גרסה 2.9, WDDMv2.9, שתביא את האצת ה-GPU ל-WSL 2. כדי לאפשר זאת, ישנו מודול ליבת לינוקס מיוחד בצד של WSL, dxgkrnl.

תוכןלהתחבא
dxgkrnl
DxCore ו-D3D12 בלינוקס

dxgkrnl

Dxgkrnl הוא מנהל התקן ליבה חדש לגמרי עבור לינוקס שחושף את /dev/dxg מכשיר למצב משתמש לינוקס. /dev/dxg חושף קבוצה של IOCTL המחקה מקרוב את שכבת השירות המקורית של WDDM D3DKMT ב-Windows. Dxgkrnl בתוך ליבת לינוקס מתחבר דרך ה-VM Bus לאחיו הגדול במארח Windows ומשתמש בחיבור האוטובוס VM הזה כדי לתקשר עם ה-GPU הפיזי.

Dxgkrnl

אם למארח יש מספר GPUs, כל ה-GPUs מוקרנים וזמינים לסביבת Linux (בהנחה שכל ה-GPUs הללו מריצים מנהלי התקן WDDMv2.9).

מיקרוסופט טוענת שהארכיטקטורה לא תגביל או תפריע לביצועים של אפליקציות WSL ומשאבי GPU ישותפו כראוי בין אפליקציות Windows הפועלות לצד ה-Linux GUI ואפליקציות מסוף המשתמשות DirectX.

מהדורת Linux Dxgkrnl הופכת לקוד פתוח.

DxCore ו-D3D12 בלינוקס

פרויקט זה מביא D3D12 API מלא ללינוקס ללא imitations.ibd3d12.so מורכב מאותו קוד מקור כמו d3d12.dll ב-Windows אבל עבור יעד לינוקס. הוא מציע את אותה רמה של פונקציונליות וביצועים (מינוס תקורה של וירטואליזציה). החריג היחיד הוא Present(). נכון לעכשיו אין שילוב מצגות עם WSL מכיוון ש-WSL היא חוויית קונסולה בלבד כיום. ניתן להשתמש ב-API של D3D12 לעיבוד ולמחשוב מחוץ למסך, אך אין תמיכה ב-swapchain להעתקת פיקסלים ישירות למסך.

DxCore (libdxcore.so) היא גרסה פשוטה של ​​dxgi שבה היבטים מדור קודם של ה-API הוחלפו בגרסאות מודרניות. DxCore זמין גם ב-Windows וגם ב-Linux. DxCore משמש גם לארח גרסה שטוחה של D3DKMT API המשמש מנהל התקן מבוסס WDDM ב-Windows כדי לדבר עם ה-GPU. API זה מפשט את ההבדלים באופן שבו שירותי ה-WDDM השונים עושים את דרכם אל הליבה (טבלת שירות ב-Windows לעומת IOCTL ב-Linux).

libd3d12.so ו-libdxcore.so הם קובצי קוד סגור, הידורים בינאריים של מצב משתמש מראש הנשלחים כחלק מ-Windows. קבצים בינאריים אלה תואמים להפצות מבוססות glibc ומותקן אוטומטית מתחת /usr/lib/wsl/lib ונראה למעמיס. במילים אחרות, ממשקי API אלה פועלים ישירות מהקופסה ללא צורך להתקין חבילות נוספות או לשנות את תצורת ההפצה. התמיכה מוגבלת כרגע להפצות מבוססות glibc, כולל אובונטו, דביאן, פדורה, סנטוס, SUSE וכן הלאה.

D3D12 לא יוכל לפעול ללא מנהל התקן GPU ספציפי למצב משתמש (UMD) שסופק על ידי שותפי יצרן GPU. ה-UMD אחראי לדברים כמו קומפילציה של shaders לקוד בייט ספציפי לחומרה ו תרגום בקשות רינדור API להוראות GPU בפועל במאגרי פקודות שיבוצעו על ידי ה-GPU. חבילת מנהל ההתקן המארח מותקנת בתוך WSL בכתובת /usr/lib/wsl/drivers ונגישה ישירות ל-d3d12 API. שוב נדרש מנהל התקן WDDM 2.9.

מיקרוסופט עובדת גם על הבאת האצת GPU עבור OpenGL, OpenCL ו-Vulkan ב-WSL דרך ספריית Mesa.

Mesa Linux ב-WSL

תמיכה עבור DxCore, D3D12, DirectML ו-NVIDIA CUDA מגיע לא Windows Insider בנייה מהירה בקרוב. הטבעת המהירה נמצאת כרגע על מנגן (Mn) סניף OS. הטבעת המהירה צפויה לעבור לחדשה ענף ברזל (Fe). לקראת החלק המאוחר של יוני אשר יחשוף את הפונקציונליות החדשה הזו בפני Insiders.

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכת
כיצד לצפות בסרטונים מוגבלים ב-YouTube ללא כניסה או פרוקסי

כיצד לצפות בסרטונים מוגבלים ב-YouTube ללא כניסה או פרוקסי

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכתלפעמים, כאשר אתה רוצה לצפות בסרט...

קרא עוד

קובץ אצווה MediaCreationTool יכול כעת ליצור Windows 11 ISO ללא בדיקות TPM

קובץ אצווה MediaCreationTool יכול כעת ליצור Windows 11 ISO ללא בדיקות TPM

ה כלי ליצירת מדיה הוא כלי עזר מוכר מבית מיקרוסופט להורדת קבצי ISO "נקיים" של Windows 10 ויצירת מד...

קרא עוד

הצמד תיקיות אחרונות לגישה מהירה ב-Windows 10

הצמד תיקיות אחרונות לגישה מהירה ב-Windows 10

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכתכיצד להצמיד תיקיות אחרונות לגישה...

קרא עוד