Hello to everyone.
I'm trying to run the Android emulator on the Jetson nano 4 GB where I have installed Ubuntu 22.04. This is the tutorial that I'm reading from :
https://android.googlesource.com/platform/external/angle/+/e867a62fc822d0bd152ab6ae34cd012eb4408324/doc/DevSetup.mdreally I want to pass the parameter -gpu host :
/opt/android-sdk/emulator/emulator @MyAVD -cores 4 -lowram -memory 2048 -gpu host -ports 5554,5555 -skip-adb-auth -no-boot-anim -no-snapshot -no-metrics -qemu \
-machine gic-version=2
instead of the parameter -gpu swiftshader_indirect
/opt/android-sdk/emulator/emulator @MyAVD -cores 4 -lowram -memory 2048 -gpu swiftshader_indirect -ports 5554,5555 -skip-adb-auth -no-boot-anim -no-snapshot \
-no-metrics -qemu -machine gic-version=2
To achieve this goal I read that I should have libshadertranslator.so that I can have only building separately the ANGLE). So,this is what I tried to do,but some kind of error is preventing me to complete the task :
aresuser@jetson:/opt/android-sdk$ nano /home/aresuser/.bashrc
...
export ANDROID_SDK_ROOT=/opt/android-sdk
export ANDROID_HOME=/opt/android-sdk
export ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=60
export PATH=/opt/android-sdk/emulator:/opt/android-sdk/depot_tools:/home/aresuser/.local/bin:/home/aresuser/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/opt/android-sdk/cmdline-tools/latest/bin
aresuser@jetson:/opt/android-sdk/depot_tools$ echo $PATH
/opt/android-sdk/depot_tools:/home/aresuser/.local/bin:/home/aresuser/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/opt/android-sdk/cmdline-tools/latest/bin
aresuser@jetson:/opt/android-sdk$ git clone
https://chromium.googlesource.com/angle/anglearesuser@jetson:/opt/android-sdk$ cd angle
aresuser@jetson:/opt/android-sdk/angle$ python scripts/bootstrap.py
created .gclient
aresuser@jetson:/opt/android-sdk/angle$ gclient sync --no-history
Syncing projects: 71% (149/209) third_party/flatbuffers/src
[0:01:46] Still working on:
[0:01:46] third_party/SwiftShader
[0:01:46] third_party/VK-GL-CTS/src
[0:01:46] third_party/astc-encoder/src
[0:01:46] third_party/catapult
[0:01:46] third_party/dawn
[0:01:46] third_party/glmark2/src
[0:01:46] third_party/glslang/src
[0:01:46] third_party/googletest
[0:01:56] Still working on:
[0:01:56] third_party/SwiftShader
[0:01:56] third_party/VK-GL-CTS/src
[0:01:56] third_party/astc-encoder/src
[0:01:56] third_party/catapult
[0:01:56] third_party/dawn
[0:01:56] third_party/glmark2/src
[0:01:56] third_party/glslang/src
[0:01:56] third_party/googletest
[0:01:56] Still working on:
[0:01:56] third_party/SwiftShader
[0:01:56] third_party/VK-GL-CTS/src
[0:01:56] third_party/astc-encoder/src
[0:01:56] third_party/catapult
[0:01:56] third_party/dawn
[0:01:56] third_party/glmark2/src
[0:01:56] third_party/glslang/src
[0:01:56] third_party/googletest
Syncing projects: 75% (159/211) third_party/jinja2
[0:03:14] Still working on:
[0:03:14] third_party/SwiftShader
[0:03:14] third_party/VK-GL-CTS/src
[0:03:14] third_party/catapult
[0:03:14] third_party/dawn
[0:03:14] third_party/libc++/src
[0:03:14] third_party/libc++abi/src
[0:03:14] third_party/libdrm
[0:03:14] third_party/libjpeg_turbo
[0:03:24] Still working on:
[0:03:24] third_party/SwiftShader
[0:03:24] third_party/VK-GL-CTS/src
[0:03:24] third_party/catapult
[0:03:24] third_party/dawn
[0:03:24] third_party/libc++/src
[0:03:24] third_party/libc++abi/src
[0:03:24] third_party/libdrm
[0:03:24] third_party/libjpeg_turbo
[0:03:34] Still working on:
[0:03:34] third_party/SwiftShader
[0:03:34] third_party/VK-GL-CTS/src
[0:03:34] third_party/catapult
[0:03:34] third_party/dawn
[0:03:34] third_party/libc++/src
[0:03:34] third_party/libc++abi/src
[0:03:34] third_party/libdrm
[0:03:34] third_party/libjpeg_turbo
[0:03:40] Still working on:
[0:03:40] third_party/SwiftShader
[0:03:40] third_party/VK-GL-CTS/src
[0:03:40] third_party/catapult
[0:03:40] third_party/dawn
[0:03:40] third_party/libc++/src
[0:03:40] third_party/libc++abi/src
[0:03:40] third_party/libdrm
[0:03:40] third_party/libjpeg_turbo
Syncing projects: 75% (165/219) third_party/libc++/src
[0:05:04] Still working on:
[0:05:04] third_party/SwiftShader
[0:05:04] third_party/VK-GL-CTS/src
[0:05:04] third_party/catapult
[0:05:04] third_party/libpng/src
[0:05:04] third_party/llvm/src
[0:05:04] third_party/lunarg-vulkantools/src
[0:05:04] third_party/markupsafe
[0:05:04] third_party/nasm
[0:05:13] Still working on:
[0:05:13] third_party/SwiftShader
[0:05:13] third_party/VK-GL-CTS/src
[0:05:13] third_party/catapult
[0:05:13] third_party/libpng/src
[0:05:13] third_party/llvm/src
[0:05:13] third_party/lunarg-vulkantools/src
[0:05:13] third_party/markupsafe
[0:05:13] third_party/nasm
Syncing projects: 99% (217/219) third_party/dawn/third_party/dxc
[0:13:04] Still working on:
[0:13:04] third_party/llvm/src
[0:13:04] third_party/dawn/third_party/khronos/OpenGL-Registry
[0:13:14] Still working on:
[0:13:14] third_party/llvm/src
[0:13:14] third_party/dawn/third_party/khronos/OpenGL-Registry
[0:13:24] Still working on:
[0:13:24] third_party/llvm/src
[0:13:24] third_party/dawn/third_party/khronos/OpenGL-Registry
[0:13:34] Still working on:
[0:13:34] third_party/llvm/src
[0:13:34] third_party/dawn/third_party/khronos/OpenGL-Registry
[0:13:44] Still working on:
[0:13:44] third_party/llvm/src
[0:13:44] third_party/dawn/third_party/khronos/OpenGL-Registry
[0:13:51] Still working on:
[0:13:51] third_party/llvm/src
[0:13:51] third_party/dawn/third_party/khronos/OpenGL-Registry
Syncing projects: 100% (219/219), done.
Running hooks: 17% ( 7/39) clang
________ running 'python3 tools/clang/scripts/update.py' in '/opt/android-sdk/angle/.'
Downloading
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-llvmorg-20-init-3847-g69c43468-17.tar.xz .......... Done.
Hook 'python3 tools/clang/scripts/update.py' took 25.71 secs
Running hooks: 20% ( 8/39) rust
________ running 'python3 tools/rust/update_rust.py' in '/opt/android-sdk/angle/.'
Downloading
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-009e73825af0e59ad4fc603562e038b3dbd6593a-2-llvmorg-20-init-3847-g69c43468.tar.xz .......... Done.
Hook 'python3 tools/rust/update_rust.py' took 64.72 secs
Running hooks: 33% (13/39) linux_glslang_validator
________ running 'python3 third_party/depot_tools/download_from_google_storage.py --no_resume --platform=linux* --no_auth --bucket angle-glslang-validator -s tools/glslang/glslang_validator.sha1' in '/opt/android-sdk/angle/.'
0> Downloading tools/glslang/glslang_validator@de8679c3e2f15291ba4f5c32eebc954ce78bf39c...
Downloading 1 files took 25.990023 second(s)
Hook 'python3 third_party/depot_tools/download_from_google_storage.py --no_resume '--platform=linux*' --no_auth --bucket angle-glslang-validator -s tools/glslang/glslang_validator.sha1' took 26.34 secs
Running hooks: 38% (15/39) linux_flex_bison
________ running 'python3 third_party/depot_tools/download_from_google_storage.py --no_resume --platform=linux* --no_auth --bucket angle-flex-bison -d tools/flex-bison/linux/' in '/opt/android-sdk/angle/.'
0> Downloading tools/flex-bison/linux/bison@36625019a2442ac8efc92c32e1d61bd3f450b7ab...
0> Downloading tools/flex-bison/linux/flex@3c9694c62a4ad0d1f95b45bb748855c3688c923e...
Downloading 2 files took 26.081814 second(s)
Hook 'python3 third_party/depot_tools/download_from_google_storage.py --no_resume '--platform=linux*' --no_auth --bucket angle-flex-bison -d tools/flex-bison/linux/' took 32.47 secs
Running hooks: 100% (39/39), done.
aresuser@jetson:/opt/android-sdk/angle$ git checkout master
error: lo specificatore percorso 'master' non corrisponde ad alcun file noto a git
aresuser@jetson:/opt/android-sdk/angle/build$ ./install-build-deps.sh
Running as non-root user.
You might have to enter your password one or more times for 'sudo'.
Trovato:1
http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Trovato:2
http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
Trovato:3
http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Trovato:4
http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
Trovato:5
https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease
Trovato:6
https://ppa.launchpadcontent.net/phd/chromium-browser/ubuntu jammy InRelease
Scaricamento di:7
https://apt.kitware.com/ubuntu jammy InRelease [15,5 kB]
Errore:7
https://apt.kitware.com/ubuntu jammy InRelease
Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 1A127079A92F09ED
Recuperati 15,5 kB in 3s (5.444 B/s)
Lettura elenco dei pacchetti... Fatto
W: Si è verificato un errore nel verificare la firma. Il repository non è aggiornato e verranno usati i file indice precedenti. Errore GPG:
https://apt.kitware.com/ubuntu jammy InRelease: Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 1A127079A92F09ED
W: Impossibile recuperare
https://apt.kitware.com/ubuntu/dists/jammy/InRelease Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 1A127079A92F09ED
W: Impossibile scaricare alcuni file di indice: saranno ignorati o verranno usati quelli vecchi.
Finding missing packages...
Building apt package list.
Skipping debugging symbols.
Skipping 32-bit libraries.
Skipping ARM cross toolchain.
Skipping NaCl, NaCl toolchain, NaCl ports dependencies.
Skipping backwards compatible packages.
Packages required: binutils binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf binutils-mips64el-linux-gnuabi64 binutils-mipsel-linux-gnu bison bzip2 cdbs curl dbus-x11 devscripts dpkg-dev elfutils fakeroot flex git-core gperf libasound2 libasound2-dev libatk1.0-0 libatspi2.0-0 libatspi2.0-dev libbluetooth-dev libbrlapi-dev libbrlapi0.8 libbz2-1.0 libbz2-dev libc6 libc6-dev libcairo2 libcairo2-dev libcap-dev libcap2 libcgi-session-perl libcups2 libcups2-dev libcurl4-gnutls-dev libdrm-dev libdrm2 libegl1 libelf-dev libevdev-dev libevdev2 libexpat1 libffi-dev libffi8 libfontconfig1 libfreetype6 libfuse2 libgbm-dev libgbm1 libgl1 libglib2.0-0 libglib2.0-dev libglu1-mesa-dev libgtk-3-0 libgtk-3-dev libinput-dev libinput10 libjpeg-dev libkrb5-dev libncurses6 libnspr4 libnspr4-dev libnss3 libnss3-dev libpam0g libpam0g-dev libpango-1.0-0 libpangocairo-1.0-0 libpci-dev libpci3 libpcre3 libpixman-1-0 libpng16-16 libpulse-dev libpulse0 libsctp-dev libspeechd-dev libspeechd2 libsqlite3-0 libsqlite3-dev libssl-dev libstdc++6 libsystemd-dev libudev-dev libudev1 libuuid1 libva-dev libvulkan-dev libvulkan1 libwayland-egl1 libwayland-egl1-mesa libwww-perl libx11-6 libx11-xcb1 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon-dev libxrandr2 libxrender1 libxshmfence-dev libxslt1-dev libxss-dev libxt-dev libxtst-dev libxtst6 lighttpd locales mesa-common-dev openbox p7zip patch perl pkgconf rpm ruby subversion uuid-dev wdiff x11-utils x11-xserver-utils xcompmgr xz-utils zip zlib1g zstd
No missing packages, and the packages are up to date.
Skipping installation of Chrome OS fonts.
Installing locales.
Generating locales (this might take a while)...
da_DK.UTF-8... done
en_US.UTF-8... done
es_ES.UTF-8... done
fr_FR.UTF-8... done
he_IL.UTF-8... done
it_CH.UTF-8... done
it_IT.UTF-8... done
zh_TW.UTF-8... done
Generation complete.
aresuser@jetson:/opt/android-sdk/angle/build$ gn gen out/Debug
ERROR at //build/config/sysroot.gni:63:7: Assertion failed.
assert(
^-----
Missing sysroot (//build/linux/debian_bullseye_arm64-sysroot). To fix, run: build/linux/sysroot_scripts/install-sysroot.py --arch=arm64
See //build/config/sysroot.gni:64:11:
exec_script("//build/dir_exists.py",
^-----------------------------------
This is where it was set.
See //build/config/linux/pkg_config.gni:5:1: whence it was imported.
import("//build/config/sysroot.gni")
^----------------------------------
See //BUILD.gn:18:3: whence it was imported.
import("//build/config/linux/pkg_config.gni")
^-------------------------------------------
aresuser@jetson:/opt/android-sdk/angle/build$ ./linux/sysroot_scripts/install-sysroot.py --arch=arm64
Installing Debian bullseye arm64 root image: /opt/android-sdk/angle/build/linux/debian_bullseye_arm64-sysroot
Downloading
https://commondatastorage.googleapis.com/chrome-linux-sysroot/308e23faba3174bd01accfe358467b8a40fad4db4c49ef629da30219f65a275faresuser@jetson:/opt/android-sdk/angle/build$ gn args out/Debug
target_cpu = "arm64"
is_debug = false
aresuser@jetson:/opt/android-sdk/angle/build$ gn gen out/Debug
Done. Made 921 targets from 298 files in 8351ms
aresuser@jetson:/opt/android-sdk/emulator$ sudo find / -name libvulkan.so
/usr/lib/aarch64-linux-gnu/libvulkan.so
/opt/android-sdk/angle/third_party/android_sdk/public/emulator/lib64/vulkan/libvulkan.so
/opt/android-sdk/emulator/lib64/vulkan/libvulkan.so
aresuser@jetson:/opt/android-sdk/emulator$ sudo find / -name libshadertranslator.so
./lib64/libshadertranslator.so
/opt/android-sdk/angle/third_party/android_sdk/public/emulator/lib64/libshadertranslator.so
aresuser@jetson:/opt/android-sdk/emulator$ cp /opt/android-sdk/angle/third_party/android_sdk/public/emulator/lib64/libshadertranslator.so /opt/android-sdk/emulator/lib64
aresuser@jetson:/opt/android-sdk/emulator$ mkdir -p /opt/android-sdk/emulator/lib64/vulkan
aresuser@jetson:/opt/android-sdk/emulator$ cp /opt/android-sdk/angle/third_party/android_sdk/public/emulator/lib64/vulkan/libvulkan.so /opt/android-sdk/emulator/lib64/vulkan
aresuser@jetson:/opt/android-sdk/emulator$ emulator @MyAVD -cores 2 -lowram -memory 2048 -gpu host -ports 5554,5555 -skip-adb-auth -no-boot-anim -no-snapshot -no-metrics -qemu -machine gic-version=2
INFO | Android emulator version 35.3.2.0 (build_id 12364726) (CL:N/A)
INFO | Graphics backend: gfxstream
INFO | Android emulator version 35.3.2.0 (build_id 12364726) (CL:N/A)
INFO | Graphics backend: gfxstream
INFO | Found systemPath /opt/android-sdk/system-images/android-35/google_apis/arm64-v8a/
INFO | Duplicate loglines will be removed, if you wish to see each individual line launch with the -log-nofilter flag.
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_new_posture_requested(int) ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_dismiss_posture_selection_dialog() ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_new_resizable_requested(PresetEmulatorSizeType) ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_dismiss_resizable_dialog() ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_sleep_timer_done() ((null):0, (null))
INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_unfold_timer_done() ((null):0, (null))
INFO | Storing crashdata in: /tmp/android-aresuser/emu-crash-35.3.2.db, detection is enabled for process: 21368 library_mode host gpu mode host
WARNING | emuglConfig_get_vulkan_hardware_gpu: failed to open /opt/android-sdk/emulator/lib64/vulkan/libvulkan.so
WARNING | emuglConfig_get_vulkan_hardware_gpu: failed to open /opt/android-sdk/emulator/lib64/vulkan/libvulkan.so
WARNING | Could not detect GPU properly for Vulkan emulation. Please try updating your GPU Drivers.
INFO | Initializing hardware OpenGLES emulation support
android_startOpenglesRenderer: gpu infoI0913 19:22:19.147699 21368 FrameBuffer.cpp:260] Raised nofile soft limit to 4096.
I0913 19:22:19.147956 21368 HealthMonitor.cpp:279] HealthMonitor disabled.
E0913 19:22:19.333234 21368 ANGLEShaderParser.cpp:52] LazyLoadedSTDispatch:
Could not open shader translator library libshadertranslator.so [libshadertranslator.so: cannot open shared object file: No such file or directory]
./start-android: riga 3: 21368 Segmentation Error emulator @MyAVD -cores 2 -lowram -memory 2048 -gpu host -ports 5554,5555 -skip-adb-auth -no-boot-anim -no-snapshot \
-no-metrics -qemu -machine gic-version=2
aresuser@jetson:/opt/android-sdk/angle/third_party/android_sdk/public/emulator$ ./emulator @MyAVD -cores 2 -lowram -memory 2048 -gpu host -ports 5554,5555 -skip-adb-auth -no-boot-anim -no-snapshot -no-metrics -qemu -machine gic-version=2
x86_64-binfmt-P: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory