<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Hydroxide</title><link href="https://blog.oldherl.one/" rel="alternate"></link><link href="https://blog.oldherl.one/feeds/all.atom.xml" rel="self"></link><id>https://blog.oldherl.one/</id><updated>2024-01-01T00:48:00+08:00</updated><entry><title>两段式兔子洞</title><link href="https://blog.oldherl.one/rabbit-hole-2023.html" rel="alternate"></link><published>2023-12-31T23:59:00+08:00</published><updated>2024-01-01T00:48:00+08:00</updated><author><name>oldherl</name></author><id>tag:blog.oldherl.one,2023-12-31:/rabbit-hole-2023.html</id><summary type="html">&lt;p&gt;&amp;#19978;&amp;#20010;&amp;#26376;&amp;#30340;&amp;#26576;&amp;#22825;&amp;#65292; &lt;a class="reference external" href="https://t.me/archlinuxcn_group"&gt;ArchCN&lt;/a&gt; Telegram &amp;#32676;&amp;#37324;&amp;#20986;&amp;#29616;&amp;#19968;&amp;#26465;&amp;#19981;&amp;#38597;&amp;#21457;&amp;#35328;&amp;#12290;&amp;#25105;&amp;#20197;&amp;#20026;&amp;#21448;&amp;#26159;&amp;#19968;&amp;#20010;&amp;#26032;&amp;#26469;&amp;#30340; spambot&amp;#65292;&amp;#20316;&amp;#20026;&amp;#31649;&amp;#29702;&amp;#21592;&amp;#33258;&amp;#28982;&amp;#23601;&amp;#39034;&amp;#25163;&amp;#36873;&amp;#25321;&amp;#20102; ban + report + delete all &amp;#19977;&amp;#36830;&amp;#22871;&amp;#39184;&amp;#12290;&amp;#32467;&amp;#26524; &lt;a class="reference external" href="https://t.me/q234rty"&gt;q234rty&lt;/a&gt; &amp;#25552;&amp;#37266;&amp;#25105;&amp;#65292;&amp;#36825;&amp;#24182;&amp;#19981;&amp;#26159; spambot&amp;#65292;&amp;#29978;&amp;#33267;&amp;#20063;&amp;#19981;&amp;#26159;&amp;#26032;&amp;#20154;&amp;#65292;&amp;#32780;&amp;#26159;&amp;#26089;&amp;#24050;&amp;#22312;&amp;#32676;&amp;#20869;&amp;#26377;&amp;#21457;&amp;#35328;&amp;#30340;&amp;#32676;&amp;#21451;&amp;#65292;&amp;#25152;&amp;#20197;&amp;#25105;&amp;#30340; delete all &amp;#25805;&amp;#20316;&amp;#21024;&amp;#38500;&amp;#20102;&amp;#20182;&amp;#30340;&amp;#22823;&amp;#37327;&amp;#21382;&amp;#21490;&amp;#21457;&amp;#35328;&amp;#35760;&amp;#24405;&amp;#12290;&lt;/p&gt;
&lt;p&gt;Telegram &amp;#19968;&amp;#30452;&amp;#23384;&amp;#22312;&amp;#19968;&amp;#20010;&amp;#32570;&amp;#28857;&amp;#65292;&amp;#23601;&amp;#26159;&amp;#24050;&amp;#32463;&amp;#21457;&amp;#34920;&amp;#20102;&amp;#22909;&amp;#20037;&amp;#30340;&amp;#28040;&amp;#24687;&amp;#20063;&amp;#21487;&amp;#20197;&amp;#34987;&amp;#33258;&amp;#24049;&amp;#25110;&amp;#34987;&amp;#31649;&amp;#29702;&amp;#21592;&amp;#25209;&amp;#37327;&amp;#21024;&amp;#38500;&amp;#65292;&amp;#19988;&amp;#21024;&amp;#38500;&amp;#30340;&amp;#28040;&amp;#24687;&amp;#26080;&amp;#27861;&amp;#24674;&amp;#22797;&amp;#65288;&amp;#21482;&amp;#33021;&amp;#30001;&amp;#31649;&amp;#29702;&amp;#21592;&amp;#22312;&amp;#22238;&amp;#25910;&amp;#31449;&amp;#37324;&amp;#20020;&amp;#26102;&amp;#30475;&amp;#20004;&amp;#22825;&amp;#65289;&amp;#12290;&amp;#32780; ArchCN &amp;#32676;&amp;#26159;&amp;#20027;&amp;#24352;&amp;#20445;&amp;#30041;&amp;#25152;&amp;#26377;&amp;#32842;&amp;#22825;&amp;#35760;&amp;#24405;&amp;#30340;&amp;#65292;&amp;#20877;&amp;#37197;&amp;#21512; &lt;a class="reference external" href="https://github.com/lilydjwg/luoxu"&gt;&amp;#33853;&amp;#32110;&lt;/a&gt; &amp;#30340;&amp;#32034;&amp;#24341;&amp;#21644;&amp;#26597;&amp;#35810;&amp;#21151;&amp;#33021;&amp;#26469;&amp;#32473;&amp;#26410;&amp;#26469;&amp;#30340;&amp;#32676;&amp;#21451;&amp;#25552; &amp;#8230;&lt;p&gt;&lt;a class="read-more" href="/rabbit-hole-2023.html"&gt;&lt;span&gt;Read full text&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;上个月的某天， &lt;a class="reference external" href="https://t.me/archlinuxcn_group"&gt;ArchCN&lt;/a&gt; Telegram 群里出现一条不雅发言。我以为又是一个新来的 spambot，作为管理员自然就顺手选择了 ban + report + delete all 三连套餐。结果 &lt;a class="reference external" href="https://t.me/q234rty"&gt;q234rty&lt;/a&gt; 提醒我，这并不是 spambot，甚至也不是新人，而是早已在群内有发言的群友，所以我的 delete all 操作删除了他的大量历史发言记录。&lt;/p&gt;
&lt;p&gt;Telegram 一直存在一个缺点，就是已经发表了好久的消息也可以被自己或被管理员批量删除，且删除的消息无法恢复（只能由管理员在回收站里临时看两天）。而 ArchCN 群是主张保留所有聊天记录的，再配合 &lt;a class="reference external" href="https://github.com/lilydjwg/luoxu"&gt;落絮&lt;/a&gt; 的索引和查询功能来给未来的群友提供参考资料。&lt;/p&gt;
&lt;p&gt;我的这次不慎的批量删除对聊天记录造成了破坏，而造成这种「手滑」的原因，除了我自己面对不雅发言太着急操作以外，还有就是 Telegram 客户端对于批量删除的警示不够明显，只是在勾选 delete all 时把消息总数显示在删除键的括号里。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="Telegram 提示： Delete (9)" src="https://blog.oldherl.one/images/rabbit/parennumber.png" /&gt;
&lt;/div&gt;
&lt;div class="section" id="telegram"&gt;
&lt;h2&gt;给 Telegram 增加批量删除警告&lt;/h2&gt;
&lt;p&gt;好在 Telegram 至少还有一个优点：客户端是开源的。既然使用遇到了问题，那当然就应该自己动手解决。
它在 GNU/Linux 桌面上的 &lt;a class="reference external" href="https://github.com/telegramdesktop/tdesktop"&gt;客户端&lt;/a&gt; 使用的是 C++/Qt，按道理这是我非常熟悉的语言和框架，但它在 Qt 之上又自己包了一层图形界面库 &lt;a class="reference external" href="https://github.com/desktop-app/lib_ui"&gt;libui&lt;/a&gt; 。使用这个库写出来的程序长得不太像一般的 C++，倒是有浓烈的函数式风格，有些像 haskell / kotlin 了。&lt;/p&gt;
&lt;p&gt;经过大约一天的搏斗，总算是成功加上了一个警告框。尤其是我暂时只能使用一台内存只有 16GB 的笔记本来编译，拖慢了不少进度。
然而测试时我才发现更大的问题：它这个括号里的消息总数是从服务器那边获取的，所以如果手快的话，它是来不及显示出来的。甚至它的消息计数是有滞后的，刚刚发送的消息可能不会被统计进去。经过试验，最高可能有几分钟的延迟！这样一来，原本计划的「消息总数超过3条再触发警告」也行不通了，因为刚刚发送的消息可能没有计入这个数字嘛。我只好干脆改成了无论消息总数是多少，一律弹出这个警告框。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="Telegram 提示： Warning! You're deleting at least 9 messages in total" src="https://blog.oldherl.one/images/rabbit/warning.png" /&gt;
&lt;/div&gt;
&lt;p&gt;经过本地编译打包确认它工作无误后，我打算它制作成 &lt;a class="reference external" href="https://github.com/archlinuxcn/repo/blob/master/archlinuxcn/telegram-desktop-lily/warn-before-delete-all-2.patch"&gt;源码补丁&lt;/a&gt; 发送给依云(&lt;a class="reference external" href="https://blog.lilydjwg.me/"&gt;lilydjwg&lt;/a&gt;)以便进入 archlinuxcn 源中的 telegram-desktop-lily 包进行分发。（我知道 Telegram 官方是一定不会接受这种补丁的。）这时，意想不到的事情出现了……&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="vim-bug"&gt;
&lt;h2&gt;从天而降的 vim bug&lt;/h2&gt;
&lt;p&gt;由于我是在发布版本（而非 git 版本）的 telegram 源码上进行修改的，所以我没有使用熟悉的 &lt;tt class="docutils literal"&gt;git diff&lt;/tt&gt; 命令来产生补丁，而是使用了 &lt;tt class="docutils literal"&gt;diff &lt;span class="pre"&gt;-Naur&lt;/span&gt;&lt;/tt&gt; 命令。然后我就使用 vim 来编辑一下产生的补丁文件，把无关的改动去除……等下，这是怎么了？&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="vim: E315: ml_get: Invalid lnum: 600" src="https://blog.oldherl.one/images/rabbit/vimbug.png" /&gt;
&lt;/div&gt;
&lt;p&gt;怎么 vim 还能被我遇到 bug 的，要知道我可是除了 &lt;tt class="docutils literal"&gt;:wq&lt;/tt&gt; &lt;tt class="docutils literal"&gt;a&lt;/tt&gt; &lt;tt class="docutils literal"&gt;i&lt;/tt&gt; 之外就不会几个命令的纯小白……
我以为只是偶发事件，先忽略它把补丁文件发给依云了。可是在我用 vim 编辑某个 .cpp 文件的时候，这个错误也会时不时跳出来。依云也鼓励我去报 bug，于是我就开始研究如何复现它。&lt;/p&gt;
&lt;p&gt;我发现在 Telegram 的某个 .cpp 文件里面跳转到中间某处，再删除很多行，再使用 &lt;cite&gt;Page Down&lt;/cite&gt; 来滚动很多行，比较容易发生这个错误。在排除了我自己的 vimrc 带来的影响后，我提取了这个 .cpp 文件的一部分，在里面使用 vim 的 &lt;a class="reference external" href="https://www.vimfromscratch.com/articles/vim-macros"&gt;宏&lt;/a&gt; 来重复一些命令。然而它似乎并不是每次都能复现错误，甚至执行同一个宏的结果都可能有很大不同……&lt;/p&gt;
&lt;p&gt;这时候我以为是我的终端窗口大小等因素对复现错误有影响，可是我固定它的大小为 80×24 后还是不能稳定复现。最后我发觉似乎是我的 vim 录制宏的功能随着它一起坏掉了，导致我每次执行的命令序列其实不一样，看起来就像无法稳定复现。随后我就改用手输入确定的命令，并改变其中的滚动行数等，过不久就试验出了稳定的复现方法，并发送了 &lt;a class="reference external" href="https://github.com/vim/vim/issues/13568"&gt;bug&lt;/a&gt; 报告。如果你想知道具体的重现步骤和错误，可以直接查看该报告。我本打算接下来继续 debug vim，但无奈因为我实在是太不熟悉它的术语了，在浏览源码时感到十分困难，就放弃继续自己 debug，把这部分工作交给 vim 开发者了。好在仅仅两天后，就有开发者提供了修复方法，并在四天后合并进了主线。现在包含该补丁的版本已经进入 Arch Linux 等发行版的仓库了。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="section-2"&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;兔子洞，英文称 &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Down_the_rabbit_hole"&gt;Down the rabbit hole&lt;/a&gt; ，出自《 &lt;a class="reference external" href="https://www.cs.cmu.edu/~rgs/alice-I.html"&gt;爱丽丝梦游奇境记&lt;/a&gt; 》的开头，即爱丽丝追随一只兔子掉进一条长长的、看不到尽头的兔子洞。下图为我拍摄的某兔子洞。现在这个短语也用来形容在虚拟世界里顺着一环一环的线索，逐渐偏离了最初的目标而来到了未曾设想的地方。
这次带我进洞的兔子就是那句不雅消息，然而却意外给 Telegram 客户端新增了一个小功能，还给 vim 提了一个 bug。我以前以为 vim 这么成熟的软件，我又不是正经使用 vim 的用户，应该永远轮不到我来报告 bug 的呢。这也是我在2023年里最意外的自由软件贡献。&lt;/p&gt;
&lt;div class="figure align-center"&gt;
&lt;img alt="图片：草地上的兔子洞，有四个入口" src="https://blog.oldherl.one/images/rabbit/rabbit-hole.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;上一篇还是2021年，随后就是最魔幻的2022年（我是上海居民……）。
如今转眼2023年都要结束了，为了防止本blog又要开一年的天窗，特此记录。希望下一篇不要隔得这样久……&lt;/p&gt;
&lt;/div&gt;
</content><category term="develop"></category><category term="telegram"></category><category term="vim"></category><category term="develop"></category></entry><entry><title>给 alphecca 换第四套躯壳</title><link href="https://blog.oldherl.one/new-computer-2021.html" rel="alternate"></link><published>2021-06-30T23:50:00+08:00</published><updated>2021-06-30T23:50:00+08:00</updated><author><name>oldherl</name></author><id>tag:blog.oldherl.one,2021-06-30:/new-computer-2021.html</id><summary type="html">&lt;p&gt;&amp;#20854;&amp;#23454;&amp;#23601;&amp;#26159;&amp;#25442;&amp;#19968;&amp;#21488;&amp;#26032;&amp;#30005;&amp;#33041;&amp;#30828;&amp;#20214;&amp;#21862;&amp;#65281;&amp;#25105;&amp;#30340;&amp;#20027;&amp;#21147; Arch Linux &amp;#31995;&amp;#32479; &lt;a class="reference external" href="https://zh.wikipedia.org/wiki/%E8%B2%AB%E7%B4%A2%E5%9B%9B"&gt;alphecca&lt;/a&gt; &amp;#65292;&amp;#26366;&amp;#32463;&amp;#20808;&amp;#21518;&amp;#20303;&amp;#36807;&amp;#20004;&amp;#21488;&amp;#31508;&amp;#35760;&amp;#26412;&amp;#21644;&amp;#19968;&amp;#21488;&amp;#21488;&amp;#24335;&amp;#26426;&amp;#65292;&amp;#36825;&amp;#27425;&amp;#23558;&amp;#25644;&amp;#36827;&amp;#26032;&amp;#30340;&amp;#21488;&amp;#24335;&amp;#26426;&amp;#37324;&amp;#65292;&amp;#20063;&amp;#23601;&amp;#26159;&amp;#31532;&amp;#22235;&amp;#22871;&amp;#36527;&amp;#22771;&amp;#12290;
&amp;#30001;&amp;#20110; Arch Linux &amp;#26159;&amp;#28378;&amp;#21160;&amp;#26356;&amp;#26032;&amp;#30340;&amp;#21457;&amp;#34892;&amp;#29256;&amp;#65292;&amp;#25152;&amp;#20197;&amp;#25105;&amp;#21487;&amp;#20197;&amp;#20174; 2010 &amp;#24180;&amp;#30340;&amp;#31532;&amp;#19968;&amp;#27425;&amp;#23433;&amp;#35013;&amp;#65288;&amp;#37027;&amp;#26102;&amp;#24050;&amp;#32463;&amp;#26159; x86-64 &amp;#26550;&amp;#26500;&amp;#65289;&amp;#19968;&amp;#36335;&amp;#28378;&amp;#21040;&amp;#29616;&amp;#22312;&amp;#65292;&amp;#32780;&amp;#19981;&amp;#38656;&amp;#35201;&amp;#20687;&amp;#20854;&amp;#20182;&amp;#19968;&amp;#20123;&amp;#31995;&amp;#32479;&amp;#37027;&amp;#26679;&amp;#39057;&amp;#32321;&amp;#37325;&amp;#35013;&amp;#12290;
&amp;#26356;&amp;#25442;&amp;#30828;&amp;#20214;&amp;#21482;&amp;#38656;&amp;#35201;&amp;#25226;&amp;#25972;&amp;#20010;&amp;#25991;&amp;#20214;&amp;#31995;&amp;#32479;&amp;#22797;&amp;#21046;&amp;#36807;&amp;#21435;&amp;#65292;&amp;#20877;&amp;#35843;&amp;#25972;&amp;#19968;&amp;#19979;&amp;#39537;&amp;#21160;&amp;#21644;&amp;#20854;&amp;#20182;&amp;#19968;&amp;#20123;&amp;#35774;&amp;#32622;&amp;#39033;&amp;#23601;&amp;#22909;&amp;#12290;&lt;/p&gt;
&lt;div class="section" id="section-1"&gt;
&lt;h2&gt;&amp;#26087;&amp;#30828;&amp;#20214;&amp;#37197;&amp;#32622;&lt;/h2&gt;
&lt;p&gt;&amp;#20808;&amp;#20171;&amp;#32461;&amp;#19968;&amp;#19979;&amp;#31532;&amp;#19977;&amp;#22871;&amp;#36527;&amp;#22771;&amp;#30340;&amp;#37197;&amp;#32622;&amp;#12290;&amp;#36825;&amp;#21488;&amp;#30005;&amp;#33041;&amp;#26159; 2019 &amp;#24180;&amp;#26102;&amp;#32463;&amp;#36807;&amp;#29305;&amp;#27530;&amp;#28192;&amp;#36947;&amp;#25343;&amp;#21040;&amp;#30340;&amp;#65292;&amp;#37096;&amp;#20214;&amp;#24182;&amp;#38750;&amp;#25105;&amp;#33258;&amp;#24049;&amp;#25361;&amp;#36873;&amp;#65292;&amp;#25152;&amp;#20197;&amp;#30475;&amp;#21040;&amp;#25645; &amp;#8230;&lt;/p&gt;&lt;p&gt;&lt;a class="read-more" href="/new-computer-2021.html"&gt;&lt;span&gt;Read full text&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;其实就是换一台新电脑硬件啦！我的主力 Arch Linux 系统 &lt;a class="reference external" href="https://zh.wikipedia.org/wiki/%E8%B2%AB%E7%B4%A2%E5%9B%9B"&gt;alphecca&lt;/a&gt; ，曾经先后住过两台笔记本和一台台式机，这次将搬进新的台式机里，也就是第四套躯壳。
由于 Arch Linux 是滚动更新的发行版，所以我可以从 2010 年的第一次安装（那时已经是 x86-64 架构）一路滚到现在，而不需要像其他一些系统那样频繁重装。
更换硬件只需要把整个文件系统复制过去，再调整一下驱动和其他一些设置项就好。&lt;/p&gt;
&lt;div class="section" id="section-1"&gt;
&lt;h2&gt;旧硬件配置&lt;/h2&gt;
&lt;p&gt;先介绍一下第三套躯壳的配置。这台电脑是 2019 年时经过特殊渠道拿到的，部件并非我自己挑选，所以看到搭配不合理也不要奇怪。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="14%" /&gt;
&lt;col width="86%" /&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;部件&lt;/th&gt;
&lt;th class="head"&gt;型号&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;AMD FX-8350 &lt;em&gt;打桩机 Piledriver&lt;/em&gt; 8c8t&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;散热器&lt;/td&gt;
&lt;td&gt;酷冷至尊 T400i 四热管&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;主板&lt;/td&gt;
&lt;td&gt;技嘉 GA-970-Gaming &lt;em&gt;ATX&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;内存&lt;/td&gt;
&lt;td&gt;金士顿 DDR3-1600 8GiB×4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SSD&lt;/td&gt;
&lt;td&gt;三星 830 512GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;显卡&lt;/td&gt;
&lt;td&gt;华硕 STRIX 390X &lt;em&gt;AMD&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;机箱&lt;/td&gt;
&lt;td&gt;先马 塔里克 侧透版&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;电源&lt;/td&gt;
&lt;td&gt;首席玩家 黑寡妇 500W&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;其实它的性能如今也基本算是够用，毕竟我不是重度游戏玩家，也不是 Gentoo 用户。真要是需要编译一个大东西也可以 ssh 到 ArchCN 的编译机上去打包（?）……
这套配置主要的缺点是：&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;太热！冬天还好，反正也可以代替电暖气取暖，但夏天就觉得腿部传来阵阵热风（我把机箱放在桌下），也会增加空调的电费。&lt;/li&gt;
&lt;li&gt;显卡太旧，390X 似乎就是 290X 换皮，属于 Sea Islands 架构，开源 amdgpu 驱动支持的最老一代，功耗很高。
虽然它的 DisplayPort 接口还是可以支持 4k60 分辨率的输出，可是它的视频硬解只支持 h.264 格式而不支持 vp8/vp9，更不要提最新的 av1 了。
而 Youtube 的 h.264 格式最高只支持到 1080p，再高的 2k/4k 分辨率则只有 vp9 或者 av1 可选。
结果要看高清视频就只好用 CPU 软解，但软解的性能跟不上 4k 视频，播放时会一卡一卡的，甚至可能会引发黑屏断电等事故。具体见下一条：&lt;/li&gt;
&lt;li&gt;电源质量一般，怀疑其 500W 的额定功率为虚标。具体表现为软解 4k 视频或者玩游戏满载一段时间后，有几率突然黑屏。
注意，不是死机。此时显示器无信号，键盘鼠标甚至网络（使用其它设备 ssh 或者 ping 测试）等都失去响应，但机箱风扇仍然在正常转动。
不仅不能切换到 tty，也无法使用 &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Magic_SysRq_key#Uses"&gt;reisub&lt;/a&gt; 大法，甚至连长按主机电源开关都无法关机重启。唯一关机办法是去拔掉电源插头或者用后面的电源开关强行断电。
这样的事故出现几次后，我就不敢再播放 4k 视频了，否则我真担心我的 SSD 或者其上的文件系统会不会哪天挂掉。
有一天我看到一则几年前的 &lt;a class="reference external" href="https://www.sohu.com/a/363746634_464036"&gt;电源测评&lt;/a&gt; ，里面就写到这个牌子的电源做工堪忧，联想到上面的故障，我认为这就是电源造成的问题。&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class="section" id="section-2"&gt;
&lt;h2&gt;新硬件配置&lt;/h2&gt;
&lt;p&gt;既然有这些问题，现在各主要零件也过了好几代，那就买买买吧！反正都是网购，比十几年前去 &lt;a class="reference external" href="https://www.163.com/renjian/article/DORTB76R000181RV.html"&gt;电脑城&lt;/a&gt; 里斗智斗勇方便多了。&lt;/p&gt;
&lt;p&gt;然而，托虚拟货币的福，显卡在短期内肯定都是价格虚高，想买到比较新的、性能比得上 390X 的显卡，又不想当冤大头，恐怕是不太可能。
不过，我并不需要那么高的显卡性能，显卡只要能硬解 4k 视频和以 1080p 分辨率玩玩 Minecraft 和 Supertuxkart，我就满足了。&lt;/p&gt;
&lt;p&gt;并且因为我是 Arch Linux 用户，也并不需要 cuda，所以 nvidia 显卡这种麻烦东西还是尽量远离。不然的话其实现在 GT1030 是不错的选择：又便宜，又能解码 vp9，又不热。&lt;/p&gt;
&lt;p&gt;于是最好的选择就是 AMD 核显了，也就是所谓的 APU。我这里选择的是 2020 年发布的 4750G，而没有选择等待今年的 5700G，因为后者的显卡部分也一样是 Vega 8 架构，
并且显卡主频甚至还会更低一些，为 2.0GHz，而 4750G 的显卡主频为 2.1GHz。据说明年 (2022) AMD 要出基于 RDNA2 架构的新一代 APU 6000 系列，但那就太遥远了。
外国一些 &lt;a class="reference external" href="https://www.youtube.com/watch?v=asz4v4bH8bE"&gt;评测者&lt;/a&gt; 都在抱怨 AMD 没有开放 4750G 这一代 APU 的零售（只向 OEM 厂商供货），但中国有万能的淘宝，想买到是很容易的。&lt;/p&gt;
&lt;p&gt;定好了 CPU，那么一套新配置也就差不多凑好了。其中 CPU 和主板是从某淘宝店购买的套装，但该卖家也单独出售 CPU ，所以可以大致估算出各自的价格。&lt;/p&gt;
&lt;table border="1" class="docutils"&gt;
&lt;colgroup&gt;
&lt;col width="13%" /&gt;
&lt;col width="65%" /&gt;
&lt;col width="22%" /&gt;
&lt;/colgroup&gt;
&lt;thead valign="bottom"&gt;
&lt;tr&gt;&lt;th class="head"&gt;部件&lt;/th&gt;
&lt;th class="head"&gt;型号&lt;/th&gt;
&lt;th class="head"&gt;价格 (RMB)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;AMD Ryzen PRO 4750G 8c16t&lt;/td&gt;
&lt;td&gt;2300&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;散热器&lt;/td&gt;
&lt;td&gt;利民 AK120 五热管&lt;/td&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;主板&lt;/td&gt;
&lt;td&gt;微星 B550M Mortar Wifi &lt;em&gt;M-ATX&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;760&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;内存&lt;/td&gt;
&lt;td&gt;美光 新铂胜 DDR4-3600 16GiB×2&lt;/td&gt;
&lt;td&gt;1380&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SSD&lt;/td&gt;
&lt;td&gt;三星 830 512GB&lt;/td&gt;
&lt;td&gt;沿用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;机箱&lt;/td&gt;
&lt;td&gt;先马 塔里克 侧透版&lt;/td&gt;
&lt;td&gt;沿用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;电源&lt;/td&gt;
&lt;td&gt;首席玩家 黑寡妇 500W&lt;/td&gt;
&lt;td&gt;沿用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;新购总计&lt;/td&gt;
&lt;td&gt;4590&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;换了散热器，是因为原来那个散热器只留下了 AM3+ 的扣具，并且装卸反人类，上次换硅脂的时候要用力压，很痛苦，还差点弄伤手。利民的扣具就合理多了。
4750G 的 TDP 只有 65W，五热管应该绰绰有余。毕竟原来那个 &lt;a class="reference external" href="https://www.techpowerup.com/cpu-specs/fx-8350.c1099"&gt;FX-8350&lt;/a&gt; 作为 &lt;em&gt;前 Ryzen 时代&lt;/em&gt; 的 AMD 处理器，TDP 高达 125W，四热管也一直用下来了……&lt;/p&gt;
&lt;p&gt;由于是核显，提高内存频率对图形性能影响较大，所以花钱上了 3600MHz 的内存条，至于容量还是保持了一样的 32GB，实际上由于核显要占用一些内存当显存，可用内存甚至还更少。&lt;/p&gt;
&lt;p&gt;电源并没有更换，我相信这么低的功耗它应该还是没有问题的。等到将来显卡价格恢复正常、加装一块独立显卡时，再更换一个大功率的主流品牌电源吧。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="section-3"&gt;
&lt;h2&gt;装机&lt;/h2&gt;
&lt;p&gt;几天后，部件陆续到手。由于我打算沿用现在的机箱，所以首先就是把旧零件从机箱里面拆出来。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/old_case.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;开膛破肚的旧躯壳。中间那块显卡就是发热量巨大的 R9 390X，其热设计功率高达 275W，比我这套新配置的整机都高……&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/old_empty.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;内脏全部取出。包括风扇也要都拆下来，不然主板很难拿出。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/old_mobo.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;老主板以及拆下的酷冷的散热器，拆这东西注意手别受伤。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/new_cpu.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;新 CPU 特写，AMD Ryzen 7 PRO 4750G。多么漂亮的金属光泽！&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/new_heatsink.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;利民 AK120 散热器。它安装起来比那个酷冷的破东西容易很多，但是注意我这张图里面把下面的底座装反了……应该上下翻个面……&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/new_mobo.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;新主板，虽然是 M-ATX，但是我的老主板上有两条如今根本用不到的 PCI 槽，所以其实 PCI-E 槽的数量和这块是一样的。有两条 M.2 插槽，但现在都是闲置的。大概以后会买 NVME SSD 装上去吧，但那至少是明年的事情了。&lt;/p&gt;
&lt;p&gt;先装上内存条，再把主板塞进机箱，把原来的 SSD 之类的都插上，连接前面板的各种线，连接电源，装上风扇。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/new_case.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;装好的新机箱，没有显卡显得相当宽松，相信散热一定很好。连接前面板的 USB 3.0 线材也是新买的，原来那个大概是因为生锈，连接设备完全没反应了。&lt;/p&gt;
&lt;div class="figure"&gt;
&lt;img alt="" src="https://blog.oldherl.one/images/newpc/thumb/new_startup.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;开机！一次点亮。注意这里显示内存只有 2666MHz，这是因为现代内存默认都只跑一个较低的频率，需要使用 XMP 来加载预置的 profile 来「超频」才能达到包装盒上宣称的频率，比如我这个标称的 3600MHz。&lt;/p&gt;
&lt;p&gt;按照一般的装机文，下面就是装系统或者进行系统恢复，不过由于我用的是 Arch Linux 而不是某 W 姓系统，又是直接利用旧 SSD，
所以直接在 UEFI 里面选择设备（事先把 systemd-boot 安装到了默认的 /boot/EFI/BOOT/BOOTX64.EFI 位置）就可以见到熟悉的 alphecca 了，完全没有多余步骤。&lt;/p&gt;
&lt;p&gt;当然，买了 3600 的内存条，肯定不是就用来跑 3600 MHz 的……以后我大概会再写一些超频什么的，总之我后来把内存超到了 3866 MHz。&lt;/p&gt;
&lt;p&gt;这是本 blog 的第一篇，距离我的上一个 blog 已经有十年左右了……希望以后每年至少能更新 2-5 篇……但愿吧。&lt;/p&gt;
&lt;/div&gt;
</content><category term="hardware"></category><category term="hardware"></category></entry><entry><title>Hello World</title><link href="https://blog.oldherl.one/hello-world.html" rel="alternate"></link><published>2021-05-01T00:00:00+08:00</published><updated>2021-05-01T00:00:00+08:00</updated><author><name>oldherl</name></author><id>tag:blog.oldherl.one,2021-05-01:/hello-world.html</id><summary type="html">Hello World!</summary><content type="html">&lt;p&gt;Hello World!&lt;/p&gt;
&lt;p&gt;又是一个新博客……&lt;/p&gt;
&lt;p&gt;这个博客使用 Pelican 引擎搭建，目前使用的为我自己魔改过的 tundra 主题。背景图也是我自己拍的哦！可以看到满满的一氧化二氢……&lt;/p&gt;</content><category term="misc"></category></entry></feed>