CPU加速状态:该用户无权在docker中使用KVM(/dev/kvm)

问题描述 投票:0回答:1

我用appium、java8、android sdk、node 8.11.0、cucumber和ruby构建了一个docker 创建设备后 我检查 kvm-ok

得到

   root@994d47ae73ce:/opt/android-sdk/emulator# kvm-ok                                                        
   INFO: /dev/kvm exists
   KVM acceleration can be used

当我执行时

root@994d47ae73ce:/opt/android-sdk/emulator# emulator 
@Nexus_5X_API_24 -verbose -no-window -skin 1080x1920

然后

emulator: autoconfig: -kernel /opt/android-sdk/system-images/android-24/google_apis/x86//kernel-ranchu
emulator: Target arch = 'x86'
emulator: Auto-config: -qemu -cpu qemu32
emulator: Auto-detect: Kernel image requires new device naming scheme.
emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
emulator: autoconfig: -ramdisk /opt/android-sdk/system-images/android-24/google_apis/x86//ramdisk.img
emulator: Using initial system image: /opt/android-sdk/system-images/android-24/google_apis/x86//system.img
emulator: No vendor image
emulator: autoconfig: -data /root/.android/avd/Nexus_5X_API_24.avd/userdata-qemu.img
emulator: autoconfig: -initdata /root/.android/avd/Nexus_5X_API_24.avd/userdata.img
emulator: autoconfig: -cache /root/.android/avd/Nexus_5X_API_24.avd/cache.img
emulator: Increasing RAM size to 1024MB
emulator: VM heap size 0MB is below hardware specified minimum of 256MB,setting it to that value
emulator: System image is read only
emulator: Found 2 DNS servers: 8.8.8.8 8.8.4.4
emulator: found magic skin width=1080 height=1920 bpp=16

statvfs('/root/.android/avd/Nexus_5X_API_24.avd/snapshots/default_boot/ram.img') failed: No such file or directory
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'qemu.cmdline' = 'androidboot.logcat=v:* androidboot.consolepipe=qemu_pipe,pipe:logcat'
emulator: Adding boot property: 'qemu.logcat' = 'start'
emulator: CPU Acceleration: DISABLED
emulator: CPU Acceleration status: This user doesn't have permissions to use KVM (/dev/kvm)
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: This user doesn't have permissions to use KVM (/dev/kvm)
More info on configuring VM acceleration on Linux:
https://developer.android.com/studio/run/emulator-acceleration#vm-linux
General information on acceleration: https://developer.android.com/studio/run/emulator-acceleration.

典型的解决方案不起作用

sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm

提前致谢

android docker emulation kvm
1个回答
0
投票

在主机的 powershell 中运行以下命令,将 替换为虚拟机名称,同时虚拟机处于关闭状态

设置-VMProcessor -VMName -ExposeVirtualizationExtensions $true

现在启动虚拟机并转到终端并运行以下命令来安装 qemu-kvm: sudo apt install qemu-kvm

接下来,您需要使用以下命令将用户 your-username 添加到 kvm 组: sudo adduser 用户名 kvm

接下来,在某些情况下,还需要运行以下命令: sudo chown 用户名e /dev/kvm

您可以使用以下命令获取您的用户名: 谁阿米

现在,您可以使用以下命令验证您的用户名是否已添加到 kvm 组: grep kvm /etc/group

© www.soinside.com 2019 - 2024. All rights reserved.