pve 安装 Bliss OS - Android-x86 并配置显卡直通

1. 前言 我的 这篇文章 中介绍了在 pve 环境中安装 Android-x86 实现 x86 架构的云手机,可惜 Android-x86 的版本停留在了 Android 9.0 ,这个版本的 Android 无法实现音频的串流,scrcpy 的音频串流最低支持到 Android 10 ,无法听到音频的云手机是不完美的,今天我们就来试下另一个 Android-x86 的项目 - BlissOS ,看它是否可解决以上问题,成为真正可用的云手机。 2. 安装 2.1 ROM 选择 简单介绍一下 BlissOS ,它是基于 AOSP 优化定制,集成了很多专为 PC 优化的功能,比 如 Dock,Desktop 模式,兼容 arm 应用,也就是说他的 ROM 定制得更像一个平板系统,而不是原生 AOSP 那样,AOSP 如果作为远程使用,没有触摸屏的情况下还是有很多操作上的不便,但是它定制的版本则很好的解决了鼠标操作的问题,因为它目标就是专为Chromebook、桌面PC、平板等设备优化。 目前官方提供了两个稳定的分支,BlissOS 14 基于 安卓 11 ,另一个 BlissOS 15 基于 Android 12L ,我这里选择了 BlissOS 14。 BlissOS 14 提供了几个 ROM,我们下载带谷歌框架的这个版本: 2.2 显卡加速 Bliss OS 由开源技术构建,内核基于 Linux 所以支持大部分显卡加速,然而由于 Nvidia 专用驱动对很多开源软件的支持问题,BlissOS 仅支持极少的 Nvidia 显卡,我的上篇文章中使用了 VirtualGL 为 Android-x86 提供显卡加速,那个方案是可行的,而且性能也足够,但缺点时没有物理输出,今天我们换个方案,参照 这篇文章 中提取出的核显 vbios ,就能实现核显直通并具有物理输出,我们不仅可以用来当作云手机,甚至可以外接显示器作为 HDPC 使用。...

2023-12-15 · 3 min · 476 words · Linkzz

甲骨文免费Arm主机新玩法-云安卓手机

1. 前言 我的一篇 文章 中有提到过云安卓手机的项目-redroid,该 项目 基于容器技术,构建一个安卓的运行时,同时通过Linux的内核模块,支持调用宿主机的硬件资源,同时其可运行于 x86 架构之上,通过转译来运行仅支持 arm 架构的安卓应用,用来跑app测试可以一试,正好甲骨文的arm主机资源没有好好利用,今天就来折腾一下这个玩法。 2. 加载内核模块 ashmem_linux、binder_linux 2.1 基于 Ubuntu 20.04 以上发行版 这两个模块是容器运行必须的内核模块,按照官方文档,在 Ubuntu 20.04 以上版本中,这两个模块已经编译到内核里了,可以直接 modprobe 命令加载,所以如果你的 arm服务器 正好是Ubuntu 20.04 以上版本,按照一下命令即可运行: # 安装额外内核模块 apt install linux-modules-extra-`uname -r` # 加载内核模块 modprobe binder_linux devices="binder,hwbinder,vndbinder" modprobe ashmem_linux # 运行容器 docker run -itd --rm --privileged \ --pull always \ -v ~/data:/data \ -p 5555:5555 \ redroid/redroid:11.0.0-latest \ androidboot.redroid_gpu_mode=guest 2.2 Oracle Linux 8 否则如果你像我一样开主机的时候选了 Oracle Linux 8 的话,很遗憾,官方没有该系统的运行文档,以上两个内核模块也并没有编译,奈何我对该发行版不熟,升级了官方内核到 5....

2023-12-06 · 2 min · 368 words · Linkzz

一加 3T 刷 LineageOS 18.1记

现在用的手机是一加8 Pro,旧手机一加3T放在公司作为备用机和必要时候的远程打卡机,最近在在使用scrcpy连接手机发现音频的传输需要系统在Android 10以上,然而这个手机早已失去了官方的支持,最终最新版系统停留在安卓9.0,幸好这手机在国外很受欢迎,有 LineageOS 的官方支持,最新的系统也有基于Android 11 的 LineageOS 18.1,今天就来记录一下安装过程。 本文不是教程文章,只是自己的折腾记录,如果你要按照本文的方式来操作,请确保你了解必要的手机刷机的知识如 adb、fastboot、解锁 bootloader 等。 1. 解锁 Bootloader, 刷入第三方 recovery 手机刷机第一步,由于我的一加3T很早以前就已经解锁BL并刷入了第三方TWRP recovery,这里就写一写步骤就好了 1.1 安装 oem usb 驱动 Mac和Linux系统无须安装usb驱动,但在Windows上则必须安装,否则 adb 和fastboot无法连接设备。 由于设备古老,在中文互联网上已经很难找到官方驱动了,还好在外网有专门的网站下载,虽然标的是官方,但具体是否还待验证,用起来是没有什么问题。 下载之后是 setup.exe 文件,点击安装之后用手机连接Windows,设备管理器里没有Android设备的感叹号就好了。 1.2 解锁 Bootloader 安装 adb 工具 scoop install adb 打开USB调试模式,连接手机并允许usb调试。 adb reboot bootloader 或者关机状态下按住 ”音量+“ + “电源” 键进入 fastboot 模式。 fastboot devices 键入一下命令解锁 Bootloader fastboot oem unlock 没有报错就解锁成功了。 1.3 刷入 Recovery 下载 LineageOS 的 recovery 镜像 进入 fastboot 模式...

2023-11-30 · 2 min · 229 words · Linkzz

pve安装Android-x86并配置显卡加速

先看下效果: 可以看到运行很流畅,由于gif压缩小了尺寸,Aida64的信息界面看不清,显卡是virtGL,支持OpenGL,3D加速由宿主机Intel UHD 630提供,最后的游戏演示可看出很流程。 1. 前言 1.1 为什么需要Android 我日常使用的是一个直通了RTX2060s(矿卡)的Win11虚拟机,众所周知,在虚拟机里使用模拟器性能巨差,我试过夜神模拟器,启动慢不说,游戏电竞帧数,连抖音都卡顿明显。所以一个能在Hypevision中运行的安卓系统就是一个很好的选择。 1.2 选择哪一种 现阶段能作为选择的有3种方案: ChromeOS: 首当其冲的就是基于Chromium OS的ChromeOS及其他发行版如国内的FydeOS,这系统号称老电影福音,具有完整的桌面环境并兼容Android应用,可惜对于显卡的兼容性不是很好,而虚拟机能使用3D加速的显卡,除了显卡直通外还有一种就是最近一两年积极维护的VirtualGL,所以ChromeOS在VirtualGL下运行是否可行还得画个问号,后面再折腾。 容器化方案 -Waydroid or Redroid: 第二种方案就是借助容器化cgroups,namespace 等内核技术的容器化方案,这种方案启动快速,可使用宿主机硬件资源,也能使用宿主机GPU进行3D加速, 但是对于Nvidia的显卡兼容性很差。运用pve创建一个lxc容器来运行docker redroid容器也能运行,后续折腾一下这个方案。 Android-x86: Android-x86 在AOSP的基础上增加x86平台的支持,可通过native-bridge转义arm指令从而运行arm应用,同样称为老电脑福音,GPU兼容性较好,兼容VirtualGL ,今天我们就来在pve中尝试一下这个系统有什么妙处。 2. 安装Android-x86 2.1 镜像下载 打开Android-x86 官网,官网提供了2个下载分流,按需选择,我这里选择SourceForge 共有一下版本: 最新版本Release 9.0 基于Android 9.0 Pie,也是下载次数最多的版本,我们选择此版本。 选择 64 位ISO版本 2.2 创建虚拟机 创建虚拟机 选择刚才下载的镜像 选择 q35 机型和 OVMF 安装,显卡选择VirGL GPU VirGL GPU 需要宿主机有有效的render节点设备,也就是说你的显卡需要正确的驱动了才能运行,通过ls /dev/dri 查看是否有 render* 字样。 存储给到32G即可,如果需要安装大型游戏可以给多一点。 安卓比较依赖CPU资源,如果运行的是arm应用更需要CPU的转译,所以这里给到 10 vCPU 。 内存给到 8G Android-x86做了虚拟机的兼容,所以这里网卡选择效能最高的 VirtIO 。 点击完成之后选择“硬件” -> “添加音频设备”, 后端驱动器选择 “无”...

2023-11-23 · 2 min · 300 words · Linkzz