根据我们之前的对话,以下是针对你 Ubuntu系统 + Steam (deb版) + CS2 (CSGO) + GTX 1050 Ti显卡 出现“游戏有声音但无画面/崩溃”问题的完整排查与解决过程总结。
1. 问题现象
- 游戏能启动,听到背景音乐,但画面没有渲染出来(黑屏或残留桌面图像)。
- 随后出现
Segmentation fault和Fossilize ERROR等崩溃错误。
2. 已确认的环境信息
- 显示协议:X11 (
echo $XDG_SESSION_TYPE返回x11) - 显卡识别:
glxinfo能正确识别GTX 1050 Ti - 驱动版本:最初为 NVIDIA 470.256.02
- 关键报错:
Fossilize ERROR: Failed to parse pNext chainSegmentation fault (core dumped)- 涉及
VK_EXT_graphics_pipeline_library扩展 NVIDIA Kepler+相关提示
3. 根本原因分析
- NVIDIA 470 驱动过旧,不支持 CS2 所需的现代 Vulkan 扩展(如
VK_EXT_graphics_pipeline_library)。 - 你的 GTX 1050 Ti 是 Pascal 架构(不是 Kepler),硬件完全支持新驱动,但 470 驱动导致 Vulkan 层调用失败,从而引发着色器缓存解析错误和程序崩溃。
4. 最终解决方案
步骤一:升级 NVIDIA 驱动到 535 系列
# 彻底移除旧驱动
sudo apt purge nvidia-* && sudo apt autoremove
# 添加官方驱动 PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# 安装 535 驱动(对 GTX 1050 Ti 最稳定)
sudo apt install nvidia-driver-535
# 重启
sudo reboot
步骤二:验证驱动与 Vulkan 支持
nvidia-smi # 应显示 535.xxx
vulkaninfo | grep VK_EXT_graphics_pipeline_library # 应显示该扩展
(若 vulkaninfo 不存在:sudo apt install vulkan-tools)
步骤三:清理损坏的缓存
rm -rf ~/.steam/steam/shadercache/730
rm -rf ~/.local/share/Steam/steamapps/shadercache/730
rm -rf ~/.cache/vulkan
步骤四:调整 Steam 与 CS2 设置
- Steam 设置 → 下载:取消勾选 “启用着色器预缓存”
- CS2 启动选项(右键游戏 → 属性 → 通用 → 启动选项):清空其他所有参数。
-vulkan
5. 备选 / 未完全验证的方案
- 若 535 驱动仍有问题,可尝试
nvidia-driver-550。 - 关闭 Steam 游戏内覆盖层(Steam 设置 → 游戏中 → 取消“在游戏中启用Steam界面”)。
- 使用
steam-native启动 Steam(LD_PRELOAD="" steam-native)。 - 若愿意尝试兼容层,可强制使用 Proton Experimental(但首选原生 + 新驱动)。
6. 预期结果
完成以上步骤后,CS2 应能正常渲染画面并稳定运行。问题根源在于 470 驱动过旧,升级到 535 系列即可同时满足 Vulkan 1.3 和 VK_EXT_graphics_pipeline_library 扩展的需求。