google / google/android-emulator-container-scripts
Emulator attached GPU but not use GPU at all
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 294
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I'm facing strange issue. Emulators connected GPU but these vms does not use GPU.

My GPU driver setup in host:
```
1./ sudo apt-get purge nvidia-*
2./ sudo add-apt-repository ppa:graphics-drivers/ppa
3./ sudo apt-get update
4./ sudo apt-get install nvidia-driver-535
5./ sudo reboot
.
.
.
6./ nvidia-smi (check nvidia driver installed)
7./ curl https://get.docker.com | sh \
&& sudo systemctl --now enable docker
8./ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
9./ sudo apt-get update
10./ sudo apt-get install -y nvidia-container-toolkit
11./ sudo nvidia-ctk runtime configure --runtime=docker
12./ sudo systemctl restart docker
```
My inside container setup
```
....
# Install required packages
RUN apt-get update \
&& apt-get install -y \
vulkan-tools \
vulkan-utils \
libnvidia-gl-535
...
```
Trying to start container
```
###### emulator @emulator-5554 -cores 2 -gpu host ######
```
```
INFO | Android emulator version 32.1.14.0 (build_id 10330179) (CL:N/A)
INFO | Found systemPath /opt/android/system-images/android-29/google_apis/x86_64/
INFO | Storing crashdata in: /tmp/android-unknown/emu-crash.db, detection is enabled
INFO | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag.
WARNING | Please update the emulator to one that supports the feature(s): Vulkan
WARNING | cannot add library /opt/android/emulator/qemu/linux-x86_64/lib64/vulkan/libvulkan.so: failed
INFO | added library /opt/android/emulator/lib64/vulkan/libvulkan.so
host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextCould not init `pa' audio driver
WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***
INFO | Started GRPC server at 127.0.0.1:8554, security: Local, auth: none
WARNING | Using fallback path for the emulator registration directory.
WARNING | .ini File /root/.android/avd/running/288 too large (9223372036854775807 bytes)
INFO | Advertising in: /root/.android/avd/running/pid_2707.ini
WARNING | Using fallback path for the emulator registration directory.
WARNING | .ini File /root/.android/avd/running/288 too large (9223372036854775807 bytes)
WARNING | .ini File /root/.android/avd/running/288 too large (9223372036854775807 bytes)
INFO | Setting display: 0 configuration to: 1080x1920, dpi: 480x480
```
i take focus on this log, it seem not correct, i tried to use "sdkmanager --update" but no help
```
WARNING | Please update the emulator to one that supports the feature(s): Vulkan
WARNING | cannot add library /opt/android/emulator/qemu/linux-x86_64/lib64/vulkan/libvulkan.so: failed
INFO | added library /opt/android/emulator/lib64/vulkan/libvulkan.so
```
The container started successfully, i see it listed in nvidia-smi on host

But it did not listed inside container...

I think it's problem to use GPU. How can i solve this problem to able to use GPU to gain higher performance ?
Thanks,
BR.
Contributor guide
Assessment
This issue has not been assessed yet.