当前位置: 首页 > article >正文

“星睿O6” AI PC开发套件评测 - Windows on Arm 安装指南和性能测评

引言

Radxa联合此芯科技和安谋科技推出全新的"星睿O6"迷你 ITX 主板。该系统搭载了 CIX P1(CD8180)12 核 Armv9 处理器,拥有高达30T算力的NPU和高性能的GPU,最高配备64GB LPDDR内存,并提供了如 5GbE、HDMI 和 DisplayPort 等接口,还配备了一个 PCIe Gen4 x16 插槽及其他功能。这是最受期待的板子之一,因为它性能强大,性价比高。相比树莓派和RK3588,这也是我们第一次见到在开发板上能匹配主流手机SOC性能的板子。

本次评测,我拿到了 16GB 版本的 O6 主板。在这篇文章中,我将尝试在O6 上安装 Windows 11 并进行简单的基准测试,以评估其在早期阶段的功能表现。

安装Windows on Arm

Windows on Arm(WOA)一直是硬件爱好者追求的目标之一。与 Linux 相比,Windows 的闭源特性使得启动方式和驱动等方面面临更多挑战。从最早的小米 8 WOA 到树莓派、RK,这些项目都致力于在 Arm 平台上提供良好的 Windows 体验。但由于性能和驱动问题,这些项目多数停留在概念验证阶段。O6 主板的性能已达到桌面级别,因此我对它在 WOA 上的表现充满期待。

官方宣传后续会有windows的启动镜像,CIX在windows on Arm应该是做了许多工作。CIX也是目前linaro WOA项目的活跃成员,期待后续正式的官方镜像。

我最初以为,WOA的安装应该很顺利,结果发现还是有很多坑的。

硬件要求

  • U盘或移动硬盘,32GB起,最好USB3.0+,最好用USB-A口。 坑1 C口有可能会报错,可能是我的硬盘驱动问题
  • 一台windows x86的电脑,用于制作引导镜像

软件准备

  • Rufus(用于创建启动USB驱动器)。

安装步骤

第一步:下载制作Windows镜像

这一步最关键,我在这里踩了很多坑。最开始我从windows 官网下载了24H2的ISO,一通折腾,各种蓝屏。后来又从uupdump下载了26100build,然后也是蓝屏,无法安装。
后来又借鉴WOR项目,使用WOR来制作引导镜像,结果发现WOR不支持26100build,版本太高了,后来又下载了一个版本低一点的,制作完发现还是蓝屏。我都要放弃了,最后才发现有人用23H2版本没有问题,后来我又下载了23H2,这才有今天的教程~

  • 打开uupdump的网页,我已经选好了23H2的版本,直接打开就行
  • 下载方式选择:下载、添加虚拟升级版本并转换为 ISO 镜像文件,虚拟升级版本勾选Windows 企业版
  • 点击 创建下载包下载脚本
  • 解压脚本,双击uup\_download\_windows.cmd 运行脚本下载并且转换成镜像(这个过程可能要很久,依赖于你的网速的CPU性能,而且会占用一定的磁盘空间,大约20GB,要预留足够的空间)
  • 插入U盘:将空白U盘插入电脑中,作为安装媒体。
  • 下载并运行Rufus工具
  • 选择ISO镜像文件:点击“Device”(设备)区域中的下拉菜单,选择U盘路径,然后点击“Start”按钮。在弹出窗口中找到并选择Windows11 ISO镜像文件所在的位置,注意选择ISO而非映像文件夹。
  • 设置启动参数:确保Rufus已经自动检测到U盘的分区方案(通常为GPT)。

第二步:BIOS/UEFI配置

  • 上电/重启设备,并在系统启动时快速按下ESC键进入BIOS设置界面。
  • Device Manager->O/S Hardware Description/ 选择 ACPI, 按F10保存退出
  • 重启后,按下ESC键进入BIOS,在Boot Manager下选择你的U盘作为启动项,启动。

第三步:安装Windows on ARM

  • 启动后,顺利的话通常会直接进入Windows安装界面,选择好安装磁盘后,按下一步

在这里插入图片描述

终于开始安装了。

  • 按照屏幕上的指示进行操作,包括选择语言和区域、账户创建等基本设置步骤。网卡无法驱动,所以需要跳过网络设置。
  • 等待安装完成:这可能需要几分钟到几小时不等,具体取决于你的U盘和SSD。

第四步:初始化系统,安装驱动

看一下经典的windows 桌面

在这里插入图片描述

  • 安装完成后,重启电脑并进行登录。按照系统提示完成剩余的设置。
  • 很多设备无法驱动,但是基本可以使用了。驱动要等CIX或者其他IP对WOA的支持了~
  • WOA默认支持USB 网卡驱动,可以使用USB网卡来实现网络连接。
  • 内置的两个RTL8126有开源驱动,我下载本机编译了,可以正常驱动~~
    • 开源驱动在这里,下载安装Visual Studio,Windows SDK, WDK.然后直接编译就可以了
    • 但是,这个驱动打不上。因为Windows 11对驱动有签名验证。我尝试把自签的证书加到信任根证书和信任发布者里面,后无法安装驱动。
    • 经过一番搜索,发现是Windows 11 ARM64版本的问题。x86版本可以安装自签证书的驱动。
    • 然后我又尝试想永久禁用签名验证,设置bcd,但是依然无法生效
    • 最后只能无奈临时禁用:设置-》搜索 高级启动》选择高级启动 重启》选择 疑难解答》高级选项》启动设置》重启》按7 选择禁用驱动签名。
    • 重启后,启动终于也能打上了,网络也可以正常使用,由于没有2.5G/5G环境,无法测试网卡性能
    • 这个驱动是临时的,重启之后驱动就用不了了,要走签名禁用流程重新重启~,所以无法用,除非你一直不重启。
    • 最后,我还是使用usb网卡来玩的。
  • 其他问题: GPU没有驱动,声卡也没有驱动,WIFI没有驱动,CPU只能跑1.8GHz。 VPU、DSP、NPU就不想了。我远程桌面链接,相应很好,日常办公,浏览网页没有问题。上面的网卡驱动也是在本机编译的,体验还是很好的。

简单 Windows 性能测试

CPU-Z

CPU Z 能正确识别CPU内存信息。

在这里插入图片描述
在这里插入图片描述
单核281分,比高通845要好,多核有问题,还是单核的分数。

在这里插入图片描述

7z

7z 多线程可以正常,12线程跑分 压缩大约30MB/s,解压428MB/s, 多核利用率1043%,单线程没测。

在这里插入图片描述

GeekBench6

单核 728, 多核 4368 ~很拉跨, 后面对比一下linux下的结果.

在这里插入图片描述

Cinebench

实在太慢了,建议大家不要跑.

单核35分,多核282分,比Intel 12代慢一倍左右.

在这里插入图片描述

结语

总体来说,Radxa"星睿O6"在 WOA 上的表现尚可,但仍存在驱动不全和性能问题。日常办公和网页浏览表现良好,但网卡驱动较为繁琐,且缺乏显卡驱动。

我使用了两天,比起xiaomi 8和树莓派的WOA,体验好很多,浏览网页很流畅,VS开发也能没问题,算是能用的水平。期待后续官方的版本吧。希望能把网卡,WIFI,GPU和声卡驱动起来,这样基本就是一个很好的办公设备了。

相关文章:

“星睿O6” AI PC开发套件评测 - Windows on Arm 安装指南和性能测评

引言 Radxa联合此芯科技和安谋科技推出全新的"星睿O6"迷你 ITX 主板。该系统搭载了 CIX P1(CD8180)12 核 Armv9 处理器,拥有高达30T算力的NPU和高性能的GPU,最高配备64GB LPDDR内存,并提供了如 5GbE、HDMI …...

Python 调用 YOLOv11 ONNX

Python 调用 YOLO ONNX 1 下载ONNX文件2 Python代码 1 下载ONNX文件 ONNX下载地址 2 Python代码 import cv2 from ultralytics import YOLOdef check(yolo:str, path:str):# 加载 YOLOv11model YOLO(yolo)# 读取图片img cv2.imread(path)# 推理(可以传文件路径…...

数据通信学习笔记之OSPF路由汇总

区域间路由汇总 路由汇总又被称为路由聚合,即是将一组前缀相同的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或…...

ASP.NET Core Web API 配置系统集成

文章目录 前言一、配置源与默认设置二、使用步骤1)创建项目并添加配置2)配置文件3)强类型配置类4)配置Program.cs5)控制器中使用配置6)配置优先级测试7)动态重载配置测试8)运行结果示…...

如何判断单片机性能极限?

目录 1、CPU 负载 2、内存使用情况 3、实时性能 4、外设带宽 5、功耗与温度 在嵌入式系统设计中,当系统变得复杂、功能增加时,单片机可能会逐渐逼近其性能极限。及时识别这些极限点对于保证产品质量、稳定性和用户体验至关重要。 当你的嵌入式系统…...

AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析

以下是 AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析: 1. 多Agent协同的定义与核心目标 多Agent系统(MAS, Multi-Agent System): 由多个独立或协作的智能体(Agent)组成&#xff…...

1.凸包、极点、极边基础概念

目录 1.凸包 2.调色问题 3.极性(Extrem) 4.凸组合(Convex Combination) 5.问题转化(Strategy)​编辑 6.In-Triangle test 7.To-Left-test 8.极边(Extream Edges) 1.凸包 凸包就是上面蓝色皮筋围出来的范围 这些钉子可以转换到坐标轴中&#xff0…...

OSCP - Proving Grounds - DriftingBlues6

主要知识点 路径爆破dirtycow内核漏洞提权 具体步骤 总体来讲,这台靶机还是比较直接的,没有那么多的陷阱,非常适合用来学习 依旧是nmap开始,只开放了80端口 Nmap scan report for 192.168.192.219 Host is up (0.42s latency). Not shown: 65534 cl…...

深度理解指针之例题

文章目录 前言题目分析与讲解涉及知识点 前言 对指针有一定了解后,讲一下一道初学者的易错题 题目分析与讲解 先定义一个数组跟一个指针变量 然后把数组名赋值给指针变量————也就是把首地址传到pulPtr中 重点是分析这一句: *(pulPtr…...

java 设计模式之策略模式

简介 策略模式:策略模式可以定制目标对象的行为,它尅通过传入不同的策略实现,来配置目标对象的行为。使用策略模式,就是为了定制目标对象在某个关键点的行为。 策略模式中的角色: 上下文类:持有一个策略…...

LeetCode算法题(Go语言实现)_51

题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,两者长度都是 n ,再给你一个正整数 k 。你必须从 nums1 中选一个长度为 k 的 子序列 对应的下标。 对于选择的下标 i0 ,i1 ,…, ik - 1 ,你的 分数 …...

条件变量condition_variable

1.条件变量用来控制线程同步和协调。 2.调用wait方法,如果条件满足就不挂起,如果条件不满足就挂起线程并释放锁。 3.等到通知后,挂起线程先 竞争锁,然后 判断条件,如果满足条件就往下走,如果不满足就再次挂起并释放锁…...

Solon AI MCP Server 入门:Helloworld (支持 java8 到 java24。国产解决方案)

目前网上能看到的 MCP Server 基本上都是基于 Python 或者 nodejs ,虽然也有 Java 版本的 MCP SDK,但是鲜有基于 Java 开发的。 作为Java 开发中的国产顶级框架 Solon 已经基于 MCP SDK 在进行 Solon AI MCP 框架开发了,本文将使用 Solon AI …...

Maven工具学习使用(十一)——部署项目到仓库

1、使用Maven默认方式 Maven 部署项目时默认使用的上传文件方式是通过 HTTP/HTTPS 协议。要在 Maven 项目中配置部署,您需要在项目的 pom.xml 文件中添加 部分。这个部分定义了如何部署项目的构件(如 JAR 文件)到仓库。。这个部分定义了如何…...

公司内部自建知识共享的方式分类、详细步骤及表格总结,分为开源(对外公开)和闭源(仅限内部),以及公共(全员可访问)和内部(特定团队/项目组)四个维度

以下是公司内部自建知识共享的方式分类、详细步骤及表格总结,分为开源(对外公开)和闭源(仅限内部),以及公共(全员可访问)和内部(特定团队/项目组)四个维度&am…...

Oracle 19c部署之初始化实例(三)

上一篇文章中,我们已经完成了数据库软件安装,接下来我们需要进行实例初始化工作。 一、初始化实例的两种方式 1.1 图形化初始化实例 描述:图形化初始化实例是通过Oracle的Database Configuration Assistant (DBCA)工具完成的。用户通过一系…...

医疗设备预测性维护合规架构:从法规遵循到技术实现的深度解析

在医疗行业数字化转型加速推进的当下,医疗设备预测性维护已成为提升设备可用性、保障医疗安全的核心技术。然而,该技术的有效落地必须建立在严格的合规框架之上。医疗设备直接关乎患者生命健康,其维护过程涉及医疗法规、数据安全、质量管控等…...

Openfeign的最佳实践

文章目录 问题引入一、继承的方式1. 建立独立的Moudle服务2. 服务调用方继承jar包中的接口3. 直接注入继承后的接口进行使用 二、抽取的方式1. 建立独立的Moudle服务2.服务调用方依赖注入 问题引入 openfeign接口的实现和服务提供方的controller非常相似,例如&…...

Python中如何加密/解密敏感信息(如用户密码、token)

敏感信息,如用户密码、API密钥、访问令牌(token)、信用卡号以及其他个人身份信息(PII),构成了现代应用程序和系统中最为关键的部分。这些信息一旦被未经授权的第三方获取,可能引发灾难性的后果,从个人隐私泄露到企业经济损失,甚至是大规模的社会安全问题。保护这些敏感…...

【Java面试系列】Spring Cloud微服务架构中的分布式事务解决方案与Seata框架实现原理详解 - 3-5年Java开发必备知识

【Java面试系列】Spring Cloud微服务架构中的分布式事务解决方案与Seata框架实现原理详解 - 3-5年Java开发必备知识 引言 在微服务架构中,分布式事务是一个不可避免的挑战。随着业务复杂度的提升,如何保证跨服务的数据一致性成为了面试中的高频问题。本…...

从万维网到人工智能基石:大数据技术三十年演进史(1991-2025)

一、万维网的创世纪(1991) 1.1 信息共享的革命性突破 1991年8月6日,蒂姆伯纳斯-李在欧洲核子研究中心(CERN)发布首个万维网(World Wide Web)网站,构建了信息互联的三项核心技术&…...

Buildroot编译过程中下载源码失败

RK3588编译一下recovery,需要把buildroot源码编译一遍。遇到好几个文件都下载失败,如下所示 pm-utils 1.4.1这个包下载失败,下载地址http://pm-utils.freedesktop.org/releases 解决办法,换个网络用windows浏览器下载后&#xff…...

【Rust基础】crossbeam带来的阻塞问题

背景 最近正在做AI知识库的相关内容,web框架使用Rocket,需要使用SSE处理模型的流式输出,而Rocket的SSE功能比较单一,没有进行全局状态管理,因此需要手动处理SSE连接,而对于web环境下,必然会涉及…...

OpenCV 图形API(43)颜色空间转换-----将 BGR 图像转换为 LUV 色彩空间函数BGR2LUV()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从BGR色彩空间转换为LUV色彩空间。 该函数将输入图像从BGR色彩空间转换为LUV。B、G和R通道值的传统范围是0到255。 输出图像必须是8位无符…...

自问自答模式(Operation是什么)

自问自答 问:Operation 注解来自哪里? 答:Operation 是 OpenAPI(Swagger)规范中,来自 io.swagger.v3.oas.annotations 包的一个注解,用于给 REST 接口增加文档元数据。 问:summary …...

996引擎-实战笔记:Lua 的 NPC 面板获取 Input 内容

996引擎-实战笔记:Lua 的 NPC 面板获取 Input 内容 获取 Input 内容测试NPC参考资料获取 Input 内容 测试NPC -- NPC入口函数 function main(player)local msg = [[<Img|id=9527|x=0|y=0|width=300|height=150|img=public/bg_npc_01.png|bg=1|move=1|reset=1|show=0|layer…...

少数服从多数悖论、黑白颠倒与众人孤立现象之如何应对(一)

观己之前&#xff0c;也可先观众生 如果当时没有袖手旁观&#xff0c;或许唇不亡齿也不会寒 ■如何轻松/更好应对个别被众人孤立&#xff08;他人、辨别、自己&#xff09; ●他人被孤立 不参与 有余力&#xff0c;助弱者 被孤立者本身有问题 •不参与&#xff1a;不会辨…...

leetcode0058. 最后一个单词的长度-easy

1 题目&#xff1a;最后一个单词的长度 官方标定难度&#xff1a;易 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#x…...

新一代电子海图S-100标准

随着航海技术的不断发展&#xff0c;国际海事组织&#xff08;IMO&#xff09;和国际航道测量组织&#xff08;IHO&#xff09;不断推动电子海图标准的更新&#xff0c;以提高航行安全和效率。S-100标准作为新一代电子海图标准&#xff0c;为电子海图显示和信息系统&#xff08…...

Python内置函数---all()

Python内置函数 all() 用于判断可迭代对象中的所有元素是否都为真值&#xff08;Truthy&#xff09;&#xff0c;是逻辑判断的重要工具。 1. 基本语法 all(iterable) 参数&#xff1a; iterable 必须为可迭代对象&#xff08;如列表、元组、集合、字典的值等&#xff09;。…...