(2/2) 在Ubuntu中运行低音频延迟Osu!和OpenTabletDriver

经过初次尝试之后,我又做了许多调整。经过一段时间的使用,总结如下:

更换了操作系统 – Mint Linux

Mint Linux是一个基于Ubuntu但更精简的linux release。它有三个版本:Cinnamon、MATE、和Xfce。这三者精简程度依次提升,在Emik的推荐下我试用了一下Xfce。

实际使用起来跟Ubuntu体感并没有太大区别,不过总不会更坏。

一大方便之处就是Xfce默认是没有鼠标加速的,省得关了。虽然osu不用鼠标,但是就平时操作有点加速我也受不了。

重启后wacom模块重新加载的问题

之前blacklist wacom模块的操作并未成功,每次重启后模块还是会加载。原因是我没有按照Open Tablet Driver FAQ的指示重建initramfs。原贴已经修改并增加了一行指令:

sudo update-initramfs -u

更换了显卡

这段时间在折腾HTPC,所以几张显卡挪来挪去很多次,最终在FB上淘换了一张二手RX6600XT,卖卡的土豪朋友换了张RX7900XTX,还把盒子送给了我。

许多A卡在Linux上免驱,所以用这些卡的话就可以直接跳过我原帖中”安装显卡驱动“这一章。

进一步调整延迟

Windows默认有个10ms的音频缓冲区,用REAL.exe可以把它减少到3ms以内。我们在Linux里安装的pipewire其实默认也有个10ms的缓冲区,通过一些调整可以使它变得更小。具体的操作方式也记载在MarshNello的原帖中。这一方法由gonX分享。我在这里做一些简单的翻译。

首先备份一下配置文件:

mkdir -p ~/.config/pipewire && cp -rv /usr/share/pipewire/* ~/.config/pipewire/

然后我们修改位于~/.config/pipewire/的配置文件pipewire-pulse.conf,这里使用nano来进行编辑:

nano ~/.config/pipewire/pipewire-pulse.conf

由于缓冲区过小可能会导致爆音等问题,为了测试最小缓冲区能多小而不引起其他问题,我们将缓冲的sample数从256逐步降低到32。每台电脑的情况可能都不尽相同。默认设置应该是480/48000,即每秒48000个sample(48000hz),缓冲区为480个sample,就相当于10ms。
我们在配置文件下方找到context.modules这一部分,以32个sample为例,将配置修改为:

context.modules = {
pulse.min.req = 32/48000 # 0.67ms
pulse.min.quantum = 32/48000 # 0.67ms
}

修改完毕后Ctrl+O保存,提示储存文件名的话按回车,然后按Ctrl+X退出。

重启后生效。

我暂时使用的是128个sample。

其他一些发现

调整gamma

Mint Linux和Ubuntu都可以直接在terminal里使用这样的指令来调整gamma:

xgamma -gamma 0.5
xgamma -gamma 2
xgamma -gamma 1

调整范围是0.1-10,非常方便,也不需要安装其他工具。

开机mount ntfs驱动器

GUI中操作很简单,先打开disks,选择驱动器,点击小齿轮,选择Edit Mount Options…

然后勾选Mount at system startup

映射整个Osu!文件夹

在前文中我提到使用软连接来映射Songs文件夹,但其实把整个Osu!文件夹映射到wine-osu底下也一样好用。这样可以无感切换。如果是Windows和Linux双系统想要一起使用同一套Osu文件,这是个很方便的办法。Windows和Linux需要不同的Universal Offset,想要使用不同的配置文件的话可以让Linux和Windows的用户名互不相同,这样游戏加载的时候会使用不同的cfg文件。

操作方式在此不再赘述。

Share