Mesa 26.1 תומך ב-Vulkan 1.4 ומאיץ גרפיקה במכונות וירטואליות

נקודות מפתח:
  • תמיכה מלאה בממשק ה-API הגרפי החדש של Vulkan 1.4 בדרייברים העיקריים בשוק: ANV, RADV, NVK, HoneyKrisp ו-Turnip.
  • הטמעת VirtIO-GPU בדרייברים של אינטל, המאפשרת למכונות וירטואליות לשלוח פקודות ישירות לכרטיס המסך הפיזי.
  • מנהל ההתקן של מתרגם Zink מאפשר תמיכה בהאצת חומרה עבור OpenGL ES 2.0 במכשירי PowerVR התואמים באופן בלעדי ל-Vulkan.
  • מנהל ההתקן Rusticl OpenCL דורש כעת ספריית C++ סטנדרטית המקושרת סטטית כדי למנוע התנגשויות בזמן ריצה.
  • VirGL נותר ללא תחזוקה ויוסר לצמיתות מבסיס הקוד אם לא יימצא מתחזק חדש.

טבלת תלת מימד, דרייברים של לינוקס

לפני מספר ימים ה צוות פיתוח מאחורי פרויקט מסה הודיע ​​על כך באמצעות הודעה על זמינותו של גרסה ניסיונית 26.1.0, המייצג את יישום קוד פתוח הייחוס עבור ממשקי ה-API הגרפיים OpenGL ו-Vulkan.

עדכון ראשוני זה זה מסמן קפיצת מדרגה אדירה על ידי שילוב תאימות מלאה עם המפרט וולקן 1.4 בין הבקרים העיקריים בשוק. בין אלה שנהנים מכך נמצאים בקרי ANV (אינטל), RADV (AMD), NVK (NVIDIA), HoneyKrisp (אפל) ו-Turnip (קוואלקום).

מעבר לעדכוני פרוטוקול, גרסה זו משנה באופן קיצוני את האופן שבו סביבות וירטואליות מקיימות אינטראקציה עם חומרה פיזית ומארגנת מחדש את התמיכה במכשירים בעלי צריכת אנרגיה נמוכה. עם הצגת האצת מכונות וירטואליות, ההרחבה האסטרטגית של OpenGL באמצעות מתרגמים כמו Zink, וההסרה הקרובה של מנהלי התקנים מיושנים כמו VirGL, Mesa 26.1.0 לא רק מוסיפה תכונות חדשות אלא גם מנקה את בסיס הקוד שלה כדי לסלול את הדרך לגרסה היציבה העתידית שלה עבור סביבות ייצור.

האצת גרפיקה במכונות וירטואליות

אונו מההתקדמות הבולטת ביותר בפרק זה הוא יישום גישה ישירה ל-GPU עבור מכונות וירטואליות באמצעות פרוטוקול VirtIO-GPU, זמין בתחילה עבור מנהלי התקנים של אינטל (Iris, Crocus ו-ANV). בעבר, כאשר מכונה וירטואלית (מערכת ה"אורחת") הייתה צריכה לרנדר גרפיקה תלת-ממדית, היא הייתה צריכה לתרגם ולשלוח את פקודות הגרפיקה דרך שכבות מרובות של אמולציה ופרוטוקולים ביניים עד שהגיעו למערכת ההפעלה המארחת (ה"מארח"), מה שיצר השהייה ניכרת והגביל את הביצועים של משחקים או יישומים תובעניים.

עם יישום גישת VirtIO-GPU מבטל את צוואר הבקבוק הזה. מערכת האורחת יכולה כעת לארוז פקודות גרפיות בפורמט המקורי שלהן ולהעביר אותם ישירות לכרטיס המסך הפיזי של המארח, עקיפת אמולציהטכנולוגיה זו משנה באופן קיצוני את ביצועי ה-GPU הווירטואליים, ומאפשרת לך לשחק משחקים ולהריץ תוכנות כבדות בתוך מכונה וירטואלית עם ביצועים כמעט זהים לאלה המתקבלים בסביבה מקורית.

תמיכה ל OpenGL מתרחב גם לארכיטקטורות ניידות וחסכוניות באנרגיה. הבקר Zink הפעילה תמיכה ב-OpenGL ES 2.0 מעל חומרת PowerVR, מה שמאפשר האצת חומרה במכשירים מודרניים שתומכים באופן טבעי רק ב-API של Vulkan. בנוסף, מנהל ההתקן פנפרוסt, שתוכנן עבור ארכיטקטורת ARM Mali, הוא מטמיע את ההרחבה GL_EXT_shader_image_load_store.בינתיים, מנהלי ההתקנים של AMD ו-Broadcom מוסיפים תמיכה בהרחבות סמפור והצללה קריטיות.

דעיכת VirGL והסטנדרטיזציה המודרנית

כל המודרניזציה הזו מביאה איתה את ההתיישנות הבלתי נמנעת של רכיבים מדור קודם שכבר אינם עומדים בתקני הביצועים הנוכחיים. מנהל התקן VirGL, אשר במשך שנים שימש כאבן הפינה ליישום מעבדים גרפיים וירטואליים בתוך אמולטור QEMU, הוא הוכרז רשמית כחסר תחזוקה..

El הצוות של מסה הזהיר כי, אם אף מפתח חיצוני לא יציע לקחת אחריות על הקוד שלו בטווח הקצר, VirGL יוסר לצמיתות מהענף הראשי. החלטה זו מדגישה את הביטחון המוחלט של הפרויקט במערכת האקולוגית החדשה של VirtIO-GPU ומסמנת את סוף עידן הווירטואליזציה של גרפיקה בקוד פתוח, מה שמאלץ את התעשייה לעבור לפרוטוקולים יעילים וישירים הרבה יותר.

לבסוף, אם אתה מעוניין לדעת יותר על זה, אתה יכול לעיין בפרטים ב הקישור הבא.

כיצד להתקין מנהלי התקנים של Mesa בלינוקס?

ل חבילות Mesa נמצאות בכל ההפצות של לינוקס, כך שניתן לבצע את התקנתו באמצעות הורדה וקומפילציה של קוד המקור (כל המידע על זה כאןi) או בצורה פשוטה יחסית, שתלויה בזמינות בערוצים הרשמיים של ההפצה שלך או של צדדים שלישיים.

למי שכן משתמשי אובונטו, דביאן או נגזרות, בהפצות אלה, Mesa נמצא בדרך כלל במאגרים הרשמיים. כדי להתקין או לעדכן:

sudo apt update && sudo apt upgrade -y
sudo apt install mesa-utils mesa-va-drivers mesa-vulkan-driv
התעמלות

אם אתה רוצה את הגרסה האחרונה מ-PPA (עבור אובונטו ונגזרות):

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade -y

במקרה של המשתמשים ב- Arch Linux ונגזרות, אנו מתקינים אותם עם הפקודה הבאה:

sudo pacman -S mesa mesa-utils mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl

למי שהם משתמשי פדורה, אתה צריך לדעת שחבילות מעודכנות מסופקות במאגרים שלהם ואתה רק צריך להפעיל:

sudo dnf install mesa-dri-drivers mesa-va-drivers mesa-vulkan-drivers

אם אתה רוצה גרסאות עדכניות יותר, אתה יכול להשתמש במאגר Mesa Copr:

sudo dnf copr enable grigorig/mesa-stable
sudo dnf update

לבסוף, למי שכן משתמשי openSUSE, תוכל להתקין או לעדכן על ידי הקלדת:

sudo zypper in mesa


הוסף כמקור מועדף