Fòrums

MP 1,1-5,1 MP3,1 (i altres?) Emulació SSE 4.2 (per habilitar el controlador AMD Metal)

Sincrètic

Col·laborador
Cartell original
22 d'abril de 2019
  • Oct 19, 2019
MouSSE (emulador parcial SSE4.2) Publicació pública
Versió actual: 0.95 (8 de juny de 2021)
Quan feu referència a la gent a MouSSE, només heu d'enllaçar directament a aquesta publicació, que sempre contindrà la darrera versió i informació.
EDIT (8 de juny de 2021/1 de setembre de 2021): Monterey va canviar les coses, de manera que es necessitava una nova versió. La versió 0.95 (adjunta a aquesta publicació) admet Monterey (així com versions anteriors de MacOS). No s'ha afegit cap funcionalitat nova, de manera que si ja esteu utilitzant MouSSE en un MacOS anterior a Monterey, no cal 'actualitzar' a la v0.95. (Vaig publicar aquesta versió l'8 de juny de 2021, però estava massa ocupat per actualitzar la publicació núm. 1 fins a l'1 de setembre de 2021, d'aquí les dues dates.)

EDIT (22 de maig de 2020): Vaig trobar el que hauria de ser un error bastant rar a la v0.92, que es soluciona a la versió adjunta actual (v0.93). Aquesta és una actualització de baixa prioritat, de manera que si teniu un sistema que funcioni, no sentiu cap urgència per substituir la vostra còpia de MouSSE.

EDIT (5 de maig de 2020): Hi ha una nova versió de MouSSE (v0.92) adjunta a aquesta publicació. Representa una reescriptura important i hauria de ser més estable, més robust i més ràpid que la versió pública anterior (v0.38). Per actualitzar des de la versió anterior, sobreescriu el kext existent amb aquest (llavors |_+_| i reinicieu) o obteniu el pedaç més recent de MacOS que conté MouSSE i deixeu-lo actualitzar per vosaltres ( En el moment d'escriure aquest article, els autors d'ambdós pedaços són conscients de la nova versió de MouSSE, però encara no han publicat actualitzacions dels seus pedaços. ).

EDIT (13 de novembre de 2019): si el vostre sistema no conté una GPU Metal AMD, no hauríeu d'instal·lar MouSSE. S'han informat diversos casos d'inestabilitat en sistemes que no són AMD-GPU, sense que encara s'hagi identificat una causa clara. Les instruccions sobre com desinstal·lar MouSSE apareixen en aquesta publicació (vegeu més avall).

Aquest programari s'ha provat en diverses configuracions de maquinari i programari, i sembla que és prou estable per llançar-se des de la versió beta. Si us plau, proporcioneu qualsevol comentari que tingueu, positiu o negatiu, èxit o fracàs, en aquest fil o per missatge directe.

*** IMPORTANT: ÚS AL SEU PROPI RISC!
Aquest programari es proporciona tal com està, sense cap garantia. No hi ha cap raó per què hagi de causar cap problema, però si les coses van malament, són responsabilitat vostra. S'ha provat i comparat amb diversos sistemes i diverses versions de MacOS, però no hi ha garanties que funcioni en qualsevol sistema o versió de MacOS determinats. L'autor no es fa responsable de les pèrdues de temps, diners, cabell, memòria, tranquil·litat, claus del cotxe o comandaments a distància de la televisió relacionades de cap manera amb l'ús d'aquest programari.​ (I ara, després d'aquell aprovació sonora... .)​
*** Què es?
Els controladors de vídeo AMD Mac més nous utilitzen algunes instruccions SSE 4.2. Les CPU més antigues (Penryn, Harpertown i anteriors) no admeten aquestes instruccions. Els sistemes Mac Pro més antics (com el Mac Pro 3,1) utilitzen aquestes CPU més antigues; per tant, els nous controladors AMD no funcionaran en aquests sistemes. MouSSE és un emulador parcial SSE4.2 que permet a aquestes CPU antigues utilitzar els controladors AMD més nous. Tot i que el seu objectiu principal sempre ha estat fer que els controladors AMD funcionin, també sembla que permet que World of Warcraft s'executi en un Mac Pro 3,1 independentment de si els controladors AMD estan en ús o no. En teoria, depenent del que facis Estem intentant aconseguir-ho, aquest emulador podria resultar útil en qualsevol sistema Mac amb una CPU Penryn/Harpertown/Wolfdale. Aquests inclouen:​ Mac Pro 3.1 (inicis de 2008)​ Xserve 2.1 (inicis de 2008)​ MacBook Pro 4.1 (inicis de 2008)​ MacBook 4.1 (inicis de 2008)​ MacBook 7.1 (mitjans de 2010) )​ MacBook Air 2,1 (octubre de 2008)​ MacBook Air 3,1 (octubre de 2010) (11')​ MacBook Air 3,2 (octubre de 2010) (13')​ iMac 8,1 (abril de 2008)​ iMac 9,1 (març de 2009)​ iMac 10,1 (octubre de 2009) (amb Core2 Duo, no i5)​ Mac Mini 3,1 (març de 2009, octubre de 2009)​ Mac Mini 4,1 (mitjans de 2010) (també conegut com Mac Mini servidor) No tots aquests s'han provat; el vostre quilometratge pot variar. A més, CPU fins i tot més antigues que Penryn podria utilitzar aquest emulador; tanmateix, com que no tenen SSE4.1, afegir només una SSE4.2 parcial probablement seria de poc o cap benefici. IMPORTANT: si no teniu cap d'aquests sistemes, i, en particular, si teniu un més nou sistema (com ara un Mac Pro 4,1 o 5,1): no hauríeu d'instal·lar MouSSE. No pot fer res útil per a aquests sistemes i, potencialment, podria interferir o causar altres problemes. Personalment, ho he provat a MacOS 10.13-10.15 (High Sierra, Mojave i Catalina 15.0-15.4). Altres informen que es carrega a 10.12 (Sierra), tot i que els seus controladors AMD no sembla que requereixin emulació.
*** Què fa?
MouSSE atrapa instruccions il·legals tant en mode privilegiat (nucli) com en mode no privilegiat (usuari), i emula les instruccions POPCNT, PCMPGTQ i CRC32. En el moment d'escriure aquest article, PCMPGTQ i POPCNT són les úniques instruccions problemàtiques utilitzades als controladors AMD. (I, pel que sembla, els dos únics que s'utilitzen actualment a World of Warcraft.)​ ​ MouSSE és totalment reentrant i s'executa automàticament a totes les CPU/nuclis/fils.
*** Què NO fa?
En aquest moment, MouSSE no implementa cap instrucció SSE4.2 que no sigui POPCNT, PCMPGTQ i CRC32. Si hi ha prou demanda, una versió futura pot incloure suport per a instruccions addicionals SSE4.2 (o altres). Si MouSSE troba una instrucció no compatible, passa el control a MacOS i veuràs el mateix tractament d'errors que veuríeu si MouSSE no s'ha instal·lat (normalment, un missatge d''Instrucció il·legal' i la finalització del programa).​ * A partir de la versió 0.32. , MouSSE ja no es comporta de manera transparent quan es troba una instrucció no compatible. Per ajudar a la resolució de problemes, MouSSE carrega els 16 bytes del codi operatiu il·legal a XMM15 i els primers 8 bytes d'aquest a R15. Els dos registres s'utilitzen perquè, mentre que 16 bytes proporciona tot el context necessari per a l'anàlisi, alguns abocaments d'error no inclouen els registres XMM, de manera que també es carrega R15 (8 bytes és millor que res). Això infringeix el principi de transparència, però atès que l'error 'codi operatiu il·legal' és generalment fatal, l'efecte és insignificant. Si coneixeu una situació en què això és problemàtic, feu-m'ho saber perquè pugui idear una alternativa. (A partir de la versió 0.45, XMM15 i R15 es deixen sense tocar, i els primers 8 bytes del codi operatiu il·legal es retornen a RAX.)​ * A partir de la versió 0.38, es gestiona un codi operatiu il·legal 'màgic': el​ normalment- la instrucció il·legal 3f 55 44 ('?UD') retorna 'MouSSE42' a RAX,​ com una manera de provar que MouSSE està carregat i actiu. Sense que MouSSE s'executi,​ aquesta instrucció generarà una excepció #UD a qualsevol sistema, nou o antic.​ * A partir de la versió 0.91, MouSSE manté estadístiques de les instruccions que emula, així com les instruccions AVX/AVX2/AVX-512. troba (però no emula). Aquestes estadístiques es tornen amb la instrucció 'màgica' atrapada.​ La nova utilitat MouSSEstats pot mostrar aquestes estadístiques.​ També a partir de la versió 0.91, la instrucció SSE4.2 CRC32 està implementada.​ En aquest punt, només la SSE4.2 PCMP?STR? Les instruccions no s'emulen. A part de tot el que IOKit fa servir a l'inici, MouSSE no utilitza memòria assignada dinàmicament, de manera que no hi ha possibilitats de fuga de memòria. MouSSE no crea cap procés; és simplement una extensió del nucli.​ ​ MouSSE no llegeix ni escriu cap fitxer, ni accedeix a cap xarxa, ni toca cap altre dispositiu. Tot el que fa és vigilar les instruccions que coneix i emular-les quan apareguin. Actualment, el registre només es produeix en el moment de la càrrega.​ ​ MouSSE tampoc comprova si la vostra CPU ja és compatible amb SSE4.2. Si instal·leu MouSSE en un sistema més nou, es carregarà, però mai no farà res més que ocupar una mica de memòria, perquè les CPU més noves poden gestionar les instruccions SSE4.2 elles mateixes, i MouSSE suportarà silenciosament la soledat d'un programa al qual mai se li demana que faci res.​ * A partir de la versió 0.38, això no és del tot cert - MouSSE fa comproveu SSE 4.2 natiu i es desactiva explícitament si la CPU l'admet de forma nativa. Actualment, no hi ha una manera senzilla de fer que MouSSE es descarregui completament en aquesta situació, de manera que encara ocupa espai de memòria del nucli, però mai ho fa. qualsevol altra cosa. Com que una versió anterior de MouSSE semblava causar certa confusió, deixeu-me que sigui clar: MouSSE no 'anuncia' la capacitat SSE4.2, simplement proporciona emulació per a determinades instruccions si la CPU intenta executar-les. Si la instrucció CPUID s'utilitza per comprovar la capacitat SSE4.2 en una CPU anterior a SSE4.2, aquesta prova retornarà 'SSE4.2 no compatible', perquè MouSSE no atrapa CPUID. A la pràctica, això no és un problema, ja que l'ús de SSE4.2 al qual es dirigeix ​​principalment MouSSE (el controlador de vídeo AMD) no realitza aquesta comprovació de CPUID.​ Per tot això, MouSSE és passiu, si no hi ha instruccions SSE4.2/il·legals. mai es troben, MouSSE mai no farà res.​
*** Per què veig 'AAA.LoadEarly.MouSSE' a la meva sortida del kextstat?
*** Per què el kext es diu 'AAAMouSSE.kext'?

MacOS té un procediment d'inici complex. Com que el punt principal de MouSSE és permetre que els controladors de vídeo AMD funcionin, MouSSE s'ha de carregar i inicialitzar abans que ho facin els controladors AMD. Una part de la inicialització del sistema crea un arbre de dependències i MouSSE intenta posar-se el més a prop possible de la part superior d'aquest arbre. Fora d'aquest arbre, les coses es gestionen alfabèticament; per tant, enganxar 'AAA' al començament del nom del kext el situa a la part superior de la llista alfabètica (com si es trobés 'AAA-BestPlumbers' al començament de les Pàgines Grogues). algú encara fa servir les Pàgines Grogues?)). Normalment, el nom complet del kext inclouria un nom de domini de dreta a esquerra, com ara 'com.apple.xyzzy', però aquí de nou, mitjançant l'ús d'un domini de primer nivell anomenat 'AAA', MouSSE pot impulsar-se a si mateix. la part superior de la llista alfabètica. Tot és només un esforç perquè MouSSE carregui i s'inicialitzi abans de qualsevol cosa que pugui utilitzar una instrucció SSE4.2.
*** Alguna cosa més?
Si utilitzeu controladors AMD més nous amb un sistema operatiu més nou en un Mac antic, probablement ja esteu executant amb SIP desactivat. Si no, ho sento, aquest programari requereix que SIP estigui desactivat.​ ​ Per simplificar la interfície IOKit, MouSSE té un petit embolcall de C++, però tot el codi important està escrit en llenguatge ensamblador (per a la velocitat).​ ​ Només per repetir-me. , UTILITZA AQUEST PROGRAMARI BAIX EL SEU PROPI RISC. L'he fet servir diàriament al meu Mac Pro 3.1 amb un AMD Radeon RX 570 durant gairebé un any sense incidents, però el vostre quilometratge pot variar. Si perds temps, diners o el teu seny a causa de defectes en aquest programari, considera't previ.​ ​ El nom semi-capritxos prové d'un altre lloc, però pots pensar-hi com 'Els Mac haurien d'entendre SSE' (MouSSE) si M'agrada. O, si no t'agrada el teu germà, 'La meva germana indignadament lletja emmalalteix a tothom'. O, si ets un megalòman, 'El meu objectiu, en última instància, hauria de substituir-ho tot'. Sigui el que et faci feliç.​ ​ A partir de la versió 0.91, he afegit una utilitat de línia d'ordres anomenada MouSSEstats que mostrarà algunes estadístiques sobre què ha trobat MouSSE des que es va carregar per darrera vegada (presumiblement, l'última vegada que es va reiniciar el sistema). De moment, aquesta publicació serà el repositori oficial de MouSSE, amb actualitzacions publicades a mesura que es produeixin. En algun moment en el futur, és possible que el traslladi a un amfitrió independent, que s'anotarà aquí. Quan feu referència a persones a MouSSE, només heu d'enllaçar directament a aquesta publicació, que sempre tindrà la versió i la informació més recents.​
*** Com ho instal·lo?
La manera més senzilla d'instal·lar MouSSE és utilitzar un dels pedaços de MacOS, ja sigui de @dosdude1 ( http://dosdude1.com ) o @0403979 /RMC Team ( https://github.com/rmc-team/macos-patcher/releases ).​ ​ No he escrit cap instal·lador autònom. De moment, si no esteu instal·lant MouSSE amb un pegat de MacOS, heu de fer la instal·lació manualment. Com que aquest fòrum no permet pujar fitxers .tgz, el .tgz està comprimit, és a dir, l'haureu de descomprimir/ampliar dues vegades. Suggereixo el següent:
  1. expandiu el fitxer ZIP i després el fitxer .TGZ adjunt
  2. obrir un terminal
  3. tipus |_+_| (canvieu el camí del vostre sistema)
  4. tipus |_+_|
  5. tipus |_+_|
  6. reiniciar
(Si esteu instal·lant en una partició alternativa, anteposeu l'arrel d'aquesta partició als dos camins, per exemple |_+_| i |_+_| - però tingueu en compte que si el vostre sistema operatiu arrencat actualment és Mojave o anterior, i / Volums/OtherDisk/ conté Catalina o posterior, l'operació kextcache fallarà en silenci. Això té a veure amb com Apple va dividir els sistemes de fitxers a Catalina i no té res a veure amb MouSSE.)​ * A partir de la versió 0.45, es recomana utilitzeu /Library/Extensions en lloc de /System/Library/Extensions, especialment a Catalina (a causa que el sistema de fitxers arrel és només de lectura).​ ​ Els gestors de kext de tercers, com ara KextBeast, també haurien de funcionar (però jo no no n'he provat cap).​
*** Com puc desinstal·lar-lo?
Com que MouSSE no és el tipus de coses que probablement instal·leu i desinstal·leu regularment, tampoc m'he preocupat de crear un script de desinstal·lació. Per desinstal·lar MouSSE al sistema en execució actual, només cal que feu el següent:​
  1. obrir un terminal
  2. escriviu |_+_|, premeu |_+_|
  3. escriviu |_+_|, premeu |_+_|
  4. escriviu |_+_|, premeu |_+_|
  5. reiniciar
(Per desinstal·lar MouSSE d'un disc/partició alternatiu, canvieu el camí als passos 2 i 4 per incloure la informació del volum principal, per exemple |_+_| i |_+_|, però tingueu en compte que si el vostre sistema operatiu arrencat actualment és Mojave o anterior, i /Volumes/MyOtherMacOSinstallation/ conté Catalina o posterior, l'operació kextcache fallarà en silenci. Això té a veure amb com Apple va dividir els sistemes de fitxers a Catalina i no té res a veure amb MouSSE.)​ * A partir de la versió 0.45 , es recomana utilitzar /Library/Extensions en lloc de /System/Library/Extensions, especialment a Catalina (a causa que el sistema de fitxers arrel és només de lectura).​ ​ Per ser clar, si carregueu el kext manualment (mitjançant kextload). o kextutil), podeu descarregar-lo amb seguretat i es netejarà després de si mateix. Si teniu una versió de MouSSE en execució, podeu provar de substituir-la sobre la marxa executant |_+_| al directori que conté ./AAAMouSSE.kext - segons la meva experiència, aproximadament el 75% del temps, això farà que el WindowServer es bloquegi i es reiniciï (haureu de tornar a iniciar sessió), però el sistema romandrà activat; aproximadament el 20% del temps, res s'estavellarà/morira i la substitució serà perfecta; i aproximadament un 5% del temps, canviar MouSSE sobre la marxa donarà lloc a una pantalla negra/reinici.​ Suggereixo no fer aquesta substitució en temps real tret que estigueu preparat per a un accident dur, però és viable la majoria de les temps.​

*** D'acord, he instal·lat MouSSE, però ara la meva nova targeta de vídeo AMD es porta malament...
Els problemes més habituals es produeixen si prèviament heu instal·lat pedaços per fer que les targetes de vídeo heretades funcionin. Si aquests pedaços estan instal·lats, MacOS es pot confondre sobre quina pantalla utilitzar, quin framebuffer utilitzar per a quina pantalla, etc. Si teniu problemes amb una targeta de vídeo AMD moderna compatible i encara teniu instal·lats aquests pedaços, cal eliminar-los (que malauradament, en la majoria dels casos, implica reinstal·lar el sistema operatiu). L'ús d'una targeta de vídeo heretada (per veure la pantalla d'arrencada de MacOS) i una targeta de vídeo AMD moderna simultàniament, sense els pegats de 'vídeo heretat', és una proposta incòmode: algunes combinacions funcionen de vegades, altres no. treballar en absolut. Tot i que estaria bé tenir el 'millor dels dos mons' (pantalla d'arrencada visible i acceleració GPU moderna), el millor és mantenir la targeta heretada en un prestatge proper i utilitzar-la només quan sigui necessari.​ Si teniu problemes però no teniu instal·lat cap pedaç de vídeo heretat, si us plau, proveu de contactar amb l'autor a l'Eeternalforum. (També em guardo als fils 'MacOS * en Mac no compatibles', si prefereixes provar-me allà.)​ ​ (A banda, si vols canviar la configuració perquè pugueu veure les pantalles d'arrencada en una targeta de vídeo que no una ROM EFI de Mac, fes una ullada a aquesta publicació: funciona molt bé. També pots vincular-la amb OpenCore.)​
*** Tinc una CPU Penryn, però no faig servir una targeta Metal AMD ni executo World of Warcraft. He d'instal·lar MouSSE?
La resposta curta és ' no .' Si el vostre sistema funciona bé i no teniu previst actualitzar la vostra targeta de vídeo a un model AMD modern i/o no teniu previst executar cap programari que requereixi SSE4.2, instal·lar MouSSE només us consumirà una mica. memòria del nucli i no us proporcionarà cap benefici real.​
HISTÒRIA DE VERSIONS (només s'enumeren les versions que van escapar de la captivitat):
v0.20 - 15 d'agost de 2019 - Primera versió llançada a la natura.
v0.30 - 12 de setembre de 2019 - Ajustos per permetre la instal·lació a partir d'El Capitan
v0.32 - 20 de setembre de 2019: captura de dades de codi operatiu il·legal a XMM15/R15
v0.35 - 07 d'octubre de 2019 - S'han afegit més diagnòstics d'inicialització
v0.38 - 17 d'octubre de 2019 - S'han afegit més registres, detecció de codi d'operació 'màgica'.
v0.45 - 28 de febrer de 2020 - S'ha mogut el retorn il·legal del codi operatiu a RAX per a la compatibilitat, s'ha corregit l'error POPCNT +32d
v0.91 - 14 d'abril de 2020 - Reescriptura important de l'analitzador. S'han corregit diversos errors. S'han afegit moltes optimitzacions. S'ha afegit la funcionalitat CRC32. S'ha afegit suport per a tots els modes d'adreçament. S'han afegit estadístiques (es retornen quan la instrucció 'màgica' està atrapada). Reconeix (però no emula) les instruccions AVX/AVX2/AVX-512.
v0.92 - 28 d'abril de 2020 - Reescriptura important de la infraestructura de gestió de trampes, que hauria de fer que MouSSE sigui molt més estable en entorns difícils. També algunes correccions d'errors menors. Millores al programa MouSSEstats.
v0.93 - 22 de maig de 2020 - Correcció d'errors menors (rarament - desplaçament mal calculat)
v0.95 - 08 de juny de 2021 - Suport a Monterey

Adjunts

  • MouSSE_0.95_RELEASE.zip23,4 KB · Visualitzacions: 129
Última edició: 1 de setembre de 2021
Reaccions:macinfo, Ausdauersportler, Petri Krohn i 17 més J

joevt

Col·laborador
21 de juny de 2012


  • Oct 19, 2019
Encara no he fet gaires proves, però sí que ho he provat a Catalina al meu MacPro3,1. Sense ell, World of Warcraft.app es bloqueja en el llançament. Amb ell, es carrega i juga. Estic fent servir una GTX 680. Tanmateix, hi ha algun problema estrany amb el dibuix de text.

Visualitza l'element multimèdia '>

Més endavant provaré altres versions del sistema operatiu. També tinc un RX580 per provar.
10.11 El Capitan
10.12 Serra
10.13 High Sierra
10.14 Mojave

Syncretic va dir: Per ser clar, si carregueu el kext manualment (mitjançant kextload o kextutil), el podeu descarregar amb seguretat i es netejarà després de si mateix.
Podeu descarregar-lo amb seguretat fins i tot si no heu carregat el kext manualment.

Syncretic va dir: Els problemes més comuns es produeixen si prèviament heu instal·lat pedaços per fer que les targetes de vídeo heretades funcionin.
Com es pot determinar si els pegats de 'vídeo heretat' estan instal·lats? Els pedaços tenen molt poca documentació. M'agradaria veure una llista de tots els pedaços, per a què serveixen i quins fitxers afecten (per tant, potser es podria desfer un pedaç substituint els fitxers per la versió original de l'instal·lador de macOS).

ACTUALITZACIÓ: una versió posterior (0.93) de l'AAAMouSSE.kext arregla el dibuix de text a World of Warcraft. Última edició: 1 de febrer de 2021
Reaccions:Flint Ironstag i Timothy R734 J

joevt

Col·laborador
21 de juny de 2012
  • Oct 19, 2019
Algunes idees:
Si l'emulador està instal·lat, la gent no sabrà que ha solucionat res tret que tinguin problemes abans d'instal·lar l'emulador. Potser l'emulador podria tenir dos camins de codi diferents:
1) camí ràpid: per obtenir la millor velocitat
2) ruta de depuració - per al registre i les estadístiques - fa un seguiment de les ubicacions que tenen instruccions il·legals. té un recompte per a cada ubicació, potser un abocador de pila.

El kext podria tenir un UserClient que permeti canviar entre els camins de codi, abocar i esborrar les estadístiques.

A continuació, es pot crear una utilitat de línia d'ordres per trucar a UserClient.

Fer un seguiment de les ubicacions i els abocaments de pila necessitaria memòria, així que potser només feu un seguiment de les 100 darreres ubicacions úniques (pid, hora, adreça, recompte).
Reaccions:TimothyR734 S

Sander G

Oct 18, 2014
Països Baixos
  • Oct 20, 2019
Hy sincrètic,
Tinc un iMac 10.1 amb ATI Radeon HD 4670, amb Mojave amb el pegat de Dosdude1.
'sysctl machdep.cpu.features machdep.cpu.feature_bits' mostra SSE4.1.
Recomanaríeu instal·lar MouSSE? No estic jugant, però sempre busco obtenir el millor rendiment i estic pensant en instal·lar Catalina.
Reaccions:TimothyR734

Sincrètic

Col·laborador
Cartell original
22 d'abril de 2019
  • Oct 20, 2019
joevt va dir: Com es pot determinar si estan instal·lats els pedaços de 'vídeo heretat'? Els pedaços tenen molt poca documentació. M'agradaria veure una llista de tots els pedaços, per a què serveixen i quins fitxers afecten (per tant, potser es podria desfer un pedaç substituint els fitxers per la versió original de l'instal·lador de macOS).
Per desgràcia, estic tan a les fosques sobre això com tu. M'ha mossegat la situació en què he actualitzat MacOS i explícitament no va aplicar un pedaç de vídeo heretat, només per descobrir més tard que el pedaç del sistema operatiu anterior persistia. Tant de bo, els autors del pegat proporcionaran alguna orientació sobre aquest problema en el futur.

opcions re:quick/debug: bons suggeriments, els tindré en compte per a futures versions. No obstant això, semblen adreçats a un públic força reduït.

SanderG va dir: Hy Syncretic,
Tinc un iMac 10.1 amb ATI Radeon HD 4670, amb Mojave amb el pegat de Dosdude1.
'sysctl machdep.cpu.features machdep.cpu.feature_bits' mostra SSE4.1.
Recomanaríeu instal·lar MouSSE? No estic jugant, però sempre busco obtenir el millor rendiment i estic pensant en instal·lar Catalina.
Si el vostre sistema (i totes les aplicacions que necessiteu per executar) funciona, no necessiteu MouSSE. La vostra targeta HD4670 no és compatible amb metalls, de manera que no hi ha cap benefici (del qual en sóc conscient) provar de canviar dels controladors AMD heretats als natius. A menys que tingueu previst actualitzar la vostra targeta de vídeo o tenir algun programari que es bloqueja amb una misteriosa falla d''instrucció il·legal', no afegiria MouSSE a la barreja.
Reaccions:TimothyR734 i SanderG

jackluke

15 de juny de 2018
  • Oct 20, 2019
joevt va dir: Com es pot determinar si estan instal·lats els pedaços de 'vídeo heretat'? Els pedaços tenen molt poca documentació. M'agradaria veure una llista de tots els pedaços, per a què serveixen i quins fitxers afecten (per tant, potser es podria desfer un pedaç substituint els fitxers per la versió original de l'instal·lador de macOS).

Podeu comprovar fàcilment des de Catalina Terminal (copiar/enganxar en una línia):

cerca /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/ -name SkyLightOriginal

si teniu una ocurrència, segurament teniu aplicat un pedaç de vídeo heretat, però no només a Catalina els 'pedaços de vídeo heretats' impliquen aquests (pres de Mojave i pegat):

Frameworks: OpenGL.framework, CoreDisplay.framework
Privateframeworks: SkyLight.framework, GPUSupport.framework
Extensions: IOSurface.kext, IOGraphicsFamily.kext, IOAcceleratorFamily2.kext, IONDRVSupport.kext, AppleGraphicsControl.kext

per eliminar el pedaç de vídeo, heu de substituir-los pels actuals de Catalina, una manera més senzilla de tornar a instal·lar Catalina al vostre volum. Última edició: 20 d'octubre de 2019
Reaccions:Atletes de resistència i TimothyR734 N

netkas

Oct 2, 2007
  • Oct 20, 2019
Finalment va sortir mousse, genial!
Reaccions:TimothyR734, Prophet96ix, LightBulbFun i 1 persona més S

Steenvoorde

6 de gener de 2019
  • Oct 20, 2019
Vaig provar (crec) la primera versió d'aquest pegat, però no em va funcionar. Només una pantalla negra, i crec que vaig veure un cursor en el primer segon abans que la pantalla fos fosca. Així que de moment he utilitzat una GTX 680 de segona mà amb una ROM d'arrencada EFI, que funciona bé. M'encantaria tornar-ho a provar amb aquesta versió i el meu RX580 al meu Mac Pro 3.1, algú té una configuració de treball amb aquesta combinació de MP i GPU?

Per la resta, gran feina. Gràcies per l'esforç Syncretic! Reaccions:TimothyR734 J

joevt

Col·laborador
21 de juny de 2012
  • Oct 20, 2019
jackluke va dir: Podeu comprovar fàcilment des de Catalina Terminal (copiar/enganxar en una línia):

cerca /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/ -name SkyLightOriginal

si teniu una ocurrència, segurament teniu aplicat un pedaç de vídeo heretat, però no només a Catalina els 'pedaços de vídeo heretats' impliquen aquests (pres de Mojave i pegat):

Frameworks: OpenGL.framework, CoreDisplay.framework
Privateframeworks: SkyLight.framework, GPUSupport.framework
Extensions: IOSurface.kext, IOGraphicsFamily.kext, IOAcceleratorFamily2.kext, IONDRVSupport.kext, AppleGraphicsControl.kext

per eliminar el pedaç de vídeo, heu de substituir-los pels actuals de Catalina, una manera més senzilla de tornar a instal·lar Catalina al vostre volum.
No he trobat cap fitxer que contingués un sufix original.
Codi: |_+_| Això no és suficient per trobar pedaços.
Reaccions:TimothyR734

jackluke

15 de juny de 2018
  • Oct 20, 2019
joevt va dir: No he trobat cap fitxer que contingués un sufix original.
Codi: |_+_| Això no és suficient per trobar pedaços.

Tu has preguntat ' Com es pot determinar si estan instal·lats els pedaços de 'vídeo heretat'?

He indicat com trobar un rastre dels 'pegats de vídeo', si no trobeu cap '*Original' vol dir que no teniu aplicat el 'pegat de vídeo' a la vostra màquina, probablement tingueu una GPU de metall, per això.

No oblideu que en qualsevol intèrpret d'ordres Unix es fa una cerca (i qualsevol altra acció: rm, mv, cp, etc.) en un fitxer/carpeta. cas delicat . Heu escrit al vostre exemple una sintaxi incorrecta, a més no és *original* sinó *original*

De totes maneres, no hi ha una manera senzilla de tornar a un sistema sense pedaços, perquè heu de reconstruir un nucli preenllaçat des d'un nucli amb pedaços a altres que no, a més, alguns marcs complicats estan en ús constant per macOS, de manera que només els podeu substituir des d'un entorn de recuperació. , la solució ràpida és tornar a instal·lar . Última edició: 20 d'octubre de 2019
Reaccions:TimothyR734 EL

Ludacrisvp

14 de maig de 2008
  • Oct 20, 2019
Gran feina de nou en això. Encantat de tenir-lo disponible per a tothom ara.
Reaccions:TimothyR734 i Prophet96ix J

joevt

Col·laborador
21 de juny de 2012
  • Oct 20, 2019
jackluke va dir: He indicat com trobar un rastre dels 'pegats de vídeo', si no trobeu cap '*Original' vol dir que no teniu 'pegat de vídeo' aplicat a la vostra màquina, probablement tingueu una GPU metàl·lica, per això .
Genial, gràcies per confirmar.

jackluke va dir: No oblideu que en qualsevol intèrpret d'ordres Unix es fa una cerca (i qualsevol altra acció: rm, mv, cp, etc.) en un fitxer/carpeta. cas delicat . Heu escrit al vostre exemple una sintaxi incorrecta, a més no és *original* sinó *original*
Crec que la sintaxi és correcta. He utilitzat -iname per a la coincidència de noms sense distinció de majúscules i minúscules.

jackluke va dir: De totes maneres, no hi ha una manera fàcil de tornar a un sistema sense pedaços, perquè heu de reconstruir un nucli preenllaçat des dels que tenen pedaços als que no estan pegats, també alguns marcs complicats estan en ús constant per macOS, de manera que només els podeu substituir des de un entorn de recuperació, la solució ràpida és tornar a instal·lar .
No vaig pensar en modificar els marcs d'un sistema en execució. Ho tindré en compte si ho he de fer en el futur. Tinc molts altres sistemes operatius al meu Mac Pro per arrencar, de manera que no serà tan dolent com arrencar en una partició de recuperació.
Reaccions:TimothyR734 i Jackluke EL

Ludacrisvp

14 de maig de 2008
  • Oct 20, 2019
Vaig trobar una aplicació que provoca pànic que crida aquest kext.
No és un problema per a mi, ja que aquesta aplicació no 'fa' res més que proporcionar informació sobre el tipus de referència.

Dit això, encara estic executant la versió 0.32 d'aquest kext.

'CL!ng' és una petita aplicació que mostra informació sobre dispositius OpenCL. I mostra algunes proves d'amplada de banda de memòria i rendiment de càlcul per a diferents precisions. Només llançar aquesta aplicació provoca pànic.

Spoiler:Pila de pànic Codi: |_+_|
Reaccions:TimothyR734 J

joevt

Col·laborador
21 de juny de 2012
  • Oct 20, 2019
Ludacrisvp va dir: He trobat una aplicació que provoca pànic que crida aquest kext.
No és un problema per a mi, ja que aquesta aplicació no 'fa' res més que proporcionar informació sobre el tipus de referència.

Dit això, encara estic executant la versió 0.32 d'aquest kext.

'CL!ng' és una petita aplicació que mostra informació sobre dispositius OpenCL. I mostra algunes proves d'amplada de banda de memòria i rendiment de càlcul per a diferents precisions. Només llançar aquesta aplicació provoca pànic.
Torna-ho a provar amb la darrera versió.

CL!ng no es va espantar al meu MacPro3,1, GTX 680 amb 0,35 del kext. De fet, funciona fins i tot si descarrego el kext.
Codi: |_+_|
Això podria ser específic d'AMD.
Reaccions:TimothyR734

Shaneee

set 28, 2017
Escòcia
  • Oct 21, 2019
Bon treball. Hi ha possibilitats de veure la font? Enllaç Github o alguna cosa potser.
Reaccions:thekev i TimothyR734

Sincrètic

Col·laborador
Cartell original
22 d'abril de 2019
  • Oct 21, 2019
Ludacrisvp va dir: He trobat una aplicació que provoca pànic que crida aquest kext.
No és un problema per a mi, ja que aquesta aplicació no 'fa' res més que proporcionar informació sobre el tipus de referència.

Dit això, encara estic executant la versió 0.32 d'aquest kext.

'CL!ng' és una petita aplicació que mostra informació sobre dispositius OpenCL. I mostra algunes proves d'amplada de banda de memòria i rendiment de càlcul per a diferents precisions. Només llançar aquesta aplicació provoca pànic.

Diumenge 20 d'octubre 23:48:42 2019

*** Informe de pànic ***
pànic (cpu 0 trucant 0xffffff801e2dbadd): trampa del nucli a 0xffffff7fa2e3c020, tipus 6 = codi operatiu no vàlid, registres:
Interessant: aquest abocament de pila suggereix que el mateix MouSSE va llançar un #UD, cosa que no hauria de ser possible. Si us plau, proveu la versió 0.38 i aviseu-me si ha canviat alguna cosa. Em tens curiositat.

Shaneee va dir: Bona feina. Hi ha possibilitats de veure la font? Enllaç Github o alguna cosa potser.
Gràcies. En l'actualitat, no tinc plans per convertir-lo en un projecte de codi obert.
Reaccions:TimothyR734 i Ludacrisvp EL

Ludacrisvp

14 de maig de 2008
  • Oct 21, 2019
joevt va dir: Torna-ho a provar amb la darrera versió.

CL!ng no es va espantar al meu MacPro3,1, GTX 680 amb 0,35 del kext. De fet, funciona fins i tot si descarrego el kext.
Codi: |_+_|
Això podria ser específic d'AMD.
Tinc un RX 580 al 3,1.
CL!ng funciona bé a la meva altra màquina amb un altre RX 580.
Reaccions:TimothyR734 EL

Ludacrisvp

14 de maig de 2008
  • Oct 21, 2019
Syncretic va dir: Interessant: aquest abocador de pila suggereix que el mateix MouSSE va llançar un #UD, cosa que no hauria de ser possible. Si us plau, proveu la versió 0.38 i aviseu-me si ha canviat alguna cosa. Em tens curiositat.
Encara estic en pànic amb el 0,38 de MouSSE, el pànic, però és tan ràpid/abrupte que el Mac no pot desar res, només un reinici instantani.

També em vaig adonar que estava fent servir la versió 1.0 de CL!ng, en lloc d'una versió molt més recent 1.6 que funciona bé.

El motiu pel qual volia provar amb CL!ng és que us pot ajudar a determinar la vostra velocitat real del bus PCIe.
En el meu cas, sembla que estic atrapat amb 2.5GT/s (també conegut com PCIe 1.1/1.0) fins i tot quan aquesta targeta està en una ranura 16x 2.0.
Em pregunto si algú té alguna idea sobre com fer-lo funcionar a velocitats de 5.0GT/s (també conegut com PCIe 2.0) al 3,1.

Spoiler:lspci -vvnn (de macOS) Codi: |_+_|
Reaccions:TimothyR734

MIKX

16 de desembre de 2004
Japó
  • Oct 22, 2019
Vaig tenir un problema amb el meu Sapphire Dual-X 7970 que mostrava 2.5GT/s a la versió Mojave 10.14.6 18G103 a principis d'aquest mes.

Vaig tancar i vaig moure el 7970 a la ranura 2 i després vaig tornar a començar (arrencada en fred) ho vaig arreglar màgicament, ja que la targeta arribava a 5GT/S.
Un altre apagat, va tornar el 7970 a la ranura 1, es va reiniciar més un reinici de NVRAM TRES VEGADES (consecutivament). Va tornar a sortir a 5GT/S.

Sembla que això torna a configurar les meves ranures PCIe.

Des de llavors, he eliminat el 7970 i he tornat a instal·lar el meu MSI Armor RX 580 8gb que funciona correctament a X 16 Link Width @ 5GT/S.

Potser les targetes més antigues (HD 7970) tenen problemes ocasionals amb Mojave 10.14.6?
Reaccions:TimothyR734

Sincrètic

Col·laborador
Cartell original
22 d'abril de 2019
  • Oct 22, 2019
Ludacrisvp va dir: Encara estic en pànic amb el 0,38 de MouSSE, el pànic, però és tan ràpid / brusc que el Mac no pot desar res, només un reinici instantani.

També em vaig adonar que estava fent servir la versió 1.0 de CL!ng, en lloc d'una versió molt més recent 1.6 que funciona bé.

El motiu pel qual volia provar amb CL!ng és que us pot ajudar a determinar la vostra velocitat real del bus PCIe.
En el meu cas, sembla que estic atrapat amb 2.5GT/s (també conegut com PCIe 1.1/1.0) fins i tot quan aquesta targeta està en una ranura 16x 2.0.
Em pregunto si algú té alguna idea sobre com fer-lo funcionar a velocitats de 5.0GT/s (també conegut com PCIe 2.0) al 3,1.
Vaig mirar una vegada pel forat del conill de 5.0GT/s, però no vaig fer el salt (encara) per altres obligacions. @tsialex va suggerir mirar al final de aquest document (cerqueu 'Habilitació de PCIe 2.0 a la ranura núm. 2', destinat a SSD NVMe, però PCIe hauria de ser PCIe). També va dir que aquest era el comandament essencial:
Codi: |_+_| Jo mateix no he provat res d'això (encara), però sembla prometedor.


re: MouSSE pànic
Encara tinc curiositat per què podria estar causant aquest pànic, suposant que realment prové de MouSSE. Si esteu contents d'executar CL!ng v1.6, estic content de deixar prou bé sol. Si descobriu un registre desat o obteniu informació d'abocament/traça de la pila mitjançant MouSSE 0.38, feu-m'ho saber perquè pugui fer-ne un seguiment i dormir millor a la nit.
Reaccions:TimothyR734 i Ludacrisvp EL

Ludacrisvp

14 de maig de 2008
  • Oct 22, 2019
Syncretic va dir: Vaig mirar una vegada pel forat del conill de 5.0GT/s, però no vaig fer el salt (encara) a causa d'altres obligacions. @tsialex va suggerir mirar al final de aquest document (cerqueu 'Habilitació de PCIe 2.0 a la ranura núm. 2', destinat a SSD NVMe, però PCIe hauria de ser PCIe). També va dir que aquest era el comandament essencial:
Codi: |_+_| Jo mateix no he provat res d'això (encara), però sembla prometedor.
Ho he provat innombrables vegades utilitzant diferents versions de setpci... la versió que s'esmenta a la guia és la 3.2.2, i també he instal·lat la 3.5.6.
No importa el que intenti, no funciona, només es queda enganxat a PCIe 1.0
Reaccions:TimothyR734 J

joevt

Col·laborador
21 de juny de 2012
  • Oct 22, 2019
Syncretic va dir: Vaig mirar una vegada pel forat del conill de 5.0GT/s, però no vaig fer el salt (encara) a causa d'altres obligacions. @tsialex va suggerir mirar al final de aquest document (cerqueu 'Habilitació de PCIe 2.0 a la ranura núm. 2', destinat a SSD NVMe, però PCIe hauria de ser PCIe). També va dir que aquest era el comandament essencial:
Codi: |_+_|
L'ordre era originàriament del #207. Normalment només funciona amb dispositius PCIe que no són targetes gràfiques. Estableix una velocitat d'enllaç objectiu. Una segona ordre demana que l'enllaç es torni a entrenar #212. Un dispositiu PCIe pot optar per ignorar la velocitat de l'enllaç objectiu i triar una velocitat més baixa. Això és el que fan les GPU. El controlador de la GPU probablement estableixi una velocitat d'enllaç objectiu en un altre lloc (probablement un registre específic del fabricant) depenent de si s'està fent o no el càlcul o la representació.

L'ordre és necessària per executar dispositius PCIe 3.0 (com NVMe, Thunderbolt o noves targetes USB) a velocitat PCIe 2.0 en lloc de velocitat PCIe 1.0 als Mac Pro abans que existís el nou microprogramari instal·lat per Mojave (o a MacPro3,1 o ​​anteriors que no no obteniu un nou firmware). També podeu utilitzar l'ordre per provar velocitats d'enllaç més baixes per a un dispositiu (si teniu una ranura PCIe 3.0 o PCIe 2.0 i voleu veure com es comporta un dispositiu a velocitat PCIe 2.0 o PCIe 1.0).

Instruccions: #474, ​​Descàrregues: #482
Reaccions:TimothyR734 i Ludacrisvp M

mans

set 15, 2007
  • 17 de gener de 2020
hola,

Estic fent servir un Mac Pro 3,1 a 10.5.2 amb RX560 fent servir el vostre pedaç. La targeta funciona molt bé amb el mateix macOS, sense cap lentitud. Tanmateix, he estat provant d'executar una màquina virtual de Windows 10 a Parallels 15 i sembla que no hi ha cap acceleració de maquinari, així que bàsicament no es pot utilitzar. Això podria ser perquè no esteu emulant el conjunt d'instruccions SSE 4.2 complet?

edició: acabo de tenir la idea de provar el paral·lel 14 el 10.15 que encara no tenia suport metàl·lic Darrera edició: 17 de gener de 2020
Reaccions:TimothyR734 J

joevt

Col·laborador
21 de juny de 2012
  • 17 de gener de 2020
Mani va dir: Hola,

Estic fent servir un Mac Pro 3,1 a 10.5.2 amb RX560 fent servir el vostre pedaç. La targeta funciona molt bé amb el mateix macOS, sense cap lentitud. Tanmateix, he estat provant d'executar una màquina virtual de Windows 10 a Parallels 15 i sembla que no hi ha cap acceleració de maquinari, així que bàsicament no es pot utilitzar. Això podria ser perquè no esteu emulant el conjunt d'instruccions SSE 4.2 complet?

editar: acabo de tenir la idea de provar els paral·lels 14 el 10.15 que encara no tenia suport metàl·lic
Parallels no funciona a MacPro3,1 a tota velocitat més enllà de macOS 10.14.3. Res a veure amb l'emulació SSE: podeu desinstal·lar-la i Parallels seguirà funcionant, simplement insuportablement lent.
Reaccions:TimothyR734 A

amd64

Feb 16, 2020
  • Feb 16, 2020
Hola. Estic fent servir MacPro3,1 (2 x 2,8 GHz Quad-Core Intel Xeon) el 10.13.6 (17G11023). He intentat instal·lar AAAMouSSE.kext a /S/L/E per utilitzar el meu RX470. El Mac OS s'inicia correctament, però amb alguns errors, i no puc iniciar sessió. Després d'introduir la contrasenya i prémer Intro, l'inici de sessió ha fallat i Mac OS només torna a carregar la pantalla d'inici de sessió (torna a la pantalla de selecció d'usuari).

Torno a canviar el meu GTX960 al Mac Pro i vaig provar d'executar:
suo kextunload /System/Library/Extensions/AAAMouSSE.kext
i va tenir èxit, vol dir que el kext està instal·lat correctament.

M'he perdut alguna cosa o hi ha alguna solució? Moltes gràcies.
Reaccions:TimothyR734
  • 1
  • 2
  • 3
  • Ves a la pàgina

    Vés
  • 8
Pròxim

Ves a la pàgina

VésPròxim Darrer