Problemi s perifernim upravljačkim programima na Windows 11 ARM: vodič i rješenje

Zadnje ažuriranje: 10/09/2025
Autor: Isaac
  • The vozači Moraju biti Arm64: nema emulacije u kernelu i bez njih hardver Ne radi.
  • Emulacija x86/x64 je konfigurirana: prilagodite predmemoriju, hibridni način rada i višenitnost radi kompatibilnosti.
  • Poznata ograničenja: Anti-cheat, faks i skener, određeni antivirusni programi i aplikacije od ljuske.
  • Razvojni programeri: Izrada nativnog Arm64 okruženja, rješavanje ovisnosti i testiranje na ARM hardveru/VM-u.

Upravljački programi i periferni uređaji u sustavu Windows 11 ARM

Ako ste nadogradili na ARM računalo s operativnim sustavom Windows 11 i imate problema s perifernim uređajem koji jednostavno ne radi, niste sami: upravljački programi su ključni i moraju biti kompatibilni s Arm64 . Dok mnoge x86 i x64 aplikacije savršeno funkcioniraju putem emulacije, sistemski upravljački programi ne prolaze kroz taj sloj, stoga je bitno razumjeti pravila igre.

Osim upravljačkih programa, kompatibilnost s Armom uključuje nekoliko elemenata: konfigurabilnu emulaciju, dobre prakse razvoja, poznata ograničenja i dijagnostičke alate . Ovaj vodič objedinjuje sve bitno što će vam pomoći da prepoznate zašto aplikacija ovisna o uređaju ili upravljačkom programu ne radi ispravno, kako fino podesiti emulaciju i što programeri trebaju učiniti za izvorno kompajliranje za Arm64.

Što se događa s upravljačkim programima u sustavu Windows 11 ARM?

U sustavu Windows na ARM-u, svi upravljački programi za kernel-mode, upravljački programi za User-Mode Driver Framework (UMDF) i upravljački programi za ispis moraju se kompajlirati za arhitekturu operativnog sustava . To jest, ako je sustav Arm64, upravljački program također mora biti Arm64; ne postoji sloj emulacije kernela, stoga je zahtjev strogi.

To znači da x86 aplikacija može bez problema raditi putem emulacije, ali ako joj je potreban prilagođeni ili upravljački program treće strane, ta specifična komponenta mora postojati kao Arm64 upravljački program . Dok se upravljački program ponovno ne kompajlira za Arm64, značajke koje o njemu ovise ili se neće pojaviti ili će otkazati.

U praksi će uređaji i periferni uređaji raditi samo ako su njihovi upravljački programi integrirani u Windows 11 ili ako proizvođač osigura specifične Arm64 upravljačke programe . To se odnosi na osjetljive kategorije kao što su antivirusni i antimalware softver, softver za ispis ili PDF , pomoćne tehnologije, uslužni programi za optičke diskove i softver za virtualizaciju.

Stoga, prilikom instaliranja softvera ili hardvera treće strane, obavezno preuzmite i instalirajte upravljački program proizvođača posebno za računala s ARM procesorom . Ako upravljački program samo označava kompatibilnost s x86/x64 ili ne spominje Arm64, najvjerojatnije neće raditi na vašem ARM sustavu.

Uređaji temeljeni na ARM-u postali su popularni zahvaljujući energetskoj učinkovitosti, trajanju baterije i NPU-ima pokretanim umjetnom inteligencijom , ali ta učinkovitost ne zamjenjuje potrebu za izvornim Arm64 upravljačkim programima . Ako se oslanjate na kritični periferni uređaj, unaprijed provjerite je li njegov proizvođač izdao podršku za Arm64.

Kompatibilnost upravljačkih programa na ARM računalima

Emulacija x86 i x64 na ARM-u i kako prilagoditi kompatibilnost

Windows na ARM-u pokreće ARM aplikacije izvorno, dok x86 i x64 aplikacije rade putem emulacije . S Windowsom 11 uvedena je x64 emulacija radi proširenja kompatibilnosti, a Prism engine na Copilot+ uređajima sa Snapdragon X značajno je poboljšao performanse emuliranih aplikacija u usporedbi s prethodnim generacijama.

Ako se aplikacija ponaša čudno, možete upotrijebiti alat za rješavanje problema s kompatibilnošću programa . Desnom tipkom miša kliknite .exe datoteku i odaberite alat za rješavanje problema s kompatibilnošću kako biste isprobali preporučene postavke ili odabrali određene simptome poput otvaranja, ali neispravnog prikaza, zahtijevanja dozvola ili nepojavljivanja problema na popisu.

Osim toga, na kartici Kompatibilnost u svojstvima izvršne datoteke vidjet ćete odjeljak Windows 10 na ARM-u ili Windows 11 na ARM-u. Odatle možete promijeniti potpune postavke emulacije ili omogućiti napredne postavke za eksperimentiranje s pojedinačnim opcijama osmišljenim za davanje prioriteta stabilnosti nad performansama kada se pojave problemi.

  Kako konfigurirati Windows 11 za korisnike s ograničenom pokretljivošću
Postavke emulacije Što čini
Onemogući predmemoriju aplikacije Prisiljava sustav da ponovno kompajlira emulirane blokove koda pri svakom pokretanju, uklanjanjem predmemorije kako bi se smanjile nuspojave na štetu performansi.
Onemogući hibridni način izvršavanja Izbjegavajte CHPE binarne datoteke s kombinacijom x86 i Arm64 arhitektura i prisiljava korištenje samo x86 binarnih datoteka, što povećava kompatibilnost s nekim osjetljivim aplikacijama.
Dodatna zaštita od svjetla Omogućuje globalne zaštitne mjere koje utječu na nestabilne metapodatke i može utjecati na performanse u korist stabilnosti.
Stroga kompatibilnost sa samomodifikujućim kodom Jamči da je samomodificirajući kod za ispravan rad u emulaciji, s primjetnim utjecajem na performanse kada je taj obrazac čest.
Onemogući optimizaciju na RWX stranicama Uklanja optimizaciju performansi za kod u čitljive, pisive i izvršne stranice što se može sukobljavati s određenim aplikacijama.
Onemogući JIT optimizaciju (samo x64) Zastarjela opcija koja više neće biti dostupni u budućim verzijama.
Onemogući optimizaciju s pomičnim zarezom (samo x64) Prisilno emuliranje x87 s 80-bitna puna preciznost, povećavajući točnost u FP-u po cijenu nižih performansi.

Također možete prilagoditi način na koji aplikacija koristi više jezgri: brzo, strogo, vrlo strogo ili prisilno korištenje jedne jezgre . Ove opcije mijenjaju broj memorijskih barijera koje se koriste za sinkronizaciju pristupa između niti; povećanje barijera smanjuje suptilne pogreške nauštrb brzine, a način rada s jednom jezgrom uklanja barijere i serijalizira niti na jednu jezgru.

Ako izmjena određene opcije ukloni grešku, Microsoft traži da se detalji pošalju na [email protected] kako bi se te povratne informacije integrirale u buduća poboljšanja emulatora.

Postavke emulacije na Windows ARM-u

Upravljački programi: kernel, UMDF i ispis

Svi sistemski upravljački programi moraju odgovarati arhitekturi: u Windows kernelu nema emulacije . To ima poseban utjecaj na virtualizaciju i bilo koji scenarij koji zahtijeva pristup niske razine.

Ako x86 aplikacija instalira ili zahtijeva vlastiti upravljački program , sama aplikacija se može pokrenuti u emulaciji , ali funkcije povezane s tim upravljačkim programom neće se pojaviti dok ne postoji Arm64 verzija upravljačkog programa.

Za kompajliranje Arm64 upravljačkih programa s jamstvima, programeri moraju slijediti WDK vodič specifičan za Arm64 , koji detaljno opisuje pripremu okruženja, projekte i potpisivanje.

Proširenja ljuske, IME-ovi i ostali sistemski DLL-ovi

Aplikacije koje pokušavaju povezati se s Windows komponentama ili ubrizgati DLL-ove u sistemske procese moraju kompajlirati te DLL-ove za Arm64 . Tu do izražaja dolaze urednici metoda unosa , pomoćne tehnologije i proširenja ljuske koja postavljaju ikone ili kontekstne izbornike .

Kad god učitavate kod u Windows procese, uskladite binarnu arhitekturu s arhitekturom sustava . Ponovno kompajliranje ovih DLL-ova osigurava da komponenta radi izvorno bez oslanjanja na emulaciju.

Najbolje prakse s WOW-om i detekcijom arhitekture

Uobičajeni obrazac pogreške javlja se kada aplikacija otkrije da se pokreće na WoW-u i pogrešno pretpostavi da je sustav x64 . Nakon toga pokušava instalirati njegovu x64 varijantu, pretražuje izvorni prikaz registra ili pretpostavlja 64-bitnu .NET instalaciju.

Kako biste izbjegli ovakve vrste kvarova, nemojte donositi pretpostavke o hostu prilikom otkrivanja WOW- a i smanjite interakcije s izvornim komponentama OS-a osim ako ne kontrolirate arhitekturu.

Ako trebate provjeriti kompatibilnost, koristite isWow64Process2 API umjesto izvornog isWow64Process . Prvi ispravno razlikuje kombinacije procesa i hosta te vam pomaže u odabiru putova koda i prikaza zapisnika bez zabune.

Dinamičko generiranje koda i ublažavanje

Emulacija x86 desktop aplikacija generira Arm64 instrukcije tijekom izvođenja, pa blokiranje generiranja ili modifikacije koda u procesu prekida kompatibilnost . Ako vaša aplikacija omogućuje ublažavanje pomoću SetProcessMitigationPolicy s ProcessDynamicCodePolicy, onemogućite ga da biste omogućili emulaciju.

  Pregrijavanje baterije tijekom punjenja u sustavu Windows 11: uzroci, sprječavanje i rješenja

Ako sumnjate da vaša aplikacija koristi tehnike samomodificiranja, omogućite strogu podršku za samomodificiranje koda u naprednim postavkama emulacije, znajući da će to značajno utjecati na performanse.

Virtualni strojevi i podrška za Hyper-V

Platforma Windows Hypervisor nije kompatibilna s Qualcomm 835 na platformi mobilnih računala , tako da Hyper-V neće raditi na tom specifičnom hardveru. Microsoft navodi da nastavlja ulagati u ove tehnologije za buduće Qualcomm čipsete.

Poznata ograničenja: Igre, antivirus, faks i skener i još mnogo toga

Neke igre neće raditi ako njihov upravljački program protiv varanja nema verziju za Windows 11 na ARM-u . Provjerite s izdavačem igre ili provjerite kompatibilnost na worksonwoa.com, resursu za suradnju koji prati status aplikacija i igara.

Na Windowsima 10 na ARM-u, x64 aplikacije se ne pokreću : potrebne su vam verzije Arm64, Arm32 ili x86. Osim toga, postoje ograničenja poput verzija OpenGL-a iznad 1.1 i softvera protiv varanja koji nema podršku za ARM. Na Windowsima 11 na ARM-u, x64 emulacija proširuje raspon kompatibilnih aplikacija.

Aplikacije koje prilagođavaju Windows ljusku, kao što su neki IME-ovi, pomoćne tehnologije ili integracije s oblakom, mogu naići na probleme ako ne nude Arm64 binarne datoteke . Konačna odluka je na programeru svake aplikacije.

Postoje i antivirusni paketi trećih strana koje nećete moći instalirati osim ako nisu posebno dizajnirani ili ažurirani za ARM . U međuvremenu, Sigurnost sustava Windows nudi ugrađenu zaštitu za cijeli životni vijek vašeg uređaja.

Manje poznata osobitost: funkcija Windows faksa i skenera nije dostupna na računalima sa sustavom Windows 11 na ARM-u, stoga je preporučljivo potražiti alternative.

Dostupne izvorne aplikacije i novi Prism engine

Ekosustav sada nudi više izvornih verzija Arm64 nego ikad prije, a Microsoft 365 radi brže nego ikad u Teamsu, Outlooku, Wordu, Excelu, PowerPointu, OneDriveu i OneNoteu, plus Chromeu, Slacku, Spotifyju, Zoomu, WhatsAppu , Blenderu, Affinity Suiteu i DaVinci Resolveu, među mnogima drugima.

Za aplikacije bez izvorne binarne datoteke, novi Prism emulacijski mehanizam poboljšava performanse emuliranih aplikacija na Copilot+ uređajima sa Snapdragon X, a dolazi i na više Windows 11 uređaja.

Ako želite vidjeti koje aplikacije i igre rade, provjerite popis uživo na worksonwoa.com . To je projekt otvorenog koda treće strane kojem Microsoft također doprinosi podacima o kompatibilnosti.

Kako prenijeti aplikacije i upravljačke programe na Arm64

Za izradu izvorne verzije aplikacije, u Visual Studiju dodajte ARM64 platformu rješenja iz Configuration Managera , kopirajte konfiguraciju iz x64 i stvorite nove platforme projekta. Zatim kompajlirajte i ispravite pogreške.

Nakon što gradite u Release načinu rada, blokovi vjerojatno proizlaze iz ovisnosti koje ne pružaju Arm64 binarne datoteke . Njih će trebati ažurirati, ponovno kompajlirati ili zamijeniti po potrebi.

Ako želite provjeriti rezultirajuću binarnu datoteku, upotrijebite PowerShell i pokrenite `dumpbin /headers` na .exe datoteci kako biste potvrdili da zaglavlje označava AA64 stroj (ARM64). Ovo je brza provjera kako biste bili sigurni da ne koristite pogrešnu varijantu.

Testiranje i otklanjanje pogrešaka su lakši ako radite na Arm računalu. Ako razvijate na x86/x64, koristite udaljeno otklanjanje pogrešaka na ARM-baziranom Windows uređaju ili virtualnom stroju . Microsoft dokumentira strategije u svom Arm vodiču za otklanjanje pogrešaka.

Kao preporučene preduvjete, koristite Visual Studio 2022 v17.4 ili noviji s izvornom podrškom za Arm64 (VS 17.10 Preview dodaje poboljšanja) i, ako želite, LLVM Clang 12+ za kompilaciju i povezivanje. Izvorni alat nudi vrhunske performanse u usporedbi s emuliranim verzijama.

Što se tiče frameworka, podržani su .NET 7, .NET 6 LTS, .NET 5.0.8+ i .NET Framework 4.8.1 . C++ možete kompajlirati i s clang-cl-om, koji održava ABI kompatibilnost s MSVC-om.

  Projiciranje sustava Windows 11 na Smart TV bez HDMI kabela: Potpuni vodič, načini prikaza i rješavanje problema

Zavisnosti, Arm64EC i vanjska pomoć

Kada biblioteka blokira kompilaciju, interno je ponovno kompilirajte za Arm64 ako je vaša, zatražite novu verziju od treće strane ako je komercijalna ili potražite kompatibilne alternative ako je otvorenog koda.

Prije promjene steka, provjerite ima li vcpkg već ažuriranu verziju za Arm64, a ako ne, razmislite o doprinosu podršci. Mnoge zajednice će cijeniti tu pomoć.

Kao međustrategija, Arm64EC vam omogućuje kombiniranje rekompilirane aplikacije s x64 ovisnostima koje se izvode pod emulacijom u istom procesu. Obrnuto nije moguće (ne možete koristiti čiste Arm64 ovisnosti u x64 procesu).

Ako vam je potrebna podrška, Linaro surađuje s tvrtkama i zajednicama kako bi omogućio softver na ARM-u . Možete otvoriti zahtjev njihovoj službi za podršku kako biste istražili podršku za nedostajuće pakete povezane s Windowsom na ARM-u.

Testiranje na hardveru ili VM-u, CI/CD i višenitnost u emulaciji

Kako bi se osigurala kvaliteta, ključno je da se testiranje izvrši na Arm64 arhitekturi : stvarnom hardveru s Windowsima na ARM-u ili kompatibilnom VM-u, tako da rezultati odražavaju stvarnost krajnjeg korisnika.

Izgradnja i testiranje na istom računalu pojednostavljuje život, iako možete proširiti svoju infrastrukturu izgradnje kako biste generirali binarne datoteke za više platformi , a zatim ih implementirali na namjenskom Arm64 testnom okruženju.

Ako imate neuobičajene probleme sa sinkronizacijom s višenitnim aplikacijama, eksperimentirajte sa strogim ili vrlo strogim višejezgrenim načinima rada ili prisilite jednojezgreni način rada kako biste vidjeli hoće li problem nestati. Ovo je korisna tehnika za sužavanje uvjeta utrke.

Za brzo postavljanje testnog okruženja, Azure nudi alat za brzi početak za stvaranje Windows VM-a na ARM-u . Ovo je praktičan način za izvođenje CI ili ručnog testiranja kada nemate dostupan fizički hardver.

Instaliranje Windowsa i upravljačkih programa za pohranu: x86/x64 vs. ARM

Ako se prilikom instalacije sustava Windows 11 ili 10 na Intel računalo ne pojave nijedan pogon , možda ćete morati učitati upravljački program Intel Rapid Storage Technology (IRST) tijekom čarobnjaka za instalaciju ili onemogućiti Intel VMD. To se odnosi samo na platforme x86/x64, a ne na ARM uređaje.

Tipičan postupak s IRST-om uključuje preuzimanje paketa s proizvođačeve stranice za podršku , izdvajanje na USB pogon i korištenje opcije "učitaj upravljački program" na zaslonu gdje se od vas traži da instalirate Windows kako bi instalacijski program prepoznao diskove.

Alternativno, možete onemogućiti Intel Volume Management Device (VMD) u BIOS-u : uđite s F2, prebacite se u napredni način rada s F7, idite na odjeljak VMD i onemogućite kontroler; spremite s F10. Terminologija se može malo razlikovati ovisno o modelu i UEFI-ju.

Na modelima s Intel Lunar Lake procesorom, ručna instalacija IRST upravljačkih programa nije podržana . Preporučuje se korištenje sustava Windows 11 24H2 ili novijeg i nastavak standardne instalacije bez učitavanja tog upravljačkog programa.

Međutim, ako je vaše računalo ARM (na primjer, s Qualcomm CPU-om), ASUS preporučuje korištenje Cloud Recovery s MyASUS-a u WinRE-u za ponovnu instalaciju sustava umjesto tradicionalnog IRST tijeka rada, koji nije primjenjiv na ovu arhitekturu.

pogledajte instalirane upravljačke programe pomoću driverqueryja
Povezani članak:
Kako pregledati sve instalirane upravljačke programe u sustavu Windows pomoću DriverQueryja i drugih alata