Files
pages/2024/10/13/arm-linux.html
2026-01-17 09:36:00 +00:00

353 lines
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Linux ARM生态评测 | Mayx的博客</title>
<meta name="generator" content="Jekyll v3.9.5" />
<meta property="og:title" content="Linux ARM生态评测" />
<meta name="author" content="mayx" />
<meta property="og:locale" content="zh_CN" />
<meta name="description" content="看看现在的Linux ARM能不能替代macOS" />
<meta property="og:description" content="看看现在的Linux ARM能不能替代macOS" />
<meta property="og:site_name" content="Mayx的博客" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-10-13T00:00:00+08:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Linux ARM生态评测" />
<meta name="google-site-verification" content="huTYdEesm8NaFymixMNqflyCp6Jfvd615j5Wq1i2PHc" />
<meta name="msvalidate.01" content="0ADFCE64B3557DC4DC5F2DC224C5FDDD" />
<meta name="yandex-verification" content="fc0e535abed800be" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"mayx"},"dateModified":"2024-10-13T00:00:00+08:00","datePublished":"2024-10-13T00:00:00+08:00","description":"看看现在的Linux ARM能不能替代macOS","headline":"Linux ARM生态评测","mainEntityOfPage":{"@type":"WebPage","@id":"/2024/10/13/arm-linux.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://avatars0.githubusercontent.com/u/17966333"},"name":"mayx"},"url":"/2024/10/13/arm-linux.html"}</script>
<!-- End Jekyll SEO tag -->
<link rel="canonical" href="https://mabbs.github.io/2024/10/13/arm-linux.html" />
<link type="application/atom+xml" rel="alternate" href="/atom.xml" title="Mayx的博客" />
<link rel="alternate" type="application/rss+xml" title="Mayx的博客(RSS)" href="/rss.xml" />
<link rel="alternate" type="application/json" title="Mayx的博客(JSON Feed)" href="/feed.json" />
<link rel="stylesheet" href="/assets/css/style.css?v=1768642553" />
<!--[if !IE]> -->
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
<!-- <![endif]-->
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Mayx的博客" />
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
<link rel="pingback" href="https://webmention.io/mabbs.github.io/xmlrpc" />
<link rel="preconnect" href="https://summary.mayx.eu.org" crossorigin="anonymous" />
<link rel="prefetch" href="https://www.blogsclub.org/badge/mabbs.github.io" as="image" />
<link rel="blogroll" type="text/xml" href="/blogroll.opml" />
<link rel="me" href="https://github.com/Mabbs" />
<script src="/assets/js/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<script>
var lastUpdated = new Date("Sat, 17 Jan 2026 17:35:53 +0800");
var BlogAPI = "https://summary.mayx.eu.org";
</script>
<script src="/assets/js/main.js"></script>
<!--[if !IE]> -->
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-137710294-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-137710294-1');
</script>
<script src="/assets/js/instant.page.js" type="module"></script>
<!-- <![endif]-->
</head>
<body>
<!--[if !IE]> --><noscript><marquee style="top: -15px; position: relative;"><small>发现当前浏览器没有启用JavaScript这不影响你的浏览但可能会有一些功能无法使用……</small></marquee></noscript><!-- <![endif]-->
<!--[if IE]><marquee style="top: -15px; position: relative;"><small>发现当前浏览器为Internet Explorer这不影响你的浏览但可能会有一些功能无法使用……</small></marquee><![endif]-->
<div class="wrapper">
<header class="h-card">
<h1><a class="u-url u-uid p-name" rel="me" href="/">Mayx的博客</a></h1>
<img src="https://avatars0.githubusercontent.com/u/17966333" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px;" />
<p class="p-note">Mayx's Home Page</p>
<form action="/search.html">
<input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.." />&#160;<input type="submit" value="搜索" />
</form>
<br />
<p class="view"><a class="u-url" href="/Mabbs/">About me</a></p>
<ul class="downloads">
<li style="width: 270px; border-right: none;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
</ul>
</header>
<section class="h-entry">
<small><time class="date dt-published" datetime="2024-10-13T00:00:00+08:00">13 October 2024</time> - 字数统计4675 - 阅读大约需要14分钟 - Hits: <span id="/2024/10/13/arm-linux.html" class="visitors">Loading...</span></small>
<h1 class="p-name">Linux ARM生态评测</h1>
<p class="view">by <a class="p-author h-card" href="//github.com/Mabbs">mayx</a></p>
<div id="outdate" style="display:none;">
<hr /><p>
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
</p>
</div>
<script>
daysold = Math.floor((new Date().getTime() - new Date("Sun, 13 Oct 2024 00:00:00 +0800").getTime()) / (24 * 60 * 60 * 1000));
if (daysold > 90) {
document.getElementById("outdate").style.display = "block";
document.getElementById("outime").innerHTML = daysold;
}
</script>
<hr />
<b>AI摘要</b>
<p id="ai-output">这篇文章评估了Linux ARM生态在树莓派Raspberry Pi上的性能和可用性尤其关注其与macOS的对比。作者测试了树莓派官方的Raspberry Pi OS发现国产软件如WPS Office、钉钉和微信在 ARM 设备上可用且功能完整。除此之外常见的开发工具如VSCode、数据库管理使用Navicat Premium Lite和接口调试工具Apipost也得到了支持。虽然安卓应用和游戏如Ren'Py引擎游戏和模拟器的体验有待提高但Linux ARM生态已经能够满足大部分日常和开发需求。文中也提到了转译工具如ExaGear的应用比如运行原本为x86编译的应用虽然效率不如Rosetta 2但仍有一定的可用性。总的来说文章认为Linux ARM生态在功能和可用性上已经相当成熟尽管在性能上不如macOS。</p>
<hr />
<ul><li><a href="#起因">起因</a></li><li><a href="#与我mac上软件的替代测试">与我Mac上软件的替代测试</a><ul><li><a href="#原生应用测试">原生应用测试</a></li><li><a href="#安卓软件测试">安卓软件测试</a></li><li><a href="#转译应用测试">转译应用测试</a></li></ul></li><li><a href="#其他实验">其他实验</a></li><li><a href="#感想">感想</a></li></ul>
<hr />
<main class="post-content e-content" role="main"><p>看看现在的Linux ARM能不能替代macOS<!--more--></p>
<h1 id="起因">
<a href="#起因"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 起因
</h1>
<p>我的树莓派4B从好久之前就一直吃灰了之前用它装过<a href="/2023/09/24/rpi-ubuntu.html">Ubuntu</a><a href="/2023/12/10/openfyde.html">openFyde</a><a href="/2023/05/22/rpi-win.html">Windows 11</a><a href="/2021/01/17/picore.html">piCore</a>但都因为性能和使用体验不佳放弃使用了。不过随着华为的某系统发布以及高通出的某个笔记本电脑用处理器我对运行在ARM指令集CPU系统的生态产生了一些兴趣。macOS的生态之前我已经<a href="/2023/02/03/mbp.html">体验</a>过了,是符合预期的不错。<a href="/2023/05/22/rpi-win.html">Windows on ARM</a>虽然在树莓派上装了试着用了但是没驱动太卡了其实没有体现它怎么样要想体验还得整个高通CPU的拿来试不过我手头没有所以没办法😂那在树莓派上的Linux系统我也试过不少有什么测试的必要吗其实还是有的因为之前我测都是当服务器测的虽然也测了<a href="/2023/12/10/openfyde.html">openFyde</a>ChromeOS但是生态其实挺垃圾的虽然能用Linux软件但是因为是容器卡的不能用。所以这次我想装树莓派官方的Raspberry Pi OS完整版来测测现在Linux ARM生态能不能和我现在用的macOS比拼。 </p><p>
另外前段时间树莓派出了新的连接方式Raspberry Pi Connect可以登录树莓派官网的账号然后用浏览器操作图形界面或者命令行可以自动判断使用P2P模式还是中继模式而且可以根据浏览器界面大小自动修改树莓派的分辨率体验还不错。</p>
<h1 id="与我mac上软件的替代测试">
<a href="#与我mac上软件的替代测试"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 与我Mac上软件的替代测试
</h1>
<h2 id="原生应用测试">
<a href="#原生应用测试"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 原生应用测试
</h2>
<p>既然是和macOS相比那就看看我现在用的软件是不是能在树莓派上原生运行吧。首先是常用的国产软件比如WPS Office钉钉微信QQ。因为UOS的缘故大多数常用的国产软件都有Linux ARM的版本首先钉钉和QQ在官网上可以直接下载deb包安装运行也没什么问题功能完全一致而且也没有卡到不能用的程度对于树莓派来说已经很让我满意了。WPS Office和微信稍微有点麻烦官网并没有提供安装包但是我找到一个不错的国产Linux应用商店——<a href="https://github.com/spark-store-project/spark-store">星火应用商店</a>。里面有不少Debian系各种CPU架构的国产软件官网上没有的也能在这里下到让我很满意。不过里面有好多Wine的应用……我不是特别想用而且不知道它是怎么处理的会不会一个软件安装一个Wine所以就先不考虑了。随后我在里面找到了WPS Office和微信安装试了一下微信看起来还不错至少小程序视频号之类的都能用反正是基于浏览器的好适配🤣WPS Office虽然能用但是刚安装是英文版的……而且中文切换找了半天找不到😅后来找了半天才找到……不过安了WPS Office应该再配个中文输入法才对我试着安装了搜狗输入法但是安装好之后不能用Fcitx不停崩溃重启不知道是什么问题换了谷歌输入法之后就正常了。 </p><p>
除了常用的国产软件之外还有一些我平时开发用的软件这些软件对Linux ARM的支持也挺不错的可能国外也是比较支持Linux ARM生态吧大概是因为Chromebook。我平时用的VSCode当然是有的不过数据库管理和接口调试我在Mac用的是<a href="https://github.com/Sequel-Ace/Sequel-Ace">Sequel Ace</a>和RapidAPI这两个是专为macOS设计的当然没有Linux版。但是这些是有替代品的我找了一下数据库我用的是Navicat Premium Lite它有原生Linux ARM版但是是AppImage……感觉不是很舒服。接口调试的话用的是Apipost估计就是因为用的Electron的所以才愿意整跨平台的版本吧。Mac上有时候我还会远程桌面到Windows主机这个树莓派也可以有个叫<a href="https://gitlab.com/Remmina/Remmina">Remmina</a>的客户端可以用,效果也还不错,如果不是局域网连接还有<a href="https://github.com/rustdesk/rustdesk">RustDesk</a>可以用虽然不知道为什么中文会变方块😂。另外还有用来测试的网站环境这个倒是比macOS更简单毕竟Linux有那么多面板也不需要敲命令安装而且还可以运行Docker我这次用的是1Panel使用基本上没什么问题还能安装杀毒软件😁虽然MongoDB安装会因为缺少指令集报错用不了但是我用不着🤣</p><p>
除此之外还有虚拟机这个在之前Ubuntu Server上已经<a href="/2023/09/24/rpi-ubuntu.html#%E6%95%B4%E7%82%B9qemu-kvm-windows%E8%99%9A%E6%8B%9F%E6%9C%BA">测过了</a>不过那时候是无头模式现在可以在图形界面用virt-manager来管理了之前安装了Windows这次就安装个FreeBSD吧安装起来也不复杂和其他虚拟机管理软件一样而且还能用虚拟串口连接感觉还挺有意思的。安装好之后上网之类的都没问题和在macOS上用UTM的区别可能就只有在macOS上可以把Rosetta 2穿透到Linux下使用吧。 </p><p>
另外还有游戏专门为Linux ARM设计的游戏估计没几个不过想玩肯定是有的比如用RenPy引擎的游戏以及在浏览器上的游戏其他引擎似乎没什么资料……但没事在macOS上也是用的iOS版的模拟器后面讲到的安卓也可以运行模拟器😁。我之前也研究过<a href="/2024/01/20/renpy.html">在macOS上玩RenPy引擎的游戏</a>。不过RenPy默认发行是不支持Linux ARM版的……但是可以另外下载SDK来支持。然而有一个问题只有新版的SDK才支持64位的ARM旧版虽然有树莓派支持但可能是因为旧版树莓派只有32位的系统所以没有64位ARM的运行库😂。我看了看我电脑上之前下的RenPy引擎的游戏找了一个《<a href="https://store.steampowered.com/app/2646050/Sakura_Isekai_Adventure/">Sakura Isekai Adventure</a>》游戏看了一下RenPy的版本还可以SDK也能正常的在树莓派上运行试了一下感觉效果还不错运行的方法是“SDK所在目录/renpy.sh 游戏所在目录/Game”之前没加Game不停报错😅文档写的也不清晰测了半天才测出来……那对于旧版的就不能玩了吗估计是可以但可能要自己编译很麻烦反正源代码都有。不过有个例外我本来想试试《<a href="https://www.katawa-shoujo.com/">Katawa Shoujo</a>它用的RenPy很旧但是因为是同人类游戏所以有人做了重制版《<a href="https://www.fhs.sh/projects">Katawa Shoujo: Re-Engineered</a>》😆这个是用的最新版的RenPy增加了新的特性和各种BUG但是正因如此可以简单的在树莓派上运行了🤣。 </p><p>
至于其他关于AI方面的比如LLaMA和Stable Diffusion这些毕竟是开源的Linux ARM当然可以运行只不过树莓派的GPU不能用来加速运行会很卡而已生态方面是没问题。</p>
<h2 id="安卓软件测试">
<a href="#安卓软件测试"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 安卓软件测试
</h2>
<p>既然macOS可以原生运行iOS软件那对于Linux来说自然应该对比一下原生运行安卓软件了。关于安卓软件我之前在Ubuntu Server上已经测了<a href="/2023/12/24/android.html">Waydroid和redroid</a>。但毕竟当时是在无头模式下测的没有图形界面现在有了图形界面可以再测一下。安装除了要挂梯子下载镜像之外没什么问题但是打开的时候不知道为什么只会黑屏……后来搜了一下执行“waydroid prop set persist.waydroid.multi_windows true”再重启就没问题了。虽然安卓软件比iOS的要更多不过毕竟树莓派的性能想玩手游还是有点勉强当然这次测的是生态所以还是完全没问题😁。</p>
<h2 id="转译应用测试">
<a href="#转译应用测试"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 转译应用测试
</h2>
<p>既然macOS有Rosetta 2可以运行x86架构的软件那Linux ARM当然也不能少这个方案比较多有QEMUBox86/64还有ExaGear不过听说ExaGear性能相对更好一些那这次就测这个吧。 </p><p>
现在ExaGear已经被华为收购了想要下载的话在<a href="https://mirrors.huaweicloud.com/kunpeng/archive/ExaGear/">华为源</a>里就能下到我装的是4.0.0的因为4.1.0似乎要自己配置镜像太麻烦了所以就没用。安装很简单直接把对应目录的deb包安装了就可以安装好之后就可以执行“exagear”进到转译后的Bash中不过和macOS有个区别macOS的程序都是通用二进制文件里面包含了ARM架构和x86架构的程序所以可以无缝衔接Linux当然没有这个特性所以ExaGear是映射到它自己的镜像里面的各种包还得另外安装。 </p><p>
那这个东西装什么比较好呢我发现我的Mac上有个网易云音乐在Linux上似乎没有ARM版的在星火应用商店也只有Wine版。但是它之前和深度合作出过Linux版现在估计谈崩了从官网上消失了但是原来的链接还在可以下载。具体的流程在<a href="https://blog.csdn.net/qq_35533121/article/details/128237853">CSDN上有篇博客</a>有写,试了一下可以安装,而且运行效率比我预期高不少,最起码点击不算卡,而且听音乐也没有卡顿的感觉,感觉算是相当不错了。 </p><p>
其实我也挺疑惑Rosetta 2和ExaGear的效率怎么样我看网上有篇文章<a href="https://habr.com/en/companies/huawei/articles/577206/">Comparing Huawei ExaGear to Apples Rosetta 2 and Microsofts solution</a>说ExaGear效率最高Rosetta 2有硬件加速都比不上说实话我是不信的要是那么厉害Eltechs怎么可能停更而且全网就这一篇文章很难不相信是华为员工写的软文😅我自己手头没有合适的设备也不好测不知道有没有大佬来打假。 </p><p>
那运行转译的Linux软件没问题之后再测一下转译Windows应用吧我的Mac上可是有Whisky的。那对树莓派来说就是ExaGear+Wine了。安装很简单直接在ExaGear的shell里用apt安装就行安装好之后就可以用“exagear wine ./windows程序.exe”来运行了。我在我的Mac上找了一个用Godot引擎写的小游戏放上去试了一下居然可以运行而且也是比想象中的流畅不过我玩的本来就是画面变动少的游戏也不会卡到哪里不过能在接受范围内有反应已经很不错了虽然没Mac反应快但毕竟测生态和芯片本身速度无关树莓派的性能当然比不了Mac能玩我已经很满足了。 </p><p>
其实如果论游戏的话在x86平台毕竟有SteamOS的先例用ExaGear转译然后加上Proton如果芯片性能足够的情况应该是能玩不少游戏的。</p>
<h1 id="其他实验">
<a href="#其他实验"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 其他实验
</h1>
<p>在玩树莓派的时候我又想玩<a href="/2022/03/27/radio.html">电台</a>了🤣毕竟这是树莓派唯一的优势能用到它的GPIO接口不然真的就是性价比不怎么样性能还差的ARM迷你主机了。这次我多试了一下怎么样把图形界面上的声音通过广播传出来如果可以的话树莓派离得比较远而且不用蓝牙耳机的情况下也能听到声音了。不过我不太清楚Linux中的声音是怎么合成的我搜了一下似乎是用PulseAudio合成的用“pactl list sources”命令就可以列出相关的设备在我的树莓派上可以看到是叫“alsa_output.platform-bcm2835_audio.stereo-fallback.monitor”然后用</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sox <span class="nt">-t</span> pulseaudio alsa_output.platform-bcm2835_audio.stereo-fallback.monitor <span class="nt">-t</span> wav - | <span class="nb">sudo</span> ./pi_fm_adv <span class="nt">--audio</span> - <span class="nt">--freq</span> 87.0 <span class="nt">--power</span> 7 <span class="nt">--gpio</span> 4 <span class="nt">--gpio</span> 20 <span class="nt">--gpio</span> 32 <span class="nt">--rds</span> 0
</code></pre></div></div>
<p>命令理论上就可以发射电台了但实际上不知道为什么虽然能听到声音但是声调变的很高而且一卡一卡的根本不能听而且进程会卡住要用kill -9才能结束😓…… </p><p>
不过这个就和Linux ARM生态无关了这是只有树莓派才有的特殊功能其他电脑估计做不到这一点😆。</p>
<h1 id="感想">
<a href="#感想"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 感想
</h1>
<p>这次测下来感觉Linux ARM好像还挺强的啊基本上我Mac上装的东西都有而且功能也挺齐全从原生应用的角度来看可能比Windows on ARM还多。看来除了易用性之外Linux ARM生态已经很成熟了啊这么来看Mac就只剩下美观、易用性和芯片性能强大这些优势了啊😂。</p></main>
<small style="display: block">tags: <a rel="category tag" class="p-category" href="/search.html?keyword=Linux"><em>Linux</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=ARM"><em>ARM</em></a> - <a rel="category tag" class="p-category" href="/search.html?keyword=%E6%A0%91%E8%8E%93%E6%B4%BE"><em>树莓派</em></a> <span style="float: right;"><a href="https://gitlab.com/mayx/mayx.gitlab.io/tree/master/_posts/2024-10-13-arm-linux.md">查看原始文件</a></span></small>
<h4 style="border-bottom: 1px solid #e5e5e5;margin: 2em 0 5px;">推荐文章</h4>
<p id="suggest-container">Loading...</p>
<script>
var suggest = $("#suggest-container");
$.get(BlogAPI + "/suggest?id=/2024/10/13/arm-linux.html&update=" + lastUpdated.valueOf(), function (data) {
if (data.length) {
getSearchJSON(function (search) {
suggest.empty();
var searchMap = {};
for (var i = 0; i < search.length; i++) {
searchMap[search[i].url] = search[i];
}
var tooltip = $('<div class="content-tooltip"></div>').appendTo('body').hide();
for (var j = 0; j < data.length; j++) {
var item = searchMap[data[j].id];
if (item) {
var link = $('<a href="' + item.url + '">' + item.title + '</a>');
var contentPreview = item.content.substring(0, 100);
if (item.content.length > 100) {
contentPreview += "……";
}
link.hover(
function(e) {
tooltip.text($(this).data('content'))
.css({
top: e.pageY + 10,
left: e.pageX + 10
})
.show();
},
function() {
tooltip.hide();
}
).mousemove(function(e) {
tooltip.css({
top: e.pageY + 10,
left: e.pageX + 10
});
}).data('content', contentPreview);
suggest.append(link);
suggest.append(' - ' + item.date + '<br />');
}
}
});
} else {
suggest.html("暂无推荐文章……");
}
});
</script>
<br />
<div class="pagination">
<span class="prev">
<a href="/2024/10/01/suggest.html">
上一篇:如何给博客添加相似文章推荐功能
</a>
</span>
<br />
<span class="next">
<a href="/2024/11/02/trojan.html">
下一篇关于Python制作的木马探索
</a>
</span>
</div>
<!--[if !IE]> -->
<link rel="stylesheet" href="/assets/css/gitalk.css">
<script src="/assets/js/gitalk.min.js"></script>
<div id="gitalk-container"></div>
<script>
var gitalk = new Gitalk({
clientID: '36557aec4c3cb04f7ac6',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '/2024/10/13/arm-linux', // Ensure uniqueness and length less than 50
distractionFreeMode: false, // Facebook-like distraction free mode
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
})
gitalk.render('gitalk-container')
</script>
<!-- <![endif]-->
</section>
<!--[if !IE]> -->
<div id="landlord" style="left:5px;bottom:0px;">
<div class="message" style="opacity:0"></div>
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
<div class="live_talk_input_body">
<form id="live_talk_input_form">
<div class="live_talk_input_name_body" >
<input type="checkbox" id="load_this" />
<input type="hidden" id="post_id" value="/2024/10/13/arm-linux.html" />
<label for="load_this">
<span style="font-size: 11px; color: #fff;">&#160;想问这篇文章</span>
</label>
</div>
<div class="live_talk_input_text_body">
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?" />
<button type="submit" class="live_talk_send_btn" id="talk_send">发送</button>
</div>
</form>
</div>
<input name="live_talk" id="live_talk" value="1" type="hidden" />
<div class="live_ico_box" style="display:none;">
<div class="live_ico_item type_info" id="showInfoBtn"></div>
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
<div class="live_ico_item type_music" id="musicButton"></div>
<div class="live_ico_item type_youdu" id="youduButton"></div>
<div class="live_ico_item type_quit" id="hideButton"></div>
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
<input id="duType" value="douqilai" type="hidden" />
</div>
</div>
<div id="open_live2d">召唤伊斯特瓦尔</div>
<!-- <![endif]-->
<footer>
<p>
<small>Made with ❤ by Mayx<br />Last updated at 2026-01-17 17:35:53<br /> 总字数614622 - 文章数178 - <a href="/atom.xml" >Atom</a> - <a href="/README.html" >About</a></small>
</p>
</footer>
</div>
<script src="/assets/js/scale.fix.js"></script>
<!--[if !IE]> -->
<script src="/assets/js/main_new.js"></script>
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
<script src="/Live2dHistoire/live2d/js/message.js"></script>
<!-- <![endif]-->
</body>
</html>