Lenovo ThinkPad X13 Gen 2 (AMD)

出自 ArchWiki
硬件 PCI/USB ID 工作?
触摸板
J-Mouse
视频
网络摄像头 5986:213c
蓝牙
蓝牙 (Realtek) 0bda:4852
音频 1022:15e3
无线
指纹识别器 27c6:6594
TPM 未测试

无障碍访问

BIOS 提供了两种操作模式,GUISimple Text

GUI 可以在一定程度上通过键盘导航。使用 箭头键移动选择,使用 空格 键激活。

为了获得完整的键盘支持,切换到简单文本模式可能会更好。

这可以通过以下步骤完成

  • Setup 下的左侧选择并激活 Config
  • 箭头直到选中 Setup UI 右侧的下拉菜单
  • 激活下拉菜单并选择 Simple Text
  • F10 (保存并退出)
注意: 视障用户可能需要请求视力正常的人帮助更改 BIOS 设置

硬件

蓝牙

蓝牙似乎无法与原装 Qualcomm Wi-Fi 6E QCNFA765 调制解调器一起工作。该调制解调器是 M.2 2230 外形尺寸,并且未焊接(在 X13 Gen 2 的 AMD 版本上),可以轻松地更换为 Intel AX210.NGW。

视频

亮度控制

从内核 5.9 开始,使用原生亮度控制器,使用 acpi_backlight=native 内核参数

音频

PulseAudio 似乎可以正常工作,无需手动干预,但默认选择的 ALSA 音频设备可能不正确。您可能需要更改默认设备。

/etc/asound.conf
defaults.pcm.card 2
defaults.ctl.card 2


您应该记得 取消静音 音量通道。

NVME / Oculink

NVME 端口符合 4x PCIE 4.0 标准。它接受其他类型的外围设备,包括使用 Oculink 标准连接外部 NVIDIA 或 AMD GPU 的 e-GPU 解决方案(英特尔的 Arc GPU 目前由于未知原因无法工作)。

目前已测试:Nvidia GTX 1650 (Low profile) 与 EXP GDC 10.6 通过 NVME 端口上的 Oculink 连接:注意!《最终幻想 VII 重生》已成功启动,因为 GTX 16XX 系列是唯一支持 meshes shaders 6.6 的 GTX,并且笔记本电脑 CPU 支持 AVX2 指令。请注意,集成到 AMD APU 中的 Renoir GPU 不支持 meshes shaders 6.6,并且将无法启动依赖于它的新一代游戏。Pyroveil (https://github.com/ValveSoftware/Proton/issues/8408#issuecomment-2657340142) 必须与专用的 Nvidia 修复程序一起使用,以绕过专有驱动程序对 meshes shaders 6.6 的较差支持,就目前情况而言。Optiscaler 也经过了测试,用于启用 DLSS + FSR3 替换和帧生成支持。

在任何这些情况下都没有注意到带宽问题,无论是将显示器直接连接到外部 GPU,还是在使用由 APU 集成的 AMD GPU 管理的显示器时,在笔记本电脑屏幕或外部显示器上,同时利用外部 GPU。

固件

fwupd 尚不支持此设备。

UEFI

建议运行最新的 UEFI 版本。

“BIOS 更新”可以从 X13 支持页面 下载 ISO 镜像 并加载到 USB 驱动器。

此外,UEFI 选项中还有一个用于自定义电源配置文件的选项,默认情况下该配置文件针对 Windows 10 进行了调整。请参阅 #电源管理

注意: 根据 联想工程师 的说法,如果内核支持,Windows 10 设置可能是首选。

电源管理

UEFI 在 Config > Power > Sleep State 中为睡眠模式提供了两种选择。建议使用 Windows 10 模式 (s2idle),并且在睡眠时会导致大约 0.5%/小时的电量损耗。如果您运行的是旧内核,则使用 Linux 模式 (s3) 可能会有所帮助。

请参阅 电源管理/挂起和休眠#更改挂起方法

功能键

按键 可见?1 标记?2 效果
Fn XF86WakeUp
Fn+Esc 启用 Fn 锁定
Fn+F1 XF86AudioMute
Fn+F2 XF86AudioLowerVolume
Fn+F3 XF86AudioRaiseVolume
Fn+F4 XF86AudioMicMute
Fn+F5 XF86MonBrightnessDown
Fn+F6 XF86MonBrightnessUp
Fn+F7 XF86Display
Fn+F8 XF86WLAN3
Fn+F9
Fn+F10
Fn+F11
Fn+F12 XF86Favorites
Fn+Space 启用/禁用键盘背光
Fn+4 XF86Sleep3
Fn+B Ctrl_L + Break
Fn+P Pause
Fn+K Scroll Lock
Fn+Left 首页
Fn+Right End
Fn+S Alt_L + SysRq
Fn+End Ins
  1. 该按键通过 xev 和类似工具可见
  2. 物理按键上有一个符号,描述其功能
  3. systemd-logind 默认处理此项

游戏

本文或本章节需要语言、wiki 语法或风格改进。请参阅 Help:Style 以获得参考。

原因: 写作风格像博客文章,一些不相关的细节(例如游戏启动器),需要与现有页面互链,并避免大型配置转储。(在 Talk:Lenovo ThinkPad X13 Gen 2 (AMD) 中讨论)

APU 采用了 AMD RENOIR GPU。可以进行一些优化,以便能够运行原本难以运行的最新游戏。

为此,您需要一些工具和配置

-znver3 Linux 内核:可通过 chaotic-aur 或 AUR 获取,WineFSync 支持和其他优化所需。

-ProtonUP:安装带有 FSR 支持的 Proton/DXVK 的自定义版本。

-Proton-GE:带有原生 FSR 支持的 proton 分支。

-Steam:启动您的游戏

-Heroic:启动您的游戏

-LACT:手动指定 GPU 频率,这对于某些不将其推到极限的游戏是必要的,在这种情况下性能明显下降。

如果您只想拥有一台游戏机,则可以通过 /etc/default/grub 优化启动参数,同时删除缓解措施(如果您更喜欢安全性,请启用它,方法是删除 mitigations=off) 

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="apparmor=0 security=apparmor lsm=landlock,lockdown,yama,integrity,apparmor,bpf udev. log_priority=3 clearcpuid=514 module_blacklist=pcspkr,snd_pcsp tsc=unstable mitigations=off iommu=pt amd_pstate=active amdgpu.abmlevel=0 idle=nomwait rcu_nocbs=0-$(($(nproc)-1)) processor.max_cstate=5’


编辑环境变量 

/etc/environment
WINEFSYNC=1
#DX12 support
VKD3D_DEBUG=none
VKD3D_SHADER_COMPILE_OPTIONS=fast_math
VKD3D_FRAME_RATE=24 # choose 24 or 30fps max 
#Enable FSR for Proton-GE or Wine-GE, works only with DXVK
WINE_FULLSCREEN_FSR=1
WINE_FULLSCREEN_FSR_MODE=performance # choose performance, medium, quality
#Choose global config file for directx 9/10/11 support with DXVK. (Alternatively, you can comment this line and include this file next to the executable in each game)
DXVK_CONFIG_FILE=/home/youruser/.config/dxvk.conf
#Force using radeon vulkan support
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
#Correcting Bug texture with AMD
AMD_DEBUG=dpc
RADV_PERFTEST=video_decode
#MESA_LOADER_DRIVER_OVERRIDE=zink # Enable only for OpenGL support via Vulkan. GDM will only launch under Wayland, no longer with X.

#Various optimisations and HUD display for Vulkan.
VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=fps,frame_timing=0,device=0,format=0 VK_LAYER_KHRONOS_validation VK_LAYER_L>
VK_LAYER_KHRONOS_validation=0
MESA_VK_WSI_PRESENT_MODE=mailbox
VK_SWAPCHAIN_COLORS=bt709
vblank_mode=0
VK_LAYER_LUNARG_standard_validation=0
MESA_NO_ERROR=1
VK_LOADER_DISABLE_EXTENSIONS=VK_EXT_debug_marker,VK_KHR_surface

编辑 /home/youruser/.config/dxvk.conf 或游戏可执行文件旁边的 dxvk.conf 

dxvk.conf
----------Various---------
dxgi.syncInterval = 0
d3d11.relaxedBarriers = True
d3d11.apitrace = False


Enable HUD--------- dxvk.hud = api,fps,memory,gpuload,version
Optimisation--------- d3d11.ignoreGraphicsBarriers = True
HDR--------- dxgi.enableHDR = False dxgi.enableUe4Workarounds = False
Fix framerate 24 or 30--------- dxgi.maxFrameLatency = 2 d3d9.maxFrameLatency = 2 dxgi.maxFrameRate = 24 d3d9.maxFrameRate = 24 dxgi.numBackBuffers = 2 d3d9.numBackBuffers =2
Fast Vsync----- dxvk.tearFree = False
Vsync----- dxgi.syncInterval = -1 d3d9.presentInterval = -1
Disable Anisotropic Fltering---------
(0-16)------- d3d11.samplerAnisotropy = 0 dxgi.samplerAnisotropy = 0 d3d9.samplerAnisotropy = 0
Texture sharpening
( -2-1)-------- d3d11.samplerLodBias = 0.1 dxgi.samplerLodBias = 0.1 d3d9.samplerLodBias = 0.1 d3d11.clampNegativeLodBias = True d3d9.clampNegativeLodBias = True
Supersampling---------
(True-False)-------------- d3d11.forceSampleRateShading = False d3d9.forceSampleRateShading = False
Optimisation-------------- d3d11.dcSingleUseMode = True d3d11.maxFeatureLevel = 11_0 d3d11.maxTessFactor = 8 d3d11.relaxedBarriers = False
Vram max 2048 or 4096-------------- dxgi.maxDeviceMemory = 2048 dxgi.maxSharedMemory = 2048

现在,如果您在 Gnome 上,请在登录屏幕上选择 Wayland,当帧速率下降时,它可以提供更流畅的游戏体验。

启动 Proton-Up 并为 Steam/Heroic 选择最新版本的 Proton-GE,并将它们配置为使用此版本。

在 Gnome 中,不要忘记在设置中将电源设置为性能模式。

启动 AMD GPU 的 LACT 工具,然后在“OC”选项卡中选择启用服务,然后重启系统。

再次启动 LACT,然后在 OC 选项卡中选择最高时钟。这将把 GPU 的容量提高到最大。请注意,这不是超频。

启动您的游戏并享受吧。 :-)


您也可以优化引擎的配置文件。

Unreal Engine 4 的 Engine.ini 示例(这里是针对《最终幻想 VII 重制版:Intergrade》,但也可能适用于其他游戏) 

Engine.ini
[SystemSettings]

r.VSync=0
r.SetRes=1920x1080f
#r.FramerateLimit=30
#r.MaxFrameRate=30

r.TextureStreaming=1
r.DynamicRes.OperationMode=0
r.DynamicRes.MinScreenPercentage=100
r.DynamicRes.MaxScreenPercentage=100
r.PostProcess.ScreenResolution=60
r.MaxAnisotropy=16
r.PostProcess.AntiAliasingQuality=2

r.Shadow.Quality=0
r.Shadow.MaxResolution=512
r.Shadow.MaxCSMResolution=1024
r.Shadow.RadiusThreshold=0.06
r.Shadow.DistanceScale=0.8

r.Effects.Quality=1
r.Foliage.Quality=0
r.DistanceFieldQuality=0
r.Water.Quality=0
r.Particle.Quality=0

r.MotionBlurQuality=0
r.DepthOfFieldQuality=0
r.BloomQuality=2

r.TextureQuality=2
r.Texture.LODBias=-0.5
r.Streaming.MipBias=1

tessellation.MaxDisplacement=0

r.ParticleLODBias=2
r.ParticleLightQuality=0

r.ViewDistanceScale=0.9

r.AmbientOcclusionLevels=0
r.AmbientOcclusionRadiusScale=0.5

r.SkeletalMeshLODBias=2

r.DefaultFeature.MotionBlur=0

r.AllowAsyncCompute=0
r.AsyncComputeBudget=4

r.FastVRam.BokehDOF=1
r.FastVRam.CombineLUTs=1
r.FastVRam.DistanceFieldAODownsampledBentNormal=1
r.FastVRam.DistanceFieldAOHistory=1
r.FastVRam.DistanceFieldAOScreenGridResources=1
r.FastVRam.DistanceFieldCulledObjectBuffers=1
r.FastVRam.DistanceFieldNormal=1
r.FastVRam.DistanceFieldShadows=1
r.FastVRam.DistanceFieldTileIntersectionResources=1
r.FastVRam.DistortHistory=1
r.FastVRam.Distortion=1
r.FastVRam.DOFPostfilter=1
r.FastVRam.DOFReduce=1
r.FastVRam.DOFSetup=1
r.FastVRam.Downsample=1
r.FastVRam.EyeAdaptation=1
r.FastVRam.ForwardLightingCullingResources=1
r.FastVRam.Histogram=1
r.FastVRam.HistogramReduce=1
r.FastVRam.HZB=1
r.FastVRam.LPV=1
r.FastVRam.MotionBlur=1
r.FastVRam.PostProcessMaterial=1
r.FastVRam.SceneColor=1
r.FastVRam.SceneDepth=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.ShadowCSM=1
r.FastVRam.ShadowPerObject=1
r.FastVRam.Tonemap=1
r.FastVRam.Upscale=1
r.FastVRam.VelocityFlat=1
r.FastVRam.VelocityMax=1
r.FastVRam.VolumetricFog=1

[RenderSettings]
r.Shadow.Quality=0
r.Effects.Quality=1
r.Foliage.Quality=0
r.DistanceFieldQuality=0
r.Water.Quality=0
r.Particle.Quality=0

或 Unreal Engine 5 的 Engine.ini 示例(这里是针对《龙珠 电光火石!ZERO》,但也可能适用于其他游戏)添加到 Engine.ini 中 

Engine.ini
[Engine.Engine]
; Limit Max FPS
bSmoothFrameRate=True
MinSmoothedFrameRate=30
MaxSmoothedFrameRate=30

[/script/engine.engine]
FixedFrameRate=30

[SystemSettings]
bUseFixedFrameRate=True
bSmoothFrameRate=False
FixedFrameRate=30
FrameRateLimit=30

; Resolution and details
r.ScreenPercentage=75             ; Renders the game at 75% of the native resolution for an FPS boost
r.ViewDistanceScale=1.5           ; Reduces the view distance
r.StaticMeshLODDistanceScale=1.5  ; Increases the use of LOD (Low-Detail Objects)
r.SkeletalMeshLODBias=1           ; Reduces character quality at a distance

; Shadows
r.ShadowQuality=1                 ; Reduces shadow quality
r.Shadow.MaxResolution=128        ; Limits shadow resolution
r.Shadow.RadiusThreshold=0.05     ; Reduces shadows on small objects
r.Shadow.DistanceScale=0.5        ; Decreases shadow range

; Lighting and visual effects
r.VolumetricFog=0                 ; Disables volumetric fog
r.VolumetricCloud=0               ; Disables volumetric clouds
r.MotionBlurQuality=0             ; Disables motion blur
r.BloomQuality=0                  ; Disables bloom
r.LensFlareQuality=0              ; Disables lens flares
r.SceneColorFringeQuality=0       ; Disables chromatic aberration
r.DepthOfFieldQuality=0           ; Disables depth of field

; Textures and streaming
r.TextureStreaming=1              ; Enables texture streaming
r.Streaming.PoolSize=768          ; Texture pool size (for 12 GB of system RAM)
r.MaxAnisotropy=16                ; Limits anisotropic filtering to 4x

; Anti-aliasing
r.TemporalAACurrentFrameWeight=0.2 ; Reduces temporal anti-aliasing artifacts
r.TemporalAASamples=0             ; Adjusts temporal anti-aliasing samples

; FPS optimization
r.HZBOcclusion=0                  ; Disables hierarchical occlusion
r.DistanceFieldShadowing=0        ; Disables distance field shadows
r.GenerateMeshDistanceFields=0    ; Disables the generation of distance fields

参见