Na twee maanden ontwikkeling bracht Linus Torvalds de kernel uit. Linux 6.12. Tot de meest opvallende wijzigingen behoren: de mogelijkheid om de realtime-modus in te schakelen, sched_ext voor het creëren van CPU-planners via eBPF, QR-code-uitvoer in noodsituaties, het TCP-mechanisme voor apparaatgeheugen, het SCHED_DEADLINE-mechanisme voor reservering van serverbronnen, de verbetering van de EEVDF-taakplanner en de IPE-module voor het instellen van integriteitsbeleid.
De nieuwe versie bevat 14607 reparaties van 2167 ontwikkelaars, de patchgrootte is 37 MB (de wijzigingen betroffen 13087 bestanden, 507913 regels code zijn toegevoegd en 234083 regels zijn verwijderd). De laatste release bevatte 15130 reparaties van 2078 ontwikkelaars, de patchgrootte was 85 MB (in de 6.10-kernel was de patch 41 MB groot). Ongeveer 45% van alle wijzigingen die in 6.12 zijn geïntroduceerd, hebben betrekking op apparaatstuurprogramma's, ongeveer 12% van de wijzigingen heeft betrekking op het updaten van code die specifiek is voor hardware-architecturen, 13% heeft betrekking op de netwerkstack, 6% heeft betrekking op bestandssystemen en 3% zijn gerelateerd aan interne kernelsubsystemen.
Belangrijkste innovaties in kernel 6.12:
- Geheugen- en systeemservices
- De mogelijkheid om de kernel te compileren met de PREEMPT_RT-optie zonder extra patches voor realtime-werking is nu beschikbaar. De laatste ontbrekende kernelfunctie die het inschakelen van de PREEMPT_RT-modus verhinderde, was ondersteuning voor niet-blokkerende atomaire uitvoer via de printk-functie, die nu ook in de kernel is opgenomen. PREEMPT_RT-ondersteuning is beschikbaar voor de x86-, x86_64-, ARM64- en RISC-V-architecturen. Tot nu toe werd de implementatie van de PREEMPT_RT-modus geleverd in de vorm van externe patches, die sommige distributies, zoals RHEL, SUSE en, niet ondersteunden. UbuntuZe hebben aparte realtime-versies van hun producten ontwikkeld, die in trek zijn in sectoren zoals financiële systemen, audio- en videoverwerking, luchtvaart, geneeskunde, robotica, telecommunicatie en industriële systemen, waar een voorspelbare verwerkingstijd van gebeurtenissen essentieel is.
- Het "sched_ext" (SCX)-mechanisme is toegevoegd, waardoor het gebruik van eBPF mogelijk is om CPU-schedulers te creëren die vrijwel alle aspecten van taakplanning en CPU-resourceallocatie bestrijken. Dergelijke schedulers kunnen dynamisch in de kernel worden geladen en uitgevoerd. Linux в virtuele machine eBPF. Het sched_ext-mechanisme vereenvoudigt het creëren van taakspecifieke schedulers, maakt experimenteren met verschillende planningsmethoden en -strategieën mogelijk en zorgt voor de snelle ontwikkeling van werkende prototypes en de dynamische vervanging van schedulers in productieomgevingen. Met sched_ext kunt u bijvoorbeeld een scheduler maken die rekening houdt met de specifieke kenmerken van een bepaalde applicatie en de planningsstrategie dynamisch aanpast op basis van de systeemstatus en andere factoren.
- De compositie omvat het resterende deel van de patches die nodig zijn voor de werking van het SCHED_DEADLINE-servermechanisme, dat het probleem oplost van onderbenutting van CPU-bronnen door gewone taken wanneer de CPU wordt gemonopoliseerd door (realtime) taken met hoge prioriteit. Om CPU-monopolisering te voorkomen, gebruikte de kernel voorheen het Realtime-throttling-mechanisme, dat probeerde 5% te reserveren voor taken met een lage prioriteit, waardoor 95% van de tijd overbleef voor realtime taken. Dit mechanisme liet veel te wensen over, omdat gewone taken in veel situaties niet voldoende processortijd kregen. De SCHED_DEADLINE-server implementeert een efficiënter mechanisme voor het reserveren van bronnen.
- De integratie van de EEVDF-taakplanner (Earliest Eligible Virtual Deadline First) is voltooid, die de CFS-planner (Completely Fair Scheduler) verving, die werd geleverd vanaf kernel 2.6.23. Bij het kiezen van het volgende proces om de uitvoering over te dragen, houdt de nieuwe planner rekening met processen die niet genoeg processorbronnen hebben ontvangen of een onverdiend grote hoeveelheid processortijd hebben gekregen. In het eerste geval wordt de overdracht van de controle over het proces gedwongen, en in het tweede geval wordt deze juist uitgesteld. De oude CFS-planner gebruikte heuristieken en fijnafstemming om processen te identificeren die speciale aandacht nodig hadden, terwijl de nieuwe planner ze explicieter volgt en geen fijnafstelling vereist. Verwacht wordt dat de EEVDF vertragingen zal verminderen bij taken waarmee CFS planningsproblemen heeft gehad.
- In de kernel-noodhandler - DRM Panic, die het DRM-subsysteem (Direct Rendering Manager) gebruikt om een visueel rapport weer te geven in de stijl van het "blauwe scherm van de dood", is de mogelijkheid om een logo en QR-code weer te geven met een kmsg-rapport op het scherm wanneer zich een noodsituatie voordoet is toegevoegd. Omdat er slechts 2953 bytes in een QR-code passen, is de optie DRM_PANIC_SCREEN_QR_CODE_URL beschikbaar, waarbij het kmsg-rapport wordt gecomprimeerd met behulp van zlib en als parameter aan de URL wordt gekoppeld, waardoor ongeveer 40 bytes via de V7500 QR-code kunnen worden overgedragen. Bij het bouwen van pakketten met de kernel kunnen distributies een basis-URL voor de URL instellen, waardoor ze naar een pagina kunnen navigeren om een probleem te melden. Om het QR-codeformaat te selecteren, is de instelling DRM_PANIC_SCREEN_QR_VERSION beschikbaar.
- Ondersteuning toegevoegd voor de ARM POE (Permission Overlay Extension), waarmee u toegangsrechten tot geheugengebieden kunt instellen. Met behulp van deze extensie kan op systemen met ARM64-processors het Memory Protection Keys-mechanisme worden geïmplementeerd, dat wordt gebruikt om de toegang tot geheugenpagina's te beperken zonder de geheugenpaginatabel te wijzigen.
- Voor de Loongarch-, ARM64-, PowerPC- en s390-architecturen is de implementatie van de getrandom()-systeemaanroep verplaatst, geoptimaliseerd met behulp van het vDSO-mechanisme (virtual dynamic shared object), dat het mogelijk maakt om de systeemaanroephandler van de kernel naar gebruikersruimte en vermijd contextwisselingen. Met optimalisatie kunt u het genereren van willekeurige getallen tot wel 15 keer versnellen.
- De mogelijkheid om absolute time-outs te gebruiken, geactiveerd wanneer een bepaalde tijd op de systeemklok wordt bereikt, is toegevoegd aan het io_uring asynchrone invoer/uitvoer-subsysteem (voorheen konden alleen relatieve time-outs worden ingesteld, die de duur vanaf het begin van de bewerking aangaven ).
- Bestanden toegevoegd voor het genereren van bindingen voor de libcpupower-bibliotheek met behulp van de SWIG-toolkit, waarmee u bindingen kunt genereren op basis van C/C++-code voor verschillende programmeertalen. Met bindingen kunt u scripts maken in Python en andere talen, en deze gebruiken om de functionaliteit van de libcpupower-bibliotheek uit te breiden, die een API biedt voor het beheren van cpufreq en stuurprogramma's vanuit de gebruikersruimte.
- Het cpuidle-hulpprogramma geeft de waarde weer van de "residentie" van de inactieve toestand, gebruikt voor realtime systemen en houdt rekening met de minimale tijd dat de processor in de inactieve toestand moet zijn om de energiekosten van het overgaan naar en uit deze staat te rechtvaardigen.
- De mogelijkheid is toegevoegd om de Clang-compiler te gebruiken voor het bouwen van de standaard C-bibliotheek nolibc, die is opgenomen in de kernelbroncode. Linux en biedt een wrapper rondom basis systeemoproepen. Bij het compileren van nolibc in Clang wordt link-time optimization (LTO) ingeschakeld.
- Sommige cgroup1-interfaces zijn verouderd, zoals TCP-accounting, soft limit versie XNUMX en beheer van geheugenuitputting. De ondersteuning voor deze functies blijft voorlopig volledig en er wordt gewaarschuwd om het aantal gebruikers te onderzoeken dat deze functies blijft gebruiken.
- De mogelijkheid toegevoegd om een ringtracebuffer te configureren om verzamelde gegevens op te slaan na een herstart, waardoor u de verzamelde foutopsporingsinformatie niet verliest in het geval van een kernelcrash. De gegevens worden in het geheugen opgeslagen. Het inschakelen gebeurt via de kernelopdrachtregelparameter trace_instance. Als u bijvoorbeeld 'trace_instance=boot_map@0x285400000:12M' instelt, wordt 12 MB geheugen op 0x285400000 gereserveerd voor de 'boot_map'-buffer, die toegankelijk zal zijn via het bestand /sys/kernel /tracing/instances/boot_map.
- De migratie van wijzigingen vanuit de Rust-for- branch wordt voortgezet.LinuxDit heeft betrekking op het gebruik van Rust als tweede taal voor het ontwikkelen van drivers en kernelmodules (Rust-ondersteuning is niet standaard actief en Rust behoort niet tot de vereiste build-afhankelijkheden van de kernel). De modules 'list' en 'rbtree' zijn toegevoegd voor het werken met dubbelgelinkte lijsten en rood-zwarte zoekbomen. De mogelijkheden van de modules 'init', 'sync', 'types' en 'error' zijn uitgebreid. De mogelijkheid om Rust-code te gebruiken bij het bouwen van een kernel met bescherming tegen Spectre-aanvallen (MITIGATION_{RETHUNK,RETPOLINE,SLS}-opties), met behulp van het KASAN-debuggingsysteem, de kCFI (kernel Control Flow Integrity) en Shadow Call-beschermingsmechanismen, en bij het gebruik van extra GCC-plugins is toegevoegd. Een driver voor de Applied Micro QT2025 PHY Ethernet-controller, geschreven in Rust, is toegevoegd. Een aparte website met documentatie is voorbereid: rust.docs.kernel.org.
- Het hulpprogramma xdrgen is toegevoegd aan de kernelbroncode voor het converteren van XDR-specificaties (eXternal Data Representation) naar XDR-coderings- en decoderingsfuncties die zijn geschreven in de door de kernel gehanteerde C-stijl. Linux.
- De kernel heeft een wijziging doorgevoerd om een pointer-maskeringsmechanisme te implementeren om het aantal langzame aanroepen naar barrier_nospec() in de 64-bit copy_from_user()-functie te verminderen, die wordt gebruikt om gegevens vanuit de gebruikersruimte naar de kernel te kopiëren. Het gebruik van maskers versnelt de ‘per_thread_ops’-test, die het aantal bewerkingen evalueert dat in één thread kan worden uitgevoerd, met 2.6%.
- Er is een nieuw USB-stuurprogramma toegevoegd waarmee u het 9pfs-protocol kunt gebruiken als transportmiddel voor het verzenden en ontvangen van gegevens van een USB-apparaat bij het aankoppelen van het 9p-bestandssysteem via USB (bijvoorbeeld: “mount -t 9p -o trans=usbg, aname=/pad/naar/fs /mnt/9"). Een voorbeeld van het gebruik van het nieuwe stuurprogramma is het gebruik van NFS in plaats van het organiseren van het opstarten van de rootpartitie bij het ontwikkelen van ingebedde apparaten.
- Schijfsubsysteem, I/O en bestandssystemen
- De mogelijkheid om te werken met opslagapparaten waarvan de blokgrootte groter is dan de grootte van de geheugenpagina in het systeem is toegevoegd aan het VFS-subsysteem. In bestandssystemen wordt deze functie momenteel alleen ondersteund in XFS.
- Het FUSE-subsysteem, waarmee u implementaties kunt maken van bestandssystemen die in de gebruikersruimte werken, heeft ondersteuning toegevoegd voor het in kaart brengen van gebruikers-ID's van aangekoppelde bestandssystemen, die worden gebruikt om de bestanden van een specifieke gebruiker op een aangekoppelde vreemde partitie te matchen met een andere gebruiker op de huidige partitie. systeem.
- Er is een nieuwe fcntl-bewerking, F_CREATED_QUERY, geïmplementeerd, waardoor een toepassing kan bepalen of een bestand dat is geopend met de vlag O_CREAT is gemaakt of dat het al eerder bestond.
- De mogelijkheid toegevoegd om unieke 64-bit koppelpunt-ID's te gebruiken aan de systeemaanroep name_to_handle_at() om race-omstandigheden te vermijden bij het parseren van /proc/mountinfo.
- De grootte van de “bestands”-structuur in de kernel is teruggebracht van 232 naar 184 bytes, wat het geheugengebruik vermindert op systemen die actief met bestanden werken.
- Het aankoppelen van bestandssystemen om punten binnen de /proc-hiërarchie te koppelen, zoals /proc/PID/fd, was verboden, wat potentiële beveiligingsproblemen veroorzaakte.
- De pseudo-FS NSFS (NameSpace FS), gebruikt voor het werken met naamruimten, biedt aanvullende informatie over de naamruimten van koppelpunten.
- Het EROFS-bestandssysteem (Extendable Read-Only File System), ontworpen voor gebruik op alleen-lezen partities, ondersteunt nu het rechtstreeks aankoppelen van bestandssystemen vanaf schijfimages die zijn opgeslagen als bestanden.
- Nieuwe ioctl-opdrachten XFS_IOC_START_COMMIT en XFS_IOC_COMMIT_RANGE zijn toegevoegd aan XFS voor het uitwisselen van inhoud tussen twee bestanden.
- NFS biedt nu ondersteuning voor het "LOCALIO"-protocol, waarmee je kunt bepalen of de client en server NFS op dezelfde host om de bijbehorende optimalisaties mogelijk te maken.
- In het Btrfs-bestandssysteem zijn prestatie-optimalisaties voorgesteld, is de code opnieuw bewerkt, is het gebied van de mate-vergrendeling tijdens leesbewerkingen verkleind, is er verder gewerkt aan het converteren van geheugenpagina's om paginafolio's te gebruiken, en is er automatische geheugenvrijgave doorgevoerd. geïmplementeerd voor de btrfs_path-structuur.
- In het Ext4-bestandssysteem zijn bugs met betrekking tot bloktoewijzing, omvangbeheer, snelle commit en journaling opgelost.
- Virtualisatie en beveiliging
- De IPE (Integrity Policy Enforcement) LSM-module toegevoegd, ontwikkeld door Microsoft om het bestaande verplichte toegangscontrolesysteem uit te breiden. Met de module kunt u een algemeen integriteitsbeleid voor het hele systeem definiëren, waarin wordt aangegeven welke bewerkingen zijn toegestaan en hoe de authenticiteit van componenten moet worden geverifieerd. Met IPE kunt u bijvoorbeeld opgeven welke uitvoerbare bestanden mogen worden uitgevoerd, waarbij rekening wordt gehouden met hun overeenstemming met de referentieversie, met behulp van cryptografische hashes die door het dm-verity-systeem worden geleverd.
- In de kernelcompilatiefase is het mogelijk om beschikbare beschermingsmethoden tegen verschillende Spectre-klasse-kwetsbaarheden in de CPU afzonderlijk in te schakelen. Kconfig biedt nieuwe parameters: MITIGATE_MDS (bescherming tegen de Microarchitectural Data Sampling-kwetsbaarheid), MITIGATE_TAA (bescherming tegen de TSX Asynchronous Abort-kwetsbaarheid), MITIGATE_MMIO_STALE_DATA (bescherming tegen de MMIO Stale Data-kwetsbaarheid), MITIGATE_L1TF (bescherming tegen de L1 Terminal Fault-kwetsbaarheid), MITIGATE_RETBLEED (bescherming tegen Retbleed-kwetsbaarheden), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (bescherming tegen Spectre-kwetsbaarheden), MITIGATE_SRBDS (bescherming tegen de Special Register Buffer Data Sampling-kwetsbaarheid), MITIGATE_SSB (bescherming tegen de Speculative Store Bypass-kwetsbaarheid).
- Opdrachtregeloptie proc_mem.force_override en een set build-instellingen toegevoegd in Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE en PROC_MEM_FORCE_NEVER) om geheugenwijzigingen via /proc/pid/mem te voorkomen.
- LSM-subsysteem (Linux De beveiligingsmodule is overgeschakeld op het gebruik van statische aanroepen, wat de beveiliging en prestaties heeft verbeterd.
- De mogelijkheid om standaard cores voor de ARM64-architectuur te gebruiken in gastomgevingen die draaien op Android-systemen met een aangepaste KVM-hypervisor (beveiligde KVM).
- De Landlock LSM-module, waarmee u de interactie van een groep processen met de externe omgeving kunt beperken, implementeert het “IPC-scoping”-concept om selectief de interactie met sandbox-omgevingen te beperken met behulp van Unix-sockets en -signalen. U kunt bijvoorbeeld verbindingen met Unix-sockets uit een sandbox-omgeving verbieden met processen waarop geen isolatie is toegepast, maar verbindingen met processen binnen hetzelfde bereik toestaan.
- In de KVM-hypervisor is een vlag toegevoegd aan de CPUID voor gastsystemen die ondersteuning voor AVX10.1-extensies aangeeft.
- Netwerksubsysteem
- Het Device Memory TCP-mechanisme is toegevoegd, waardoor het gebruik van netwerksockets mogelijk is om de inhoud van het geheugen van randapparaten rechtstreeks over het netwerk te verzenden (zero-copy-modus) en de inhoud van netwerkpakketten rechtstreeks in het geheugengebied van het apparaat op de computer te plaatsen. ontvangende kant. Gegevens die in pakketten worden verzonden, worden overgedragen van de netwerkkaart naar het geheugen van een randapparaat of van het apparaatgeheugen rechtstreeks naar de netwerkkaart, waarbij de CPU wordt omzeild, en de pakketheaders komen terecht in reguliere kernelbuffers.
- De mogelijkheden van veel Ethernet- en draadloze drivers zijn uitgebreid. Het Intel iwlwifi-stuurprogramma heeft bijvoorbeeld ondersteuning toegevoegd voor het verplaatsen van RLC/SMPS-bewerkingen naar de firmwarekant, het RealTek rtw89-stuurprogramma verbeterde de prestaties en voegde ondersteuning toe voor RTL8852BT/8852BE-VT (WiFi 6)-chips, en het microchip Ethernet-stuurprogramma voegde ondersteuning toe voor IEEE 802.3 bw (100BASE) specificaties -T1) en IEEE 802.3bp, Microsoft vNIC en IBM veth virtuele Ethernet-implementaties zijn verbeterd. Nieuwe stuurprogramma's toegevoegd voor Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 en Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet-chips.
- In MPTCP (MultiPath TCP), een uitbreiding van het TCP-protocol voor het gelijktijdig organiseren van de bezorging van TCP-pakketten langs verschillende routes via verschillende netwerkinterfaces, wordt de grootte van de gewichten die bij de routering worden gebruikt vergroot van 8 naar 16 bits. Implementatie van detectie van verloren (blackhole) verkeer en opschorting gedurende enige tijd van pogingen om verbindingen tot stand te brengen met systemen die tot verkeersverlies leiden.
- Voor IPv6 is ondersteuning geïmplementeerd voor de “p”-vlag in de PIO (Prefix Information Option), die wordt gebruikt in RA-advertenties (IPv6 Router Advertenties) om een clientimplementatiemodel te selecteren via DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) in plaats van het toewijzen van individuele adressen op basis van voorvoegsels met behulp van SLAAC (Stateless Address Autoconfiguration). IPv6 IOAM6 voegt ondersteuning toe voor een nieuwe tunsrc-inkapselingsmodus voor verbeterde prestaties.
- Verbeterde prestaties voor het verwerken van IPsec-controlepakketten.
- Verbeterde prestaties bij het opschonen van grote nftables-regelsets. nfnetlink_queue heeft SCTP-ondersteuning verbeterd.
- De ethtool API heeft ondersteuning toegevoegd voor het binden van meerdere netwerkkaarten aan één netwerkinterface.
- Uitrusting
- In de AMDGPU-driver wordt verder gewerkt aan de implementatie van ondersteuning voor AMD RDNA4 (“GFX12”) GPU’s. De mogelijkheid toegevoegd om individuele taakwachtrijen opnieuw in te stellen zonder de hele GPU te resetten.
- Er werd verder gewerkt aan de Xe drm-driver (Direct Rendering Manager) voor GPU's gebaseerd op de Intel Xe-architectuur, die wordt gebruikt in videokaarten en geïntegreerde grafische kaarten uit de Intel Arc-familie, te beginnen met Tiger Lake-processors. De nieuwe versie biedt ondersteuning voor GPU's gebaseerd op de microarchitecturen Battlemage en Lunar Lake. Ondersteuning voor CCS (Color Control Surface) Xe2-modifiers is geïntroduceerd om de parameters van geïntegreerde en discrete GPU's te regelen.
- Het i915-stuurprogramma implementeert de mogelijkheid om informatie over de ventilatorsnelheid uit te voeren via de HWMON- of sysfs-interface (het attribuut “fan1_input”). De parameter "i915.modeset" is verouderd; de parameter "i915.nomodeset" moet worden gebruikt in plaats van "i0.modeset=915".
- Ondersteuning toegevoegd voor A615, A306 en A621 GPU's aan het msm DRM-stuurprogramma (Qualcomm Adreno GPU).
- De Nouveau-chauffeur heeft zijn interne structuren laten herwerken en reinigen.
- De intel_pstate-driver, die de energieverbruiksparameters (P-state) regelt op systemen met Intel-processors, heeft ondersteuning toegevoegd voor hybride systemen met asymmetrische (verschillende karakteristieken) CPU's, evenals ondersteuning voor energiebeheer van processors gebaseerd op Granite Rapids en Sierra Forest microarchitecturen. Ondersteuning voor Xeon Granite Rapids CPU toegevoegd aan het intel_idle-stuurprogramma. Het intel_rapl-stuurprogramma biedt herkenning van AMD 1Ah-familieprocessen en Intel ArrowLake-U-processors.
- Voortdurende opname van wijzigingen ter ondersteuning van de ARM SoC Snapdragon X Elite, die Qualcomm's eigen 12-core Oryon CPU en Qualcomm Adreno GPU gebruikt. De chip is gericht op gebruik in laptops en pc's en loopt in veel prestatietests voor op de Apple M3 en Intel Core Ultra 155H chips.
- Ondersteuning toegevoegd voor ARM-boards, SoC's en apparaten: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010, Surface Laptop 7, Anbernic RG35XXSP , 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 SG2002, Qualcomm IPQ5332, LG G4 (h815 ), Cool Pi CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6
- Ondersteuning toegevoegd voor schermpanelen Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116XTN02.3, AUO B116XAN06.1, B116X AT04.1, BOE TV101WUM -LL2, BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, BOE NE140WUM-N6G, CMN N116BCA-EA2, CMN N116BCP-EA2, CSW MNB601LS1-4, Sterrenhemel er88577.
- Het audiosubsysteem heeft ondersteuning toegevoegd voor chips en codecs RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Oude geluidsstuurprogramma's voor Intel ASoC zijn verouderd verklaard en het wordt aanbevolen om in plaats daarvan AVS-stuurprogramma's te gebruiken. Er zijn veel verbeteringen aangebracht aan de SoundWire-driver.
Bron: opennet.ru
