一般路过糕手
1
起因是最近跑一个老游戏《彩虹六号:雷霆战将》,其实游戏运行还正常,但他的资料片《黑色通缉令》有个已知的在现代硬件上的问题,我的7700X处理器频率对于游戏来说太高导致游戏内的行动非常快速完全无法游玩
像限制逻辑核心数之类的倒是知道WINE有 WINE_CPU_TOPOLOGY这种环境变量或者taskset这种简单的工具,但限制频率这个就不太了解了
看了看ArchWiki试了试cpupower但提示
sudo cpupower frequency-set -f 3.5Ghz
设置CPU:0
设置新值时出错。 常见错误:
- 您有适当的管理权吗? (超级用户?)
- 您请求的调控器是否可用并已进行 modprobed?
- 尝试设置无效的策略?
- 尝试设置特定频率,但用户空间调控器不可用,
例如由于硬件无法设置为特定频率
或者因为用户空间调控器未加载?
遂放弃(x,然后因为我的电源管理是用的tuned,本来打算看看能不能新建限制CPU频率的配置,但居然找到不到类似的文档参考,而且省电模式配置最高4.5GHz最低3GHz也还是太高了
依云
(lilydjwg)
2
用了 amd_pstate_epp的话,频率如何调节就完全交给硬件自己了。你可以试试添加amd_pstate=passive内核参数试试,还不行的话就不用amd_pstate了。
另外你可以试试限制它的CPU使用率到100%以下,这样当时间片足够小的时候就跟CPU降频了差不多(PWM)。
一般路过糕手
3
我试试看设置cpu使用率,不知道是不是flatpak的问题用nice或者cpulimit启动lutris跑游戏的时候只影响到了lutris,我得再继续试试了
依云
(lilydjwg)
4
用cgroup吧,直接去/sys/fs/cgroup下找对应的cpu.weight往里面写数值就行。
一般路过糕手
5
更改了lutris的cgroup里的cpu.max和cpu.weight到最低,在只有单核5%使用率下居然还是不正常...感觉可能这个游戏的引擎某些逻辑和CPU频率判定绑在一起了,在另一台老电脑上运行在2.5GHz时正常,看来得弄弄看amd_pstate或者干脆拿86box跑了(x
一般路过糕手
6
真奇怪,cpupower frequency-set -f命令会失败,但用cpupower frequency-set -u和cpupower frequency-set -d调整最高最低频率可以调整
虽然把最高最低频率调整到1GHz以下游戏菜单中会动的部分还是抽风,但加载进入游戏内速度正常了,只是鼠标移动视角会抽风,虽然调整到更高的CPU频率能解决但又会出现游戏速度过快的情况。很纳闷为什么另一台笔记本电脑的四代i7反而能正常运行,无论如何看起来游戏本身的问题还是太严重了