diff options
-rw-r--r-- | _posts/2024-04-06-old-pc.md | 12 | ||||
-rw-r--r-- | js/main.js | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/_posts/2024-04-06-old-pc.md b/_posts/2024-04-06-old-pc.md index d2246ed..9b9d74a 100644 --- a/_posts/2024-04-06-old-pc.md +++ b/_posts/2024-04-06-old-pc.md @@ -11,7 +11,7 @@ tags: [旧电脑, Darling, whisper, Anbox] # 测试平台介绍 本次测试的4台电脑为了方便操作,我都装了Linux发行版,Windows的话想要登录还要远程桌面太麻烦了,以下是这些电脑的配置: - 1. 装有 [Intel® Pentium® E5300](https://www.intel.cn/content/www/cn/zh/products/sku/35300/intel-pentium-processor-e5300-2m-cache-2-60-ghz-800-mhz-fsb/specifications.html) CPU的电脑 + 一、装有 [Intel® Pentium® E5300](https://www.intel.cn/content/www/cn/zh/products/sku/35300/intel-pentium-processor-e5300-2m-cache-2-60-ghz-800-mhz-fsb/specifications.html) CPU的电脑 ``` .. root@localhost.localdomain @@ -34,7 +34,7 @@ tags: [旧电脑, Darling, whisper, Anbox] 'MKKM' '' ``` - 2. 装有 [AMD Athlon™ II X4 641](https://www.amd.com/zh-hans/product/1326) CPU 和 NVIDIA GeForce GT 440 的电脑 + 二、装有 [AMD Athlon™ II X4 641](https://www.amd.com/zh-hans/product/1326) CPU 和 NVIDIA GeForce GT 440 的电脑 ``` .-/+oossssoo+/-. mayx@mayx-server @@ -58,7 +58,7 @@ ossyNMMMNyMMhsssssssssssssshmmmhssssssso Memory: 242MiB / 7925MiB `:+ssssssssssssssssss+:` .-/+oossssoo+/-. ``` - 3. 装有 [Intel® Pentium® G3240](https://www.intel.cn/content/www/cn/zh/products/sku/80796/intel-pentium-processor-g3240-3m-cache-3-10-ghz/specifications.html) CPU的电脑 + 三、装有 [Intel® Pentium® G3240](https://www.intel.cn/content/www/cn/zh/products/sku/80796/intel-pentium-processor-g3240-3m-cache-3-10-ghz/specifications.html) CPU的电脑 ``` .-/+oossssoo+/-. mayx@mayx-server @@ -82,7 +82,7 @@ ossyNMMMNyMMhsssssssssssssshmmmhssssssso GPU: Intel HD Graphics `:+ssssssssssssssssss+:` .-/+oossssoo+/-. ``` - 4. 装有 [Intel® Xeon® E5-2620](https://www.intel.cn/content/www/cn/zh/products/sku/64594/intel-xeon-processor-e52620-15m-cache-2-00-ghz-7-20-gts-intel-qpi/specifications.html) CPU的电脑 + 四、装有 [Intel® Xeon® E5-2620](https://www.intel.cn/content/www/cn/zh/products/sku/64594/intel-xeon-processor-e52620-15m-cache-2-00-ghz-7-20-gts-intel-qpi/specifications.html) CPU的电脑 ``` .-/+oossssoo+/-. mayx@mayxserver @@ -114,7 +114,9 @@ ossyNMMMNyMMhsssssssssssssshmmmhssssssso Memory: 8773MiB / 11928MiB 那么对于这些机器来说干点什么好呢?当然除了GPIO之类的,树莓派能干的他们也能干,所以要干就干一些特别的东西。我想了一下,我平时用的电脑是macOS系统,虽然给那些旧电脑装黑苹果可能不太现实,但是我之前发现了一个叫[Darling](https://github.com/darlinghq/darling)的项目,类似Wine那样在Linux上运行Windows程序,这个项目可以在Linux上运行macOS的程序。看起来挺有意思的,所以我打算在第一台机器上试着安装一下。 不过我按照官方文档上安装,对于CentOS Stream 8来说有好多包不知道为什么似乎都没有,比如libavformat-free-devel之类的,我只好从网上找其他RedHat系列类似的包,或者找替代品FFmpeg,另外Darling需要Linux 5.0或者更高的内核,CentOS的内核版本太低了,所以我升到了主线版本的Linux,也就是6.8的版本……最终花了一天的时间终于编译好了,然而悲剧的是运行的时候报了非法指令“Illegal instruction (core dumped)”的错误。一般来说这个错误是新机器上编译的程序在旧机器运行才会报的错,可我是在同一台机器上编译的为什么会报这种错误呢?可能是因为代码里包含汇编语言的代码吧。我发了个[Issue](https://github.com/darlinghq/darling/issues/1497)问了一下作者,不过看起来他也不知道是什么问题…… 对于这种问题我感觉也没什么好办法……可能这台机器真的就没办法了?在第二台速龙641的电脑上试了一下也不行……不过后来我在第三台装有奔腾G3240的电脑上试着编译安装了一下,结果可以运行。看来确实是奔腾E5300的问题。不过它俩到底差在哪里呢?看介绍会发现奔腾G3240里包含了Intel® SSE4.1和Intel® SSE4.2的指令集扩展。那么对于没有这个指令集扩展的CPU就没办法了吗?Intel官方给了一个解决方法是[Intel® SDE](https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html),可以在旧机器上模拟运行使用了最新指令集的程序,甚至包括AVX512都可以模拟的出来,但是我用这个东西运行Darling的时候还是报错了,可能Darling需要用到内核的一些特性,但是SDE不能模拟……这都没办法是不是就彻底没办法了呢? - 在偶然的一次浏览中,我发现了一个神奇的东西,内核扩展[OPEMU](https://github.com/mirh/opemu-linux),它可以让不支持一些指令集扩展的CPU通过模拟的方式支持,其实功能和SDE很像,只是它是在内核中运行的,我试着在第一台机器上编译安装了一下(顺便一说,如果是旧的5.x或者更早的Linux可以直接用这个仓库,而更新的Linux比如6.x的需要用[PR](https://github.com/Spacefish/opemu-linux)中的这个仓库),结果Darling真的可以运行了!真是令人难以置信。不过测试了一下,可能还是有些地方有BUG,比如用Git的时候会报错,可能是和README中所说的CRC32表现有问题吧,不过Darling好像可以直接运行Linux中的命令,那我在用Git的时候调用Linux下的Git是不是也可以呢?试了一下不太行,因为执行Linux程序的时候不能用Darling中的目录结构,不过我想装omz只需要/Users目录就够了,我直接创建一个软链接把Darling的/Users目录映射到Linux的根目录就可以了吧,试了一下还行,可以正常运行,虽然Homebrew不能安装有点可惜……不过Neofetch可以安装😆,效果如下: + 在偶然的一次浏览中,我发现了一个神奇的东西,内核扩展[OPEMU](https://github.com/mirh/opemu-linux),它可以让不支持一些指令集扩展的CPU通过模拟的方式支持,其实功能和SDE很像,只是它是在内核中运行的,我试着在第一台机器上编译安装了一下(顺便一说,如果是旧的5.x或者更早的Linux可以直接用这个仓库,而更新的Linux比如6.x的需要用[PR](https://github.com/Spacefish/opemu-linux)中的这个仓库),结果Darling真的可以运行了!真是令人难以置信。 + 安装成功之后我在网上找了个C语言的程序:[endoh1](http://www.ioccc.org/2012/endoh1/hint.html),这个程序可以用文本模拟流体。我在我的MacBook上编译了试了一下,运行没有问题,当然直接编译的程序是ARM64的程序,肯定不能在Darling里面运行,于是我切换到x86_64模式下又编译了一次,并且用`lipo`命令把两个程序合并到了一起,然后把程序上传到第一台机器中使用Darling运行,竟然可以正常运行,看来那个内核扩展还不错啊,Darling居然没有出问题。 + 不过测试了一下,可能还是有些地方有BUG,比如用Git的时候会报错,可能是和README中所说的CRC32表现有问题吧,不过Darling好像可以直接运行Linux中的命令,那我在用Git的时候调用Linux下的Git是不是也可以呢?试了一下不太行,因为执行Linux程序的时候不能用Darling中的目录结构,不过我想装omz只需要/Users目录就够了,我直接创建一个软链接把Darling的/Users目录映射到Linux的根目录就可以了吧,试了一下还行,可以正常运行,虽然Homebrew不能安装有点可惜……不过Neofetch可以安装😆,效果如下: ``` 'c. root@localhost.localdomain ,xNMM. -------------------------- diff --git a/js/main.js b/js/main.js index c14a457..848ec76 100644 --- a/js/main.js +++ b/js/main.js @@ -9,7 +9,7 @@ $(window).bind("scroll", $backToTopFun); $(function() { $backToTopFun(); }); })(); -var auxiliaryHost = "https://counter.mayx.eu.org"; +var auxiliaryHost = "https://mayx.count.linkpc.net"; $(function(){ $("div#landlord").mouseenter(function(){ $("div.live_ico_box").fadeIn(); |