it-swarm.com.de

Android Studio, Plötzlich bekam GPU-Treiberproblem beim Ausführen des Emulators

Ich habe einen Laptop, den ich hauptsächlich für die Android-Entwicklung auf Android Studio verwende. Heute bekam ich plötzlich diese Fehlermeldung (oder eine veraltete Version davon), als ich meinen Emulator ausführte

Your GPU driver information:

GPU #1
Make: 8086
Model: Intel(R) HD Graphics Family
Device ID: 0a16
Driver version: 10.18.10.3945
GPU #2
Make: 10de
Model: NVIDIA GeForce 820M
Device ID: 1140
Driver version: 22.21.13.8476 

Some users have experienced emulator stability issues with this driver version. As a result, were selecting a compatibility renderer. Please check with your manufacturer to see if there is an updated driver available. 

Geforce-Treiber wurde aktualisiert, aber es gab keine Verwendung. Es wurde versucht, die Intel-Version zu aktualisieren, schlug aber fehl. Gibt es eine Möglichkeit, dies zu deaktivieren? den Kompatibilitätsrenderer umgehen und wie gewohnt arbeiten, der Emulator ist jetzt schrecklich. Gibt es eine Erklärung, warum das plötzlich passiert ist?

Auch ich verwende Windows 7 64-Bit, wenn das bei irgendetwas hilft, hatte vor einigen Tagen ein Update.

47
newRuser

Ich verwende Win10, habe aber das gleiche Problem. Emulator hat nach dem letzten Emulator-Update einen Absturz meiner App festgestellt. In meinem Fall besteht das Problem darin, dass der Emulator nicht auf Hardware ausgeführt wird, obwohl ich nie ein Problem mit meinen GPUs hatte. Das "GPU-Treiberproblem" -Fenster, das sich öffnet, kennzeichnet nicht einmal, welche der GPUs es für das Problem hält. 

Für mich funktionierte die Lösung darin, den Emulator über das Terminal auszuführen und ihn dazu zu zwingen, mit Hardware-Grafiken zu arbeiten (anstatt den Emulator über den Befehl entscheiden zu lassen)

emulator -avd avd_name -gpu mode

woher modus ist Wirt damit es mit Hardware läuft.

Zum Beispiel:

Wechseln Sie mit dem Android Studio-Terminal in den Ordner, in dem sich der Emulator befindet. Standardeinstellung unter Win10 ist: C:\Users \userName\ AppData\Local\Android\sdk\emulator

Suchen Sie nach einem Emulator, um die verfügbaren auszuführen: emulator -list-avds

Führen Sie den Emulator mit aus -gpu Host Option: emulator -avd avd_name -gpu Host

Mehr Infos zu diesem Link

41
Api

Ein Kommentar in dem Fehlerbericht in Bezug auf dieses Problem durch einen Google-Mitarbeiter leuchtet auf.

Wenn Ihr System über keine separate GPU verfügt, haben wir diese Änderung in .__ beabsichtigt. Damit der Emulator zuverlässiger auf Intel GPU-Treibern ausgeführt werden kann. Beim Auf eigenes Risiko können Sie wieder zur Intel-GPU wechseln, indem Sie zu .__ wechseln. Einstellungsseite, und ändern Sie den OpenGL ES-Renderer in "ANGLE (D3D11)", "ANGLE (D3D9)" oder "Desktop native OpenGL".

Es scheint, dass diese Meldung für alle Systeme angezeigt wird, die Intel-GPUs verwenden, nicht nur für Systeme, die bestimmte Versionen eines Grafiktreibers ausführen.

Die Lösung soll nach Möglichkeit zur Verwendung einer externen GPU für den Betrieb des Emulators wechseln.

Wenn eine Intel-GPU die einzige im System verfügbare GPU ist, ist es möglich, das beschleunigte Rendern von OpenGL ES wieder zu aktivieren, indem der Standard-OpenGL ES-Renderer in den Einstellungen überschrieben wird (siehe unten). Optionen sind OpenGL, ANGLE und SwiftShader. SwiftShader ist eine CPU-basierte OpenGL ES-Emulation, daher wird durch diese Einstellung keine Beschleunigung erreicht. ANGLE ist eine Direct3d-basierte OpenGL-Emulation.

Laut dem Kommentar funktioniert dies nicht garantiert. Ich kann zwar die Hardwarebeschleunigung für Android 7-Emulatoren wieder aktivieren, aber bei aktivierter Hardwarebeschleunigung erhalte ich nur einen schwarzen Bildschirm für Android 8-Emulatoren. 

Öffnen Sie die Einstellungen mit Strg-Umschalt-S und gehen Sie je nach Emulator-Version entweder zu Settings -> General -> OpenGL ES renderer oder zu Settings -> Advanced -> OpenGL ES renderer.

Neuere Emulatorversionen:  Settings illustration

Ältere Emulatorversionen:  Settings illustration

Update # 1: Ein weiterer Kommentar zum Fehlerbericht bietet weitere Informationen zu diesem Problem:

Wenn der Emulator nur von einer Intel HD 4xxx ausgeführt wird, sollte ein Kompatibilitätsrenderer verwendet werden. Es tut mir leid, aber wir müssen in der Lage sein, auf besser unterstützte Intel GPU-Treiber umzusteigen, insbesondere wenn auf System-Images hohe API-Level (25+) ausgeführt werden. Intel iGPUs dieser Generation (und älter) haben viele Probleme mit der OpenGL-Kompatibilität.

Es scheint, dass Intel iGPU-Treiber für Haswell-Prozessoren (4. Generation) und älter OpenGL nicht ausreichend für Android 7.1-Geräte unterstützen. Daher greifen sie absichtlich auf Software-Emulation zurück, die die neuen Android-Emulatoren besser unterstützt. 

Das entspricht meiner Erfahrung. Die Verwendung der Intel iGPU funktioniert auf Android 7 hervorragend, ist aber unter Android 7.1 unübersichtlich und unter Android 8 überhaupt nicht möglich.

Mein Vorschlag, bleiben Sie mit Android 7-Emulatoren, wenn Sie die Hardwarebeschleunigung für Intel Haswell und ältere iGPUs verwenden.

Update # 2: Die offizielle Mitteilung zu diesem Problem wurde schließlich in Form von Kommentaren in den Versionshinweisen für Emulator 26.1.3 bereitgestellt:

Welche GPUs zur Verwendung von ANGLE- oder Swiftshader-Rendering geschaltet werden, wird wie folgt festgelegt:

  • Ältere Intel iGPUs haben Treiberprobleme sowohl mit OpenGL- als auch mit ANGLE D3D-Treibern. Benutzer mit Intel HD Graphics 3xxx und älter verwenden Swiftshader.
  • Einige Benutzer berichteten, dass es nicht möglich sei, API-Level 25-Bilder zu verwenden, da ein Fehler beim "Pixel Launcher" aufgetreten ist. Dies scheint bei einigen Intel HD 4xxx-Modellen ein Treiberproblem zu sein. Sie werden also automatisch auf ANGLE umgestellt.

Für beste Ergebnisse bei der GPU-Emulation empfehlen wir, entweder eine separate NVIDIA- oder AMD-GPU oder eine neuere Intel-GPU (Iris, HD 5xxx, HD 5xx/6xx) zu verwenden.

24
Benjamin

Ich bin heute auf dieses Problem gestoßen. Auf Vorschlag des Google Emulator Issrackers habe ich den Beta Emulator 26.1.3 installiert. Problem gelöst.

5
Lee

Ich habe dasselbe gemacht wie @Api, aber ich habe es aus dem Virtual Device Manager heraus gemacht. Im Gerätebearbeitungsfenster habe ich in der Dropdown-Liste Grafik "Hardware - GLES 2.0" ausgewählt. Ich glaube, die Standardeinstellung ist Automatisch. Ich bekomme immer noch das fehlerhafte GPU-Treiber-Popup-Fenster, aber der Emulator stürzt nicht mehr ab. Es ist wieder normale Zuverlässigkeit.

2
CVD

Wechseln Sie wie vorgeschlagen zu Einstellungen -> Darstellung & Verhalten -> Systemeinstellungen -> Updates. Ändern Sie "Updates automatisch überprüfen" in "Betakanal". Aktualisieren Sie den Emulator auf die neueste Beta. Treiberproblem sollte weg sein. Ich hatte Probleme beim Ausführen von fragment mit Google Maps (app chrash), das nach dem Update des Emulators auf die neueste Betaversion behoben wurde.

2
AlfaSpider

Für Linux-Benutzer gehen Sie zum Android-Ordner, der sich in meinem Fall unter ~/Android befindet. Fahren Sie dann mit/sdk/emulator fort. "Emulator" ist ein lokaler Befehl. Sie können den Befehl also als lokales "./emulator" ausführen.

Der Rest wird als der Benutzer "Api" angegeben.

$ ./emulator -avd -avd_name -gpu-Modus

$ ./emulator -avd Nexus_5X_API_26 -gpu Host (#IN MEIN CASE)

Hinweis: Ich habe SDK nicht heruntergeladen, sondern kopiert und unter/home eingefügt. Aus diesem Grund war der Befehl auf globaler Ebene nicht gültig. Wenn Sie sdk avd von Grund auf einrichten, sollte es gut funktionieren.

1
Thet Htun

Es ist mir gelungen, dieses Problem zu umgehen, indem die Verwendung der GPU deaktiviert wurde, sodass der AVD die Software-Beschleunigung verwendet .. Es ist zwar nicht so schnell wie die GPU, aber es hat zumindest bessere Chancen, ordnungsgemäß zu arbeiten.

Ich habe andere Optionen ausprobiert, aber leider funktionierte keiner von ihnen.

Wenn Sie diese Option ausprobieren möchten, wechseln Sie zum AVD Manager (in Android Studio: Extras -> Android -> AVD Manager), bearbeiten Sie Ihr virtuelles Gerät. Im Feld Graphics können Sie stattdessen "Software - GLES 1.1" einstellen "Hardware - GLES 2.0".

Dies ist nicht die perfekte Lösung für dieses Problem, kann jedoch helfen.

0
R. Du

nichts davon funktionierte für mich auf meinem Windows-Laptop mit Intel HD4000

was funktionierte, ist ubuntu linux nachdem ich emulator auf linux gestartet hatte, war ich geschockt von seiner geschwindigkeit :)

es scheint also, dass das Problem mit Intel und Fenstern nicht bald gelöst wird

0
Ahmed D. Sherif

Ich habe genau das gleiche Thema vor genau 4 Tagen. Ich habe beide obigen Antworten ausprobiert, aber nichts davon funktioniert. PS. Der Emulator funktioniert, stürzt aber scheinbar zufällig ab. Vor diesem Fehler funktionierte der Emulator einwandfrei und ich konnte bestimmte Funktionen testen. Außerdem kann ich mit einigen Android-Geräten ohne Abstürze via USB vollständig debuggen.

Edit: Nicht sicher, was das Problem war, wurde aber gelöst, indem Android Studio mit nVidia GPU ausgeführt wurde.

0
Rayzor536