虚拟机中ubuntu可以使用显卡吗_在KVM下使用ubuntu19.10安装Anbox

导言:

Anbox是一个Android模拟器,可以从linux系统运行Android应用程序或游戏。对于Anbox的安装已经有了各种教程,主要针对ubuntu18.04之前的版本。最近在做一个关于虚拟机中跑安卓的项目,因此在虚拟机中使用ubuntu18.04系统,然后按照指导搭建Anbox模拟器。但是很遗憾Anbox未能成功的跑起来。

一、为什么Anbox启动失败呢?

在ubuntu18.04使用cirrus显卡时可以正常启动。按照网上的知道anbox也能正常的安装,但是在启动anbox Application Manager的时候失败了。启动的窗口一闪而过。查看anbox的启动日志,发现中有大量的报错。

如:

SurfaceFlinger: hwcomposer module not found - Abort message: no suitable EGLConfig found, giving up

由于EGLConfig是用来提供显示相关服务的所以猜测更显卡有关。由于之前解决过Android-x86在kvm启动时的花屏问题,所以猜测需要将网卡替换成VGA。

不幸的是ubuntu18.04在使用VGA显卡后居然不能正常进入图形界面。这一块应该是内核驱动问题。这个要是更改需要自己去替换内核,恰好手上也有19.10的系统,就试试在ubuntu19.10上开始搭建Anbox。

二、在kvm上启动ubuntu19.10

现在进入正题。首先需要下载ubuntu19.10的镜像。使用国内163的源下载速度飞快。

http://mirrors.163.com/ubuntu-releases/19.10/ubuntu-19.10-desktop-amd64.iso

本人是在centos7上使用libvirt启动虚拟机的。对于虚拟机的操作不再赘述。启动kvm虚拟机进行操作系统安装即可。这里将虚拟机的启动xml分享

'kvm'><name>anboxname>'KiB'>4194304</memory>4194304currentMemory><vcpu placement='static'>4vcpu><partition>/machinepartition>
  </resource>hvmtype>destroyrestartdestroy

虚拟机xml很普通,但是为了规避之前遇到的Anbox启动不起来的问题,需要特别注意要使用VGA显卡来创建虚拟机。安装完成后,进入ubuntu这样准备工作已经完成了。

三、在ubuntu19.10中安装Anbox

对于安装Anbox本人参考

https://www.linuxidc.com/Linux/2020-01/162095.htm

由于ubuntu已经使用snap来管理软件的安装,其实Anbox的安装已经非常简单了。

直接输入命令

snap install --devmode --beta anbox

这样anbox就安装好了

e8b04ba475416671b6f822918c6877df.png

按照参考文档接下来应该添加源,然后下载内核模块ashmem和binder。

可是源地址并没有编译ubuntu19.10要使用的模块。因此会报如下错误

c944032e3a75aed3ef3f971b81df9309.png

既然如此,需要自己使用源码进行编译。在我编译源码时候意外的发现,其实Android 的内核模块已经进入主干了。

8ccebeaf5dab24f3b92381d134a83412.png

62f40552fa9ca7d9f2e48db38b048095.png

真是大大的惊喜,这样就不用再编译内核模块了,直接启动Anbox Application Manager。启动成功。

b7f9918a24dd8d62ec758eaf2f4271d0.png

四、总结:

由于ubuntu19.10中已经对Android 的内核模块进行了支持。所以以后的Anbox安装变的十分方便。只需要执行如下命令就可以了。

snap install --devmode --beta anbox

当然如果想在虚拟机里面使用anbox,还是需要注意对虚拟显卡的配置,使用VGA显卡。

作者简介

肖丁,烽火云计算高级虚拟化设计师,多年从事云计算产品的架构设计、软件开发与技术方案编制等工作。长期专注于内核、虚拟化、云计算、容器、分布式等方向的研究,尤其对KVM和XEN虚拟化等产品有较深研究。

相关阅读:

万字长文:Kubernetes operator 模式开发实践

万字长文:Service Mesh · Istio · 以实践入门

万字长文:Docker容器安全性分析

2019 Kubernetes 六大趋势预测

神话还是现实?Docker和Kubernetes的完美架构

Docker、Kubernetes和Cloud Native Databases的崛起

万字长文:聊聊几种主流Docker网络的实现原理

万字长文:编写Dockerfiles最佳实践

万字长文:ELK(V7)部署与架构分析

吐血总结:最为详细的Docker入门指南

有坑!传统企业别上微服务了。。。

RightScale 2019年云状况调查报告:35% 的云支出被浪费「附50页PDF下载」

更多文章请关注

dfcea7a05ad216b97c74cd6bca0fdb6c.png

文章好看点这里[在看]?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql tree_MySQL树形遍历(二)

转载自:http://blog.csdn.net/dreamer0924/article/details/7580278英文原文:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/预排序遍历树算法&#xff1a;modified preorder tree traversal algorithm这个算法有如下几个数据结构1 lft 代表左 left2 r…

python导入pillow模块_Python:argparse模块和pillow-image

刚入门学python&#xff0c;最近照着实验楼做了一个基础的练手项目&#xff1a;图像转字符画&#xff0c;里面用到了argparse和pillow-image。看了python关于这个函数的介绍和网上的一些教程&#xff0c;想把重点整理出来&#xff0c;正好最近发现前一天还挺明白的内容&#xf…

mysql 常用数据库连接池_常见的数据库连接池

欢迎进入Java社区论坛&#xff0c;与200万技术人员互动交流 >>进入 2.C3P0 在Hibernate和Spring中默认支持该数据库连接池 需要引入&#xff1a;c3p0-0.9.1.2.jar包&#xff0c;如果报错再引入mchange-commons-0.2.jar 1. 在类路径下编写一个c3p0-config.xml文件 c3p0-co…

win32_bios 的对象编辑器无法保存对象_怎样创建Femap对象

创建Femap对象主要有两种方式&#xff0c;一是直接在Femap内置的API程序窗体中创建&#xff0c;二是在API程序窗口以外的开发环境中创建。一、使用FEMAP集成的API程序窗口开始使用FEMAP API的最快方法是打开API编程窗口。它提供了一个完整的编辑、调试和运行的环境&#xff0c;…

nginx 在阿里云怎么安装mysql_阿里云Linux服务器安装 nginx+mysql+php

阿里云Linux服务器安装 nginxmysqlphp步骤1、登录服务器2、下载安装包3、将安装包上传到服务器的/home目录下注:使用rz sz命令进行本地和服务器间的上传、下载&#xff0c;安装命令yum install -y lrzsz4、解压安装包注:使用yum install unzip -y安装解压工具&#xff0c;安装完…

未定义变量: data_三、变量声明

三、变量声明var声明主要特点&#xff1a; - var是函数作用域&#xff0c;只针对函数声明 - 可以多次声明同一个变量不会报错 - 捕获变量怪异之处function fnVar(flag: boolean) {if(flag) {var x 10;}return x; } fnVar(true); // 10 fnVar(false); // undefinedvar isDone: …

阿帕奇链接mysql_apache guacamole 使用mysql 连接

1.创建一个临时文件夹&#xff0c;用来存放mysql-java连接器mkdir tempauth2.下载相关文件cd tempauthwget https://jaist.dl.sourceforge.net/project/guacamole/current/extensions/guacamole-auth-jdbc-0.9.14.tar.gzwget https://cdn.mysql.com//Downloads/Connector-J/mys…

表单的默认提交方式_对于PHP表单提交有哪集中方式讲解

PHP 做网页后端还是很优秀的&#xff0c;PHP 表单提交&#xff0c;不外乎两种方法&#xff0c;即 GET 和 POST 方法&#xff1b;PHP后台使用全局变量$_POST;$_GET;来获取提交数据。代码&#xff1a;<!DOCTYPE HTML> <html> <head><meta charset"utf-…

spring中怎么让事物提交_Spring怎么在一个事务中开启另一个事务

点击上方“Java知音”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;作者&#xff1a;Mazinmy.oschina.net/u/3441184/blog/893628Spring项目&#xff0c;需要在一个事务中开启另一个事务。上面提到的情景可能不常见&#xff0c;但是还是会有的&#xff0c;一…

通过对象指针的方式强行指定到子类_C++中的虚指针与虚函数表

​ 最近在逛B站的时候发现有候捷老师的课程&#xff0c;如获至宝。因此&#xff0c;跟随他的讲解又复习了一遍关于C的内容&#xff0c;收获也非常的大&#xff0c;对于某些模糊的概念及遗忘的内容又有了更深的认识。以下内容是关于虚函数表、虚函数指针&#xff0c;而C中的动态…

datax oracle mysql_从 MySQL 到 Lindorm时序引擎 的数据迁移

背景本文主要介绍如何使用阿里巴巴的开源工具Datax 实现从 MySQL 到 时序引擎 的数据迁移。DataX相关使用介绍请参阅 DataX 的下面将首先介绍 DataX 工具本身&#xff0c;以及本次迁移工作涉及到的两个插件(MySQL Reader 和 TSDB Writer)。DataXDataX 是阿里巴巴集团内被广泛使…

如何手动输入给数组赋值_你是否真的了解VBA数组呢?让我带你认识一下真正的数组...

大家好&#xff0c;我们今日继续讲解VBA代码解决方案的第110讲内容&#xff1a;VBA数组讲解&#xff0c;什么是数组&#xff0c;如何定义数组&#xff0c;如何创建数组一、什么是数组 就是数组共享一个名字&#xff0c;有着多个元素按顺序排列的变量。在数组中&#xff0c;元素…

redhat9安装mysql_redhat 9.0 安装mysql

在官网上下载了MySQL-5.5.9-1.rhel5.i386.tar包 &#xff0c;将文件以二进制的形式ftp到虚拟机rehat上解压文件到MySQY-5文件夹下&#xff1a;然后将路径切换到解压目录下运行 rpm -ivh *.rpm --force报如下错&#xff1a;rootlocalhost MySQL-5]# rpm -ivh *.rpm --forceerror…

为什么整数在python中表示d_python中整数的缓存机制

在python中&#xff0c;如下代码结果一定不会让你吃惊&#xff1a;Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)] on win32Type "copyright", "credits" or "license()" for more information.>&g…

MySQL中序列的作用_MySql中序列的应用和总结

Mysql中的序列主要用于主键&#xff0c;主键是递增的字段&#xff0c;不可重复。Mysql与Oracle不同的是&#xff0c;它不支持原生态的sequence&#xff0c;需要用表和函数的组合来实现类似序列的功能。1.首先创建序列的主表/*Navicat Premium Data TransferSource Server : MyS…

python内置模块重要程度排名_python常用内置模块

#持续更新#在使用内置模块的时候需要导入&#xff0c;例如import abc&#xff0c;则导入abc模块&#xff0c;当然模块也可以自己写&#xff0c;相当于一个类&#xff0c;后面放到类里说&#xff0c;这个因为环境闲置&#xff0c;有些无法执行&#xff0c;只能理解了#os系统操作…

路由器装上去没有网络_5G网络那么快,今后路由器没有存在的价值了?

从一些宣传来看&#xff0c;即将商用的5G网速确实很快&#xff0c;号称10Gbps&#xff0c;比有线宽带还要快。既然5G网速那么快了&#xff0c;还有必要装宽带和路由器吗?先来纠正一个误区&#xff0c;5G网络的理论速度与实际速度是有很大差别的!!目前很多宣传中所说的5G网速最…

python爬取新闻网站内容findall函数爬取_Python爬取新闻网标题、日期、点击量

最近接触Python爬虫&#xff0c;以爬取学校新闻网新闻标题、日期、点击量为例&#xff0c;记录一下工作进度目前&#xff0c;感觉Python爬虫的过程无非两步&#xff1a;Step1.获取网页url(利用Python库函数import urllib2)Step2.利用正则表达式对html中的字符串进行匹配、查找等…

python token发送请求_python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息...

python发送requests请求时&#xff0c;使用登录的token值&#xff0c;作为下一个接口的请求头信息登录接口代码&#xff1a;在这里插入图片描述登陆后返回的结果是&#xff1a;在这里插入图片描述新增渠道接口&#xff1a;新增渠道接口需要在headers中添加登陆后返回的token才可…

python绘制散点图的步骤_python如何绘制散点图?

饼图&#xff1a;饼图显示静态数字以及类别如何表示整体构成的一部分。饼图以百分比表示数字&#xff0c;所有段的总和需要等于100&#xff05;。plt.pie(df[Age], labels {"A", "B", "C","D", "E", "F","G…