AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速

本文主要是介绍AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速

之前一直都是使用genymotion做android虚拟机,速度很快,但是有时候经常会出现莫名其妙的错误,正好现在android自带的模拟器avd提升的很明显,稳定性和速度都有了保证,所以在windows平台上尝试了一下觉得完全能替代genymotion了

但是在ubuntu系统下发现intel的虚拟硬件加速器(HAXM)提示不适用于linux
这里写图片描述

因此搜索了下找到了解决方法

https://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-emulator

简述下步骤:

  • 首先检查cpu是否支持硬件虚拟化技术,返回0则表示不支持,不为0即可
$ egrep -c '(vmx|svm)' /proc/cpuinfo
4
  • 安装工具cpu-checker
$ sudo apt-get install cpu-checker

然后使用命令检查是否支持kvm,返回如下信息表示支持

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

若返回如下信息则表示需要到bios中开启vt功能后重启计算机

HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used
  • 安装kvm
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils --fix-missing
  • 将当前用户名添加到kvm libvirtd组
$ sudo adduser "your_user_name" kvm
$ sudo adduser "your_user_name" libvirtd

如果提示没有libvirtd用户组则忽略该用户组,尝试下面命令

$ sudo adduser "your_user_name" libvirt-qemu
  • 检验安装是否成功
$ sudo virsh -c qemu:///system list
 Id    Name                           State
----------------------------------------------------
  • 切换显卡驱动为闭源驱动,成功后重启电脑(重要)
    这里写图片描述

  • 然后在avd manager中新建一个x86_64模拟器
    这里写图片描述

  • 用命令行启动此模拟器,avd-name可以在上图位置看到
$ "your_android_sdk_path"/tools/emulator -avd "your_avd_name" -qemu -m 2047 -enable-kvm
  • 也可直接在Android Studio中通过点击按钮启动,速度同样飞快

启动成功
这里写图片描述

- 若提示libGL error: unable to load driver: i965_dri.so错误的话可以按照如下操作

Verify that you have installed in your system lib64stdc++6
With a 32 bits operating system :

# apt-get install lib64stdc++6

With a 64 bits operating system with multiarch enabled :

# apt-get install lib64stdc++6:i386

Then link the new installed libraries to the android sdk tools path

$ cd ~/Documents/Android/android-sdk-linux/tools/lib64/libstdc++
$ mv libstdc++.so.6 libstdc++.so.6.bak
$ ln -s /usr/lib64/libstdc++.so.6 ~/Documents/Android/android-sdk-linux/tools/lib64/libstdc++

如果你安装了最新的Android Emulator 25.3.0版本的话 libstdc++.so.6目录不在tools文件夹里了 变更为

~/Documents/Android/android-sdk-linux/emulator/lib64/libstdc++

如果重启模拟器卡在黑色android界面的话 删除模拟器重新创建一个就行了

参考:stackoverflow

这篇关于AMD/NVIDA独立显卡在Ubuntu 16.10启用Android 模拟器硬件加速的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716330

相关文章

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 2594 二分图最大独立集

题意: 求一张图的最大独立集,这题不同的地方在于,间接相邻的点也可以有一条边,所以用floyd来把间接相邻的边也连起来。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <sta

poj 3692 二分图最大独立集

题意: 幼儿园里,有G个女生和B个男生。 他们中间有女生和女生认识,男生男生认识,也有男生和女生认识的。 现在要选出一些人,使得这里面的人都认识,问最多能选多少人。 解析: 反过来建边,将不认识的男生和女生相连,然后求一个二分图的最大独立集就行了。 下图很直观: 点击打开链接 原图: 现图: 、 代码: #pragma comment(

最大流=最小割=最小点权覆盖集=sum-最大点权独立集

二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。 在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。   二分图最小点权覆盖     从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。 建模:     原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动