Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Im beschleunigten Grafikmodus von Cuttlefish wird die physische GPU (Graphics Processing Unit) Ihres Hosts für das Rendering verwendet. Dazu werden Gast-Rendering-Befehle an den Host übergeben, die Rendering-Befehle werden auf dem Host ausgeführt und die gerenderten Ergebnisse werden an den Gast zurückgegeben.
Ein Cuttlefish-Gerät mit Android 11 oder höher erkennt und verwendet beschleunigte Grafik. Wenn der Hostcomputer keine beschleunigte Grafik unterstützt oder die Android-Version Android 10 oder niedriger ist, wird das geräteseitige Rendering (z. B. Benutzeroberfläche und Videowiedergabe) auf Ihrem Cuttlefish-Gerät von SwiftShader verarbeitet.
SwiftShader ist eine Softwareimplementierung der OpenGL- und Vulkan-APIs. Da SwiftShader eine Softwareimplementierung ist, bietet es eine universell zugängliche Rendering-Lösung für Cuttlefish, die auf jedem Hostcomputer ausgeführt werden kann.
Die Leistung von SwiftShader ist jedoch nicht so hoch wie die eines normalen Geräts. Das Rendering ist ein paralleles Problem, das massiv parallelisiert werden kann, da Pixelwerte unabhängig berechnet werden können. Grafikprozessoren (GPUs) sind Hardwareeinheiten, die dieses Problem durch Beschleunigung des Renderings lösen.
Voraussetzungen
Für den beschleunigten Grafikmodus sind folgende Voraussetzungen erforderlich:
EGL-fähiger Treiber, der die GL_KHR_surfaceless_context-Erweiterung unterstützt
OpenGL ES-fähiger Treiber
Vulkan-kompatibler Treiber
Beschleunigte Grafikmodi verwenden
GfxStream
Wenn Sie den beschleunigten Grafikmodus von GfxStream verwenden möchten, starten Sie Ihr lokales Cuttlefish-Gerät mit dem Flag --gpu_mode=gfxstream. In diesem Modus werden OpenGL- und Vulkan-API-Aufrufe direkt an den Host weitergeleitet.
launch_cvd --gpu_mode=gfxstream
Virgl
Wenn Sie den beschleunigten Grafikmodus von Virgl verwenden möchten, starten Sie Ihr lokales Cuttlefish-Gerät mit dem Flag --gpu_mode=drm_virgl.
launch_cvd --gpu_mode=drm_virgl
Wenn der beschleunigte Grafikmodus von Virgl verwendet wird, werden OpenGL API-Aufrufe in eine Zwischendarstellung übersetzt (siehe Gallium3D). Die Zwischendarstellung wird an den Host übertragen und die virglrenderer-Bibliothek auf dem Host übersetzt die Zwischendarstellung zurück in OpenGL API-Aufrufe.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Cuttlefish: GPU graphics acceleration\n\nCuttlefish's accelerated graphics mode uses your host machine's physical\ngraphics processing unit (GPU) for rendering by passing guest rendering commands\nto your host machine, running the rendering commands calls on your host machine,\nand passing the rendered results back to the guest.\n\nA Cuttlefish device running in Android 11 or higher\ndetects and uses accelerated graphics. If the host machine doesn't support\naccelerated graphics or the Android version is\nAndroid 10 or lower, guest-side rendering (for example,\nUI and video playback) in your Cuttlefish device is handled by SwiftShader.\nSwiftShader is a software implementation of the OpenGL and Vulkan APIs. Because\nSwiftShader is a software implementation, it provides a universally accessible\nrendering solution for Cuttlefish capable of running on any host machine.\n\nHowever, using SwiftShader isn't as performant as a normal device. Rendering is\na parallel problem that can be massively parallelized, as pixel\nvalues can be computed independently. Graphics processing units (GPUs) are\nhardware units that address this problem by accelerating rendering.\n\nRequirements\n------------\n\nAccelerated graphics mode requires that the host have:\n\n- EGL capable driver supporting the `GL_KHR_surfaceless_context` extension\n- OpenGL ES capable driver\n- Vulkan capable driver\n\nUse accelerated graphics modes\n------------------------------\n\n### GfxStream\n\nTo use the GfxStream accelerated graphics mode, launch your local Cuttlefish\ndevice with the `--gpu_mode=gfxstream` flag. Using this mode, OpenGL and Vulkan\nAPI calls are forwarded directly to the host. \n\n```\nlaunch_cvd --gpu_mode=gfxstream\n```\n\n### Virgl\n\nTo use the Virgl accelerated graphics mode, launch your local Cuttlefish device\nwith the `--gpu_mode=drm_virgl` flag. \n\n```\nlaunch_cvd --gpu_mode=drm_virgl\n```\n\nWhen using the Virgl accelerated graphics mode, OpenGL API calls are translated\ninto an intermediate representation (see\n[Gallium3D](https://www.freedesktop.org/wiki/Software/gallium/)). The\nintermediate representation is communicated to the host and the\n[virglrenderer](https://gitlab.freedesktop.org/virgl/virglrenderer) library on\nthe host translates the intermediate representation back to OpenGL API calls.\n| **Note:** Vulkan isn't supported."]]