[Stand-alone Games] 如何在deepin25中游玩osu!stable
Tofloor
poster avatar
AeCw
deepin
2025-06-28 11:04
Author

image.png

1.安装依赖

必要依赖

sudo apt install -y git wget zenity xdg-desktop-portal-gtk

2.设置低音频延迟

创建一个pipewire配置文件

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

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

找到这两项,更改为64/48000。

pulse.min.req          = 64/48000
pulse.min.quantum      = 64/48000

保存后重载音频

systemctl --user restart pipewire pipewire-pulse

3.安装数位板驱动

安装dotnet runtime 8.0

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt-get install -y dotnet-runtime-8.0

下载opentabletdevice

点击下载

安装完后启动otd

systemctl --user enable opentabletdriver.service --now

4.安装osu

git clone https://github.com/NelloKudo/osu-winello.git
cd osu-winello
chmod +x ./osu-winello.sh
./osu-winello.sh

运行完毕后即可使用osu-wine启动

关于延迟,你需要设置为-45ms ~ -20ms才能让音乐对上打击音
image.png

QA

切换后台后黑屏无法恢复

关闭游戏内全屏模式

image.png

鼠标加速如何关闭?

安装xinput后使用

查看设备 xinput list

设置关闭鼠标加速 xinput --set-prop "鼠标设备名" "libinput Accel Profile Enabled" 0 1 0

此方法无法长期化,需将命令保存在~/.xinitrc中

我数位板不支持otd怎么办?

以绘王L610为例,编写一个数位板配置文件,放在.config/OpenTabletDriver/Configurations下

文件名:L610.json

{
  "Name": "Huion L610",
  "Specifications": {
    "Digitizer": {
      "Width": 254,
      "Height": 158.8,
      "MaxX": 50800,
      "MaxY": 31750
    },
    "Pen": {
      "MaxPressure": 16383,
      "Buttons": {
        "ButtonCount": 2
      }
    },
    "AuxiliaryButtons": null,
    "MouseButtons": null,
    "Touch": null
  },
  "DigitizerIdentifiers": [
    {
      "VendorID": 9580,
      "ProductID": 8210,
      "InputReportLength": 12,
      "OutputReportLength": 0,
      "ReportParser": "OpenTabletDriver.Configurations.Parsers.Huion.GianoReportParser",
      "FeatureInitReport": null,
      "OutputInitReport": null,
      "DeviceStrings": {
        "201": "HUION_T23b_\\d{6}$"
      },
      "InitializationStrings": [
        200
      ],
      "Attributes": {}
    }
  ],
  "AuxilaryDeviceIdentifiers": [],
  "Attributes": {
    "libinputoverride": "1"
  }
}

编写udev规则在 /etc/udev/rules.d/

文件名:34-l610.rules

# huion
KERNEL=="uhid",MODE:="0666",OPTIONS+="static_node=uhid"
KERNEL=="uinput",MODE:="0666",OPTIONS+="static_node=uinput"
SUBSYSTEMS=="usb",ATTRS{idVendor}=="256c",MODE:="0666"
SUBSYSTEM=="input", KERNEL=="event*",ATTRS{name}=="HUION 256C PEN STYLUS",MODE:="0666"

保存后使用 udevadm trigger刷新规则

如何编写配置文件?

参考arch wikiotd wiki


项目参考

https://github.com/NelloKudo/osu-winello

https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-debian?tabs=dotnet8

Reply Favorite View the author
All Replies
deepin
deepin
2025-06-28 12:44
#1

难得写得这么详细,赞

Reply View the author
zmqsybzc
deepin
2025-06-28 14:02
#2
deepin

难得写得这么详细,赞

大佬来了applaud

Reply View the author
AeCw
deepin
2025-06-28 16:22
#3
deepin

难得写得这么详细,赞

tail

Reply View the author
kero990
deepin
2025-06-30 11:28
#4

额,我好像编译了arm64版的传了商店,集成了所有依赖。

x86因为原来商店就有,所以没搞。

image.png

另外,这不是个开源软件吗,而且有linux版

为啥社区还能搞出一个wine版

Reply View the author
AeCw
deepin
2025-06-30 12:51
#5
kero990

额,我好像编译了arm64版的传了商店,集成了所有依赖。

x86因为原来商店就有,所以没搞。

image.png

另外,这不是个开源软件吗,而且有linux版

为啥社区还能搞出一个wine版

因为这个游戏有stable版和lazer版两个不一样的版本,stable只有windows下才有,linux需要wine来游玩,如果你参加这个游戏的社区比赛就需要stable这个版本才能参加,而lazer版本的比赛管理做的不行,所以在此写了篇stable版本的教程😬

Reply View the author
AeCw
deepin
2025-06-30 12:54
#6
kero990

额,我好像编译了arm64版的传了商店,集成了所有依赖。

x86因为原来商店就有,所以没搞。

image.png

另外,这不是个开源软件吗,而且有linux版

为啥社区还能搞出一个wine版

而且也提供了下音频低延迟教程,这个游戏很需要低音频延迟来游玩

Reply View the author
AeCw
deepin
2025-06-30 12:56
#7
kero990

额,我好像编译了arm64版的传了商店,集成了所有依赖。

x86因为原来商店就有,所以没搞。

image.png

另外,这不是个开源软件吗,而且有linux版

为啥社区还能搞出一个wine版

还有一点是,这个游戏的stable版本不是开源的,lazer版本才是开源,但也有一些反作弊、成就系统之类的是没开源的

Reply View the author