Steamdeck使用Windows系统游玩雪地奔驰时闪退问题解决方法

news/2024/7/25 20:31:16/文章来源:https://blog.csdn.net/weixin_51496152/article/details/139266525

我非常喜欢雪地奔驰这款游戏,买sd的一部分也是为了它。可在我打开这个游戏时,游戏发生闪退问题。查阅了网络各个途径,基本没有解决方法。因此我自己分析终于解决该问题。以下是我解决问题的思路,仅供记录参考:
游戏在崩溃时会生成一个文件“CrashDump.dmp”,使用WinDbg读取dmp文件,并使用分析命令,我们会得到一长串的报错信息。

0:027> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************Dir entry 8, CommentStreamA stream has too many elements (0x88583 > 0x186a0)KEY_VALUES_STRING: 1Key  : AV.DereferenceValue: NullClassPtrKey  : AV.FaultValue: ReadKey  : Analysis.CPU.mSecValue: 843Key  : Analysis.Elapsed.mSecValue: 72273Key  : Analysis.IO.Other.MbValue: 8Key  : Analysis.IO.Read.MbValue: 0Key  : Analysis.IO.Write.MbValue: 13Key  : Analysis.Init.CPU.mSecValue: 202Key  : Analysis.Init.Elapsed.mSecValue: 13298Key  : Analysis.Memory.CommitPeak.MbValue: 108Key  : Failure.BucketValue: NULL_CLASS_PTR_READ_c0000005_atidxx64.dll!UnknownKey  : Failure.HashValue: {52f8a02b-380a-20b8-c8f3-a7119650d5c9}Key  : Timeline.Process.Start.DeltaSecValue: 27Key  : WER.OS.BranchValue: ni_releaseKey  : WER.OS.VersionValue: 10.0.22621.1Key  : WER.Process.VersionValue: 9.28.1886.0FILE_IN_CAB:  CrashDump.dmpCONTEXT:  (.ecxr)
rax=0000000000000000 rbx=0000014246e19ad8 rcx=0000014248c0b400
rdx=0000014246ea0890 rsi=0000000000000000 rdi=0003241e00000000
rip=00007ffaa13803b8 rsp=00000012793fe930 rbp=00000012793fe9e9r8=00000012793fe990  r9=00000012793fe970 r10=0000014246e19ad8
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000014246e32f68 r15=0000000000000000
iopl=0         nv up ei pl nz na pe nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
atidxx64_7ffaa1070000+0x3103b8:
00007ffa`a13803b8 8b4014          mov     eax,dword ptr [rax+14h] ds:00000000`00000014=????????
Resetting default scopeEXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffaa13803b8 (atidxx64_7ffaa1070000+0x00000000003103b8)ExceptionCode: c0000005 (Access violation)ExceptionFlags: 00000000
NumberParameters: 2Parameter[0]: 0000000000000000Parameter[1]: 0000000000000014
Attempt to read from address 0000000000000014PROCESS_NAME:  Expeditions.exeREAD_ADDRESS:  0000000000000014 ERROR_CODE: (NTSTATUS) 0xc0000005 - 0x%p            0x%p                    %sEXCEPTION_CODE_STR:  c0000005EXCEPTION_PARAMETER1:  0000000000000000EXCEPTION_PARAMETER2:  0000000000000014IP_ON_HEAP:  0000014246ea4c90
The fault address in not in any loaded module, please check your build's rebase
log at <releasedir>\bin\build_logs\timebuild\ntrebase.log for module which may
contain the address if it were loaded.FRAME_ONE_INVALID: 1STACK_TEXT:  
00000012`793fe930 00000142`46ea4c90     : 00000142`46ea4690 00000142`46e94398 00000142`46e19ad8 00000001`000000a0 : atidxx64_7ffaa1070000+0x3103b8
00000012`793fe938 00000142`46ea4690     : 00000142`46e94398 00000142`46e19ad8 00000001`000000a0 00000142`00000010 : 0x00000142`46ea4c90
00000012`793fe940 00000142`46e94398     : 00000142`46e19ad8 00000001`000000a0 00000142`00000010 00000142`46e1f240 : 0x00000142`46ea4690
00000012`793fe948 00000142`46e19ad8     : 00000001`000000a0 00000142`00000010 00000142`46e1f240 00000142`46e936d0 : 0x00000142`46e94398
00000012`793fe950 00000001`000000a0     : 00000142`00000010 00000142`46e1f240 00000142`46e936d0 00000142`46e9f7d0 : 0x00000142`46e19ad8
00000012`793fe958 00000142`00000010     : 00000142`46e1f240 00000142`46e936d0 00000142`46e9f7d0 00000000`00000000 : 0x00000001`000000a0
00000012`793fe960 00000142`46e1f240     : 00000142`46e936d0 00000142`46e9f7d0 00000000`00000000 00000100`00000000 : 0x00000142`00000010
00000012`793fe968 00000142`46e936d0     : 00000142`46e9f7d0 00000000`00000000 00000100`00000000 00000142`48c0b901 : 0x00000142`46e1f240
00000012`793fe970 00000142`46e9f7d0     : 00000000`00000000 00000100`00000000 00000142`48c0b901 00000142`00000001 : 0x00000142`46e936d0
00000012`793fe978 00000000`00000000     : 00000100`00000000 00000142`48c0b901 00000142`00000001 00000142`46ea4c90 : 0x00000142`46e9f7d0SYMBOL_NAME:  atidxx64_7ffaa1070000+3103b8MODULE_NAME: atidxx64_7ffaa1070000IMAGE_NAME:  atidxx64.dllSTACK_COMMAND:  ~27s; .ecxr ; kbFAILURE_BUCKET_ID:  NULL_CLASS_PTR_READ_c0000005_atidxx64.dll!UnknownOS_VERSION:  10.0.22621.1BUILDLAB_STR:  ni_releaseOSPLATFORM_TYPE:  x64OSNAME:  Windows 10IMAGE_VERSION:  31.0.21020.1014FAILURE_ID_HASH:  {52f8a02b-380a-20b8-c8f3-a7119650d5c9}Followup:     MachineOwner
---------

显然,报错信息的核心在于:

IMAGE_NAME:  atidxx64.dll

报错关键点在于:

FAILURE_BUCKET_ID:  NULL_CLASS_PTR_READ_c0000005_atidxx64.dll!Unknown

在这里插入图片描述
此处我根据曾经的经验直接上网搜索了atidxx64.dll,下载放到系统文件里进行替换,结果就是显卡驱动损坏。这才知道这是AMD的驱动dll文件,因此到steam官网下载最新驱动重装了显卡驱动。思索接下来如何进行处理。

由代码看很显然是因为AMD的显卡驱动出现非法访问内存的错误导致整个游戏直接崩溃,而这个游戏在SteamOS可以正常运行。SteamOS主要使用Vulkan来驱动游戏,会不会是因为这个游戏不适配D3D导致的呢?

在github正好有一个叫dxvk的库,能够基于vulkan实现d3d11,因此我们访问https://github.com/doitsujin/dxvk,从 Releases下载dxvk-2.3.1.tar.gz(当前最新版本),解压压缩包,在x64 目录中获取 dxgi.dll 和 d3d11.dll,并将两个dll文件放进Snowrunner.exe根目录所在的位置,再次启动游戏,游戏果然正常运行了。

困扰我两天的问题终于解决了,也算这个小众游戏全网的第一个解决方案吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1053753.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第97天:权限提升-Web 权限权限划分源码后台中间件第三方数据库等

前置知识 具体有哪些权限需要我们了解掌握的 后台权限&#xff0c;网站权限&#xff0c;数据库权限&#xff0c;接口权限&#xff0c;系统权限&#xff0c;域控权限等 以上常见权限获取方法简要归类说明 后台权限&#xff1a;SQL 注入,数据库备份泄露&#xff0c;默认或弱口…

[LLM-Agent]万字长文深度解析规划框架:HuggingGPT

HuggingGPT是一个结合了ChatGPT和Hugging Face平台上的各种专家模型&#xff0c;以解决复杂的AI任务&#xff0c;可以认为他是一种结合任务规划和工具调用两种Agent工作流的框架。它的工作流程主要分为以下几个步骤&#xff1a; 任务规划&#xff1a;使用ChatGPT分析用户的请求…

Vue:快速上手

一、简介 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;…

selenium 学习笔记(一)

pip的安装 新建一个txt curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 把上面的代码复制进去后&#xff0c;把后缀名改为.bat然后双击运行 当前目录会出现一个这个文件 然后在命令行pyhon get-pip.py等它下好就可以了selenium安装 需要安装到工程目…

Halcon 极坐标转换图像

一、概述 先看效果 将圆形的用极坐标转换成矩性然后再进行识别或者其他缺陷检测&#xff0c;最后在还圆到原图中 二、原理&#xff1a; halcon 圆环类缺陷检测的一种方法&#xff08;极坐标变换法&#xff09;_halcon缺口检测-CSDN博客 图像极坐标变换与反变换&#xff08;…

C# 泛型函数

1.非约束 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace MyGeneirc {public class GeneircMethod{/// <summary>/// 泛型方法解决&#xff0c;一个方法&#xff0c;满足不同参数类型…

C++算术运算和自增自减运算

一 引言 表示运算的符号称为运算符。 算术运算&#xff1b; 比较运算&#xff1b; 逻辑运算&#xff1b; 位运算&#xff1b; 1 算术运算 算术运算包括加、减、乘、除、乘方、指数、对数、三角函数、求余函数&#xff0c;这些都是算术运算。 C中用、-、*、/、%分别表示加、减…

Linux——多线程(一)

一、线程的概念 1.1线程概念 教材中的概念&#xff1a; (有问题?) 线程是进程内部的一个执行分支&#xff0c;线程是CPU调度的基本单位 之前我们讲的进程&#xff1a; 加载到内存中的程序&#x…

重学java 49 List接口

但逢良辰&#xff0c;顺颂时宜 —— 24.5.28 一、List接口 1.概述: 是collection接口的子接口 2.常见的实现类: ArrayList LinkedList Vector 二、List集合下的实现类 1.ArrayList集合的使用及源码分析 1.概述 ArrayList是List接口的实现类 2.特点 a.元素有序 —> 按照什么顺…

简单随机数据算法

文章目录 一&#xff0c;需求概述二&#xff0c;实现代码三、测试代码四、测试结果五、源码传送六、效果演示 一&#xff0c;需求概述 系统启动时&#xff0c;读取一组图片数据&#xff0c;通过接口返回给前台&#xff0c;要求&#xff1a; 图片随机相邻图片不重复 二&#…

Node.js和npm常用命令

一、Node.js简介 Node.js是一个免费、开源、跨平台的JavaScript运行时环境&#xff0c;允许开发人员创建服务器、web应用程序、命令行工具和脚本。 点击查看node.js中文官网 点击查看node.js英文官网 二、npm简介 npm(Node Package Manager)是Node.js的软件包管理器&#xff0…

三层交换机基本配置,动态路由链接

<Huawei>system-view //进入系统视图[Huawei]undo info-center enable //关日志[Huawei]vlan batch 2 3 //创建vlan2与3[Huawei]display vlan //检查[Huawei]interface GigabitEthernet 0/0/2 //进2口[Huawei-GigabitEthernet0/0/2]port link-type access //配置…

安全态势管理的六大挑战:态势感知

德迅云安全鉴于如今的安全威胁不断变幻&#xff0c;企业对实施态势管理策略至关重要&#xff0c;可以让安全团队根据需要进行安全策略的动态调整。如果企业在研究构建态势感知管理&#xff0c;需要特别关注以下六个方面的挑战。 如果企业正在使用一个或多个平台&#xff0c;那么…

如何用分立器件设计一个过流保护电路

过流保护电路是指当后级负载电流过大或者发生短路时&#xff0c;自动切断电源与后级负载&#xff0c;从而防止大电流损害电源电路&#xff0c;过流保护又叫OCP。 常见的过流保护电路有保险丝过流保护&#xff0c;集成的过流保护芯片&#xff0c;还有这种分立器件搭建的过流保护…

【vue-cli搭建vue项目的过程2.x】

vue-cli搭建vue项目 vue-cli搭建vue项目安装node安装vue-cli脚手架并创建项目安装 Ant Design Vue或element-ui(笔者使用Ant-design-vue组件&#xff0c;并全局引入)开发安装三方库包1、Package.json文件---引入如下package.json文件执行npm i或npm install命令即可下载如下依赖…

java多线程创建方式

1. 继承Thread类 这种方式是通过创建一个新的类继承自Thread类&#xff0c;并覆盖run()方法来创建线程。然后通过创建这个类的对象并调用其start()方法来启动线程。 public class MyThread extends Thread { public void run() { // 在这里定义线程的执行逻辑 …

基于小波分析和机器学习(SVM,KNN,NB,MLP)的癫痫脑电图检测(MATLAB环境)

癫痫是一种由大脑神经元突发性异常放电导致的大脑功能性障碍疾病。据世界卫生组织统计&#xff0c;全球约有7000万人患有癫痫。癫痫患者在发病时呈现肌肉抽搐、呼吸困难、意识丧失等症状。由于癫痫发作的偶然性&#xff0c;患者极有可能在高空、驾驶、游泳等危险情况下发病并丧…

SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测预测效果基本介绍程序设…

Python条件分支与循环

大家好&#xff0c;当涉及到编写高效和灵活的程序时&#xff0c;条件分支和循环是 Python 中至关重要的概念。它们允许我们根据不同的条件执行不同的代码块&#xff0c;或者重复执行一组语句。条件分支和循环是测试开发工程师在日常工作中经常使用的工具&#xff0c;无论是编写…

kind: Telemetry

访问日志 访问日志提供了一种从单个工作负载实例的角度监控和理解行为的方法。 Istio 能够以一组可配置的格式为服务流量生成访问日志&#xff0c; 使操作员可以完全控制日志记录的方式、内容、时间和地点。 有关更多信息&#xff0c;请参阅获取 Envoy 的访问日志。 https:/…