level 6
brc410
楼主
Go 2刷了steamos,一切都很好,只剩下最后两个问题,一个是游戏模式下不能调节亮度,虽然有插件能解决,但还是希望有原生支持,还有一个不光是steamos,在win11下也存在,某些游戏某些场景黑色阴影会是一片边缘不规则的死黑,非常影响视觉效果。
在红迪上看到一个解决办法,今天试了一下,居然同时解决了这两个问题,膜拜一下民间大神,在这里也分享一下。
1.进桌面模式,运行文件管理器。
2.进/home/deck/.config/gamescope文件夹,如果看不见.config,可能需要开启显示隐藏文件选项。
3.右键创建新文件夹,名称scripts。
4.进新文件夹,右键创建新text file文本文件,名称lenovo.legiongo2.oled.lua,注意扩展名必须是lua,不能是txt。
5.用kate打开上面文件,把下面内容复制粘贴找到8个%符号,全部删掉(加%是因为发帖系统总是把中间带点的英文自动变换成网络链接),保存关闭。
6.重启机器。
local lenovo_go2_oled_colorimetry = {
r = { x = 0.6835, y = 0.3154 },
g = { x = 0.2402, y = 0.7138 },
b = { x = 0.1396, y = 0.0439 },
w = { x = 0.3134, y = 0.3291 },
}
gamescope.config.known_displays.lenovo_go2_oled = {
pretty_name = "AMS881KB01-0 OLED",
dynamic_refresh_rates = { 60, 144, },
hdr = {
supported = true,
force_enabled = false,
eotf = gamescope.eotf.gamma22,
max_content_light_level = 1107.128,
max_frame_average_luminance = 475.683,
min_content_light_level = 0.001,
},
colorimetry = lenovo_go2_oled_colorimetry,
dynamic_modegen = function(base_mode, refresh)
debug("Generating mode " .. refresh .. "Hz for AMS881KB01-0 OLED")
local mode = base_mode
gamescope.modegen.set_resolution(mode, 1920, 1200)
gamescope.modegen.set_h_timings(mode, 32, 8, 40)
if refresh == 60 then
gamescope.modegen.set_v_timings(mode, 1904, 8, 56)
else
gamescope.modegen.set_v_timings(mode, 56, 8, 56)
end
%mode.clock% = gamescope.modegen.calc_max_clock(mode, refresh)
%mode.vrefresh%= gamescope.modegen.calc_vrefresh(mode)
return mode
end,
matches = function(display)
if %display.vendor% == "SDC" and %display.product% == 17153 then
return 5000
end
return -1
end,
}
debug("Registered AMS881KB01-0 OLED as a known display")
2026年04月28日 19点04分
1
在红迪上看到一个解决办法,今天试了一下,居然同时解决了这两个问题,膜拜一下民间大神,在这里也分享一下。
1.进桌面模式,运行文件管理器。
2.进/home/deck/.config/gamescope文件夹,如果看不见.config,可能需要开启显示隐藏文件选项。
3.右键创建新文件夹,名称scripts。
4.进新文件夹,右键创建新text file文本文件,名称lenovo.legiongo2.oled.lua,注意扩展名必须是lua,不能是txt。
5.用kate打开上面文件,把下面内容复制粘贴找到8个%符号,全部删掉(加%是因为发帖系统总是把中间带点的英文自动变换成网络链接),保存关闭。
6.重启机器。
local lenovo_go2_oled_colorimetry = {
r = { x = 0.6835, y = 0.3154 },
g = { x = 0.2402, y = 0.7138 },
b = { x = 0.1396, y = 0.0439 },
w = { x = 0.3134, y = 0.3291 },
}
gamescope.config.known_displays.lenovo_go2_oled = {
pretty_name = "AMS881KB01-0 OLED",
dynamic_refresh_rates = { 60, 144, },
hdr = {
supported = true,
force_enabled = false,
eotf = gamescope.eotf.gamma22,
max_content_light_level = 1107.128,
max_frame_average_luminance = 475.683,
min_content_light_level = 0.001,
},
colorimetry = lenovo_go2_oled_colorimetry,
dynamic_modegen = function(base_mode, refresh)
debug("Generating mode " .. refresh .. "Hz for AMS881KB01-0 OLED")
local mode = base_mode
gamescope.modegen.set_resolution(mode, 1920, 1200)
gamescope.modegen.set_h_timings(mode, 32, 8, 40)
if refresh == 60 then
gamescope.modegen.set_v_timings(mode, 1904, 8, 56)
else
gamescope.modegen.set_v_timings(mode, 56, 8, 56)
end
%mode.clock% = gamescope.modegen.calc_max_clock(mode, refresh)
%mode.vrefresh%= gamescope.modegen.calc_vrefresh(mode)
return mode
end,
matches = function(display)
if %display.vendor% == "SDC" and %display.product% == 17153 then
return 5000
end
return -1
end,
}
debug("Registered AMS881KB01-0 OLED as a known display")





