Mực ống: Tăng tốc đồ hoạ GPU

Chế độ đồ hoạ tăng tốc của Cuttlefish sử dụng bộ xử lý đồ hoạ (GPU) thực của máy chủ để kết xuất bằng cách truyền các lệnh kết xuất khách đến máy chủ của bạn, chạy lệnh kết xuất gọi trên máy chủ và chuyển kết quả đã kết xuất về cho máy khách.

Thiết bị mực ống chạy trong Android 11 trở lên sẽ phát hiện và sử dụng đồ hoạ được tăng tốc. Nếu máy chủ lưu trữ không hỗ trợ đồ hoạ tăng tốc hoặc phiên bản Android là Android 10 trở xuống, thì quá trình kết xuất phía máy khách (ví dụ: giao diện người dùng và phát video) trong thiết bị Cuttlefish sẽ do SwiftShader xử lý. SwiftShader là một cách triển khai phần mềm của API OpenGL và Vulkan. Vì SwiftShader là một phương thức triển khai phần mềm, nên SwiftShader cung cấp một giải pháp kết xuất có thể truy cập trên toàn cầu cho Cuttlefish có thể chạy trên mọi máy chủ lưu trữ.

Tuy nhiên, việc sử dụng SwiftShader không hiệu quả như thiết bị thông thường. Kết xuất là một vấn đề song song có thể được song song hoá ở quy mô lớn, vì các giá trị pixel có thể được tính toán độc lập. Đơn vị xử lý đồ hoạ (GPU) là các đơn vị phần cứng giải quyết vấn đề này bằng cách tăng tốc kết xuất.

Yêu cầu

Chế độ đồ hoạ tăng tốc yêu cầu máy chủ lưu trữ có:

  • Trình điều khiển có khả năng EGL hỗ trợ tiện ích GL_KHR_surfaceless_context
  • Trình điều khiển hỗ trợ OpenGL ES
  • Trình điều khiển hỗ trợ Vulkan

Sử dụng chế độ đồ hoạ tăng tốc

Luồng gfx

Để sử dụng chế độ đồ hoạ tăng tốc GfxStream, hãy chạy thiết bị Cuttlefish cục bộ bằng cờ --gpu_mode=gfxstream. Khi sử dụng chế độ này, các lệnh gọi API OpenGL và Vulkan sẽ được chuyển tiếp trực tiếp đến máy chủ.

launch_cvd --gpu_mode=gfxstream

virgl

Để sử dụng chế độ đồ hoạ tăng tốc Virgl, hãy khởi chạy thiết bị Mực ống cục bộ bằng cờ --gpu_mode=drm_virgl.

launch_cvd --gpu_mode=drm_virgl

Khi sử dụng chế độ đồ hoạ được tăng tốc Virgl, các lệnh gọi API OpenGL sẽ được chuyển đổi thành bản trình bày trung gian (xem Gallium3D). Bản trình bày trung gian được truyền đến máy chủ lưu trữ và thư viện virglrenderer trên máy chủ sẽ chuyển bản trình bày trung gian trở lại các lệnh gọi API OpenGL.