<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>玉玉玉玉安的个人博客</title><description>现已迁移至Astro</description><link>https://yuan.pub/</link><language>zh_CN</language><item><title>解决Linux无法驱动IT8613E导致的无法控制主板上接的风扇转速的问题记录</title><link>https://yuan.pub/posts/it87-kernel-driver/</link><guid isPermaLink="true">https://yuan.pub/posts/it87-kernel-driver/</guid><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;我曾经购买过一块升技（虽然曾经是个正经牌子，但是早在我出生之前黄了，现在在华强北秽土转生，也没有和Intel的合作伙伴关系）的AB-B760M D2H主板（根据codeyuri&lt;a href=&quot;https://www.bilibili.com/video/BV1jN411h7bt&quot;&gt;视频&lt;/a&gt;里的信息，这款主板应该是昂讯所制造，而昂讯是Intel的合作伙伴，所以芯片组之类的来源应该正当），作为一款“寨板”，也存在寨板普遍的固件和支持不及大品牌的问题。就比如这个极其落后的风扇温控：
&amp;lt;!--more--&amp;gt;
&lt;img src=&quot;/IMG_20260719_220228.jpg&quot; alt=&quot;UEFI设置界面演示图片&quot; /&gt;
&lt;img src=&quot;/IMG_20260719_220300.jpg&quot; alt=&quot;UEFI设置界面演示图片&quot; /&gt;
如你所见，不像大品牌主板那样有图表，只能靠这种十分依赖抽象思考能力的几个选项，而且只能有一条斜线，这条斜线的斜率还被限制在2的整数次方。所以有必要依靠系统内运行程序来控制转速，特别是我发现我的系统风扇对显卡温度的影响较大（是过热降频或否的区别），而主板自己的温控只能以CPU温度作为自变量，导致在GPU压力很大，但是CPU压力不大的场景，如果不让系统风扇轻易满速，GPU就会过热降频，以至于我常常直接把这个系统风扇设置成满速，导致任何时候噪音就很大。&lt;/p&gt;
&lt;p&gt;但是，我的系统检测（包括&lt;code&gt;sensors-detect&lt;/code&gt;或其它GUI工具）不到包括主板上接的任何风扇。直到最近我才发现是主线内核并没有我这主板上的IT8613E Super I/O chip。根据Linux内核文档，&lt;a href=&quot;https://docs.kernel.org/hwmon/it87.html&quot;&gt;主线内核中的it87驱动&lt;/a&gt;不包含IT8613E。而这里有一个非主线的内核模块&lt;a href=&quot;https://github.com/frankcrawford/it87&quot;&gt;https://github.com/frankcrawford/it87&lt;/a&gt;可以为我的Super I/O提供支持。按照README运行脚本即可。&lt;/p&gt;
&lt;h2&gt;支持列表&lt;/h2&gt;
&lt;p&gt;IT8603E	IT8606E	IT8607E	IT8613E	IT8620E	IT8622E	IT8625E	IT8626E	IT8628E	IT8655E	IT8665E	IT8686E	IT8732	IT8790E	IT8792E&lt;/p&gt;
&lt;h2&gt;踩坑记录&lt;/h2&gt;
&lt;p&gt;我这里需要额外为此内核模块应用ignore_resource_conflict参数（可参考&lt;a href=&quot;https://wiki.archlinuxcn.org/wiki/%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97#%E9%85%8D%E7%BD%AE%E6%A8%A1%E5%9D%97%E5%8F%82%E6%95%B0&quot;&gt;Arch Wiki&lt;/a&gt;或运行&lt;code&gt;sudo modprobe it87 ignore_resource_conflict&lt;/code&gt;，确认工作后创建&lt;code&gt;/etc/modprobe.d/it87.conf&lt;/code&gt;，写入&lt;code&gt;options it87 ignore_resource_conflict=1&lt;/code&gt;)，否则不工作。&lt;/p&gt;
&lt;h2&gt;COPR仓库&lt;/h2&gt;
&lt;p&gt;如果你使用以rpm作为软件包的发行版（如基于RHEL的、Fedora、CentOS Stream或OpenEuler），你可以通过我维护的一个&lt;a href=&quot;https://copr.fedorainfracloud.org/coprs/yuyuyuyu-an/it87-dkms/&quot;&gt;COPR仓库&lt;/a&gt;安装这个内核模块。只需要运行下面的命令。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo dnf copr enable yuyuyuyu-an/it87-dkms
sudo dnf install it87-dkms
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;注&lt;/strong&gt;：此包会在安装时添加ignore_resource_conflict参数，但不知为何上游it87的维护者在README中写道（ignore_resource_conflict这个选项）&lt;strong&gt;can result in boot failures on some systems&lt;/strong&gt;，倘若真的无法启动，请在你的GRUB菜单里寻找类似“Recovery Mode”“Safe Mode”或类似意思的选项，并在进入后删除/etc/modprobe.d/it87.conf，以确保系统可以正常启动，此外，请联系我以便我修复这个问题。&lt;/p&gt;
&lt;h2&gt;应用&lt;/h2&gt;
&lt;p&gt;当系统能够接管IT8613E后，就可以使用任何方式监控和配置主板上接的风扇了。我使用了图形化界面优秀的&lt;a href=&quot;https://docs.coolercontrol.org/getting-started.html&quot;&gt;CoolerControl&lt;/a&gt;，创建了一条CPU温度-转速曲线和一条GPU温度-转速曲线，并在上述两个中取转速最大值作为系统风扇转速，这样无论玩游戏还是编译，这个系统风扇都会按预期提高转速，而闲时就可以保持在一个20%以下的低转速来减少噪音。
&lt;img src=&quot;/CoolerControl.png&quot; alt=&quot;CoolerControl截图&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>I黑最严厉的父亲！如何在Linux上游玩《异环》，并使用Optiscale为Intel显卡强制打开超分辨率和插帧</title><link>https://yuan.pub/posts/nte-on-linux/</link><guid isPermaLink="true">https://yuan.pub/posts/nte-on-linux/</guid><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;最近看到很多关于Neverness To Everness/《异环》的讨论，我也是非常想要一款城市题材的开放世界游戏，实现我在游戏中搭乘地铁和公交车的愿望，然而这款游戏并没有Linux支持，在我安装好后，发现这款游戏竟不对Intel显卡开放任何超分辨率和帧生成功能，参照很多教程后，我摸索出了在我这里成功工作的方法，遂写一篇文章，也是给自己一个备忘。
&amp;lt;!--more--&amp;gt;&lt;/p&gt;
&lt;h2&gt;风险声明&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;本文所介绍到的方法可能具有时效性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;重要：在继续阅读之前，请务必认清以下事实&lt;/strong&gt;。
&lt;ul&gt;
&lt;li&gt;Perfect World对在Linux上游玩本游戏态度比较模糊，Valve的官方Proton分支是玩不了的，只有DW-Proton可以，且我未曾理解过DW-Proton的代码。&lt;/li&gt;
&lt;li&gt;OptiScaler涉及注入DLL行为，”外挂“常常使用类似的手段，虽然OptiScaler的目的并非作弊，而是获得更好的视觉体验。但依然不排除此行为被视为作弊的可能。&lt;/li&gt;
&lt;li&gt;您的账号属于Perfect World，我无法担保本文介绍的行为不会被禁止，乃至因此被&lt;strong&gt;封禁账号&lt;/strong&gt;。请谨慎行事，特别是当你的账号内有大额充值时。如果您因此遭受了处罚，请通过关于里的联系方式联系我，我会更新这篇博客。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;本教材属于典型的“&lt;strong&gt;黑盒折腾&lt;/strong&gt;”，本人并不能完全理解这中间的原理是什么，也不保证会不会因为运行环境的差异导致失败，也请比较懂的大佬多加指点与斧正。&lt;/li&gt;
&lt;li&gt;本文所描述方法仅在本人所用环境下测试过，下面是我的fastfetch输出&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;lt;details&amp;gt;
&amp;lt;summary&amp;gt;fastfetch&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;         .&apos;;:cccccccccccc:;,.             ------------------
      .;cccccccccccccccccccccc;.          OS: Fedora Linux 44 (KDE Plasma Desktop Edition) x86_64
    .:cccccccccccccccccccccccccc:.        Host: AB-B760M D2H
  .;ccccccccccccc;.:dddl:.;ccccccc;.      Kernel: Linux 6.19.14-300.fc44.x86_64
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.     Uptime: 7 hours, 28 mins
.:ccccccccccccc;KMMc;cc;xMMc;ccccccc:.    Packages: 3217 (rpm), 8 (flatpak)
,cccccccccccccc;MMM.;cc;;WW:;cccccccc,    Shell: bash 5.3.9
:cccccccccccccc;MMM.;cccccccccccccccc:    Display (H28F31Z): 3840x2160 @ 1.25x in 28&quot;, 60 Hz [External]
:ccccccc;oxOOOo;MMM000k.;cccccccccccc:    DE: KDE Plasma 6.6.4
cccccc;0MMKxdd:;MMMkddc.;cccccccccccc;    WM: KWin (Wayland)
ccccc;XMO&apos;;cccc;MMM.;cccccccccccccccc&apos;    WM Theme: Breeze 微风
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;     Theme: Breeze (Dark) [Qt], Breeze-Dark [GTK2], Breeze [GTK3]
ccccc;0MNc.ccc.xMMd;ccccccccccccccc;      Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
cccccc;dNMWXXXWM0:;cccccccccccccc:,       Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK2/3/4]
cccccccc;.:odl:.;cccccccccccccc:,.        Cursor: breeze (24px)
ccccccccccccccccccccccccccccc:&apos;.          Terminal: konsole 26.4.0
:ccccccccccccccccccccccc:;,..             CPU: 12th Gen Intel(R) Core(TM) i5-12600KF (16) @ 4.90 GHz
 &apos;:cccccccccccccccc::;,.                  GPU: Intel Arc A750 @ 2.40 GHz [Discrete]
                                          Memory: 12.79 GiB / 31.16 GiB (41%)
                                          Swap: 2.97 GiB / 40.00 GiB (7%)
                                          Disk (/): 653.21 GiB / 896.93 GiB (73%) - btrfs
                                          Local IP (enp6s0): 192.168.1.2/24
                                          Locale: zh_CN.UTF-8                                                            
                                          
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;h2&gt;安装游戏&lt;/h2&gt;
&lt;p&gt;经过本人测试，只有dwproton可以安装游戏，其它版本的Proton可能在安装游戏过程中无法选择路径，或被Anti-Cheat Expert阻止。接下来我将使用Lutris和ProtonPlus来图形化安装。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;先前准备：安装&lt;a href=&quot;https://lutris.net/downloads&quot;&gt;Lutris&lt;/a&gt;和&lt;a href=&quot;https://protonplus.vysp3r.com/&quot;&gt;ProtonPlus&lt;/a&gt;以图形化配置，当然最重要的是下载&lt;a href=&quot;https://nte.perfectworld.com&quot;&gt;Neverness to Everness&lt;/a&gt;的安装程序。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在ProtonPlus中，选择运行器，在右上角将应用改成Lutris，在Proton中找到DW-Proton，安装dwproton-10.0-26（2026-05-15更新：11.0-1亦可）。&amp;lt;details&amp;gt;&amp;lt;summary&amp;gt;下载很慢？&amp;lt;/summary&amp;gt;如果下载过程中出错，可于&lt;a href=&quot;https://dawn.wine/dawn-winery/dwproton/releases&quot;&gt;https://dawn.wine/dawn-winery/dwproton/releases&lt;/a&gt;手动下载，亦可选择Magnet link。下载后手动解压至&lt;code&gt;~/.local/share/lutris/runners/wine/&lt;/code&gt;即可。但根据我的经验，只有Github Releases上的资源有必要手动多线程下载，DWProton使用的代码托管平台我访问起来相当快。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;lt;/details&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/ProtonPlus.png&quot; alt=&quot;ProtonPlus演示图片&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在Lutris中，单击左上角的+添加游戏，选择手动配置游戏运行环境，然后在弹出的窗口中，填写名称，将运行环境选为Wine（运行Windows游戏）,在游戏选项中选择自己记得住的工作目录和容器目录，同一个即可，暂且将自己的主程序设为你下载的游戏启动器安装程序，在运行环境选项中选择Wine版本为dwproton-10.0-26，其他选项保持默认便可。
&lt;img src=&quot;/Lutrisadd.png&quot; alt=&quot;Lutris添加&quot; /&gt;&lt;img src=&quot;/Lutrisgameoption.png&quot; alt=&quot;Lutris游戏选项&quot; /&gt;&lt;img src=&quot;/Lutrisenvironmentoption.png&quot; alt=&quot;Lutris运行环境选项&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;点击保存，然后启动游戏，然后你应该能看到语言选择，点击OK后你应该能看到启动器安装指引，在我这里安装位置的盘符总不是C，甚至可能会显示一个我未曾映射过为主机路径的盘符，本人喜欢游戏文件就在Wine Prefix中，遂选择自定义安装，将盘符改为C。
&lt;img src=&quot;/nteinstallation.png&quot; alt=&quot;游戏安装&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;安装完成后，去你安装的路径里找到NTEGlobalLauncher.exe，将启动旁的三角-配置-游戏选项中的主程序改为这个文件，这样下次启动启动的就是安装好的启动器而不是安装程序了，如果你不知道Wine容器中的盘符对应主机的哪个路径，可以点击酒杯旁的三角-Wine设置，从中找到驱动器，然后你就可以看到盘符和目标文件夹的对应关系了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;启动，并安装游戏，等待下载完成。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在NTE启动器里点击开始游戏，我这里总会在编译着色器这一步崩溃，我尝试启用了游戏使用DX11，的确使我进入了登录界面，结果当我退出后将游戏使用DX11关闭后，竟然神奇地可以在DX12（VKD3D转译）下启动了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果你对游戏的运行效率满意，就请享受吧。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;若不满意，请看下文。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;安装OptiScaler以强制支持超分辨率和插帧&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;先前准备：在&lt;a href=&quot;https://github.com/optiscaler/OptiScaler/releases/latest&quot;&gt;OptiScaler的Releases中下载发布的压缩包（不是Source code）&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;找到你游戏容器目录里的drive_c/users/steamuser/AppData/Local/HT/Saved_Global/Config/Windows/Engine.ini，使用文本编辑器（我使用的是kate，你也可以根据自己的习惯使用nano或vim）打开它，然后移除所有原本的文本，替换成下面这段：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;[SystemSettings]
r.FidelityFX.FSR3.UseNativeDX12=1
r.FidelityFX.FSR3.UseRHI=0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后移除写权限，我选择通过Dolphin的图形化界面，你也可以通过你偏好的其它工具或者chmod a-w来达成相同的效果。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;将压缩包内所有文件复制，粘贴到游戏安装路径/Neverness To Everness/Client/WindowsNoEditor/HT/Binaries/Win64/中，并赋予setup_linux.sh执行权限。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在这个路径打开终端（也可以打开终端后cd到这个路径），然后执行./setup_linux.sh，这个配置是我测试过可用FSR 3的，如果在第一个问题中选择1，会被反作弊阻止，如果在第三个问题中选择Y，将在游戏中可用DLSS，但不支持帧生成。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt; ::::::::  :::::::::  ::::::::::: :::::::::::  ::::::::   ::::::::      :::     :::        :::::::::: :::::::::  
:+:    :+: :+:    :+:     :+:         :+:     :+:    :+: :+:    :+:   :+: :+:   :+:        :+:        :+:    :+: 
#+:    +:+ +:+    +:+     +:+         +:+     +:+        +:+         +:+   +:+  +:+        +:+        +:+    +:+ 
+#+    +:+ +#++:++#+      +#+         +#+     +#++:++#++ +#+        +#++:++#++: +#+        +#++:++#   +#++:++#:  
+#+    +#+ +#+            +#+         +#+            +#+ +#+        +#+     +#+ +#+        +#+        +#+    +#+ 
#+#    #+# #+#            #+#         #+#     #+#    #+# #+#    #+# #+#     #+# #+#        #+#        #+#    #+# 
 ########  ###            ###     ###########  ########   ########  ###     ### ########## ########## ###    ### 

Coping is strong with this one...


Choose a filename for OptiScaler (default is dxgi.dll):
 [1] dxgi.dll
 [2] winmm.dll
 [3] version.dll
 [4] dbghelp.dll
 [5] d3d12.dll
 [6] wininet.dll
 [7] winhttp.dll
 [8] OptiScaler.asi
Enter 1-8 (or press Enter for default): 2

Are you using an Nvidia GPU [y/N]: N

Will you try to use DLSS inputs? (enables spoofing, required for DLSS FG, Reflex-&amp;gt;AL2) [Y/n]: N
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;2026-08-06更新：似乎version.dll也可以&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;在配置-系统选项中，找到环境变量，添加一行，修改Key为WINEDLLOVERRIDES=winmm.dll，Value为n,b。&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;2026-08-06更新：我应该直接在运行环境选项-DLL函数库顶替里直接输入Key为&lt;code&gt;winmm&lt;/code&gt;或&lt;code&gt;version&lt;/code&gt;（视你在步骤4中的脚本的选择而定），value为&lt;code&gt;n,b&lt;/code&gt;，效果理应相同，但我在最近试的时候发现环境变量方法失效，这里更改有效。我不清楚为什么，希望有懂的大佬分析。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;./winedllreplace.png&quot; alt=&quot;DLL Replacements&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用文本编辑器打开OptiScaler.ini，找到[Spoofing]，更改SpoofedVendorId,SpoofedDeviceId和SpoofedGPUName来将自己的显卡伪装成AMD Radeon RX 9070 XT。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;; -------------------------------------------------------
; VendorID to spoof 
; 0x10de = Nvidia | 0x8086 = Intel | 0x1002 = AMD
; Integer value - Default (auto) is 0x10de 
SpoofedVendorId = 0x1002

; DeviceID to spoof 
; 0x2684 = 4090 | 0xE20B = B580 | 0x7550 9070 XT
; Integer value - Default (auto) is 0x2684 (4090)
SpoofedDeviceId = 0x7550

; Spoofed GPU name
; NVIDIA GeForce RTX 4090 | Intel(R) Arc(TM) B580 Graphics | AMD Radeon RX 9070 XT
; Default (auto) is NVIDIA GeForce RTX 4090
SpoofedGPUName = AMD Radeon RX 9070 XT
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;启动游戏，如果按下Insert后显示了OptiScaler GUI，就说明OptiScaler成功安装了。
&lt;img src=&quot;/InNTEGame1.png&quot; alt=&quot;游戏内OptiScaler GUI截图&quot; /&gt;
&lt;img src=&quot;/NTESetting.png&quot; alt=&quot;游戏内设置&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FSR3只有NativeAA和质量档，而质量档的帧率依然不能满足我，因此我在OptiScale GUI中的Upscale Ratio Override，启用Override all，并更改All Ratios为2.000，这个值控制实际渲染画面的线性像素数与游戏窗口的线性像素数，越大越快但画面质量越低，更改后需要重启才能生效。如图，我这里为1920x1080 -&amp;gt; 3840x2160，虽然游戏无基准测试，但是根据我的个人体验，我的Intel Arc A750在这种情况下帧率依然很难达到60fps，可见这款游戏对GPU的要求还是不低的。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item></channel></rss>