שחרור ליבה Linux 6.12 עם תמיכה בזמן אמת

לאחר חודשיים של פיתוח, לינוס טורוואלדס שחרר את הליבה. Linux 6.12. בין השינויים הבולטים: היכולת להפעיל מצב זמן אמת, sched_ext ליצירת מתזמני CPU דרך eBPF, פלט קוד QR במצבי חירום, מנגנון TCP של זיכרון המכשיר, מנגנון הזמנת משאבי שרת SCHED_DEADLINE, שיפור מתזמן המשימות EEVDF, מודול IPE לקביעת מדיניות שלמות.

הגרסה החדשה כוללת 14607 תיקונים מ-2167 מפתחים, גודל התיקון הוא 37 מגה-בייט (השינויים השפיעו על 13087 קבצים, נוספו 507913 שורות קוד, 234083 שורות נמחקו). במהדורה האחרונה היו 15130 תיקונים מ-2078 מפתחים, גודל התיקון היה 85 מגה-בייט (בקרנל 6.10 התיקון היה בגודל 41 מגה-בייט). כ-45% מכל השינויים שהוצגו ב-6.12 קשורים למנהלי התקנים, כ-12% מהשינויים קשורים לעדכון קוד ספציפי לארכיטקטורות חומרה, 13% קשורים לערימת הרשת, 6% קשורים למערכות קבצים ו-3% קשורים לתתי מערכות ליבה פנימיות.

חידושים מרכזיים בקרנל 6.12:

  • שירותי זיכרון ומערכת
    • כעת זמינה היכולת לבנות את הליבה עם האפשרות PREEMPT_RT ללא תיקונים נוספים לפעולה בזמן אמת. תכונת הליבה החסרה האחרונה שמנעה את הפעלת מצב PREEMPT_RT הייתה תמיכה בפלט אטומי לא חוסם דרך פונקציית printk, הכלולה גם בליבה. תמיכה ב-PREEMPT_RT זמינה עבור הארכיטקטורות x86, x86_64, ARM64 ו-RISC-V. עד כה, יישום מצב PREEMPT_RT סופק בצורה של תיקונים חיצוניים, אשר חלק מההפצות, כגון RHEL, SUSE ו-... Ubuntu, יצרו מהדורות זמן אמת נפרדות של מוצריהם, המבוקשות בתחומים כמו מערכות פיננסיות, מכשירי עיבוד אודיו ווידאו, תעופה, רפואה, רובוטיקה, טלקומוניקציה ומערכות תעשייתיות, שבהן יש צורך להבטיח זמן עיבוד אירועים צפוי.
    • מנגנון ה-"sched_ext" (SCX) נוסף, המאפשר שימוש ב-eBPF ליצירת מתזמני CPU המכסים כמעט את כל ההיבטים של תזמון משימות והקצאת משאבי CPU. מתזמנים כאלה ניתנים לטעינה דינמית ולביצוע בתוך הליבה. Linux в מכונה וירטואלית eBPF. מנגנון sched_ext מפשט את יצירת מתזמנים ספציפיים למשימה, מאפשר ניסויים בטכניקות ואסטרטגיות תזמון שונות, ומאפשר יצירה מהירה של אבות טיפוס עובדים והחלפה מהירה של מתזמנים בתשתיות ייצור. לדוגמה, באמצעות sched_ext, ניתן ליצור מתזמן שלוקח בחשבון את הספציפיות של יישום ספציפי ומשנה באופן דינמי את אסטרטגיית התזמון שלו בהתאם למצב המערכת ולגורמים אחרים.
    • ההרכב כולל את החלק הנותר של התיקונים הנחוצים לתפעול מנגנון השרת SCHED_DEADLINE, אשר פותר את בעיית תת-ניצול משאבי ה-CPU על-ידי משימות רגילות כאשר ה-CPU מונופול על-ידי משימות בעדיפות גבוהה (זמן אמת). כדי למנוע מונופוליזציה של המעבד, הקרנל השתמש בעבר במנגנון ה-RealTime throttling, שניסה לשמור 5% למשימות בעדיפות נמוכה, והותיר 95% מהזמן למשימות בזמן אמת. מנגנון זה הותיר הרבה לרצוי, שכן משימות רגילות במצבים רבים לא קיבלו מספיק זמן מעבד. שרת SCHED_DEADLINE מיישם מנגנון הזמנת משאבים יעיל יותר.
    • הושלמה האינטגרציה של מתזמן המשימות EEVDF (Earliest Eligible Virtual Deadline First), שהחליף את מתזמן ה-CFS (Completely Fair Scheduler), שסופק החל מגרעין 2.6.23. בבחירת התהליך הבא להעברת ביצוע, המתזמן החדש לוקח בחשבון תהליכים שלא קיבלו מספיק משאבי מעבד או שקיבלו כמות גדולה שלא ראויה של זמן מעבד. במקרה הראשון, העברת השליטה לתהליך נאלצת, ובשני, להיפך, היא נדחית. מתזמן ה-CFS הישן השתמש בהיוריסטיקה וכיוונון עדין כדי לזהות תהליכים שדרשו תשומת לב מיוחדת, בעוד המתזמן החדש עוקב אחריהם בצורה מפורשת יותר ואינו דורש כוונון עדין. ה-EEVDF צפוי לצמצם עיכובים במשימות של-CFS היו בעיות בתזמון איתן.
    • במטפל החירום הליבה - DRM Panic, המשתמשת בתת מערכת ה-DRM (Direct Rendering Manager) להצגת דוח ויזואלי בסגנון "מסך המוות הכחול", יכולת הצגת לוגו וקוד QR עם דוח kmsg על המסך כאשר מתרחש מצב חירום נוסף. מכיוון שרק 2953 בתים מתאימים לקוד QR, ניתנת אפשרות DRM_PANIC_SCREEN_QR_CODE_URL, בה דוח kmsg נדחס באמצעות zlib ומצורף כפרמטר לכתובת ה-URL, מה שמאפשר להעביר כ-40 בתים דרך קוד ה-V7500 QR. בעת בניית חבילות עם הליבה, הפצות יכולות להגדיר כתובת URL בסיסית לכתובת ה-URL, שתאפשר להן לנווט לדף לדיווח על בעיה. לבחירת פורמט קוד QR, ההגדרה DRM_PANIC_SCREEN_QR_VERSION מסופקת.
    • נוספה תמיכה ב-ARM POE (Permission Overlay Extension), המאפשרת לך להגדיר זכויות גישה לאזורי זיכרון. באמצעות הרחבה זו, במערכות עם מעבדי ARM64, ניתן ליישם את מנגנון ה-Memory Protection Keys, המשמש להגבלת גישה לדפי זיכרון מבלי לשנות את טבלת דפי הזיכרון.
    • עבור הארכיטקטורות Loongarch, ARM64, PowerPC ו-s390, ההטמעה של קריאת המערכת getrandom() הועברה, שעברה אופטימיזציה באמצעות מנגנון vDSO (Virtual dynamic Shared Object), המאפשר להעביר את המטפל בשיחות המערכת מהקרנל ל מרחב משתמש והימנע מתגי הקשר. אופטימיזציה מאפשרת לך להאיץ את יצירת המספרים האקראיים עד פי 15.
    • היכולת להשתמש בפסקי זמן מוחלטים, המופעלים כאשר מגיעים לזמן מסוים בשעון המערכת, נוספה לתת-מערכת הקלט/פלט האסינכרוני io_uring (בעבר, ניתן היה להגדיר רק פסקי זמן יחסיים, אשר ציינו את משך הזמן מתחילת הפעולה ).
    • נוספו קבצים להפקת bindings עבור ספריית libcpupower באמצעות ערכת הכלים SWIG, המאפשרת ליצור bindings מקוד C/C++ לשפות תכנות שונות. כריכות מאפשרות לך ליצור סקריפטים ב-Python ובשפות אחרות, ולהשתמש בהם כדי להרחיב את הפונקציונליות של ספריית libcpupower, המספקת API לניהול cpufreq ומנהלי התקנים ממרחב המשתמש.
    • כלי השירות cpuidle מציג את הערך של "תושבות" במצב סרק, המשמש עבור מערכות בזמן אמת ובהתחשב בזמן המינימלי שהמעבד חייב להיות פעיל על מנת להצדיק את עלויות האנרגיה של המעבר למצב זה וממנו.
    • נוספה היכולת להשתמש במהדר Clang כדי לבנות את ספריית C הסטנדרטית nolibc, הכלולה בקוד המקור של הליבה. Linux ומספק מעטפת סביב קריאות מערכת בסיסיות. בעת בניית nolibc ב-Clang, אופטימיזציית זמן קישור (LTO) מופעלת.
    • כמה ממשקי cgroup1 הוצאו משימוש, כגון חשבונאות TCP, גרסה XNUMX של soft limit וניהול מיצוי זיכרון. התמיכה בתכונות אלו נותרה במלואה לעת עתה, והאזהרה ניתנת כדי ללמוד את מספר המשתמשים שממשיכים להשתמש בתכונות אלו.
    • נוספה את היכולת להגדיר מאגר מעקב צלצול לשמירת נתונים מצטברים לאחר אתחול מחדש, מה שיאפשר לך לא לאבד מידע נצבר באגים במקרה של קריסת ליבה. הנתונים מאוחסנים בזיכרון. ההפעלה מתבצעת באמצעות פרמטר שורת הפקודה trace_instance kernel, לדוגמה, הגדרה "trace_instance=boot_map@0x285400000:12M" תשמור 12 MB של זיכרון ב-0x285400000 למאגר "boot_map", שיהיה נגיש דרך הקובץ /sys/kernel /tracing/instances/boot_map.
    • המשך העברת שינויים מענף Rust-for-Linux, הקשור לשימוש ב-Rust כשפה שנייה לפיתוח דרייברים ומודולי ליבה (תמיכה ב-Rust אינה פעילה כברירת מחדל ואינה כוללת את Rust בין תלויות הבנייה הנדרשות של הליבה). נוספו המודולים 'list' ו-'rbtree' לעבודה עם רשימות מקושרות כפולות ועצי חיפוש אדומים-שחורים. הורחבו היכולות של המודולים 'init', 'sync', 'types' ו-'error'. נוספה היכולת להשתמש בקוד Rust בעת בניית ליבה עם הגנה מפני התקפות Spectre (אפשרויות MITIGATION_{RETHUNK,RETPOLINE,SLS}), באמצעות מערכת ניפוי השגיאות KASAN, מנגנוני ההגנה kCFI (קרנל Control Flow Integrity) ו-Shadow Call, וכאשר משתמשים בתוספי GCC נוספים. נוסף דרייבר עבור בקר ה-Ethernet Applied Micro QT2025 PHY, שנכתב ב-Rust. הוכן אתר אינטרנט נפרד עם תיעוד: rust.docs.kernel.org.
    • כלי השירות xdrgen נוסף לקוד המקור של הליבה להמרת מפרטי XDR (ייצוג נתונים חיצוני) לפונקציות קידוד ופענוח XDR שנכתבו באמצעות סגנון C שאומץ על ידי הליבה. Linux.
    • הליבה תוקנה כדי ליישם מנגנון מיסוך מצביע כדי לצמצם את מספר הקריאות האיטיות ל-barrier_nospec() בפונקציית 64-bit copy_from_user() המשמשת להעתקת נתונים לתוך הליבה ממרחב המשתמש. שימוש במיסוך מאיץ את מבחן "per_thread_ops", אשר מעריך את מספר הפעולות שניתן לבצע בשרשור אחד, ב-2.6%.
    • נוסף מנהל התקן USB חדש המאפשר לך להשתמש בפרוטוקול 9pfs כתחבורה לשליחה וקבלה של נתונים מהתקן USB בעת הרכבה של מערכת הקבצים 9p דרך USB (לדוגמה, "mount -t 9p -o trans=usbg, aname=/path/to/ fs /mnt/9"). דוגמה לשימוש במנהל ההתקן החדש היא השימוש ב-NFS במקום לארגן את האתחול של מחיצת השורש בעת פיתוח התקנים משובצים.
  • תת-מערכת דיסק, קלט/פלט ומערכות קבצים
    • לתת-מערכת VFS נוספה היכולת לעבוד עם התקני אחסון שגודל הבלוק שלהם גדול מגודל עמוד הזיכרון במערכת. במערכות קבצים, תכונה זו נתמכת כרגע רק ב-XFS.
    • תת-המערכת FUSE, המאפשרת לך ליצור יישומים של מערכות קבצים הפועלות במרחב המשתמש, הוסיפה תמיכה למיפוי מזהי משתמש של מערכות קבצים רכובות, המשמשות להתאים את הקבצים של משתמש ספציפי על מחיצה זרה מותקנת עם משתמש אחר על הנוכחית. מַעֲרֶכֶת.
    • פעולת fcntl חדשה, F_CREATED_QUERY, יושמה, המעניקה לאפליקציה את היכולת לקבוע אם קובץ שנפתח באמצעות דגל O_CREAT נוצר או שהוא כבר היה קיים קודם לכן.
    • הוספה את היכולת להשתמש במזהים ייחודיים של נקודות הרכבה של 64 סיביות לקריאת המערכת name_to_handle_at() כדי להימנע מתנאי מירוץ בעת ניתוח /proc/mountinfo.
    • גודל מבנה ה"קובץ" בקרנל הצטמצם מ-232 ל-184 בתים, מה שמפחית את צריכת הזיכרון במערכות שעובדות באופן אקטיבי עם קבצים.
    • התקנת מערכות קבצים להרכבת נקודות בתוך היררכיית /proc, כגון /proc/PID/fd, נאסרה, מה שיצר בעיות אבטחה פוטנציאליות.
    • הפסאודו-FS NSFS (NameSpace FS), המשמש לעבודה עם מרחבי שמות, מספק מידע נוסף על מרחבי השמות של נקודות הרכבה.
    • מערכת הקבצים EROFS (Extendable Read-Only File System), המיועדת לשימוש במחיצות לקריאה בלבד, תומכת כעת בהרכבת מערכות קבצים ישירות מתמונות דיסק שנשמרו כקבצים.
    • פקודות ioctl חדשות XFS_IOC_START_COMMIT ו-XFS_IOC_COMMIT_RANGE נוספו ל-XFS להחלפת תוכן בין שני קבצים.
    • NFS הוסיף תמיכה בפרוטוקול "LOCALIO", המאפשר לך לקבוע האם הלקוח ו שרת NFS באותו מחשב מארח כדי לאפשר את האופטימיזציות המתאימות.
    • במערכת הקבצים Btrfs, הוצעו אופטימיזציות של ביצועים, הקוד שופץ מחדש, שטח הנעילה במהלך פעולות הקריאה הצטמצם, העבודה נמשכה על המרת דפי זיכרון לשימוש בפוליו דפים, ושחרור זיכרון אוטומטי מיושם עבור מבנה btrfs_path.
    • במערכת הקבצים Ext4 תוקנו באגים הקשורים להקצאת חסימות, ניהול היקף, התחייבות מהירה ורישום יומן.
  • וירטואליזציה ואבטחה
    • נוסף מודול IPE (Integrity Policy Enforcement) LSM, שפותח על ידי מיקרוסופט כדי להרחיב את מערכת בקרת הגישה החובה הקיימת. המודול מאפשר לך להגדיר מדיניות שלמות כללית עבור המערכת כולה, המציינת אילו פעולות מותרות וכיצד יש לאמת את האותנטיות של רכיבים. לדוגמה, באמצעות IPE, אתה יכול לציין אילו קבצי הפעלה מורשים לפעול, תוך התחשבות בתאימות שלהם לגרסת ההתייחסות באמצעות hashes קריפטוגרפיים המסופקים על ידי מערכת dm-verity.
    • בשלב הקומפילציה של הליבה, ניתן לאפשר בנפרד שיטות הגנה זמינות מפני פגיעויות שונות במחלקת Spectre במעבד. Kconfig מציעה פרמטרים חדשים: MITIGATE_MDS (הגנה מפני הפגיעות של דגימת נתונים Microarchitectural), MITIGATE_TAA (הגנה מפני הפגיעות של TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (הגנה מפני הפגיעות של MMIO Stale Data), MITIGATE_L1TF (הגנה מפני ה-LT_1TF) (הגנה מפני ה-LTBLE) (הגנה מפני נקודות תורפה של Rebleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (הגנה מפני נקודות תורפה של ספקטר), MITIGATE_SRBDS (הגנה מפני פגיעות דגימת נתונים של מאגר נתונים מיוחדים של רישום), MITIGATE_SSB (הגנה מפני פגיעות ה-Speculative Store Bypass).
    • נוספה אפשרות שורת הפקודה proc_mem.force_override וקבוצה של הגדרות בנייה ב-Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE ו-PROC_MEM_FORCE_NEVER) כדי למנוע שינויים בזיכרון באמצעות /proc/pid/mem.
    • תת-מערכת LSM (Linux מודול האבטחה) עבר לשימוש בקריאות סטטיות, מה ששיפר את האבטחה והביצועים.
    • היכולת להשתמש בליבות סטנדרטיות עבור ארכיטקטורת ARM64 בסביבות אורח הפועלות על Androidמערכות עם היפר-ויזור KVM שונה (KVM מוגן).
    • מודול Landlock LSM, המאפשר לך להגביל את האינטראקציה של קבוצת תהליכים עם הסביבה החיצונית, מיישם את תפיסת ה-IPC scoping כדי להגביל באופן סלקטיבי את האינטראקציה עם סביבות ארגז חול באמצעות שקעים ואותות Unix. לדוגמה, ניתן לאסור חיבורים באמצעות שקעי Unix מסביבת ארגז חול לתהליכים שלא הוחל בהם בידוד, אך לאפשר חיבורים לתהליכים באותו היקף.
    • ב-KVM hypervisor, נוסף דגל ל-CPUID עבור מערכות אורחות המציין תמיכה בהרחבות AVX10.1.
  • תת מערכת רשת
    • נוסף מנגנון Device Memory TCP, המאפשר שימוש בשקעי רשת כדי לשלוח ישירות את תוכן הזיכרון של התקנים היקפיים דרך הרשת (מצב אפס העתקה) ולהציב ישירות את התוכן של מנות הרשת באזור זיכרון המכשיר על גבי צד הנמען. נתונים המועברים בחבילות מועברים מכרטיס הרשת לזיכרון של התקן היקפי או מזיכרון המכשיר לכרטיס הרשת ישירות, תוך עקיפת ה-CPU, וכותרות החבילות מסתיימות במאגרי ליבה רגילים.
    • היכולות של מנהלי התקנים רבים של Ethernet ושל אלחוטיים הורחבו. לדוגמה, מנהל ההתקן של Intel iwlwifi הוסיף תמיכה בהעברת פעולות RLC/SMPS לצד הקושחה, מנהל ההתקן של RealTek rtw89 הגדיל את הביצועים והוסיף תמיכה בשבבי RTL8852BT/8852BE-VT (WiFi 6), מנהל ההתקן של Ethernet המיקרו-שבב הוסיף תמיכה ב-IEEE 802.3 מפרטי bw (100BASE) -T1) ו-IEEE 802.3bp, Microsoft vNIC ו-IBM veth Ethernet וירטואלי שופרו. נוספו דרייברים חדשים עבור Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 ו-Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet שבבי.
    • ב-MPTCP (MultiPath TCP), הרחבה של פרוטוקול TCP לארגון משלוח מנות TCP בו-זמנית לאורך מספר מסלולים דרך ממשקי רשת שונים, גודל המשקולות המשמשות בניתוב גדל מ-8 ל-16 סיביות. מיושם זיהוי של תנועה אבודה (חור שחור) והשעיה למשך זמן מה של ניסיונות ליצור קשרים עם מערכות המובילות לאובדן תנועה.
    • עבור IPv6, תמיכה מיושמת עבור דגל "p" ב-PIO (אפשרות מידע קידומת), המשמש בפרסומות RA (פרסומות נתב IPv6) לבחירת מודל פריסת לקוח באמצעות DHCPv6-PD (האצלת קידומת DHCPv6, RFC9663) במקום הקצאה כתובות בודדות המבוססות על קידומות באמצעות SLAAC (תצורה אוטומטית של כתובת חסרת מצב). IPv6 IOAM6 מוסיף תמיכה במצב אנקפסולציה חדש של tunsrc המאפשר ביצועים טובים יותר.
    • ביצועים משופרים לעיבוד מנות בקרת IPsec.
    • ביצועים משופרים של שטיפה של מערכות חוקים גדולות של nftables. nfnetlink_queue שיפרה תמיכה בפרוטוקול SCTP.
    • ה-API של ethtool הוסיף תמיכה לקשירת כרטיסי רשת מרובים לממשק רשת אחד.
  • Оборудование
    • במנהל ההתקן של AMDGPU, העבודה נמשכת להטמעת תמיכה עבור GPUs של AMD RDNA4 ("GFX12"). נוספה את היכולת לאפס תורי משימות בודדים מבלי לאפס את כל ה-GPU.
    • העבודה נמשכה על מנהל ההתקן Xe drm (מנהל עיבוד ישיר) עבור GPUs המבוסס על ארכיטקטורת Intel Xe, המשמשת בכרטיסי מסך ממשפחת Intel Arc ובגרפיקה משולבת, החל ממעבדי Tiger Lake. הגרסה החדשה כוללת תמיכה ב-GPUs המבוססים על המיקרו-ארכיטקטורות Battlemage ו-Lunar Lake. הוצגה תמיכה עבור CCS (Color Control Surface) Xe2 משנה כדי לשלוט בפרמטרים של GPUs משולבים ובדידים.
    • מנהל ההתקן i915 מיישם את היכולת להוציא מידע על מהירות המאוורר באמצעות ממשק HWMON או sysfs (תכונת "fan1_input"). הפרמטר "i915.modeset" הוצא משימוש בפרמטר "i915.nomodeset" במקום "i0.modeset=915".
    • נוספה תמיכה עבור GPUs A615, A306 ו-A621 למנהל התקן msm DRM (Qualcomm Adreno GPU).
    • נהג הנובו עבר עיבוד וניקוי של המבנים הפנימיים שלו.
    • מנהל ההתקן intel_pstate, השולט בפרמטרים של צריכת חשמל (P-state) במערכות עם מעבדי אינטל, הוסיף תמיכה במערכות היברידיות עם מעבדים אסימטריים (מאפיינים שונים), וכן תמיכה בניהול צריכת חשמל של מעבדים המבוססים על Granite Rapids ו-Sierra Forest מיקרו ארכיטקטורות. נוספה תמיכה במעבד Xeon Granite Rapids למנהל ההתקן של intel_idle. מנהל ההתקן של intel_rapl מספק זיהוי של תהליכים ממשפחת AMD 1Ah ומעבדי Intel ArrowLake-U.
    • המשך הכללת השינויים לתמיכה ב-ARM SoC Snapdragon X Elite, המשתמש במעבד Oryon 12 ליבות של קוואלקום וב-Qualcomm Adreno GPU. השבב מיועד לשימוש במחשבים ניידים ומחשבים אישיים, והוא מקדים את שבבי Apple M3 ו-Intel Core Ultra 155H במבחני ביצועים רבים.
    • נוספה תמיכה עבור לוחות ARM, SoCs והתקנים: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010 Laptop 7/A35 , Firefly Core-PX30-JD4, Lunzn Fastrhino R68S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS433, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R2S Plus, ExynosAuto v920, SOPHGO SG2002comQ, G5332 ), Cool Pi CM4 GenBook, Anbernic RG815XXSP, GameForce Ace, IBM P5, Kontron i.MX35 OSM-S, NanoPC-T11
    • נוספה תמיכה לפאנלים מסך Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, B116ACE-LH02.3 116XAT06.1, BOE TV116WUM -LL04.1, BOE NV101WUM-N2, BOE NV140WUM-N41, BOE NV133WHM-A63D, BOE NE116WUM-N4G, CMN N140BCA-EA6, CMN N116BCP-EA2, CSW MNB116LS2-601, er1.
    • תת-מערכת האודיו הוסיפה תמיכה עבור שבבים וקודקים RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. מנהלי התקן סאונד ישנים עבור Intel ASoC הוכרזו מיושנים, ומומלץ להשתמש במנהלי התקנים של AVS במקום זאת. בוצעו שיפורים רבים במנהל ההתקן של SoundWire.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster