Proton: 太空工程师-244850

创建于 2018-10-20  ·  531评论  ·  资料来源: ValveSoftware/Proton

来自Steam的最新版本的Space Engineers,应用程序ID为244850,似乎需要一个葡萄酒分期发布的补丁。

是的,我确实省略了系统规格,因为这对这个问题并不重要。 (质子3.16)

我确定:

  • [x]我尚未找到该游戏的现有兼容性报告。 (虽然可以看作是一个修复程序,但不是专门针对此游戏,也不是专门针对此错误)
  • [x]我已经检查了我的系统是否有可用的更新。

病征

太空工程师使用GetCurrentPackageId函数。 SE崩溃并显示en错误,这表明该函数是用错误的参数调用的。 这是由葡萄酒中的一个错误所引起的,该错误已被忽略,葡萄酒分期确实包含一个可解决此问题的补丁。 我没有足够的经验来提交拉取请求,也无法编译质子,因为我有点无能。

再生产

复制非常容易,请从Steam上下载Space Engineers,并按此处所述安装.net 4.7。 成功安装.net并运行转换反馈后,您应该会收到这样的错误消息

Unhandled Exception: 00bb:fixme:ver:GetCurrentPackageId (0x53a800 (nil)): stub System.ArgumentException: Parameter is not valid. at System.Drawing.Image.get_Flags() at System.Windows.Forms.ControlPaint.IsImageTransparent(Image backgroundImage) at System.Windows.Forms.Control.set_BackgroundImageLayout(ImageLayout value) at Sandbox.MyMessageBoxCrashForm.InitializeComponent() at Sandbox.MyMessageBoxCrashForm..ctor(String gameName, String logPath) at Sandbox.MyErrorReporter.ReportGeneral(String logName, String gameName, String id) at Sandbox.MyCommonProgramStartup.PerformReporting() at SpaceEngineers.MyProgram.Main(String[] args) wine: Unhandled exception 0xe0434352 in thread bb at address 0x7b44b08c (thread 00bb), starting debugger... Unhandled exception: 0xe0434352 in 64-bit code (0x000000007b44b08c).

可以通过将贴片带到葡萄酒上游来解决此问题(可能有一个很好的理由说明为什么它不在上游),或者我们可以将贴片直接应用于质子。

.NET .NET-winforms Game compatibility - Unofficial Regression XAudio2

最有用的评论

根据先前的要求,我们现在在我们的官方KSH Discord上有一个专用于Linux SE的特殊频道。 随时加入我们的行列:
https://discord.gg/keenswh

所有531条评论

顺便说一句,我可以确认太空工程师确实可以处理葡萄酒,因为我能够在没有dxvk的情况下以3.18进行葡萄酒分级。 它确实崩溃了,因为wined3d11 API无法运行SE足够长的时间才能真正发挥作用,它似乎在随机的时间点崩溃了,但这确实向我表明,一旦我们修补了质子,SE应该就可以工作了。

我试图找到使它在葡萄酒分期工作的补丁,但我无法做到这一点。 我要么完全盲目,要么不存在。 可能是该功能不起作用是某些其他错误的副产品。 我会继续搜寻

现在,我发现SE确实由于不同而崩溃,并且在两个wine版本上该功能都被破坏了,现在我将弄清楚为什么它首先崩溃。

我已经对SE进行了反编译,并且找出了有问题的代码路径,似乎SE认为'-report'是作为命令行参数传递的,但是据我从反编译源了解到,应该没有原因让SE认为。

Ive在官方空间工程师支持页面上发布了该线程的链接。 会看看那边是否有人有任何想法。

还可以在该论坛上投票该线程,以引起注意,以防出现SE而不是葡萄酒问题!

https://support.keenswh.com/spaceengineers/general/topic/improve-compatibility-with-steam-play-and-proton-linux-mac

不,您误解了我,让我再解释一下。 SE使用.NET 4.7.1这在酒打破,但它可以制成与解决方法和一点点运气的运行。 是所需的解决方法。 然后,SE使用流输出/变换反馈,这是DX11中不推荐使用的功能,并且可能是从SE过去使用的DX9渲染器继承而来的。 现在,Vulkan最近收到了该扩展名“ VK_EXT_transform_feedback”,该扩展名允许Stream Output在Vulkan中工作,因此DXVK现在支持Transform Feedback,因此SE应该在wine中起作用,但是wine仍然需要补丁才能公开此扩展名。 Proton已经有了这些补丁,我不确定,请不要引用我。 Mainline葡萄酒将在已经发布的下一个版本中获得,这意味着分期进行葡萄酒也将获得它。 现在wine-stage有了适当的补丁程序,可以使SE在opengl下启动,但由于opengl无法支持图形引擎,它仍然崩溃。 质子中的问题与变换反馈无关。 我无法确定造成此问题的补丁,因为我实际上不知道出了什么问题。 我已经根据.net运行时提供的stacktrace对SE进行了反编译,并查看了导致崩溃的代码,但没有找到导致崩溃的明确原因。 稍后将发布相关功能。

我知道,它试图通知用户他们应该更新其图形驱动程序。 这就是为什么它试图报告某事。 但是,它确实可以在分期进行中工作,因此我们仍然需要找到相关的补丁。

有人可以帮忙吗? 我不确定要在这些补丁中查找什么。

https://stackoverflow.com/questions/11796082/invalid-parameter-when-setting-an-image ,这似乎是相关的,我离解决这个问题还很近。

第914行似乎是问题所在,那是我唯一能看到的,GdiPlus.dll是一种葡萄酒原生dll,可以在这里看到

GetGdiImageFlags返回如果图片或标记为空,可以看出无效的参数在这里,线5219,因此它可能得到无效的.NET无论什么地方,或者被传递到从酒本地库时。

我想我找到了,如果我正确理解了这一点,

GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags)
{
    TRACE("%p %p\n", image, flags);

    if(!image || !flags)
        return InvalidParameter;

    *flags = image->flags;

    return Ok;
}

此函数不应检查标志是否为0,因为标志是输出变量,可以是任意值。

我的最后一条评论完全错误,我讨厌指针。 无论如何,我要备份stacktrace试图找出为什么图像为空。

我不确定法律后果,但Space Engineers可以在github上提供可见/开放的EULA源代码,如果您可以浏览的话,则不必进行反编译。
如果它是犹太洁食的,可能值得一看,以弄清到底是什么引起了对葡萄酒的关注。

https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/EULA.txt

编辑:
他们确实有一个互通性条款,葡萄酒属于“兼容性”

请等待几个月,直到Valve更新Proton使用的Wine版本。 Valve在Wine的顶部有一些补丁,需要对其稳定性进行测试,因此,Valve没有立即更新Proton使用的Wine的版本是有原因的。

@SpookySkeletons该源代码自2016年以来未更新。

@aaronfranke
这会影响香草酒和质子,以先到者为准。
多年来,无论是哪种包装材料,太空工程师一直是一个巨大的痛苦,即使它确实起作用了,它也可以像两只腿的凳子一样稳定。

也许我只是不知道这是如何工作的,但这可能是值得研究的。

6421.401:0031:0032: trace:module :load_dll已加载模块L“ C:\ windows \ assembly \ NativeImages_v4.0.30319_64 \ mscorlib \ 386b8793866138dad77588a7399d11c3 \ mscorlib.ni.dll”(本机)位于0x64478000000
库加载为0x64478000000
某种功能在这里转弯即烧,与mscorlib.ni.dll共享非常接近的尾随内存空间:

6421.486:0031:0032: trace:seh :RtlVirtualUnwind类型0 rip 64478454d69 rsp 53b5d0
6421.486:0031:0032: trace:seh :dump_unwind_info * * func 454cf0-454da3
6421.486:0031:0032: trace:seh :dump_unwind_info在0x644785364bc处放开信息标志3序言0x10字节功能0x64478454cf0-0x64478454da3
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x10:subq $ 0x68,%rsp
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0xc:pushq%rbx
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0xb:pushq%rsi
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0xa:pushq%rdi
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x9:pushq%r12
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x7:pushq%r13
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x5:pushq%r14
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x3:pushq%r15
6421.486:0031:0032:跟踪:seh :dump_unwind_info 0x1:pushq%rbp
6421.486:0031:0032: trace:seh :dump_unwind_info处理程序0x644783da000数据位于0x644785364d8

看起来mscorlib.ni.dll是.NET框架的组件,该框架因在wine下不稳定而闻名。 您可能会很幸运地使用酒tri来捣乱dotnet,但希望Ethan Lee将来会设计出更好的解决方案。

使用Mesa 18.3.1并从此处应用补丁来支持转换反馈并使用winetricks来安装.NET 4.7.2时,我非常接近使用DXVK来运行游戏。 游戏到达主菜单,以120 FPS运行,并加载了鼠标光标。 但是,游戏会在背景视频和菜单按钮出现之前崩溃。

日志消息似乎与这种情况非常相关。 DXVK警告似乎与Wine发生的事情密切相关:

SpaceEngineers_dxgi.log

SpaceEngineers_d3d11.log

steam-244850.log.gz

SpaceEngineers.log

VRageRender-DirectX11.log

我的系统信息。 请注意,这显示的是不同的Mesa版本,因为32位和64位Mesa版本目前是不同的。

我已经设法通过酒会,dxvk和专有的nvidia驱动程序来玩游戏。 自酒更新以来,所有体素都畸形严重,而且我还没有设法复制它。

@FurretUber
一分钟或更长时间后,游戏的最新版本将锁定。 在“测试版”标签中选择退出多人游戏大修,它将正常工作。

我刚刚将我的GC升级到了NVIDIA GeForce GTX 1060,我所有的Steam游戏都通过Steamplay运行,除了SE。 我按播放,然后SE尝试开始然后停止。 没有错误信息,没有声音,也没有游戏窗口。 我已经尝试了所有可以运行Steamplay的质子版本。 阅读此线程后,我至少知道许多人正在设法弄清楚它。 听起来需要质子和酒的新版本。 我希望可以使用wintricks或其他东西,但是可能会更复杂。 真是可惜可能是一个或多个winecfg的库?

该游戏可以在wine 4.3和DXVK 1.0上启动-但是您将需要.NET 4.7.2作为附加安装。
适用于游戏的Lutris安装程序可完美地用于新安装。
如果您当前安装的是空间工程师,则可能无法正常工作,我还没有弄清楚为什么会这样。
之后,您可以玩游戏,但是仍然会出现一些小错误,例如:

  • 当您以20 + m / s的速度将航行器推入其他航行器或岩石时发生崩溃(出现SE报告工具)
  • 启动屏幕后,您必须单击几次鼠标才能进入主菜单,因为电影不会播放,否则您只有黑屏。
  • 次要的音频卡顿现象主要在wine 4.3中修复,但是随着faudio的进一步发展会变得更好。
  • 由于需要新的着色器,因此一开始加载屏幕缓慢,需要缓存。

在奔跑并撞向撞毁游戏的行星时,将日志粘贴到此处。
https://pastebin.com/tPC8y3tK

我认为最新的质子beta还不是wine4.3吗? 这就是为什么它不能直接通过蒸汽工作的原因?

我设法让太空工程师工作。 它肯定不是很好的形状,但是可以工作。 我不得不:

1)在太空工程师WINEPREFIX上安装dotnet472;
2)在非默认目录上构建具有xWMA支持和库的FAudio。 这个FAudio版本必须与Megadimension Neptunia VIIR一起使用;
3)使构建的libFAudio.so用于空间工程师,从lib64或LD_PRELOAD替换Proton;
4)确保视频驱动程序支持转换反馈,如适用于Intel Gen9的Mesa 19.1.0-devel;
5)确保内置的FAudio库将无法正常运行! 启动空间工程师时找不到所需的库;
6)太空工程师应该工作,但是没有声音

有一些与图形有关的错误,例如,由于头盔是越野车,因此在打开视频时无法打开视频,在边缘上效果不佳,即使如此,考虑到GPU是Intel HD Graphics 520,并且直到最近才在Windows 10上存在错误,这还是很棒的。

关于地形生成的许多错误正在发生,所有的行星和卫星都是地狱般的风景。

图片:

Captura de tela_2019-03-17_23-00-38

Captura de tela_2019-03-17_22-16-08

unknown (4)

我有点正常工作,但菜单上的fps确实很慢(从不打扰),并且音频嘎吱作响。 我使用了https://github.com/Kron4ek/FAudio-Builds,但也许它无法正确安装。

编辑:这次没有安装faudio,并且没有声音,所以我必须正确安装它。 也许主菜单就是这样做的,因为它可以工作,但是正如您所指出的,地形生成完全被搞砸了。

如果您通过Lutris安装(是的,我知道),它具有tkg版本的Wine 4.4
与F-Audio一起创造奇迹。

在2019年3月20日星期三凌晨3:25,jarrard [email protected]写道:

我有点起作用了,但菜单上的fps确实很慢(永远不会
播放),音频audio啪作响。 我用了
https://github.com/Kron4ek/FAudio-Builds,但也许无法安装
正确地。

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-474658732
或使线程静音
https://github.com/notifications/unsubscribe-auth/AHuHtRix32b6V_NKrATqj1t79SVRJY1Kks5vYZwdgaJpZM4XyGNi

我将尝试报告我的发现,这是您无法下载葡萄酒的可耻之处
从lutris构建,没有lutris

在星期日,三月24,2019,15:09 Maltahl [email protected]写道:

如果您通过Lutris安装(是的,我知道),它具有tkg版本的Wine 4.4
与F-Audio一起创造奇迹。

在2019年3月20日星期三凌晨3:25,jarrard [email protected]写道:

我有点起作用了,但菜单上的fps确实很慢(永远不会
播放),音频audio啪作响。 我用了
https://github.com/Kron4ek/FAudio-Builds,但也许失败了
安装
正确地。

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
<
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -474658732

或使线程静音
<
https://github.com/notifications/unsubscribe-auth/AHuHtRix32b6V_NKrATqj1t79SVRJY1Kks5vYZwdgaJpZM4XyGNi

-
您收到此消息是因为您创建了线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-475963063
或使线程静音
https://github.com/notifications/unsubscribe-auth/AHonVxCEiLofIF2Jsbrz-HZMdIWpKfgyks5vZ4c2gaJpZM4XyGNi

复制的wine4.4 faudio质子化到我的自定义Steam Compat文件夹中,重新安装了游戏和dotnet472,加载完毕,没有音频。
游戏看起来可能会运行得更好,但这种卡顿现象仍在继续,也许是非功能性音频的原因。
无论如何,似乎似乎都无法解决我的音频问题,可能需要将预编译的垃圾箱从某个位置安装到自定义质子文件夹中。

编辑:我用ffmpeg支持构建了自定义faudio,但仍然没有声音,可能做错了,耸了耸肩。 无论如何,游戏是无法玩的IMO,所有行星基础地图都不起作用/损坏,断断续续,甚至崩溃了。也许有一天。

我怀疑其他发行版的垃圾箱无法正常工作。 他们会安装
酒获得所有依赖关系的拱门方式,应该做到这一点。

在星期日,2019年3月24日,23:59 jarrard [email protected]写道:

复制的wine4.4 faudio质子化到我的自定义Steam Compat文件夹中,
重新安装游戏和dotnet472,加载完毕,没有音频。
游戏看起来可能会运行得更好,但这种情况一直持续下去,
可能是非功能性音频引起的。
无论如何似乎都没有解决我的音频问题,可能需要安装
从某处预编译的垃圾箱到自定义质子文件夹中,我在拱门上
因此在其他发行版上编译的可能无法正常工作。

-
您收到此消息是因为您创建了线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476010132
或使线程静音
https://github.com/notifications/unsubscribe-auth/AHonV0PNKjPrMbFLzUDFBzbXqp2ZjOUNks5vaANBgaJpZM4XyGNi

是的,这只是我安装的问题,我似乎也只能构建64位的库,除非它们具有相同的文件,否则看不到32位的库(不知道)。

当我将libFAudio.so文件复制到proton_wine自定义文件夹并加载SE时,它只是将我所有的音量设置都设置为零,并且如果调高就不会保存它们,因此会丢失一些东西。

但是,就像我说的那样,该游戏在Linux下存在重大问题,因此除非我的生存空间没有卫星或行星,否则我将无法像现实那样玩atm!

主要问题是地形生成。 我为这样的地狱感到困惑
可以创建风景

在2019年3月25日星期一,06:51 jarrard [email protected]写道:

是的,这只是我的安装问题,我似乎也只能
构建64位的库,除非它们具有相同的文件,否则看不到32位的库
理念)。

当我将libFAudio.so文件复制到proton_wine自定义文件夹中时,
加载SE,它只会将我的所有音量设置都设为零,并且不会保存
他们如果加薪,那么有些事情是错过的。

但是就像我说的那样,游戏存在atm的主要问题,所以我不能
实际玩atm,除非它在没有卫星或
行星!

-
您收到此消息是因为您创建了线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476063606
或使线程静音
https://github.com/notifications/unsubscribe-auth/AHonVxB8URy1FGMFsPoU2eRKq1dVFeg6ks5vaGP8gaJpZM4XyGNi

是的,如果有人能弄清楚那很棒,
我在想游戏正在检测可能内存有限或CPU核心有限,因此无法完成工作。

如果您在游戏中的错误日志中看到该地形在这些情况下过于复杂等,请进行检查。

是的,报告可用内存,核心和内容的葡萄酒不是很好。

在2019年3月25日星期一6:55 AM jarrard [email protected]写道:

是的,如果有人能弄清楚那很棒,
我在想游戏正在检测可能的内存不足或有限
cpu核心,因此它无法完成工作。

如果您查看游戏中的错误日志,则说明地形太复杂了
在这些情况下,请检查出来。

-
您收到此消息是因为您创建了线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-476064274
或使线程静音
https://github.com/notifications/unsubscribe-auth/AHonV9U7V6QwDB69qwGpkGR_avGmUh7Jks5vaGTdgaJpZM4XyGNi

我有一个i7 4790k,16 GB RAM和GTX1080。该游戏使用带有葡萄酒4.4,FAudio和DXVK的lutris脚本运行,并且性能不错,但是1440p @ 60FPS

  • 星球地图在单人或多人游戏中都不起作用
  • 音乐不存在
  • 演奏时会出现周期性,非常规律的口吃,这很烦人
  • 游戏冻结了30-60分钟,看似随机,然后崩溃

我认为目前无法玩

我可能已经发现了为什么地形生成不正确。 似乎游戏或酒/质子之类的东西不能正确读取游戏所使用的高度图…通过打开地形高度图,我可以在“外星星球”上生成地形(文件名为front.png back.png左.png right.png up.png down.png位于〜/ SpaceEngineers / Content / Data / PlanetDataFiles / Alien /),并且无需修改实际图像即可使用新选项保存它们。 我使用Gimp版本2.10.6使用以下选项覆盖文件。
SettingsScreenshot

奇怪的是,当使用旁观者凸轮前往当地的月亮(我没有应用修复方法)时,游戏只是冻结而不是生成尖峰地形。
以下是工作游戏的屏幕截图:
Spectator Base
Spectator High
Spectator mountains

我对此的了解非常有限,因此,如果有人可以弄清楚这里发生的事情,将不胜感激。

注意:尝试这些修复程序时,我的游戏经常崩溃,但是在进入游戏过程中,进入游戏的时间并未崩溃,但当我登上月球并结冰时除外。 之后,我无法让游戏加载保存游戏或在没有锁定的情况下开始新的世界。 删除并重新创建前缀后,游戏将再次开始工作。

在那里拍摄非常麻烦。 因此,我们需要质子/葡萄酒来研究为什么它无法正确读取这些PNG文件。 可能与wine本身中的一个令人讨厌的错误有关,无法读取这些文件的特定设置!

我希望这可以被开发人员所研究,真的很希望这款游戏能够更好地工作。 可悲的是,高度图问题不是唯一的问题,接下来我们要处理声音卡顿和框架卡顿,但这可能是部分相关的。

@ Linux74656
png内容如何解释png错误?

那可以解释发生这种疯狂的高低变化的事情……也许只是被从16截断为8位整数……

8bpc vs 16 bpc&关闭压缩与最大压缩会发生什么?

可能值得向KSH开发者寻求快速修复,因为这样做似乎并不会影响基础游戏。 但是,既然我们知道了这个问题,就应该在上游葡萄酒中解决这个问题。

最重要的是,他修复了wine使用

我不确定png lib wine使用什么,但是如果您将带有winetricks的MS Windows Imaging Component(windowscodecs)安装到游戏前缀中; 大多数游戏图像(图标,缩略图等)均为粉红色,并且地形呈现完全平坦的状态。

我尝试了@SpookySkeletons的建议。附件是压缩的8bpc GREY和16bpc Gray的图像(压缩后未压缩,在任何情况下都没有区别)。 看来16bpc的执行方式与游戏随附的原始图像类似。
MaxCompression 8bpc gray

16bpcGray

奇怪的是,在测试16bpc Gray(压缩和未压缩)时,游戏无法启动Alien Planet场景,在加载时会保持冻结。 通过在创意模式下启动“空世界”场景并生成星球来解决这个问题。
之后,我决定将原始文件与修改后的文件进行比较。 我使用了一个名为tweakpng的工具(仅Windows,但可以在wine中运行,没有问题)来查看游戏随附的png和我用8bpc修改的png的标头数据。
太空工程师附带的文件确实确实使用16bcp灰度。
Unmodified Space Engineers
正如预期的那样,修改后的版本使用8bcp灰度。
Modified

我认为他们(Keen Software House)使用16bcp是因为它可以允许更大的灰度颜色深度,并可能提供更平滑的地形,尽管我不能肯定地说不能在游戏中测试16bcp地形的产生。

那么,游戏是否仅在WINED3D(禁用dxvk)的情况下加载并正确读取了16bcp地形? 如果无法做到这一点,那么也许可以在Windows10下测试DXVK,看看是罪魁祸首还是应归咎于Wine本身。

重要的是要知道DXVK或WINE团队是否应该获取错误报告。

使用DirectX(PROTON_USE_WINED3D = 1)并显示错误消息时,游戏会崩溃。
Screenshot from 2019-04-02 21-46-36

在单击错误消息之前单击空白框时,我可以听到航天工程师的主菜单音乐和按钮声音。

如果有人可以让DXVK在Windows中运行此游戏,那就太好了。 同时,我将继续尝试使PROTON_USE_WINED3D = 1返回积极的结果。

尝试欺骗到AMD自定义设置标志,我认为这可以通过使用供应商和产品ID的葡萄酒regedit或变量来实现。 有一些技巧可以完成。 (我不记得他们在自动取款机上)

我认为Keen专门选择了16位以使高度梯度尽可能接近2048x2048图像,而256位8位则是这样。

尽管通过使用此替代方法,我仍未看到高度映射的任何精度不足……也许引擎本身希望首先将采样率从16降低到8,或者隐式应用一个导致采样率降低的采样率。
Keen似乎在将精度超出了过程精度的过程中,从而抛出了额外的精度。

无论哪种方式,如果我们可以与敏锐的人联系,并询问是否提供8位的高度图是否是一个好主意,那么它可能会为贴近质子支撑提供一个不错的创可贴。 而且绝对可以肯定Proton的真正解决方案,因为这是葡萄酒本身的问题...

@jarrard我尝试将卡设置为AMD RX480 VideoPciDeviceID设置为10de(hex),将VideoPciVendorID设置为1002(hex),仍然出现相同的错误。 但是,我能够通过运行安装了wine 4.5和d3d11_43的SpaceEngineers.exe来启动游戏。 游戏进入主菜单,但在尝试加载场景时锁定。

@SpookySkeletons我将向Keen支持小组发送电子邮件,并带有指向该线程的链接,看看我是否收到有用的回复。 也许我们会很幸运,他们会调查一下。

同时,我将继续尝试使空间工程师与d3d11一起运行。

我让WINED3D正常工作,但没有通过蒸汽或质子。 我删除了旧的前缀,并使用Steam创建了一个新的前缀。 然后,我安装了Microsoft的整个dx11 redist,以及通常的dotnet472和xact。 我还不得不迫使太空工程师以窗口模式运行,因为它一直在冻结并崩溃。 通过启动一个新的空世界,而不是直接进入外星星球,我能够克服装载冻结的问题。 我使用了生成菜单在两个世界中都添加了外星行星。(结果如下图所示)
Screenshot from 2019-04-03 01-45-00
Screenshot from 2019-04-03 01-53-58

16bpc在WINED3D中不起作用,而8bpc仍然起作用。

编辑:当我偶然发现此错误报告时,我正在寻找WineHQ的类似问题:
https://bugs.winehq.org/show_bug.cgi?id=46558
注释8引用了该线程和临时修复程序,因此他们肯定知道发生了什么。 希望他们能解决! :微笑:

至于口吃的问题,我一直在尝试各种方法来查看是否可以缩小范围。
WINED3D和DXVK中都存在口吃的问题(我注意到与wines D3D实现相比,DXVK使用的CPU资源更少)。 无论我使用哪种图形设置,问题似乎都以相同的间隔发生。

我尝试了各种CPU设置,结果如下。
我将我的cpu(i7 4770k)设置为仅从一个内核开始(使用bios禁用除一个内核之外的所有内核,并且不使用超线程)。 游戏的加载时间较长,但一次完成后,口吃似乎并没有受到影响。

然后,我将CPU降频(通常以4.2Ghz运行)到2.5Ghz(重新启用了所有内核和超线程)。 结巴仍然以相同的间隔发生,但是结巴的持续时间明显更糟,而不是持续一秒的时间,似乎持续了一秒或更长时间。

因此,我随后将CPU超频至4.5Ghz,并且停顿现象仍在相同的时间间隔内发生,但比正常运行时的4.2Ghz速度稍显不足。

那么这可能是游戏更新线程问题吗? 游戏是否按设定的时间间隔执行计算并压倒了CPU? 如果是这样,那么与Windows上不明显的情况相比,这将导致在Linux / wine / proton上引起注意吗?

我联系了Keen支持人员,并告诉他们我们遇到的问题。 我给了他们在Linux上运行该软件的三个主要问题(地形,断断续续和音频),并说明了地形问题。 我也将它们链接到此线程。 他们做出了一些回应,他们一直在关注Linux,但目前还没有计划任何更改。我认为,与此同时,我们只能靠自己了。

也许您可以记录apitrace并将其发布到DXVK论坛上? 您认为在DXVK端仍然可以修复吗?

确定,我打开了一个问题,并引用了该线程。

更新:不是DXVK引起此问题。 这意味着我们的问题很可能与图形无关。

想要摆脱烦人的黑屏的任何人的快速注释,需要单击以启动游戏以启动主菜单:您可以在此处重命名文件(只需在文件末尾添加.old):〜SpaceEngineers /Content/Videos/KSH.wmv,游戏开始更正常。 当游戏全屏启动时,我什至会得到一些启动图像。
20190405125148_1

有趣的发展:现在已经排除了DXVK和图形问题,我已将重点转向音频。 而且我想我可能正在尝试一些事情。

如果将主菜单音乐(〜/ SpaceEngineers / Content / Audio / MUS / se_mainmenu1.xwm)转换为mp3格式(但请确保文件名和扩展名与原始名称相同,即IE se_mainmenu1.xwm),则存在尽管音乐不会播放,但主菜单中没有延迟。 如果仅删除文件,菜单中的滞后仍然存在,并且不会播放。 因此,如果为游戏引擎提供声音文件类型,则无法识别菜单延迟问题似乎已解决。

我试图查看这是否解决了游戏中的卡顿现象,但是当我以其他方式转换其他音乐时,尝试启动游戏时,游戏进入了无限加载循环。 我还尝试禁用葡萄酒和游戏中的声音,但这两种情况都没有影响。

如果在VLC中打开原始的se_mainmenu1.xwm,则会发生与游戏中相同的卡顿现象。

XWM文件不是某些糟糕的Microsoft文件格式吗?

是的,fallout4 / skyrim,过去所有音频问题的游戏都使用xaudio2格式。

我在《辐射4》中遇到了很多问题,尤其是在音频方面。 但是随着时间的推移,它变得越来越好,而且在《辐射4》中我没有看到像在SpaceEngineers中那样的那种口吃。 现在的问题是……为什么这似乎在航天工程师中引起问题,而在《辐射4》中却没有同样的问题?

您是否尝试过放弃FAudio并仅通过winetricks安装MS xact或xaudio? 这就是我用来使Fallout4音频正常工作的方法(它最终会被淘汰)

也许值得尝试一下。

我目前正在为太空工程师使用xact。 我永远无法让太空工程师仅使用Faudio(Winetricks或Kron4eks海关构建)进行加载。
我刚刚检查了一下,辐射4主菜单音乐在游戏中没有任何卡顿现象,但是如果您从Fallout4-Sounds.ba2中提取MUS_MainTheme.xwm并使用vlc进行播放,则会出现与空间工程师相同的音频卡顿现象。

我不再确定游戏中的口吃是否是音频问题。 在对音频感到非常沮丧之后,我改为尝试回过头来看看问题是从哪个版本开始的。 游戏中的断断续续存在于版本1.172(早在Steam Beta选项卡发布之前)。 但是此版本中不存在主菜单上的音频问题。 实际上,主菜单音频发行仅始于游戏的1.188版本。 但是在beta选项卡中可用的所有版本中都存在游戏内口吃。

这是有关太空工程师的,希望它能使您开心。 当我们等待解决方案时。
https://gist.github.com/Linux74656/6093bd3fe9457f29f2f544681a262572

体素错误是葡萄酒中的windowscodecs错误。 我已经描述了该错误,并在https://bugs.winehq.org/show_bug.cgi?id=46558上附加了修复程序windowscodecs wine-dll中也可以使用。

是的,但是口吃和声音失真问题呢?

@jarrard使用https://github.com/Kron4ek/FAudio-Builds为我工作-我认为酒和质子版本中的捆绑包太旧了。

@kainz使用最新的FAudio版本和Windowscodecs补丁,您在游戏中还有任何故障吗? 还是运作良好?

@ fazo96阴影不能很好地工作,因此我与那些残障人士一起玩,偶尔也会出现dotnet崩溃。

所以还有一段时间。
我希望将来的葡萄酒版本可以考虑解决这些剩余的问题。
拥有像这样的游戏可以很好地指出葡萄酒兼容性层中的问题,困难的情况却可以解决,这是一件好事。

这是一个预编译的windowscodecs.dll.so,带有来自链接的bug的补丁。 将其放入覆盖现有文件的Proton 4.2 / dist / wine / lib64目录中。

有一个副作用:场景和保存游戏预览图像不加载,它们只是洋红色填充。 这完全有可能是由于我在构建它时的疏忽。 我还没有发现其他不良影响。

windowscodecs.zip

对我而言,游戏并非一帆风顺。 您是否仍需要使用最新的质子安装.NET 472? faudio还是仍然过时与质子?

那是什么阻止它加载? 为什么Faudio不支持WMV
默认启用? 有负面的副作用吗?

再次需要.net吗?

2019年4月26日星期五,16:57,lucifertdark [email protected]写道:

我从源代码构建Faudio来添加wmv支持,这真的很容易&
快。

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-486956240
或使线程静音
https://github.com/notifications/unsubscribe-auth/AEE7DLTBNX7CLOZAPUK3FYDPSKVFNANCNFSM4F6IMNRA

-
-------
我注意到,当我努力实现成功时,我会与自己保持距离
从那一刻起。

您仍然需要dotnet472是的。 通过质子安装时,我需要指定-q

最新的FAudio版本对我也不起作用,只是崩溃一样。 xact似乎可以解决该问题,但没有声音。

而且我也看到周期性的断断续续。

这只是部分相关,但是任何与
音频? 重新启动pulseaudio可以为我修复它。 辐射4会发生这种情况,
我想知道SE是否会发生类似的情况。 另外,如果我打开
多次关闭FO4而又不重新启动脉冲,情况会变得更糟。

在2019年4月26日星期五,10:27 roothorick [email protected]写道:

您仍然需要dotnet472是的。 我需要在安装时指定-q
通过质子

最新的FAudio版本对我也不起作用,只会崩溃
相同。 xact似乎可以解决该问题,但没有声音。

而且我也看到周期性的断断续续。

-
您收到此消息是因为您创建了线程。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-486973608
或使线程静音
https://github.com/notifications/unsubscribe-auth/AB5COVZBOCGLBILENE4RB3DPSK4GRANCNFSM4F6IMNRA

周期性的结结巴巴,是的,直到解决为止,我没有碰过这个问题。

那是什么阻止它加载? 为什么Faudio默认不启用WMV支持? 有负面的副作用吗? 再次需要.net吗?

2019年4月26日星期五,16:57,lucifertdark @* >写道:我从源代码构建Faudio来添加对wmv的支持,这确实非常容易且快捷。 —您收到此邮件是因为有人提到您。 直接回复此电子邮件,在GitHub < #1792(评论) >上查看,或使线程https://github.com/notifications/unsubscribe-auth/AEE7DLTBNX7CLOZAPUK3FYDPSKVFNANCNFSM4F6IMNRA静音。
--------我注意到,当我努力实现成功时,我会远离当前。

忽略我写的内容(现在删除),我不确定我在说些什么。

我什至无法让Faudio使用此功能,无论是自编译还是Kron4eks dll都无法正常运行,因为它们都因“无相关应用程序”错误而崩溃。 Xaudio本机可以工作,但是口吃实在令人难以忍受,而且似乎也会影响图形性能,不过增加pulseaudio延迟确实会有所帮助。

还尝试了上面链接的Windowscodecs修复程序,虽然它确实解决了我得到粉红色天空盒的问题。

听起来您好像缺少dotnet472。 这仍然是必需的。

在CDT 2019年5月6日2:57:47,fls2018 [email protected]写道:

我什至无法让Faudio使用此功能,无论是自编译还是
Kron4eks dll都崩溃,并出现“无关联应用程序”错误。
Xaudio本机可以工作,但是结巴难以忍受并且似乎会影响
图形性能也不错,增加pulseaudio延迟确实有帮助
虽然。

还尝试了上面链接的Windowscodecs修复程序,尽管它
确实解决了我得到粉红色天空盒的问题。

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件或在GitHub上查看:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -489537313

-
使用K-9 Mail从我的Android设备发送。 请原谅。

听起来您好像缺少dotnet472。 这仍然是必需的。

不,我正确安装了dotnet472,否则该游戏甚至无法在xaudio设置为native的情况下运行。

问题是启用了Faudio的游戏在启动屏幕后崩溃。 使用标准xaudio可以运行,但结结巴。

现在,Running Space Engineer可以处理较小的音频故障和小口吃,但不再出现图形错误和绘制错误。

使用Lutris安装程序后,我不得不使用DXVK 1.2更改为Wine 4.8

如果以30 m / s或更快的速度撞上地面/船舶/岩石,则确实会发生冻结
崩溃日志,其中包括系统信息和驱动程序信息:
https://pastebin.com/yTV7FcBa

您好@Maltahl此提交应有助于GPU停止影响。 请使用mesa 19.0.4或mesa git master重新测试。

质子4.2-4有一个新的地形问题,第一种情况的任务3中的基地漂浮在空中。

Screenshot from 2019-05-14 22-12-19

如果您能够测试,那么它会在wine 4.7或wine 4.8上发生吗?

CDT于2019年5月14日下午4:13:59,fls2018 [email protected]写道:

质子4.2-4有一个新的地形问题,该任务的基地3
第一种情况是漂浮在空中。

Screenshot from 2019-05-14<br />
  22-12-19

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件或在GitHub上查看:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -492412089

-
使用K-9 Mail从我的Android设备发送。 请原谅。

如果您能够测试,那么它会在wine 4.7或wine 4.8上发生吗?

CDT于2019年5月14日4:13:59 PM,fls2018 @* >写道:质子4.2-4有一个新的地形问题,第一种情况的任务3的基地在空中漂浮。Screenshot from 2019-05-14 22-12-19 -您收到此邮件是因为有人提到您。 直接回复此电子邮件,或在GitHub上查看: #1792(评论)
-使用K-9 Mail从我的Android设备发送。 请原谅。

不能确定是否必须编译一个新的TKG质子,但是我将基于今天发布的Proton 4.2-4的报告,该报告旨在解决这些地形问​​题。 到目前为止,它只是使任务2的亮点得以解决。

另请注意,此线程上面发布的wincodecs修复程序并没有解决此问题(仅粉红色的天空/缩略图)。

不幸的是,即使在这里重命名文件后:〜SpaceEngineers / Content / Videos / KSH.wmv(只需在文件末尾添加.old),在航天工程师徽标之后,我仍然崩溃。

万家郎
内核:5.0.9-2
Nvidia驱动程序:418.56

https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

不幸的是,即使在这里重命名文件后:〜SpaceEngineers / Content / Videos / KSH.wmv(只需在文件末尾添加.old),在航天工程师徽标之后,我仍然崩溃。

万家郎
内核:5.0.9-2
Nvidia驱动程序:418.56

https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

我确认,游戏在启动后立即崩溃。
操作系统:Archlinux
NVidia驱动程序:418.74

看起来像4.2-4修复了损坏的地形问题。 不再需要我的特殊DLL。 仍需要dotnet472xact

口吃还在那里。 我敢肯定它不是音频相关; 这太不规则了。 当您接近体素(行星/小行星)时,情况似乎会变得更糟,如果您坐着不动,情况会有所改善。 我的直觉说与流相关的锁定/同步。 我不知道从哪里开始追逐它。

看起来像4.2-4修复了损坏的地形问题。 不再需要我的特殊DLL。 仍需要dotnet472xact

口吃还在那里。 我相当确定这与音频无关。 这太不规则了。 当您接近体素(行星/小行星)时,情况似乎会变得更糟,如果您坐着不动,情况会有所改善。 我的直觉说与流相关的锁定/同步。 我不知道该在哪里开始追逐。

您可以尝试场景“首次跳跃”中的任务3“废墟营地”吗? 任务2中的第一颗行星可能不再刺眼,但尚未完全解决此问题。

@FurretUber指导了几个月前在此线程中运行游戏,但是自那以后有没有改变? 即用xact替换faudio? 是否需要质子技巧或可以通过正常的酒技巧安装dotnet472? (正确地输入WINEPREFIX吗?)
我尝试按照4.2-4的原始说明进行操作,但仍然出现黑色启动画面崩溃。

dotnet472和xact可以通过winetricks正常安装,使用--unattended标志(或-q),我只使用sppfx脚本。

PROTON_PATH =“ $ HOME / .steam / steam / steamapps / common / Proton 4.2 /” sppfx 275850 winetricks-无人值守dotnet472 xact

我尝试运行WINEPREFIX="/home/[user]/.steam/steam/steamapps/compatdata/244850/pfx/" winetricks -q dotnet472 xact
但是随后游戏仍无法以winxp模式(winerricks将其设置为)或win7启动。 我有最新版的winetricks

您这样做会加扰您的前缀,这就是为什么我使用SPPFX

使用最新的质子技巧。 直接使用winetricks可能会引起问题,因为它可能会调用错误的Wine版本。 最近的质子技巧建立了环境,因此,酒疗法将使用Proton捆绑的Wine。

protontricks 244850 -q dotnet472 xact

(这需要很长时间;请耐心等待。)

是的,基本上我在说什么。 SPPFX是一组类似于protontricks的脚本,但也可以与任何其他命令一起使用。

如果您只打算使用技巧脚本,那么protontricks很好,但有时我想手动安装某些东西或运行winreg等。

Protontricks 244850 -q dotnet472 xact

通过运行该文件,然后在此处重命名文件:〜SpaceEngineers / Content / Videos / KSH.wmv(只需将.old添加到文件末尾),我不仅能够进入主菜单,还可以加载一个游戏! 帧速率实际上是可以接受的(达到90s的最高水平),但是令人讨厌的部分是结结巴巴,使体验远非令人愉快。

但实际上确实可以运行! 而且也没有崩溃,我遇到的唯一奇怪的问题与地形报告的fls2018类似! 出色的工作Valve,CodeWeavers,doitsujin以及涉及的所有人! 我们越来越近了!

不幸的是,即使在这里重命名文件后:〜SpaceEngineers / Content / Videos / KSH.wmv(只需在文件末尾添加.old),在航天工程师徽标之后,我仍然崩溃。
万家郎
内核:5.0.9-2
Nvidia驱动程序:418.56
https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

我确认,游戏在启动后立即崩溃。
操作系统:Archlinux
NVidia驱动程序:418.74

尝试安装protontricks并运行此命令:

protontricks 244850 -q dotnet472 xact

然后在此处重命名文件:〜SpaceEngineers / Content / Videos / KSH.wmv(只需将.old添加到文件末尾)

我能够使游戏正常运行

一世:

  1. 已安装SE
  2. 运行一次以生成前缀
  3. protontricks 244850 -q dotnet472 xact
  4. 重命名了KSH.wmv文件
  5. 尝试使用4.2-4下的播放按钮运行SE
    但是游戏只是停留在“运行中”,永远不会启动。 甚至没有exe文件显示在任务管理器中。

日志文件非常短,并且其中包含以下关键行:
313044.458:0027:0028:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"SpaceEngineers.exe" cannot be loaded 313044.458:0027:0028:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\james\\.local\\share\\Steam\\steamapps\\common\\SpaceEngineers\\Bin64\\SpaceEngineers.exe" failed, status c0000135
steam-244850.log

听起来.NET没有正确安装。

是什么导致.NET错误安装?

Winetricks的dotnet476动词有问题,他“解决问题的方法”。 在wine 4.0或更高版本上,尝试将动词标记为“无法解决”。

在CDT 2019年5月16日下午2:23:41,pipnina [email protected]写道:

是什么导致.NET错误安装?

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件或在GitHub上查看:
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -493199360

-
使用K-9 Mail从我的Android设备发送。 请原谅。

不幸的是,即使在这里重命名文件后:〜SpaceEngineers / Content / Videos / KSH.wmv(只需在文件末尾添加.old),在航天工程师徽标之后,我仍然崩溃。
万家郎
内核:5.0.9-2
Nvidia驱动程序:418.56
https://gist.github.com/Evernow/6c6b02c027a4df3cb114037460b73ff2

我确认,游戏在启动后立即崩溃。
操作系统:Archlinux
NVidia驱动程序:418.74

尝试安装protontricks并运行此命令:

protontricks 244850 -q dotnet472 xact

然后在此处重命名文件:〜SpaceEngineers / Content / Videos / KSH.wmv(只需将.old添加到文件末尾)

我能够使游戏正常运行

是的,我成功运行了游戏。 没有-q参数我无法安装dotnet472,它给出了错误。 但是游戏对我来说仍然无法玩。 FPS太低,从而阻碍了音频和图形伪像(例如,粉红色的黑色空间)。 我将图形质量设置为低,但结果相同。 我的显卡是NVidia GTX 770,驱动程序是418.74。

FPS对我来说很好,但是存在音频和图形卡顿(每次音频卡住图形也是如此)。

(Gigatebyte RX 560 4GB OC上的Arch Linux和AMDGPU驱动程序)

我现在玩了大约2个小时,并测试了游戏,发现了一些其他错误:

  • 粒子效果不起作用。 这包括工具效果,冒烟等。
  • 后处理似乎也不起作用
  • 工程师头灯确实可以工作,但是只会产生实心的圆锥形光,边缘不会褪色等。聚光灯和室内灯似乎可以正常工作。

这是其他所有人都遇到的口吃。 这些都不是打破游戏规则的,但仍然是错误。

SE使用什么图形引擎? 统一?

太空工程师使用内部开发的名为VRAGE的引擎。 中世纪工程师和《矿工大战2081》使用了相同的发动机。

可能解释了分配问题,可能是大多数不合格的黑客。

我不需要重命名即可使用。 只剩下口吃是一个实际问题。

菜单背景不会显示视频。 可以研究一下,也可以解决其他问题。

不确定,但是游戏现在看起来更好,尽管fps高,但看起来仍然很慢,但是似乎已经不再那么困难了。

尽管保存时fps下降很多。 仍然需要改进以使体验能够完全发挥,但它很快就实现了。 大家好!

您为摆脱口吃而做了什么(这与100%的音频有关,因为当我按下“静音”按钮时它就消失了)? 最新的质子?

嗯,我现在得到的只是这个错误消息:

grafik

任何想法如何解决?
我正在使用Proton 4.2-7并安装了xact,dotnet472

您为摆脱口吃而做了什么(这与100%的音频有关,因为当我按下“静音”按钮时它就消失了)? 最新的质子?

我认为我什么也没做,我的意思是口吃仍然存在,至少比以前少了很多。 也许是新的nvidia驱动程序(现在是on430.14)和Proton更新了?

您好@kellerkindt ,DXVK需要有效的Vulkan驱动程序堆栈才能将DirectX 11转换为Vulkan。 是否有像vulkaninfo这样的vulkan应用程序正常工作?

请从Steam复制您的系统信息( Steam -> Help -> System Information )并放入要点,然后在此问题报告中包括

您好@kellerkindt ,DXVK需要有效的Vulkan驱动程序堆栈才能将DirectX 11转换为Vulkan。 是否有像vulkaninfo这样的vulkan应用程序正常工作?

请从Steam复制您的系统信息( Steam -> Help -> System Information )并放入要点,然后在此问题报告中包括

干得好:

vulkaninfo
蒸汽信息

乍一看,看起来还不错。 请在游戏的启动选项中添加PROTON_LOG=1 %command%并将生成的$ HOME / steam-244850.log拖放到注释框中。

乍一看,看起来还不错。 请在游戏的启动选项中添加PROTON_LOG=1 %command%并将生成的$ HOME / steam-244850.log拖放到注释框中。

在这里

好像wine-mono在整个日志中遇到Mono: DllImport error loading library 'd3d11': 'Datei nicht gefunden.的几个变体有麻烦。

11121.045:0025:0026:trace:module:get_load_order looking for L"C:\\windows\\system32\\d3d11.dll"
11121.045:0025:0026:trace:module:get_load_order_value got environment  for L"d3d11"
11121.046:0025:0026:warn:module:load_dll Failed to load module L"d3d11.dll"; status=c0000135

这表明d3d11.dll已被WINEDLLOVERRIDES环境变量禁用。

11121.045:0025:0026:trace:module:get_load_order looking for L"C:\\windows\\system32\\d3d11.dll"
11121.045:0025:0026:trace:module:get_load_order_value got environment  for L"d3d11"
11121.046:0025:0026:warn:module:load_dll Failed to load module L"d3d11.dll"; status=c0000135

这表明d3d11.dll已被WINEDLLOVERRIDES环境变量禁用。

好吧,它(我)没有设置:

$ echo ">> $WINEDLLOVERRIDES <<"
>>  <<

自从最新版本的质子以来,我在其他游戏中一直遇到此错误消息。 有时它们在单击确定后仍然运行,例如质子中的战争雷声。 这使我想知道这是否是错误。 我已经在Arch Linux和openmandriva lx4 znver上测试了质子。 我不确定这是否有关系,但我个人使用带有AMDGPU驱动程序的RX 560 ...不确定此处的其他评论者是否也使用AMD。

我无法安装dotnet472。
我的winetricks-版本是20190615-next。
当我尝试时: protontricks 244850 -q dotnet472 xact在dotnet 40上失败
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我无法安装dotnet472。
我的winetricks-版本是20190615-next。
当我尝试时: protontricks 244850 -q dotnet472 xact在dotnet 40上失败
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我有完全相同的问题。 不知道如何解决。 我正在使用带有AMD R9 Fury GPU的Ubuntu 18.04和protontricks 1.2.2。

我无法安装dotnet472。
我的winetricks-版本是20190615-next。
当我尝试时: protontricks 244850 -q dotnet472 xact在dotnet 40上失败
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我有完全相同的问题。 不知道如何解决。 我正在使用带有AMD R9 Fury GPU的Ubuntu 18.04和protontricks 1.2.2。

我使用Protontricks GUI没问题,也许尝试一下?

我无法安装dotnet472。
我的winetricks-版本是20190615-next。
当我尝试时: protontricks 244850 -q dotnet472 xact在dotnet 40上失败
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我有完全相同的问题。 不知道如何解决。 我正在使用带有AMD R9 Fury GPU的Ubuntu 18.04和protontricks 1.2.2。

我使用Protontricks GUI没问题,也许尝试一下?

我只是尝试,仍然出现以下错误:
dotnet40 install completed, but installed file /home/username/.steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我无法安装dotnet472。
我的winetricks-版本是20190615-next。
当我尝试时: protontricks 244850 -q dotnet472 xact在dotnet 40上失败
dotnet40 install completed, but installed file (...).steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

我有完全相同的问题。 不知道如何解决。 我正在使用带有AMD R9 Fury GPU的Ubuntu 18.04和protontricks 1.2.2。

我使用Protontricks GUI没问题,也许尝试一下?

我只是尝试,仍然出现以下错误:
dotnet40 install completed, but installed file /home/username/.steam/steam/steamapps/compatdata/244850/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

你在发行什么? 也许包装已过期?

你在发行什么? 也许包装已过期?

我正在使用Ubutntu 18.04。 我确保在运行命令之前检查对质子的更新。 如我所写,最新的可用版本似乎是1.2.2。

你在发行什么? 也许包装已过期?

我正在使用Ubutntu 18.04。 我确保在运行命令之前检查对质子的更新。 如我所写,最新的可用版本似乎是1.2.2。

转到Steam,帮助,系统信息,全部选择(CTRL + A),然后全部复制(CTRL + C),然后将其粘贴到pastebin.com中(如果可以)

嗨,我遇到与@ bwyan86@LordJABA完全相同的错误。 这是我的系统信息https://pastebin.com/7Ab8CY1Q

protontricks 244850 -q dotnet472 xact需要winetricks 20190310和protontricks 1.2.2的精确组合,至少不能少,否则安装dotnet40时将失败。

高于低图形设置的情况下,基于行星的世界崩溃。 说到行星,地形是完全破碎的(质子4.2-9):
Planet glitched

感谢提示@LunaSquee 。 我不得不运行protontricks 244850 -q --force dotnet472 xact 。 不过,我无法确定行星上破碎的地形。 在游戏中,我会在1-2秒的间隔内感到烦人的短暂冻结/结结。 但这涵盖了其他用户有关protondb上的帖子的当前经验。 希望这将得到解决! 期待着。

你在发行什么? 也许包装已过期?

我正在使用Ubutntu 18.04。 我确保在运行命令之前检查对质子的更新。 如我所写,最新的可用版本似乎是1.2.2。

我遇到与您完全相同的问题,我在Ubuntu 16.04上

@EduardoGodoy您是否尝试了@LunaSquee的建议与protontricks 1.2.2和winetricks 20190310?

地形和阴影现在可以正常使用了...

如果我们可以确定游戏中口吃的原因,则可以将其评为银牌。 DXVK帧时间计数器的平均时间约为110-150ms。
有什么方法可以在wine下分析dotnet应用程序以发现挂断吗?

有人说这与音频有关吗? 也许删除所有音频驱动程序和组件/文件并再次测试?

缺少音频文件夹时,游戏立即崩溃。
关闭所有音频设置似乎没有任何改变。

@fwillo如果您确定了,并且有几个小时的时间,我的肮脏解决方法是:

  • 在文本编辑器中打开/usr/bin/winetricks
  • 寻找load_dotnet472()
  • 下面几行是对以前的dotnet版本的调用,例如w_call dotnet462
  • 我遵循了链条,并从最后一个链条中删除了4.0
  • 再试一次
  • 在某些更高版本上失败了
  • 每次发生时,都会在winetricks脚本中找到安装程序的下载链接和参数,然后手动将其安装在wine前缀中。 (4.0是否已集成到葡萄酒中?/不需要,需要更新的)
  • 之后,在winetricks脚本中对刚刚安装的dotnet版本进行删除/注释调用,然后重试

2到3个小时后,我让太空工程师顺利工作了……也许除了开始部分之外-您将只有一个空白屏幕,您至少需要等待约15秒钟,然后单击鼠标以显示菜单。
之后,对于我来说,性能与Windows中的性能相同,但是如果我安装任何Mod,它将无法在Steam离线模式下工作-不确定这是游戏还是我的设置

编辑:要清楚我不是在质子下运行而是通过

lutris wine steam runner
wine version: ge-protonified-nofshack-4.9
DXVK:1.2.3

最迟可以将蒸汽与质子GE一起预编译为4.11。 与海绵一起使用。
所以你说的是:
您使用了适用于dotnet 4.0及更低版本的Proton内置单声道,但安装了Microsoft二进制文件以完成此后的所有操作,并且工作时不会出现卡顿现象?

您可以〜zip并上传您的酒瓶吗?或者可以更简洁地了解自己的实现方式?

Moderator note: Above line partially struck out because it would contain copyrighted libraries from the workaround.

@LordJABA我愿意尝试您的指示。 不过,我必须在@SpookySkeletons注释上达成模糊。 您能否写出详细的步骤列表以重现您的解决方法? 从我所读的内容中也可以看出:这种方法不应该同时使用蒸汽和质子技巧而不是Lutris +酒技巧吗? 您所做的唯一一件事就是安装了不带dotnet40的dotnet472,只是为了在酒风过后手动安装它? 期待您的回答。

@SpookySkeletons我确定我已经关闭了单声道,尽管dotnet 4.0安装程序声称我从未安装过版本并且拒绝安装。
@fwillo对不起,因为指令不清楚,我很犹豫要这样发布。 我想通了几天后就在这里徘徊,所以没有狂欢的历史或新鲜的回忆。

假设采用新系统,我们将尽力为您清理干净。

  • 首先安装wine,确保它也安装了wine32:i386-它为我做到了,
  • 安装Lutris https://lutris.net/downloads/
  • 在lutris中,点击左上方“ Runners”附近的齿轮,进入跑步者经理,
  • 在列表中找到“葡萄酒”,单击蓝色的“管理版本”按钮,并确保列表中已启用ge-protonified-nofshack-4.9
  • 列表中“葡萄酒”下方应为“葡萄酒蒸汽”,单击其旁边的“亚军选项”,然后在“参数”中添加%command% -no-cef-sandbox ,设置正确的葡萄酒版本,并在游戏退出后标记停止蒸汽
  • 点击安装亚军

它应该安装得很好。 现在是棘手的部分。

通过bash脚本安装winetricks,如此处所述https://github.com/Winetricks/winetricks
这样,您始终可以运行update_winetricks来取消...恢复/usr/bin/winetricks

在控制台类型
export WINEPREFIX="/home/<user>/.local/share/lutris/runners/winesteam/prefix64"
您可以在lutris跑步者选项中进行检查
现在您正在研究winesteam前缀

我将以dotnet 40为例,说明如何消除Winetricks中的依赖性,因为我们确实需要这样做,
通过输入winetricks remove_mono确保单声道关闭
尝试输入winetricks dotnet472 -它会尝试,但是对我来说,它一开始尝试安装40声称已经是最新的失败了-这可以防止winetricks从不安装。
因此,在文本助手中打开/ usr / bin / winetricks并找到“ load_dotnet472”

```
load_dotnet472()
{
w_package_warn_win64

if w_workaround_wine_bug 42170 "Running un-official repacked .NET 4.7.2 setup until the official version is fixed.", 3.1; then
    # Un-official slim version. See https://repacks.net/forum/viewtopic.php?t=7
    file_package="dotNetFx472_Full_x86_x64_Slim.exe"
    w_download "https://drive.google.com/uc?export=download&id=1aLBCH0Yt2-6ROpWRBxZ01kqGMyhc_8hM&confirm" a36da041b8f46079f8e16647312d642953cde520f4a600ad5b3f4f90a23495a7 $file_package
    unattended_args="/ai /gm2"
else
    # Official version. See https://www.microsoft.com/en-us/download/details.aspx?id=53344
    w_download https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe c908f0a5bea4be282e35acba307d0061b71b8b66ca9894943d3cbb53cad019bc
    file_package="NDP472-KB4054530-x86-x64-AllOS-ENU.exe"
    unattended_args="/sfxlang:1027 /q /norestart"
fi

w_call remove_mono

w_call dotnet462
w_set_winver win7

```

这里有几件事要注意:

  • 您会看到对dotnet462的w_call,因此您需要转到load_dotnet462并重复该操作,直到找到调用失败的那个的那个-在我们的示例中, w_call dotnet40load_dotnet48并且需要被删除前进。
    您将需要为每个不会通过winetricks自动安装的安装程序(手动安装)执行此操作(如果安装成功,但是winetriks不会将其标记为已安装)。
    如果安装程序失败,您需要做的事情:
  • 在w_set中,您需要安装程序的Win版本
  • 在w_download中,您有2个网址(在这种情况下),可以将其粘贴到Web浏览器中以下载安装程序
  • 在unattended_args中,您可以使用以下参数运行安装程序

假设您删除了对dotnet40的调用并保存了文件,则可以重试。
在那之后它将使少数安装程序失败-

  • 如果安装程序声称安装成功,但是winetricks抱怨最后文件丢失,并且不会安装下一个文件,则删除w_call-可能安装正确,但检查失败。
  • 如果甚至没有开始尝试,如果网址正常-如果无法在microsft页面或google上搜索.exe名称
  • 如果该网址可以下载,
    根据该dotnet ex的winetricks部分设置赢版本。 winetricks win7
    尝试运行它wine <installer>.exe <arguments from winetricks>
  • 如果失败,请尝试不带参数-您将必须单击下一步;)
  • 如果失败,并且您有多个网址/安装程序,请尝试另一个
  • 如果仍然无法安装,请删除w_call并希望不需要此-至少其中一个失败了,我没有做任何事情,但是游戏可以运行。

在最终安装了dotnet472之后,您只需要添加一些内容(我不确定它们是否全部都需要)
winetricks xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9 d3dx10 corefonts -我在这里没有问题
肯定需要这个

然后在lutris中,单击跑步者列表上的Wine Steam,然后在列表上方单击+号以添加游戏。
输入名称,然后在“游戏选项”选项卡下,输入用于空间工程的Steamid 244850
图标和其余部分是可选的,
检查亚军选项
参数: %command% -no-cef-sandbox
葡萄酒版本:ge-protonified-nofshack-4.9
DXVK:1.2.3并启用
从应用程序列表中启动它,它应该运行并开始下载

希望它能起作用!

如果需要帮助,请提及我...或[email protected]无论如何

我无法使用lutris来运行游戏(Steam说我没有网络),但是我在Steam上安装了Protontricks 1.2.2和winetricks20190310。Proton4.9.2。
我已经安装dotnet472 xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9 d3dx10 corefonts。
我已将介绍视频重命名并使用以下命令开始游戏:PROTON_NO_ESYNC = 1%command%

老实说,游戏运行良好。 我在具有较高图形设置的星球上大约有100 fps。 我能够用很多MOD开始游戏。 我没有在atm玩了几个小时,我必须花时间进行更多测试。
可以在岩石上进行开采,可以在行星或小行星上进行开采。 我从星系图开始。

我和所有人一样都有声音错误,但几分钟后还可以。 该错误继续不太明显,但是您可以玩。 如果我加入其他游戏,则必须进行测试,而不能自己托管游戏。

似乎该游戏几乎可以正常玩,除了thtat声音错误。

感谢本页上的所有提示!

@LtStich dotnet472安装是否对您没有问题?
如果是,那真是个好消息,他们终于修复了脚本。 我确认一个
刚开始后声音很小。 我也注意到阴影
有时有些奇怪的闪烁,但我不知道这是游戏的错还是
质子

czw。,18 lip 2019 o 11:26 LtSich [email protected]ł (a):

我无法与lutris一起运行游戏(蒸汽说我没有
网络),但我已经在Steam上安装了Protontricks 1.2.2和
winetricks20190310。质子4.9.2。
我已经安装dotnet472 xact vcrun2013 vcrun2015 vcrun2017 faudio d3dx9
d3dx10 corefonts。
我已将介绍视频重命名,并使用以下命令开始游戏:PROTON_NO_ESYNC = 1
%命令%

老实说,游戏运行良好。 我的星球高约100 fps
图形设置。 我能够用很多MOD开始游戏。 我没
玩了几个小时的atm,我必须花时间做更多的测试。
可以在岩石上进行开采,可以在行星或小行星上进行开采。 我已开始
与星系图。

我的声音听起来像所有人一样,但是几分钟后还可以。 错误
持续性不太明显,但是您可以玩。 我要参加考试
其他游戏,而无需自己托管游戏。

似乎该游戏几乎可以正常玩,除了
喉咙声音错误。

感谢本页上的所有提示!

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792?
或使线程静音
https://github.com/notifications/unsubscribe-auth/ABSXEL6J4HFRILSQPK5FHVLQAAZNVANCNFSM4F6IMNRA

@MagicRB很好,但是有质子技巧1.2.2和winetricks 20190310。
较新版本的winetricks似乎有问题,我应该再试一次,但是既然游戏正在运行,我不想破坏一切:)

我会再玩一点,看一切是否正常。

是的,我无法运行游戏,因为protontricks(1.2.3-1)不会安装dotnet,因为它认为已经安装了dotnet。 这也是新安装的拱门,因此在最近的葡萄酒版本或某些方面存在重大故障。 皮塔饼相当,谁知道它是否会被修复。

如果仅MONO模拟dotnet 472 ....

这些问题应直接由Steam记录并安装在游戏中...
玩原始技巧和葡萄酒技巧很烦人...

您会使用Wich版的Winetricks吗? 您知道可以手动安装以使用特定版本...

wget http://winetricks.org/winetricks -O / usr / bin / winetricks

那么最新的安装正确工作版本的命令是什么?

这是我注意到的一个有趣的地方。
如果您拔出任何手动工具,游戏中通常会出现的口吃变得非常频繁。

DXVK渲染传递似乎也使结巴上的三位数跃升。

在其他新闻中,wine mono将准备多长时间运行dotnet 4.7.2应用程序? 有人知道到目前为止已经实现了什么吗?

wget http://winetricks.org/winetricks -O / usr / bin / winetricks

那么最新的安装正确工作版本的命令是什么?

转到这里: https :
下载:20190310
解压缩,转到src以获取wintetricks。

卸载已有的Winetrick。
并将您下载的葡萄酒秘诀放在您的路径中(在Debian上对我来说是/ usr / local / bin)。

之后,尝试从头开始重新安装SE,然后尝试重新安装所有需要的东西。
不要忘记重命名介绍视频。

好的,现在安装dotnet似乎可以工作了。 为什么酒驾维护者会削弱.net支持? 有人知道吗? 似乎没有人甚至注意到它对很多事情都至关重要,就像发布了阻止.exe运行的葡萄酒更新.....疯狂!

无论如何,我在github上留下了一个问题,谁知道也许有人会注意到...。

关于游戏,现在好像加载了,声音有点停顿了,我在地球上加载了一个自定义游戏,除了很多停顿和停顿(除了可能与声音引擎有问题有关),它还运行得很好。多次警告性能问题,但这似乎消失了。
我会说这些问题与引起口吃问题的声音引擎等有关...

我不确定问题是否与声音引擎有关,但更可能与影响音频的性能有关。 我又玩了一个这样的游戏,声音发散了,但是一旦我有了新的CPU,它就可以正常运行。

在我这边,我现在玩了几个小时,游戏总体上运行良好,但模拟速度不会超过0.8。
我已禁用音乐,但这并不会改变演奏。

很少发生崩溃,但是如果您接受一些滞后/断断续续和崩溃,一般来说该游戏是可玩的。.在地球上的中等图形设置下,我的速度约为100fps。
我大概今天会测试我的atmo矿工,看看游戏是否不会崩溃。 其实我只有一辆小型漫游车...

我已经安装了dxvk 0.96和protontricks,但这并没有改变任何东西。
我的CPU并未真正使用,负载很小,但游戏似乎无法使用计算机的所有核心或性能。

如前所述,对我来说,声音问题是全局性能问题(可能是CPU方面)的结果,而不是游戏停顿的原因...不知道我们该怎么办...

好的,现在安装dotnet似乎可以工作了。 为什么酒驾维护者会削弱.net支持? 有人知道吗? 似乎没有人甚至注意到它对很多事情都至关重要,就像发布了阻止.exe运行的葡萄酒更新.....疯狂!

无论如何,我在github上留下了一个问题,谁知道也许有人会注意到...。

关于游戏,现在好像加载了,声音有点停顿了,我在地球上加载了一个自定义游戏,除了很多停顿和停顿(除了可能与声音引擎有问题有关),它还运行得很好。多次警告性能问题,但这似乎消失了。
我会说这些问题与引起口吃问题的声音引擎等有关...

我怀疑他们是否会故意这样做,这很有可能是微软以某种方式更改了.Net安装程序,因此版本号与Winetricks所寻找的不同,他们确实喜欢修改。

dotnet安装程序未更改

dotnet安装程序未更改

好吧,这样的事情只需要一行上的一个拼写错误就可以引起各种各样的问题,所以我严重怀疑Winetricks的维护者会采取类似的措施来欺骗我们,这有什么意义呢?

Wine 4.12.1似乎以与Wine 4.12.1兼容的方式安装.Net,而Wine 4.2则以与4.2兼容的方式安装。 设置指向Proton二进制文件的WINEWINESERVER环境变量使winetricks可靠地工作。

关于游戏,由于声音,我的口吃很严重:“模拟速度”为1,但是由于声音效果,它降低到了0.73,然后又回到了1.。 如果使用焊机,“模拟速度”将降至0.53,直到恢复。 无论我删除FAudio库还是使用winetricks xact ,都会发生此问题,即使禁用了声音,它也会发生,对于焊工来说确实很明显。

头盔的角和光源上似乎存在图形错误,但这是次要的。

系统信息

如果您已重命名视频文件,则使用Proton 4.11-1可以立即使用。 但是对于音频和视觉来说,还是有很多困难。 安装dotnet472和xact似乎无法解决该问题。 有小费吗?

我也没有想出如何解决口吃的问题,如果不是用于口吃的话,那还好,即使在我的1080TI上以4k拍摄时,它也能提供50-60fps的效果,除了口吃...

我的4.11没有任何性能变化。
我继续认为声音问题是性能问题,而不是声音问题(请参阅模拟速度)。 由于稳定性/性能差,声音结巴。

切换到内核5.2几乎不会提高性能。 但是声音问题总是在这里。

我也无法确定Proton 4.11对我的性能改善。 我还使用提供的linux-fsync内核在Arch Linux上试用了FSync功能。 不幸的是,验证了正确的内核已加载,并且在此处也无法确认改进。 口吃还在那里。

一个小问题:游戏从DXVK_HUD=full %command% 。 发生卡顿时,帧时间图显示红色条。 我认为除了没有渲染帧外,它没有其他特殊含义吗?

我确实注意到“空闲”模拟速度在这里有所提高,从0,73一直提高到0,87。 显然,播放声音时出现的性能问题仍然存在。 奇怪的是,即使有足够的CPU备用周期,它也始终以0.87的仿真速度运行。

我注意到游戏经常会重现声音流。 pavucontrol显示游戏流是流2,但是稍后使用Pulseaudio时是流6,后来是流10。

另外,每次我关闭游戏时,它都会打开Wine Debugger,然后打开窗口,提示游戏崩溃了。

我录制了一段视频,显示了一些游戏状态,包括声音问题: https :

我用于当前前缀的winetricks命令是winetricks -q xact dotnet472 vcrun2013 vcrun2015 vcrun2017 faudio sound=alsa 。 以及目前的系统规格

有趣的是,我显然具有更好的性能,并且在使用工具时没有这个问题(至少不是那么多)。 我的模拟速度在0.7到0.9之间。

当我运行htop进行游戏时,我可以清楚地看到我的CPU未完全使用,我有很多“备用资源”。 他们可能可以为此做些...像更改开始菜单中的视频并且不使用该wmv格式...也许关于声音的所有问题都是相同的问题...非常“类似于Windows”文件和工具...

[编辑]
在太空中进行快速测试,无需修改。 声音很小,但确实很小。
Sim的速度在0.9到1之间。即使使用工具,也不要低于0.8。
高图形设置时约为100 fps。

如果无人机产生,性能可能会下降,我在使用地球上的mod的游戏中遇到了很大的问题。 由于游戏可能无法设法使用所有核心或分散负载。
[/编辑]

我们是否已确认该游戏的apitrace不会解决此特定问题? 听起来可能是与葡萄酒有关的问题,而不是dxvk。

据我了解,实际上存在3或4个汇总问题:

  1. 音频需要一些相当前沿的FAudio东西才能工作。 从Proton 4.11开始,此功能不会合并。 即使使用FAudio,您也会看到大量的音频卡顿现象,这可能会有所减少,具体取决于您的机器/ cpu /帧速率/等。
  2. 需要dotnet472。 我认为Proton 4.11可以解决此问题?
  3. 游戏中视频不起作用。 像其他游戏一样,可能是媒体框架问题。
  4. 尚未能够使用Proton 4.11进行测试,但是至少在4.2上,“ windowscodecs” PNG解析器(或其上游代码)无法正确处理16位灰度PNG的字节顺序。 VRAGE(空间工程师引擎)用于其行星高度图。 这可能是固定的,但是我从nvidia机器移到了Vega,所以当我尝试在SE上运行SE时,我被https://github.com/doitsujin/dxvk/issues/252中的GPU挂起打中了自己。一个星球。 我可以稍后再回去检查nvidia机器,但是如果您看到“尖刺”的行星,请尝试https://source.winehq.org/git/wine.git/commit/0c0def962f2b86f44625f11d8d9d2013aaffa46a向后移植该修复程序。

@kainz
缺少的Faudio位会导致游戏口吃吗?
您是否知道有任何未解决的问题或补丁可以尝试一下?

我知道一个事实,它之前已经被分析过,并且结结不是任何DX调用的结果。

我不是开发人员,但我认为SE的问题更多地与多线程和性能有关。
他们大概正在做什么: https ://lkml.org/lkml/2019/7/30/1399并使用esync替代品:fsync: https ://steamcommunity.com/games/221410/announcements/detail/2957094910196249305

这需要一个非常新的内核,也许Arch上的某人可以进行一些测试...我将在Debian上使用Liquorix内核时...

对于fsync指令: https :

游戏仅以Mono启动,但我收到此消息(单击该按钮将关闭游戏):

Screenshot from 2019-08-03 08-42-12

令人惊讶的是,弹出菜单时我没有菜单音乐卡顿,也许卡顿是由于酒上的dotnet本身造成的?

哇! 整齐! 您如何通过Mono启动它?
@LtSich
Gentoo用户在这里,fsync没有帮助。 如果像@ fls2018上面所说的那样单声道,那么这可能是一个不错的解决方案。

取决于它是否在游戏中口吃。

哇! 整齐! 您如何通过Mono启动它?
@LtSich
Gentoo用户在这里,fsync没有帮助。 如果像@ fls2018上面所说的那样单声道,那么这可能是一个不错的解决方案。

默认情况下,只是安装了带单音质子的新前缀,我还不得不将xaudio dll更改为native,因为faudio使它崩溃。 我猜弹出是因为单声道需要wpf,或者它正在检查.Net,而是找到单声道并拒绝继续。 在日志中,我看到它将Mono识别为环境:Environment.Version:Mono 6.3.0(tarball)

我还再次安装了dotnet472,它允许我进入游戏,但菜单返回错误,也使用fsync内核。

然后您说单声道没有结局,但是游戏拒绝了没有dotnet的情况...
KSH可以直接改变他们的比赛方式来帮助我们吗?
与更改视频格式相同,以避免重命名介绍视频并能够在菜单的后台看到这些视频...

KSH可能会对此进行更改。 如果他们在有葡萄酒的情况下删除了dotnet检查,则可能会有所帮助,但这当然是:不要从葡萄酒开发者的建议中进行。

我们应该在WineHQ上打开错误报告,并获得与地形峰值问题相同的帮助。 我在哪里可以找到这个出血的单声道二进制二进制文件?
要测试一个每晚的版本。

既然我已经对此进行了测试,实际上可能值得要求开发人员取消对mono的使用。 他们检查enviornment变量,以查看您是否正在运行旧的越野车dotnet来告诉您进行更新,但似乎它并不能说明空值,而只是完全放弃了游戏。

日志状态为:2019-08-03 11:07:01.985-线程:1->枚举环境信息时发生错误。 申请仍在继续。 异常:System.ArgumentNullException:值不能为null。

在这种情况下,如果我们可以要求KSH放弃支票,那么Proton可以在protondb上快速获得金牌评级!
哪里可以买到Keen?

然后您说单声道没有结局,但是游戏拒绝了没有dotnet的情况...

为了清楚起见,我说的是菜单音乐停顿,这似乎与游戏中的停顿有关。 问题可能出在音频或图形上,而不是音频或图形,但事实上,该游戏更多地依赖于.Net而不是其他某些游戏,而通过winetricks的.Net充其量也只能算是片状。

可能只需要单声道就不会被检查阻止,一切都很好,但是,如果游戏使用了.NET等WPF中的其他内容,则可能是因为它不能使用而出现了弹出窗口,因为尚未提供单声道版本。

@SpookySkeletons

可能在这里: https :

来自KSH的1个开发人员应该真的加入我们的行列,并对此进行研究...
这种格式和视频格式可以使用其他可在Linux上使用的格式,从而无需重命名简介视频...

我无法收到旧帐户的确认电子邮件,看来其他人将不得不执行该线程。 正如@LtSich所说的那样,将它们指向我们的git,这样我们也可以在此处进行对话!

我知道KSH在Discord上也处于活动状态,如果有人可以链接到其频道,则可以直接向其发送消息。

这是官方的不和: https :

我们需要询问游戏是否需要WPF或其他DotNet特定组件。
如果单声道正在使用未实现的功能,它们将毫无价值。

Proton 4.11-1添加了回归,重新引入了越野车地形的产生

质子4.2-9可以正常工作,但仍然结结巴巴,但这似乎是DotNet,如SpookySkeletons和fls2018所述

看来4.11版本增加了很多问题。
Empyrion和Frostpunk不再启动,但在4.2-9下可以正常工作。

显然,SE与地形生成有关。
自己没看到,但我只玩了几分钟测试游戏是否开始。

尝试在启用d9vk的情况下以4.11-1运行。 给出一个错误。NET框架已过时,要使用Windows修补程序然后崩溃。

尝试在启用d9vk的情况下以4.11-1运行。 给出一个错误。NET框架已过时,要使用Windows修补程序然后崩溃。

除非您回滚几个补丁,否则游戏不应该在DirectX 9上运行。

带有DotNet 472的DXVK和Proton 4.2-9是目前唯一运行该游戏的方法。
然而,它将结结巴巴,这目前是无法避免的。

我尝试了: https :

它更多的是性能故障,然后是任何故障,如果解决了某些问题,则游戏将以良好的fps运行并运行良好。

拳头,伟大的工作。
您已经走了很长一段路,只有真正的工程师才能跟随。 那是真正的奉献精神。 :+1:

现在回到主题。
关于您提到的性能问题,我建议您切换到“模型构建”,将其与Steam中的原始模型一起分发。
除了一堆用于修改程序的好东西,它还启用了我们的内部事件探查器,因此您可以准确查看正在使游戏速度下降的原因。 当您知道问题出在哪里时,总是很容易修复它。

您会在这里找到所需的全部:
https://github.com/malware-dev/MDK-SE/wiki/Advanced-Profiling-The-Game

当涉及到“ .NET版本检查”时,游戏不会强制执行任何特定版本的.NET,只要所有组件都能正常启动并运行即可。
快速浏览代码后,看起来此消息框是由脚本编译器初始化失败触发的。 如果是这样,您应该在游戏日志中看到以下行:
“ ModAPI初始化期间出错:此处有一些消息”

只要您不需要mod或游戏内脚本,编译器对于游戏来说就不是必需的,因此您可以将其关闭进行测试。 您知道如何摆弄MSIL二进制文件,对吗?
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/Sandbox.Game/MySandboxGame.cs#L1401

@InflexCZE
感谢您的信息。

我没有IL编辑方面的经验,但是设法编辑了该值并使用mono进入菜单:

Screenshot from 2019-08-10 02-37-36

但是在尝试加载游戏时,它因以下错误而崩溃:

Screenshot from 2019-08-10 02-28-48

这是日志:

SpaceEngineers.log

我可能没有正确编辑dll的可能性,它显示有关将白名单或其他东西重复的错误。

根据日志,Mono和我们的编译器的结合不是特别幸福::stuck_out_tongue:
很好,我们不需要。

不幸的是,目前还没有禁用该编译器的要点,因此您必须剔除我已经确定并希望最好的两个关键位置。

1)剥去这个罐子里的所有东西。
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptWhitelist.cs#L47

2)使此方法返回null (防止调用编译器内核)
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L154

@InflexCZE是否了解失败的原因,为什么? 或者一种创建以类似方式失败的小型测试的方法。

每个.NET运行时(.NET FW,Mono,.NET Core,Xamarin等)都带有自己的基类库(BCL)。 尽管实现和功能在整体上非常相似,并且考虑到一个特定的BCL编译的程序通常可以在运行时使用不同的实现时很好,但仍然存在一些差异。

在这种情况下,某些BCL类型在BCL二进制文件之间的分布使编译器无法正常运行。 很少有快速的调整可能会解决该问题,并使编译器也能在Mono BCL上完全发挥作用,但是要把编译器关闭并测试游戏是否在Mono-Linux上运行会更好一点,这会有些困难。 如果是这样,那么我们可以专注于抛光。

我希望能以可理解的方式回答您的问题:smile_cat:

好吧,我尝试了另一种方法并尝试使Profiler构建正常工作,但是我对此不太走运。 我安装了Mod SDK,并尝试通过将dotnet472xact到其前缀并将Contents文件夹符号链接到其路径中来运行游戏(这就是我实际上运行Mod的方式) Windows安装上的SDK),然后将Bin64_Profiler文件夹复制到我的常规安装中(一切都已经开始,我可以开始游戏了)。 两种方法都没有真正起作用。

我设置了wine可能需要的所有环境变量,并在~/.local/share/Steam/steamapps/common/Proton 4.11找到使用过的wine,尝试从该目录运行proton run ,但是每种方法都产生相同的结果:

  • 我收到有关在没有Steam运行时的情况下运行的警告,并指示我更改MyFakes.ENABLE_RUN_WITHOUT_STEAM变量的值,至少就我所知,如果不编辑程序集就无法执行此操作。
  • 然后它抱怨运行Windows和显卡驱动程序更新
  • 毕竟,我得到的只是一次崩溃,带有以下堆栈跟踪
Unhandled Exception: System.ArgumentException: Parameter is not valid.
   at System.Drawing.Image.get_Flags()
   at System.Windows.Forms.ControlPaint.IsImageTransparent(Image backgroundImage)
   at System.Windows.Forms.Control.set_BackgroundImageLayout(ImageLayout value)
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.InitializeComponent()
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm..ctor(MyCrashScreenTexts& texts)
   at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.ShowDialog(MyCrashScreenTexts& texts, String& message, String& email)
   at Sandbox.MyErrorReporter.ReportGeneral(String logName, String gameName, String id)
   at Sandbox.MyCommonProgramStartup.PerformReporting()
   at SpaceEngineers.MyProgram.Main(String[] args)

无论如何这并没有什么用处,因为崩溃报告消息无法加载...

如果有人对我做错了什么有想法,并且可以使概要分析工作正确地进行指导,将不胜感激,对问题的关注越多越好:)

请提供游戏日志。 它应包含原始异常。

日志附:

SpaceEngineers.log

由于它在某些名称空间中提到了DX9,因此我尝试在运行它时没有DXVK认为它可能会使它崩溃,但似乎没有帮助。

该问题实际上是此方法(Windows Forms)内部的某个地方,因为它无法加载游戏光标的图像。

https://github.com/mono/mono/blob/master/mcs/class/System.Drawing/System.Drawing/Image.cs#L154

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

希望有人知道发生了什么,因为这是我的专业领域的终点。

好吧,当手动弄乱前缀时,我也做错了,我尝试将Bin64_Profile文件夹放到常规安装中并将其重命名为Bin64 。 这有所帮助(获得了启动屏幕),但由于配置文件构建中包含了其他位,因此大概失败了。 首先,它无法获取操作系统名称(使用Mono,不会抱怨安装了实际的MS dotnet),但似乎已经超过了(看上去也正确的操作系统名称,所以,是的...),但是无法尝试初始化图形(这在DXVK处于活动状态和设置USE_WINED3D )。

SpaceEngineers-Mono.log

附带的Mono日志,实际崩溃与dotnet相同,这也同样说明了Mono的缺陷。

也请放这里渲染日志

啊,从来没有注意到它被写过。 这里是:

VRageRender-DirectX11.log

看来着色器编译失败。 有没有办法在某个地方获得这些文件的预编译版本?

有趣。 游戏已经在%SE_install_dir%/Content/ShaderCache带有预编译的着色器。
检查它们是否完好,没有损坏或其他任何东西。

游戏编译的着色器的备用缓存目录是%dir_where_you_found_the_logs%/ShareCache2
您可以尝试在此处复制缓存,以查看游戏在这里找到运气是否更好。

尝试验证文件,尝试将其复制到%appdata%/SpaceEngineers/ShaderCache2 ,甚至尝试%SE_install_dir/TempContent/ShaderCache以防万一,配置文件构建也尝试使用该文件,在所有情况下都相同

嗯,概要分析构建也可能会向着色器添加一些概要分析代码,这将使提供的缓存不可用。

您已经说过您也可以在Win上运行SE,对吗?
也许您可以尝试在Win上运行配置文件构建,然后将生成的着色器缓存复制到Linux?

你们是在尝试在没有dotnet(带有mono)的情况下运行,还是试图解决口吃的问题? (或两者)。

好吧,在性能分析方面,我正在尝试使用dotnet,因为我们知道加载完全并且可以玩,所以希望我们可以遏制这方面的困难。 鉴于mono的当前问题是编译器无法正常工作,这意味着即使我们欺骗了加载程序,脚本和mod也无法正常工作,我认为目前这可能是一个更好的做法,无论是在前端还是前端让游戏充分发挥作用,我们可能会解决Proton中的一个问题,如果修复该问题,它可能也会影响其他游戏并使它们正常工作。

可悲的是,我目前停留在这一方面-我访问我的Windows分区,并试图从那里复制了着色器(有很多更多的文件存在),但没有运气,完全一样的崩溃。 我还计划完全清除Windows安装中的所有内容,并从空白状态开始以概要分析模式启动游戏,以确保着色器已编译,但是由于我做了一些分区和HDD改组,因此Windows安装当前未启动最近,我还没有设法修复(或重新安装)它。

如果其他任何人都可以使用双重引导(或安装了Windows的额外PC)并且可以重新跟踪我的步骤,以查看它是否与复制的编译着色器文件一起运行,那将是不错的选择。 同时,如果有空闲时间,我将尝试重新启动Windows安装。

我应该有一个可以正常运行的Windows 10安装程序,已经有一段时间没有使用了,但是它应该可以工作。 当我回到家时,我将尝试做该着色器。

@InflexCZE thx帮助我们Linux的人们! 不要粗鲁无礼,但是很长一段时间以来我们一直在寻求帮助,发生了什么变化?

因此,我设法从Windows安装中获得了新的着色器(涉及家庭共享,室友和贿赂,与重新安装Windows相比,还没有那么麻烦)。

好吧,没有骰子,看来无论如何都打算重新编译那些着色器。 也尝试安装Visual C运行时(所有这些都从2010年开始,但是2015年都没有安装,并且我也没有真正尝试使它正常运行),希望它只是缺少了一些C ++运行时,但是运气不好要么。

因此,除非特别是vcrun2015 (考虑到错误,我怀疑),否则我是个新主意,这涉及到着色器和VRage特定的东西,这些都超出了我的头脑。 如果其他人可以解决问题,请发布您的结果。

@ Onyx47我需要做什么才能进入您所处的状态?

@MagicRB我到目前为止所做的就是安装它(包括protontricks 244850 -q dotnet472 xact ),从工具页面安装Mod SDK版本,然后复制到Bin64_Profile目录中到常规的SE安装目录并将其重命名为Bin64之后将其重命名为Bin64_bak

然后从Steam启动游戏将尝试运行性能分析版本。 作为参考,并避免了您浏览目录结构(您应该能够将路径复制粘贴到文件管理器/终端中):

  • SE安装应该在~/.steam/steam/steamapps/common/SpaceEngineers/
  • Mod SDK的安装目录应位于~/.steam/steam/steamapps/common/SpaceEngineersModSDK/ ,您应该从中获取Bin64_Profile目录
  • SpaceEngineers.logVRageRender-DirectX11.log应该在~/.steam/steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers

巴生的儿子,它运行! 我们需要的只是winetricks的d3dcompiler_47包。 在那儿,我正在安装XNA和VC运行时,以尝试查看其中是否包含缺少的标头( float.hxnamath.h ),它一直在抱怨...

好吧,它现在开始,但是不幸的是在创建或加载世界时崩溃了。 我可以确认探查器至少可以在菜单中正常工作(即使在那里也存在断断续续,所以无论如何我们都可以使用它)。

我会附上我的最新日志,从启动开始到尝试加载世界(之后崩溃)。 我注意到SpaceEngineers.log的最后一行是

External debugger: listening...

可能是崩溃的原因,可能不是,但是...我不熟悉.NET中的远程调试,仅仅是提供了像gdb这样的套接字,我们是否有可能将其附加到它使用MonoDevelop还是什么? 或者,即使没有菜单,至少有一种方法可以从菜单中获取一些有意义的信息? 像将一些分析日志转储到文件中的某个地方? 在链接的Wiki中,我什么都没有看到。

抄送: @InflexCZE

注意(主要用于Inflex):不要介意视频错误,我们知道它不会加载,也无论如何都不在乎,游戏在单击后便会运行。

SpaceEngineers.log

VRageRender-DirectX11.log

编辑:菜单中至少有一些探查器的屏幕截图,主要的罪魁祸首似乎是MyAudio-Update (至少被部分怀疑)和GuiManager - Update Screens ,这并不是我真正期望的。

https://imgur.com/a/S1O435i

好消息:+1:

不幸的是,日志中没有任何有用的信息可以帮助我确定崩溃原因。 本机代码中最可能出现的问题会导致分段错误,并且OS会立即关闭该进程。 调试此问题的常用方法是指示OS在拆解之前对进程进行小型/完整转储。 如果您设法捕获一个并解决其中的堆栈跟踪问题,那么我很乐意告诉您发生了什么。 由于百叶窗也出现在主菜单中,因此我现在不再理会它,而直接进行剖析。

为此:
1)开始游戏进入主菜单
2)使用Alt + [NumPad Dot]打开分析器
3)将探查器切换到深度剖析模式Alt + E
4)收集一个完整的数据分析窗口(等待1024帧)
5)使用LCtrl + Alt + 1保存到插槽#1
6)在%appdata%/ FullProfile1中找到并共享文件

所有这些信息都在我之前发布的手册中:
https://github.com/malware-dev/MDK-SE/wiki/Advanced-Profiling-The-Game

编辑:
“ MyGuiSandbox :: Update3”更新游戏输入(从OS收集鼠标,键盘和操纵杆状态)。 我们那里也有许多配置文件块,我想知道为什么它们不显示。 如果它们以该模式显示,请启用深度分析。

@InflexCZE :好的,所以重写我的整个帖子,因为您最终迫使我尝试学习如何使用Wine调试器,并立即发现崩溃原因:缺少VC runtime 2003,我认为安装ModSDK时是必需的,但是由于Wine运行的方式没有在前缀中安装(就其中的应用程序而言,前缀是完整的Windows安装),因此我正在运行游戏。安装后,该游戏实际上在概要分析版本中运行。

因此,现在暂时忽略菜单,这是我在否则为空的“太阳系”地图上进行的探查器转储。

FullProfiler-1.gz
(由于GitHub挑剔而重命名)

这也是菜单,以防出现相同的问题,并且菜单转储中的信号噪声可能较小:

FullProfiler-2.gz

希望我没有在这里忘记重要的事情。

从配置文件中可以看到,没有哪个系统受到影响,这会降低整个游戏的速度。 所有系统和所有线程均受到整体影响。 不幸的是,这意味着没有一个系统可以优化和/或修复以帮助您使用百叶窗。 另一方面,它告诉我们问题出在系统方面。

我非常了解配置文件中的模式。 当我在Windows上看到它时,它是GC(.NET垃圾收集器)的十分之九。 可能是某些因素影响了它的正常功能,并导致它在每个工作周期中停滞了很长时间,或者由于它是自调整机器,由于错误地移植了操作系统而给它提供了无效信息,所以它的配置非常糟糕功能。

或者,可能有一些非常基本的OS功能,例如与malloc一样常见的功能,例如整个游戏(或该问题的.NET Framework)上的所有系统都在使用。 这种功能在通话中表现不佳,它也可以解释这一发现。

无论如何,游戏将无法自我描述并发现问题。 它需要从外部进行分析,并由外部工具找到原因,该外部工具将能够识别缓慢的OS功能或定罪有罪的GC。 在这种情况下,知道GC中的内容很慢可能会告诉我们如何解决它。 我对Linux上的配置文件不熟悉,因此无法在那里为您提供帮助。

至于第二个选项,Mono似乎可以更稳定地处理游戏,因此,我们可以继续进行Mono,看看它在更多工作负载下的表现如何。 关于这件事的最后一条指令显示了如何删除游戏中的编译器,因此现在您应该可以开始会话了。 如果您在那里遇到任何其他问题,并且属于我的专业领域,我很乐意为您提供帮助。

资源查询功能很可能已经存根并正在馈送.NET错误信息,可能是在WMI中或在ntdll中是NtQuery *函数。

首先,非常感谢Inflex花时间研究这个问题,我认为这是您的下班时间。

好吧,虽然不是我们希望快速解决的好消息,但至少它使我们走上了正确的道路,而不是追赶幽灵。 我四处张望自己的图表,我确实注意到峰值到处都在发生,因此,即使是代码库的外来者(以及非常了解.NET的人),我也发现对GC问题的解释非常引人注目。

在接下来的几天中,我将研究在Mono和本机.NET方面可以做的一切,并尝试在此处提供尽可能多的信息,或者看看是否值得开设新期刊。 从长远来看,如果我们能够正确地修复它并在上游进行修补,那将是最好的选择,因为如果GC运行正常,这意味着在广泛的应用程序中,而不是游戏中,都有潜在的性能提升。 但是,宝贝的步骤:)

我希望这至少会有所帮助,我对这种事情真的没有什么经验。
setrace.zip
这是从perf收集的系统跟踪的副本。 它应该可以从Windows中的PerfView打开。 或者,您也可以将fileperf.data.txt拖放到SpeedScope中
我尝试查看SpeedScope中的痕迹,但是正如我所说的,我基本上不知道我在看什么。
希望其他人可以利用它。 如果需要更多信息或其他信息,我会尽力提供。

@ kisak-valve,您好,仅供参考。太空工程师不适用于Proton 4.11-2,但适用于Proton 4.2-9。
它从4.11开始,但是有一些奇怪的错误,而在4.11-2中,他根本没有开始。

而且,在@InflexCZE的帮助下,我们继续遭受性能

如果您需要任何帮助来查找导致4.11-2问题的原因,请在此处发布,我们将尽力提供帮助。
而且,如果您可以使用@InflexCZE来改善游戏性能,

您好@LtSich ,谨提醒您,我是Github上Valve的问题跟踪程序的主持人,而不是Proton开发人员。

回顾最近的历史,似乎有多个开发人员加入并正在思考游戏,所以我没有多少贡献。 这似乎是Proton 4.11-1-> 4.11-2回归的第一个明确提及。 您能否将PROTON_LOG=1 %command%到游戏的启动选项中,并将生成的$ HOME / steam- $ APPID.log拖放到注释框中。

对不起,我的错@ kisak-valve。

这是我的Proton 4.11-3日志https://dl.cafe-philo.net/steam-244850.log.gz
dotnet 472的安装失败。

有更新/进度吗?

我认为没有更新。

dotnet 472的安装失败。

确保winetricks已更新,如果不尝试降级几个版本,这是他们先前版本中的一个错误,有人告诉我它可能已通过最新版本修复。 (还可以自己尝试)

这是使用包装注入方法(d3d11,dxgi)在Win10下将游戏加载到新的外星世界的详细说明。 没有启用任何覆盖。 使用了1080TI。

Win10-trace [1.6GB]: https ://www.dropbox.com/s/2yxl18f7a2l126o/SpaceEngineers.7z?dl
_Linux-trace []:有帮助吗?_

也许这将有助于进一步研究性能问题。

我已经看了一些表演录音。 我仍然不知道发生了什么,但是我注意到Inode不匹配似乎经常发生,并且是在延迟高峰期间占用最多CPU性能的一项。

Screenshot_20190916_073836

我还注意到,在滞后期间,单个内核的峰值达到100%,其他内核的使用率下降。 我不确定该怎么做。 也许游戏的其余部分正在等待单线程。

这是选择了更多尖峰的图像。(屏幕下方有更多项目,但我不想发布许多屏幕截图。)

Screenshot_20190916_074053

以下是一个略窄的峰峰值选择,显示了类似的问题。

Screenshot_20190916_074206

我对此没有任何技术知识,但希望对您有所帮助。

AFAIK inode mismatch是sysprof的警告,文件已在磁盘上更改。 在您的跟踪中,这可能意味着自记录跟踪以来,磁盘上的Protonsteam二进制文件已更改。 因此,无法显示导致尖峰的可执行文件的实际符号。

好吧……MS Dotnet中的某些问题导致了延迟问题。 在接受@InflexCZE建议并禁用DotNet版本错误对话框之后,我让SE使用wine-mono 4.9.3。 我禁用检查后,主菜单没有滞后。 游戏一直在世界负载下崩溃,并出现脚本编译器错误。 在删除脚本编译器之后,游戏世界无法再加载几次,但最终让我进入了《坠毁的红船》世界。

游戏运行完美无缺……一点也不停顿。 偶尔只有淡淡的音频淡出(与“ Fallout 4”中相同的音频淡出有关,faudio可能存在一些问题),但没有滞后或停顿。 我可以确认MS DotNet确实存在断断续续的情况,即使是经过破坏的脚本编译器也是如此。 因此,我不确定脚本编译器到底出了什么问题,这意味着没有mods……但这确实意味着如果禁用脚本编译器,mono将能够很好地运行原始游戏。

如果有人需要日志或其他信息,我会尽力提供帮助。

好吧,我创建了一个视频,显示了该游戏的DotNet和Wine-Mono版本。 单声道版本运行得更好!

这是视频的链接:
https://youtu.be/LwqRLCQR6aM

现在,我们需要做的就是弄清楚如何使脚本编译器与Mono配合使用,并且该游戏将可以像在Windows上一样玩得很近!

那是很大的不同!
谢谢你的考验!

有了mono,它没有mods,也没有脚本?
还是只是没有mod的香草游戏?

您如何以这种方式运行游戏?
任何地方都有文件吗? (我真的不擅长这类事情)。

@LtSich dotnet和mono版本都是普通的,没有脚本或mod。

为了使游戏运行,我使用了@InflexCZE的建议并剪切了脚本编译器。
@InflexCZE的8月10日发布:

根据日志,Mono和我们的编译器的结合不是特别开心。
很好,我们不需要。

不幸的是,目前还没有禁用该编译器的要点,因此您必须剔除我已经确定并希望最好的两个关键位置。

1. Get rind of all stuff in this ctor.
   https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptWhitelist.cs#L47

2. Make this method return `null` (prevent it from invoking the compiler core)
   https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L154

看起来黄油光滑@ Linux74656 。 CG👍,您的辛勤工作终于得到了回报
我也许可以在晚上看一下编译器,也许我们也可以使它工作,以便您也可以使用mod。

顺便说一句,我确实看过提供的跟踪不熟练使用,或者缺少符号或其他东西,但是在任何情况下,我都无法打开跟踪并查看任何有用的信息那里。 由于mono看起来很稳定,我想我们可以继续进行下去,然后将.NET FW调试留给其他人:)

我也无法从性能跟踪中获得任何有用的数据,这就是为什么我放弃了dotnet并开始致力于使Mono正常工作的原因。 我非常确定跟踪是不完整的,因为我不知道如何解决丢失的符号。

该死的,如果游戏可以运行真的很棒的mod和脚本...
非常感谢您的工作人员!

这是游戏尝试加载保存的世界时的日志和minidump文件。
这使用的是wine-mono,唯一修改的代码是禁用dotnet弹出窗口,因此脚本编译器代码保持不变。
SpaceEngineers.zip

简要地看一下编译器后,看来我们可以很快解决这个问题,至少是这个问题。 之后,我们会看到什么/如果有其他事情发生。

在VRage.Scripting.MyScriptWhitelist中,有6个保护措施可确保白名单与提供的BCL兼容(有关更多信息,请访问此处:https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-520141233)。
那些需要走。

IL.thowIL.pop替换IL.thow IL.ret

MyScriptWhitelist#RegisterMember(MyWhitelistTarget, ISymbol, MemberInfo):
    (2x) throw new MyWhitelistException("The member " + member + " is covered by the " + namespaceKey + " rule");
    (1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + member);

MyScriptWhitelist#Register(MyWhitelistTarget, INamespaceSymbol, Type):
    (1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + type);

MyScriptWhitelist#Register(MyWhitelistTarget, ITypeSymbol, Type):
    (1x) throw new MyWhitelistException("The type " + type + " is covered by the " + namespaceKey + " rule");
    (1x) throw new MyWhitelistException("Duplicate registration of the whitelist key " + whitelistKey + " retrieved from " + type);

进行此更改后,我们冒着白名单检查器可能会误操作的风险,要么允许脚本执行超出其应有的功能,要么禁止应允许的操作。 我们到达那里后就可以解决。 现在,我很乐意让它开始:)

如果您开始玩游戏或其他问题阻止了您,请告诉我这可以带您到哪里。

那使我进入了启用实验模式的游戏。 在我收到错误消息之前。

不幸的是,我认为脚本无法正常工作。 我能够使用一些基本的模组(DX11门包DX11快门...等),但是像Easy Inventory之类的东西无法正常工作。
我发现有些东西很有趣,游戏竞选任务似乎也不起作用……我想他们依赖脚本。 您可以在下面的视频中看到错误。
视频链接: https :

以下是此事件的日志文件:
SpaceEngineers.zip

是的,广告系列也可以在脚本上运行。

有一个特殊的屏幕,显示mod-loading错误。 (Ctrl?)+ F11,然后加载到游戏中。 如果在加载过程中出现问题,则应该在那里。

为了进行快速的编译器测试,请尝试在空旷的环境中粘贴可编程块+电池,然后在以下脚本中加载。 它应该以块详细信息的形式打印该消息,或者如果失败则向您抛出一些编译错误。 这应该告诉我们编译器是否可以正常工作,是否只需要进行一些调整或是否已完全损坏。

void Main() 
{
    Echo("Yay works");
}

我创建了一个空白世界,并使用上面的代码放置了一块电池和一个可编程块。 这是我点击检查代码后的结果:
Screenshot_20190925_185615
没有其他弹出。
当我关闭它并返回到我运行的控制面板时,它说未找到程序集...(结果如下)
Screenshot_20190925_190813
单击重新编译不会执行任何操作。

我猜这属于“完全破裂”类别:)
日志中有什么?

这里是日志: SpaceEngineers.zip我也包括了Proton生成的日志。

Alt + F11转到此屏幕:
Screenshot_20190926_073809
然后单击“在新窗口中打开”将显示以下内容:
Screenshot_20190925_191201
我在此测试中加载了4个mod:简易清单(失败),文本HUD API(失败),DX11 DoorPack(某些纹理问题但可以使用)和DX11快门(功能完全没有问题。)
因此,似乎没有内置脚本的mod可以正常运行。

没有错误消息,没有日志,我不确定如何发生,但看起来您在我们的编译器错误报告中发现了漏洞。

我想我得自己调试一下。 您能写下一些步骤使SE对Mono起作用吗? 使用什么Linux,下载什么软件包,...我将设置VM,并尝试缩小正在发生的事情。

好吧@InflexCZE

注意:我会避免使用虚拟机,但我永远无法使用其中一个启动游戏。 VM可以用于有限的代码调试工作...但是从长远来看,将Ubuntu安装到_blank和split_(以最大程度地减少数据丢失的风险)SSD上可能会容易得多。 HDD可能可以工作,但我注意到将HDD安装在HDD上时,游戏中的结结更为严重。
祝好运! 我希望这有帮助。

Guide.docx

好吧,好像是在我不在的情况下发生了什么事,我还从来没有设法继续使用.NET进行调试,但是如果Mono能正常工作,那就更好了!

我认为这是常规版本,在这里运行ModSDK版本是否更有意义? 那应该将mods中的异常记录到IIRC日志文件中吗?

我稍后会尝试并发布日志(如果有任何问题)。

Guide.docx

谢谢你的文档...但是该死,你只是停在最重要的部分:(
这可能是KSH必须直接在游戏中执行的操作。
绕过dotnet检查是否有任何方法可以检测到该游戏在Linux上运行...

Windows用户应进行dotnet检查,但在同一条语句中也应检查单声道支持

如果您在谈论修改游戏以添加质子/葡萄酒特定检查,请不要这样做。

@ Linux74656虽然我理解您对编写有关如何修改代码的指南的忧虑,但您至少可以告诉我使用了哪个工具? MonoDevelop的Assembly Browser似乎不允许进行任何修改(或者我只是无法正确使用它),而且我似乎也找不到其他随时可用的Linux工具。 我的工作机器上确实有Rider的许可副本,这可能会有所帮助,但我会尽量避免在工作中弄乱它。

重新阅读,_tool_在指南中:)

@ Linux74656顺便说一句,请添加“为所有其他标题启用SteamPlay”步骤。 花了我一个小时来弄清楚为什么我的图书馆中的所有游戏基本上都可以直接下载,而SE只能从其他计算机上提供流媒体(我知道,我很傻)

@InflexCZE我确实已经看到了,但是我希望可以在Linux上正常运行,因为我的Windows安装目前已完成,并且我没有时间也没有修复它的意愿...我将让VM运行我猜想,如果需要的话,明天再继续,但是现在与您一起讨论可能是多余的。 尽管如此,如果可能的话,将尝试伸出援助之手:)

@ Onyx47啊,对不起,我没有意识到。 我不习惯在Linux上使用.NET,所以我不知道那里的工具:(

我带来了一些好消息。 我设法使编译器运行,编译动态程序集并执行它。 到目前为止,仅在.NET FW上进行了测试。 快到凌晨1点了,所以我现在开始尝试切换到Mono时就不会打扰:
无论如何,这里解决。 尝试一下,如果您在Mono上遇到任何问题,我明天将继续调试它。

我们的引擎在这里呼叫罗斯林:
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/MyScriptCompiler.cs#L204

链接中的代码有些过时,实际上游戏的当前版本中还有一个参数( pdbStream )。 删掉这个参数(改为传递null ),编译器应该遵守。 (因此,基本上将其还原为链接中该行的旧版本。)

Ofc将此更改应用在昨天的更改之上。 如果白名单检查员抱怨(如我所说的BCL并不完全兼容,因此现在可能会对其进行一些错误配置),则可以通过在此方法的开始处立即返回来非常简单地将其关闭:
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/Sources/VRage.Scripting/Analyzers/WhitelistDiagnosticAnalyzer.cs#L43

抱歉@InflexCZE我完全错过了! 感谢您指出! 我已经用修订版更新了指南链接!

@ Onyx47不幸的是,我尝试寻找在Linux上本机运行的工具。 我找不到任何有效的方法。 因此,我使用了提到的工具,并在安装了vcrun2015 vcrun2017和dotnet472的wine前缀中运行了该工具。 看起来效果不错。

对于普通的Steam用户来说,要使这款游戏正常工作,似乎还有很多工作要做。 我确实希望这些解决方案中的某些解决方案可以在一段时间内针对SE进行更新,以便人们可以按一下即可完成。 我现在可以告诉您,编译他们自己的脚本的人并不多:)

@InflexCZE知道了!!!!
您在编译之前给我的游戏脚本!

void Main() 
{
    Echo("Yay works");
}

Screenshot_20190926_193213

简易库存也一样!
Screenshot_20190926_193524

@InflexCZE
哇!

我们是否会在不久的将来看到这些变化出现在游戏的上游,尽管其hacky形式有所减少? 我很想重新开始玩,已经很久了。

让我们知道一旦达到reddit,Linux播放器计数颠簸是什么样子!

作为临时的解决方法,从法律的角度来看,创建自动进行相关更改的补丁文件/修补程序脚本是否会被否决? 我不是律师,但在我看来,各种宽屏补丁以及某些游戏的类似补丁从来没有打扰任何人,这对我来说似乎是相同的修改...

明确地说,我建议分发经修改的可执行文件,而只是发布一个简单的二进制差异文件,该差异文件将修补仍必须从Steam下载的现有游戏。

也许@InflexCZE可以通过对我们敏锐的法律/领导力为我们检查这一点? 当然,我希望有一个不错的改变,我们可以将这些改变纳入游戏本身,并进行所有讨论,但是作为替代方案(以防在上游造成问题)可能是可行的(并且可能制作成Lutris脚本,供精通技术的玩家使用。

当然,另一个选择是对Wine / Proton进行更新,使该游戏可以在MS .NET上正常运行,但是由于这似乎是GC问题,因此距离它还有很长一段路要走,因为这无疑是一个棘手的问题。

很高兴看到对Linux上的游戏至少有一些热爱,我希望能够玩它,甚至可以通过质子玩。

@ Onyx47如果可以创建仅包含所需更改的差异,则考虑到您没有重新分发KSH IP的任何部分,这实际上没有任何法律问题。 从本质上讲,它与常规模块没有什么不同

我已与Keen联系,以重新分发此类补丁程序的合法性,他们将电子邮件转发给的人说,他们将在周一的会议上将其提交给CEO。

话虽这么说...我已经创建了一个Diff补丁并将其应用于姐妹计算机上的游戏。 它似乎没有问题,并且工作正常。 我们甚至可以玩Direct Connect局域网游戏。 没有任何问题。
我确实对多人游戏有所担心,也许@InflexCZE可以启发我。 由于我已经修改了几个游戏的DLL文件,因此它可以正常工作。 如果游戏连接到官方/公共服务器,游戏/蒸汽能够检测到并认为这是一种欺骗的机会是什么? 还有,让客户端玩家运行经过修改的游戏代码(允许某些脚本通过白名单过滤器)的其他潜在后果是什么?

如果这是有可能发生的,并且我从Keen联系人处获得了分发此类补丁的许可,则我需要确保人们理解不要通过Internet连接到多人游戏,而只能在这种情况下玩本地LAN游戏。修补。

您做得非常好!
谢谢你!

我希望您可以分发补丁。

因为我只玩单人游戏,所以我在多人游戏方面没有任何问题。

我将把法律责任留给ppl负责,并在回应中只关注交易的技术方面。

正如您有机会亲眼所见,对游戏进行摆弄以使其完成原本不打算做的事情非常容易,因此,客户无法信任。 这是我们非常严格遵循的理念,整个游戏都是这样编写的。 结果是服务器进行所有模拟,而客户端只是连接人机和服务器的图形界面。 客户端从不计算任何“用于服务器”的内容,也从不告诉该怎么做,它们只是中继来自人类的请求。 服务器将验证每个请求,执行该请求,并将结果发送回给您(如果您不允许执行某些操作,请当场踢您)。

这也适用于源自客户端模式的请求。 对于可编程块脚本,情况甚至更简单,它们仅在服务器上运行。

综上所述,只要服务器在连接另一端观察到的动物遵循协议并进行有效查询,无论它实际上是什么,它都将被接受并视为合法客户端。

我想指出的一件事是,客户端和服务器在启动时都会建立固定的MP查询表。 如果您对游戏进行过分修改,则可能会将这张桌子扔掉,服务器将拒绝您进行连接。 在这种情况下,系统会告诉您您使用的游戏版本与服务器运行的版本不同。 如果遇到它,您就会知道发生了什么。

好吧,我将等待可能出现的差异,我是在IL编辑方面做错了什么,还是在某处发生了另一件事呢,拥有经过验证的有效修改版游戏可能比追赶幽灵更好。 创建世界时,我只是陷入了加载循环。 话虽如此,附加日志以防万一:

SpaceEngineers.txt

请注意,它在MyDefinitionManager.LoadData() - START处停止,最后一行是在我强制关闭游戏之后。 鉴于那里提到了脚本(尽管我什至没有启用实验模式,但我想先不测试它)我对它的编辑寄予厚望,因为我只是在编辑时犯了错误,而不是对Mono敏感。版本或其他内容。

编辑:可能不是游戏,昨天发现我的硬盘正在放弃鬼魂,所以是的...谁知道...

@ Linux74656我有一个问题。 在此视频(https://youtu.be/LwqRLCQR6aM)中,您显示了在Mono上游戏运行非常平稳的情况,因此帧时间图中有些峰值。

出于专业好奇心,您可以切换到Modding构建(使用事件探查器构建)并为我测量是什么导致了渲染线程上的尖峰以及尖峰有多大。

@InflexCZE
这可能是由于未优化的LLVM着色器代码输出所致。 RADV是免费的vulkan驱动程序,默认情况下使用LLVM来编译游戏中的着色器,并且很容易卡死。
可能需要对Valve的新ACO分支重复一遍,看看是否仍然存在卡塞现象。 在杀死ACO固定的2楼时也有类似的小口吃。

在API调用中没有明显问题之前,Space Engineer渲染捕获已在dxvk热门问题跟踪器上进行了审议。

我需要自己掌握一下差异进行测试。 我猜是合法的。

@InflexCZE我已经在wine-mono中尝试了profiler(对代码进行了修改),但没有成功。 加载世界后,它崩溃且没有错误消息。 我已经尝试过(用代码修改)与dotnet,我得到相同的结果。 我既尝试了使用experementail模式保存的世界,又尝试了没有实验模式的全新Crashed Red Ship World。
附加了单声道和dotnet的预保存世界的日志:
LogDOTNETProfiler.zip
LogsMonoProfiler.zip

我也收到Keen联络人的回应,他说,由于这些修改是作为社区活动进行的,因此热衷没有问题。 他确实强调说,他们目前不支持Linux。
因此,我想抽出时间感谢@InflexCZE在他的

我正在构建一个指南,以解释如何安装这些补丁。 完成后,我会发布更新!

好了,我制作了一个简单的存储库,其中包含一个自述文件,解释了如何安装补丁以及实际的补丁文件压缩并存档。
你可以在这里找到它:
https://github.com/Linux74656/SpaceEngineersLinuxPatches

@SpookySkeletons如果在GPU(着色器差)或DX API(质子包装)上存在问题,我们将在“当前”阶段(交换链)或某些特定的API调用中看到峰值。 我的猜测是Mono GC,因为它没有像.NET GC(我们最近才进行过测量)那样没有得到很好的优化,并且此刻游戏的托管对象数量非常繁重。

如果是这样,由于我们对XBox进行了优化,因此您可以期待将来的发行版中会有相当不错的改进。

@ Linux74656不幸的是,如果没有任何堆栈跟踪,这将导致严重崩溃。 我想我会放手,您将在下一版本中查看它是否有所改进。

您可以尝试的一件事是将游戏过程的环境变量“ MONO_GC_PARAMS”设置为nursery-size=32mminor=simple-parnursery-size=32m,minor=simple-par然后观察频率和/或频率是否有所不同尖峰的大小分别。

无论如何,很高兴与大家一起工作,希望您在SE期间度过一段美好的时光👍
如果以后需要任何帮助,请随时联系我。

非常感谢@ Linux74656
但是对我来说,atm的游戏运行良好,当我尝试绘制地图时,游戏崩溃了。
在每次游戏崩溃后,我都会尝试启动它...

我必须删除%appdata%文件夹才能重新启动...

我将进行更多测试以查找问题所在...
也许是图形配置或类似的东西。

至少我在主菜单上没有声音问题或错误。
启用vsync似乎会降低性能。

这是我们能够玩游戏的一大进步:)

@InflexCZE我尝试了您的建议。 绝对有所作为!
这是苗圃大小= 32m
nursery-size=32m

这是未成年人=简单票
minor=simple-par

这是托儿所大小= 32m,次要= simple-par
(来自游戏中,因为菜单没有任何尖峰。请注意,此尖峰没有与之相关的卡顿现象。)
nursery-size=32m,minor=simple-par

因此,似乎Nursery-size = 32m,minor = simple-par将相当有效地减少峰值。 我不太确定这意味着什么。 但我认为这很好。

@LtSich我也有类似的经历,只是我总是陷入无限的加载循环而不是崩溃,无法加载单个地图。

我会尽快再尝试一次,尽管今晚需要修复我的PC,但硬盘驱动器无法正常工作:(

@LtSich您是否正在运行modSDK构建(配置文件)? 如果是这样,请使用普通游戏。 我只看到bin64使用modSDK构建时在加载时崩溃

@LtSich您是否正在运行modSDK构建(配置文件)? 如果是这样,请使用普通游戏。 我只看到bin64使用modSDK构建时在加载时崩溃

哼,我记得我对此做了一些测试。
我将进行完整的全新安装,然后重试。

顺便说一句,您如何更改MONO_GC_PARAMS变量?

[编辑]
还有其他问题,我们是否应该继续使用PROTON_NO_ESYNC = 1%command%来开始游戏?
[/编辑]

您将MONO_GC_PARAMS = nursery-size = 32m,minor = simple-par%command%放入游戏的Steam启动选项中。 右键单击“ Space Engineers”,单击“属性”,单击“设置启动选项...”,然后将其粘贴到框中。
我的命令行中没有PROTON_NO_ESYNC = 1,它似乎可以正常工作。

谢谢 :)
删除所有内容后,我目前正在下载游戏。
我将能够告诉您这是否有所作为。

[编辑]
对我来说,这个游戏非常不稳定...即使在删除/安装游戏之后。
大多数时候,如果不删除SpaceEngineers.cfg,我将无法启动游戏
即使我可以开始游戏,也无法在不崩溃的情况下启动任何地图/游戏...
稍后我将进行更多测试...尝试找到不会崩溃的配置...
[/编辑]

@ Linux74656这是我之前建议的关于魔术的非常高级的文档:stuck_out_tongue:您可能会发现它很有用,尽管不要指望奇迹
https://www.mono-project.com/docs/advanced/garbage-collector/sgen/working-with-sgen

@LtSich请向我们提供游戏日志,以便我们了解发生了什么

@InflexCZE,我来看看,谢谢!

@InflexCZE :我发现了开始游戏的问题。
我必须禁用匿名跟踪。
如果启用它,则无法重新启动游戏。
只要我说不(每次启动游戏都必须说不),我就可以启动游戏。

现在我必须尝试开始游戏,或尝试加入自定义服务器:)

在启用匿名跟踪的情况下崩溃时,您是否需要一些日志?

我确实记得在日志中看到它抱怨无法获得GDPR同意,只是在我不选时就超时了(这应该在我上面发布的日志中可见)。 可能Mono中的某些Web API不能满足您的要求/不能100%兼容吗?

因此,尝试Linux74656的修补程序似乎可以正常工作,但有几个值得注意的例外。

  1. 简介影片无法播放(?我猜,不要知道),结果我花了前10分钟的时间盯着黑屏,因为我以为它挂了。 我单击后,它“跳过”了简介和GDPR消息(点击否)
  2. 它将正常工作一会儿,然后突然(需要对其进行更多测试)游戏崩溃到桌面,但否则运行正常。
  3. 大量的“低SIM卡速度”警告
    运行带有RTX 2070和8750H的Arch Linux(应该足够吗?)
    应该指出的是,它使笔记本电脑听起来像喷气发动机,尽管这从不令人震惊:P

@StripedMonkey如果您删除或重命名位于SpaceEngineers / Content / Videos / ksh.wmv的视频,则它将跳过介绍视频,并带您进入主菜单。
我偶尔会崩溃,但是我已经让它运行了几个会话,持续了超过4个小时,没有出现问题(一旦启动)。 下次它崩溃时,如果您可以将日志放在这里,我们也许可以弄清楚发生了什么。
通过Proton和DXVK运行游戏时,可能会导致性能下降...我已经在gtx960和4770K上看到了一些性能问题,尽管在rx580和R5 2500x上速度下降不太明显。 RTX2070在中高设置下的图形应该没有问题,而8750H应该能够使用一些基本的mod玩游戏。
当您按Shift + F1时,它特别抱怨什么?

具体说来是“由于自适应仿真质量降低了变形和体素变化的质量”。 IIRC SE日志中只有一条频繁的GC消息,但似乎与崩溃时刻无关。 我生成的下一次崩溃将发布日志。

我个人认为这与Sim卡有关,因为我真正尝试过的第一次崩溃是我试图在教程世界中以最大速度执行180。 我几乎一转身就死了。 需要做更多适当的测试才能弄清楚这一点。

我也收到很多这样的信息。 在RX + R5计算机上,这种情况较少,但仍然相当频繁。 既然您正在运行移动处理器...除了确保冷却良好并正确加速至其4.10Ghz速度之外,我认为您没有太多可以提高性能的方法。 您还可以尝试取消选中某些游戏设置,例如气密性,看看是否有影响。

SpaceEngineers.log <-崩溃
总体而言,性能看起来不错,而忽略了崩溃。 因此,我不太担心在短期内改进它。 这次坠机事故是在我乘坐NPC敌舰上的卡马卡兹号后专门发生的。 我死后几乎立即崩溃了(尽管请注意,我并非总是死于崩溃),我不确定是什么原因造成的。

日志在您死亡时结束。 似乎没有记录到崩溃。
我迅速尝试加载到一个世界中,看看是否可以使它崩溃。 我猛烈地将三艘船猛撞到地面,并四次自杀无害。 我注意到我姐姐的RX + R5系统有更多问题。 如果我能弄清楚为什么她的撞车事故比我的撞车事故更频发……我将拭目以待。

我想我明白了。 尝试使用winetricks安装vcrun2005,看看是否可以解决崩溃问题。 另外,请确保将Windows前缀版本设置回Windows 7。

我真的很想尝试一下,但似乎在尝试加载新世界时遇到了段错误
https://pastebin.com/E7Ha8aCK-steam-244850.log

编辑//
很愚蠢,可能应该提供一些细节。
日志被切成看似有趣的部分,之后的大部分日志只是未找到十亿倍的消息的符号。
系统是Slackware64当前版本,Proton 4.11-6,已通过发布的指南运行(感谢Linux74656!),包括vcrun2005并将Windows版本设置为Windows 7,尽管在此之前它也会崩溃。

因此,通过此修复程序是否可以确认与Windows用户配合使用的mods和多人游戏是否有效?

@Aerol尝试验证游戏文件的完整性,然后重新应用补丁。

@jarrard Mods将起作用。 与其他Linux用户一起使用多人游戏也可以。 我没有尝试与Windows用户一起玩游戏...但是应该可以。

@ Linux74656安装vcrun2005和Windows 7导致了一些非常糟糕的结结,然后重新启动winXP似乎可以解决它? 无论如何,我都比过去玩了更长的时间,尽管最终我还是崩溃了。 也许与旅行有关? 我真的不知道我正在抢救一个电台,有几次实例中,SIM卡速度降至正常水平以下,但随后又返回。 我离开车站后,即将登上一艘废弃的船,我再次坠毁。 这可能是我最长的一次航行,没有撞车,但是我又一次没走动,只是把东西磨碎并试图重建船。

我尝试按照您的指南和游戏加载中的步骤进行操作(菜单有时会出现一个很小的声音尖峰),但是,启动一个新的基于地球的世界会导致游戏无法启动世界,并且过程会发生死机。

耸耸肩。 我跟随着T, https://github.com/Linux74656/SpaceEngineersLinuxPatches

_加载世界时出错,请检查日志文件。_

@StripedMonkey我都在win7上,我只注意到计算机结结巴巴。 我将其设置为winxp,轻微的结结消失了。 为了统一起见,我将指南更改为WinXP。
让我们尝试全面修复,然后将所有内容安装在我的前缀中:我认为这是我随时间推移在前缀中安装的所有内容:vcrun2003 vcrun2005 vcrun2015 vcrun2017 xact d3dcompiler_43 d3dcompiler_47看看是否安装了所有这些帮助。

@jarrard该错误消息应该已被补丁文件禁用...尝试验证游戏文件的完整性并重新应用补丁程序。

我确实在应用补丁之前进行过验证,猜想我会再做一次(是文件已按日期修改)

我知道了,您的指令有一个不区分大小写的小问题。

bspatch VRage.Scripting.dll Vrage.Scripting.dll $ HOME / Documents / SpaceEngineers / VRage.Scripting.dll.patch

看到问题:)

@jarrard谢谢! 我知道了,它已在指南中更正!

@Aerol查看是否与您的问题有关。 使用更正的命令bspatch VRage.Scripting.dll VRage.Scripting.dll重新应用VRage.Scripting.dll.patch

好吧,它似乎在进步,但是永远处于4-5GB的内存使用率和%50 cpu的使用率,我是否要等待半个小时才能加载它? 还是继续尝试? 当然,游戏存在稳定性问题。

是的,这是一个已知问题。 不要为等待它而烦恼,它永远不会加载。 只需强行关闭它,然后尝试重新加载即可。 它将在大约50%的时间内工作。 我正在努力找出造成这种情况的原因。

好吧,从前一阵混乱开始,我设法载入了一个已经保存的世界。 这似乎行得通,也许只是在创建新世界时遇到了一些麻烦,也许如果我一直尝试这样做会行得通。

尽管如此,现在的帧率还是非常可玩的,唯一的问题是创建世界时崩溃/过时,在我的情况下,仍然有一个小的音频audio啪声,我可以尝试一下Pulseaudio的一些解决方法。

即使设置了10k树,游戏也可以在4k上很好地运行,只需关闭fxaa(如果需要,使用reshade smaa),将着色器/阴影设置为中,一切都很好。 甚至可能比Windows还要平滑,因为在Windows下,即使在80fps左右的速度下,我也都有怪异的fps印章。 (可以是快速同步或类似的操作)。

另外,如果有人知道如何解决发生的小声音裂纹,请告诉我,到目前为止,我已经尝试了一些pulseaudio设置,但运气不佳。

更新:命令行中的PULSE_LATENCY_MSEC = 90帮助分配了我的USB OMNI声卡,现在确实没有任何crack啪声,只是偶尔发出非常微弱的声音,这并不令人讨厌。 好极了

不幸的是,验证游戏数据除了重新下载视频外没有解决任何其他问题,而且我已经运行了正确的bspatch命令。 :/

如果您已验证游戏数据,则需要重新应用补丁(如果尚未安装)。

我遇到了其他人正在遇到的相同的加载屏幕停顿,而且除此之外,加载离线世界后,游戏中的瞬间似乎会弹出同样的停顿。 它以大约40%的CPU运行率。
渲染不会停止并且粒子仍会移动,但是物理引擎会停下来,报告较低的模拟质量,并且在静止不动时会暂时停顿帧。

根本不接受任何菜单输入,我无法移动角色,但其他所有内容仍会渲染。

我在其他人面前遇到相同的负载屏幕停顿

是的,这似乎经常在产生新世界时发生,如果您继续尝试,每次尝试的进展似乎都不同。 我发现可以使用%100的东西正在加载您以前创建的现有世界,我想您甚至可以下载它们。 但是,是的,这种悬念似乎与产生新的世界自动取款机有关。

将补丁应用到Steamplay上的质子前缀上,
设法进入菜单,但是一旦我尝试开始任何游戏,游戏就会崩溃,我也没有声音,也无法按Alt键选中游戏。

.log文件在哪里?

拱lin4.19.69-1-lts
GTX-1070
英特尔I5-7600K

不仅如此,加载现有世界经常会冻结在屏幕上。

如果我确实设法加入游戏,那么整个物理引擎就会停止,并且我无法尝试任何菜单,但是帧不断出现,效果也不断变化。

这是您可以使用的世界,进入您的保存文件夹位置_(不确定该号码对我而言是否唯一,但是其中的文件夹可以进入您拥有的任何现有文件夹中)_。 在我尝试加载它的4到5次中,这已达到100%。 该文件实际上是7zip文件。

spaceengineerssavedworld.zip

@StripedMonkey当然,可悲的是它仍然存在段错误。

@EduardoGodoy可以将PROTON_LOG = 1添加到启动选项中,运行游戏并检查〜/ steam-244850.log吗? 游戏日志位于〜/ .local / share / Steam / steamapps / compatdata / 244850 / pfx / drive_c / users / steamuser / Application Data / SpaceEngineers / SpaceEngineers.log

在加载GUI之前,设法像我的一样进入您的保存,但是在物理上冻结游戏中的物理引擎。 编译器坏了吗?

很好奇这样会阻止它...

嗯,好的,您可以尝试我的编译文件,但我看不出它可能出错或有什么不同。
已编译文件fortesting.zip

如果那行不通,那么其他事情正在为您崩溃。 也许是视频驱动程序? 我在1080TI上仅在pop_os plasma5 atm上使用nvidia。 (如果您使用的是AMD,请尝试将质子供应商强制使用NVIDIA)

“编译器”应该与此无关。

@EduardoGodoy它们位于Steam前缀中。 ~/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.log
为了安装并运行此设备,我:

  1. 已安装winetricks,wine-mono和bsdiff(以前从未安装过Wine)
  2. 甚至在第一次运行游戏之前,就运行了WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact

    WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi"
  3. 验证游戏文件并运行
bspatch Sandbox.Game.dll Sandbox.Game.dll $HOME/Downloads/Patches/Sandbox.Game.dll.patch
 ```
and

bspatch VRage.Scripting.dll Vrage.Scripting.dll $ HOME / Downloads / Patches / VRage.Scripting.dll.patch
```

  1. (可选)删除SpaceEngineers/Content/Videos/ksh.wmv以防止加载黑屏。

据我所知,这是使它在arch上运行所要做的一切。
质子版本4.11
葡萄酒版本4.16
酒单4.9.2
葡萄酒技巧20190912-1
NVIDIA驱动程序435.21

这是日志:
https://pastebin.com/zZ7MzreW

“编译器”应该与此无关。

@EduardoGodoy它们位于Steam前缀中。 ~/.local/share/Steam/steamapps/compatdata/244850/pfx/drive_c/users/steamuser/Application Data/SpaceEngineers/SpaceEngineers.log
为了安装并运行此设备,我:

1. Installed winetricks, wine-mono, and bsdiff (Literally never installed Wine before this)

2. Before even running the game for the first time ran `WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact`
   and
   `WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi"`

3. Verify the gamefiles and run
bspatch Sandbox.Game.dll Sandbox.Game.dll $HOME/Downloads/Patches/Sandbox.Game.dll.patch

bspatch VRage.Scripting.dll Vrage.Scripting.dll $HOME/Downloads/Patches/VRage.Scripting.dll.patch
1. (Optional) Delete `SpaceEngineers/Content/Videos/ksh.wmv` to prevent a black screen on loading.

据我所知,这是使它在arch上运行所要做的一切。
质子版本4.11
葡萄酒版本4.16
酒单4.9.2
葡萄酒技巧20190912-1
NVIDIA驱动程序435.21

这是我用来安装补丁的内容:
patch

质子版本4.11-6
NVIDIA-SMI 435.21
wine-4.15(分期)(虽然我没有用酒)
winetricks 20190615(我也没有使用过winetricks)

从我看到的系统与您的系统之间的唯一区别是,我没有运行“ vcrun2015 xact”,我将执行此操作,然后查看是否收到此错误。

日志:
https://pastebin.com/zZ7MzreW

尝试多次清除前缀,并且我的md5与修补的文件匹配。

我在游戏中加载,然后在加载屏幕中进行相同的冻结,但在游戏中进行。 有时第一人称GUI有机会加载,而其他时候则没有。 如果我随地漂流,它将无法停下来,没有菜单,并且应用程序占用了CPU的功能,无法进行任何按键操作,四处查看,物理停止。

Gentoo与AMDGPU。

嗯,您碰巧没有Zen2 CPU吗? 锐龙3xxx

这是第4代Intel,随着我掏出coreboot笔记本电脑,很快又成为了第3代。 它没有任何新的CPU指令问题。

我的系统中的其他某些(软件)组件必定与此混为一谈。

从我看到的系统与您的系统之间的唯一区别是,我没有运行“ vcrun2015 xact”,我将执行此操作,然后查看是否收到此错误。

您有110%的人需要vcrun2015等。 已安装。

NVIDIA-SMI 435.21
wine-4.15(分期)(虽然我没有用酒)
winetricks 20190615(我也没有使用过winetricks)

您的Winetricks版本已有3个月的历史了,虽然可能与我们遇到的问题没有任何关系。可能最好使它们尽可能相同。 您也没有提到单声道版本,我想您也安装了那个版本?

@StripedMonkey我跑了WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" winetricks --force -q vcrun2015 xact
接着:
WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/244850/pfx" msiexec -i "Downloads/wine-mono-4.9.3.msi

这次,当我开始玩游戏时,它并没有立即崩溃,但是我被困在加载屏幕中了15分钟(在当地时间01:30开始生成世界),没有崩溃,但是我猜想游戏将会是永远卡在载入画面中
仍然没有声音,仍然无法alt-tab,不得不离开XFCE并终止终端中的进程。

我没有提到mono,因为默认情况下应该安装它,不是吗? 我也没有质子检查蒸汽前缀上的单声道版本(winetricks显示我所服用的葡萄酒的版本吗?)

我将把winetricks更新为最新版本并检查单声道版本。

这是新的日志:
https://pastebin.com/YNLAK9We
更新:
单声道版本为“ mono-6.0.0.319-1”

尝试以下补丁:
NEWPatches.tar.gz
应用这些修补程序之前,需要将原始DLL放入SE目录。 如果您没有进行备份,则IE会验证游戏文件的完整性。

如果这行得通,我将在早上用这些补丁更新存储库。

我没有提到mono,因为默认情况下应该安装它,不是吗? 我也没有质子检查蒸汽前缀上的单声道版本(winetricks显示我所服用的葡萄酒的版本吗?)

单声道!=葡萄酒单声道。 您不需要安装protontricks即可对其进行检查,并且(Linux74656的指南特别提到了)它要求4.9.3。

我可以肯定地告诉您,那个单声道是不正确的,仅仅是因为版本控制与一周前4.9.3发行的wine-mono的当前版本不匹配

我没有提到mono,因为默认情况下应该安装它,不是吗? 我也没有质子检查蒸汽前缀上的单声道版本(winetricks显示我所服用的葡萄酒的版本吗?)

单声道!=葡萄酒单声道。 您不需要安装protontricks即可对其进行检查,并且(Linux74656的指南特别提到了)它要求4.9.3。

我可以肯定地告诉您,那个单声道是不正确的,仅仅是因为版本控制与一周前4.9.3发行的wine-mono的当前版本不匹配

我如何检查酒单? 从谷歌搜索,我只看到与“未找到单”错误相关的问题。

尝试以下补丁:

如果这行得通,我将在早上用这些补丁更新存储库。

发生了什么变化?

@ Linux74656通过此新补丁,我得到一个“请使用此修补程序更新您的.net运行时:\ nhttps://support.microsoft.com/kb/3120241 \ n \ n否则该游戏将无法正常运行

好的,我尝试了很多事情,但是我不能参加任何游戏:(
无法创建新游戏,无法在Windows计算机上加入游戏,无法尝试加载已保存的游戏(在此处下载)。

这是我尝试创建新游戏时的一些日志: https :
我在那些日志中没有发现任何有用的东西,但是也许我没有找到正确的地方。

前缀配置为doc说,尝试使用winxp或win7。
尝试添加其他组件(crun2003 vcrun2005 vcrun2015 vcrun2017 xact d3dcompiler_43 d3dcompiler_47)

我注意到VRage和Vrage上的小错误,然后重新应用补丁。

我尝试用很多不同的选项(实验,声音,脚本等)开始游戏。

我已经安装了mono-devel,但这并没有改变任何东西。

我待会再回来,也许我错过了一些事情...

我已经安装了mono-devel,但这并没有改变任何东西。

如前所述,wine-mono!= mono-devel。 您是否从https://github.com/madewokherd/wine-mono/releases安装了它?

我已经安装了mono-devel,但这并没有改变任何东西。

如前所述,wine-mono!= mono-devel。 您是否从https://github.com/madewokherd/wine-mono/releases安装了它?

是的,我已经按照文档中的说明安装了wintetricks。
但是要确保我安装了mono-devel,因为当我尝试启动某些游戏时,我的游戏继续崩溃。

这次,我能够开始一个新的外星世界,一切都很好。 因此,我决定尝试加入MP服务器(本地无mod),它似乎正在加载,但最终在20秒后崩溃:(

SpaceEngineers.log

@jarrard您是否尝试过加载到Windows服务器中? 日志清楚地表明,MP表已关闭(我之前提到的问题)

关于游戏停滞,如果您设法在游戏处于这种状态时进行转储(或者您通常在Linux上检查进程内部状态的其他任何操作),它可能会告诉我们发生了什么。

MP表关闭(我之前提到的问题)

不好意思,您在说什么,是澳大利亚服务器2在Windows下工作。

固定的MP查询表由客户端和服务器在启动时建立。 如果您对游戏进行过大的修改,则可能会将这张桌子扔掉,服务器将拒绝让您连接
https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -536186685

或这是Mono提供的其他BCL的另一个问题。 在任何一种情况下,使交叉播放工作看起来都不是那么简单。

好的。 @SpookySkeletons

发生了什么变化?

新补丁来自正确修改的二进制文件。 假设我是TheBigDumb tm,并且在修改反编译代码时走了一条捷径,方法是实际修改C#代码方法并重新编译(没有完整的源代码,我知道是对的!)。 这次我只是使用中间语言编辑器来修改二进制文件。 似乎已解决了许多已发生的启动挂起的问题。 我学到了教训。 如果我不确切知道自己在做什么,那就没有更多捷径了!

@StripedMonkey

@ Linux74656通过此新补丁,我得到一个“请使用此修补程序更新您的.net运行时:\ nhttps://support.microsoft.com/kb/3120241 \ n \ n否则该游戏将无法正常运行
您可以尝试将补丁重新应用到Sandbox.Game.dll。 虽然我只是将两个补丁重新应用到dll文件的新原始副本。

@LtSich新补丁可能会解决您的世界加载问题。 我也不认为单声道版本会有所作为(只要它是新的)。 我只是将其包含在统一性指南中,以确保发生错误时每个人都可以运行相同的版本。

@jarrard不幸的是,目前看来Windows计算机的多人游戏不可用。 但是我可以确认,如果您与具有此补丁的其他Linux计算机一起玩,则游戏运行得很好。

我已经在这里更新了指南存储库: https :

我差点翻转桌子,直到意识到太空工程师刚刚进行了更新:smile:如果您的游戏更新到最新版本,补丁将无法工作。 我会正确地编译这么一个新的! 并把它们放在仓库中。
@InflexCZE是否可以在不运行游戏的情况下告诉计算机上哪个版本的游戏? 这将有助于确保人们应用正确的补丁程序。

不幸的是它更新了我的身后:sweat_smile:猜猜我得等这些新补丁了。

恐怕游戏版本已嵌入二进制文件,并且没有多余的“ Version.txt”或类似内容。

@ Linux74656

cat $HOME/.local/share/Steam/steamapps/appmanifest_244850.acf | grep buildid | cut -f 4 | sed -e 's/"//g'

有点笨拙,可能是使用awk的更好方法(我应该真的靠awk !),但是它可以获取当前安装的内部版本号。 如果您的计划是编写启动脚本以检查每次运行或其他操作,则可以使用steamcmd检索最新的内部版本号,请参阅: https :

如果您要走这条路线,我建议您使用某种JSON解析器,至少在我看来,通过它进行greping实在太麻烦了。 想一想,Python应该可以很好地工作,反正几乎每个发行版都安装了它。

好吧,我上传了新的1.192.103补丁。 如果您的游戏已更新,则需要应用这些补丁而不是其他补丁。
@ Onyx47您认为对dll进行简单的校验和验证是否足够有效? 我可以尝试编写一个脚本来将用户的DLL与预先生成的校验和列表进行比较,该脚本在理论上应与所安装游戏的版本相对应。 然后,它可能会自动运行bspatch并为用户安装正确的版本。

我猜@ Linux74656可以工作,但老实说,我认为更简单的方法可能会工作:

  1. 生成补丁的脚本,该补丁:

    • 获取原始DLL,修改后的DLL,创建补丁并将其放入名为SE_Linux_$buildnumber.tar.gz类的档案中

    • 将文件上传到某个地方,无论是GitHub还是其他服务器

  2. 用户脚本:

    • 读取当前安装的版本,并检查服务器/ GitHub上是否存在名为SE_Linux_$buildnumber.tar.gz的文件。

    • 如果是404s,则补丁尚不存在

    • 如果存在,请下载,应用它,然后在某个位置写入文件(SE数据目录可能是最安全的),其中应包含最新下载的补丁程序号。 以后可以使用它来检查是否需要在下次运行中下载任何内容。

    • 如果一切正常(或无需修补),请通过Steam运行游戏

当然,在整个过程中仍然可以选择对文件进行某些验证,但这似乎是一旦编写脚本后,等式两边所需的最小工作量。 唯一的缺点是它不会处理更新,因此启动部分可能更适合保留在Steam中,因此它在那里进行更新,并且如果更新着陆,则用户可以运行修补程序。

我有一台具有足够可用空间和无限带宽的服务器,如果我们决定不对它们使用GH,我可以提供原因,只需要为上传部分设置一个FTP帐户,就可以了。

一旦我的机器恢复运行状态,我今晚可能会敲响一些有用的东西。

好吧,新补丁还是我的游戏继续崩溃?
使用Debian测试...好吧...让我很难过...

@LtSich我对崩溃问题有预感。 尝试删除您的wine前缀。 重新安装指南中列出的单声道版本。 然后仅安装vcrun2017和xact。
我检查了空间工程师的Steamdb页面,并且vcrun2017是唯一列出的vcruntime。 我已经在系统上安装了它(以及许多其他工具),并且崩溃非常罕见。

是否已经有脚本解决方案? 我无法连接到运行脚本的任何服务器。
更新效果很好。 谢谢

@LtSich我对崩溃问题有预感。 尝试删除您的wine前缀。 重新安装指南中列出的单声道版本。 然后仅安装vcrun2017和xact。
我检查了空间工程师的Steamdb页面,并且vcrun2017是唯一列出的vcruntime。 我已经在系统上安装了它(以及许多其他工具),并且崩溃非常罕见。

谢谢你的贴士,但这并没有任何改变...好吧,我只是坐在后排等待神的祝福,也许这会起作用:)

我希望Windows计算机的多人游戏能够在某个时候发生。 似乎有点可耻。

我已经购买并安装了太空工程师,以查看它是否最终可以工作。 我按照说明打了游戏。

我能够按预期进入主菜单,但实际上无法启动场景或自定义游戏。 游戏进入加载屏幕,进行了大约5到10秒的加载,然后该进程停止运行。 我不确定在哪里寻找问题。 这是一些日志文件,但是我似乎真的不能从中学习任何东西:

SpaceEngineers.log
steam-244850.log

@dsge帮我一个忙。 验证游戏文件的完整性。
保存此文件的副本: https :
python3 autopatcher.py

它还不完整,但至少现在应该可以打补丁。
让我知道结果。

如果您不介意@ Linux74656,我将为自动修补程序做出一点贡献。 至少我知道我可以帮助:P的python

好吧,事实证明,在旧硬盘上损坏的很大一部分是Steam素材,所以我为防止万一,重新下载游戏。 我在等待的同时开始了一些有关修补程序中基本内容的工作,因为我发现@StripedMonkey也会有所帮助,所以我们会找出请求请求并进行合并。

@StripedMonkey ,如果您不介意,请检查我的fork,看看是否不需要,我们不会重复工作;)(注意:除了这样的修复程序,我实际上并没有做过Python,所以我的某些东西可能不会是最佳做法)。 我们可能也应该开始跟踪该项目中的内容,因此我们不再污染该问题线程。

好吧,尽管您用不同的方式来处理它,但您实际上还是对:P有一些相同的问题。 我实际上将在“修补程序”页面上创建一个问题,因此我们可以离开此处处理SE故障排除本身。

我欢迎任何人的帮助! 我对python的经验很少。

@ Linux74656我已经验证了游戏文件并运行了py文件(版本7f742ac1 ):

$ python3 autopatcher.py
Please insert your install location for Space Engineers. Should look somthing like this /home/USER/.local/share/Steam/steamapps/common/SpaceEngineers/ 
/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/
b6d168be7e38640817f8d7f1de523346
cf4b860b7917fa53d8c95e0c6a377451
VERSION FOUND: 1.192.103
https://raw.github.com/Linux74656/SpaceEngineersLinuxPatches/master/V1.192.103Patches.tar.gz
Program End!

我没有触摸过我的wineprefix,它仍然与原始说明后的状态相同。

这次游戏真的很不稳定。 以前(当我手动安装黑客时),每次尝试时我都可以进入主菜单和加载屏幕,然后才崩溃。 这次,我在随后的运行中有多个地方导致游戏崩溃(又称游戏窗口,进程消失了):

  • 启动画面后
  • 在数据收集对话框上按“否”后
  • 和加载屏幕之后。

我做了大约15次尝试,但实际上无法通过加载屏幕。 我完全没有一次获得游戏经验。

这些日志是在游戏崩溃前我设法进入加载屏幕时创建的:
SpaceEngineers.log
steam-244850.log
(我什至应该发布这些吗?我不知道该发布什么会有所帮助)

这实际上是一个已知问题,当您对数据收集说“否”时,游戏开始崩溃(仅Linux)。
删除游戏应用程序数据(以重置决策,备份所有世界或BP)(如果有的话),并在下次游戏询问时同意,您应该一切顺利。

我的理解是相反的。 击“是”会使它崩溃。 :thinking:(作为总会打“ no”的人)

@InflexCZE如果我说“是”,那之后我会得到相同的结果(加载屏幕后进程消失),但是在下一次运行时,游戏在崩溃屏幕上使用了实际的崩溃报告程序崩溃:

image

See the end of this message for details on invoking \njust-in-time (JIT) debugging instead of this dialog box.\n\n************** Exception Text **************\nSystem.ComponentModel.Win32Exception (0x80004005): Sikeres.

  at System.Diagnostics.Process.StartWithShellExecuteEx (System.Diagnostics.ProcessStartInfo startInfo) [0x00102] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at System.Diagnostics.Process.Start () [0x00032] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x0001b] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at System.Diagnostics.Process.Start (System.String fileName) [0x00006] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at VRage.Platform.Windows.Forms.MyMessageBoxCrashForm.linklblLog_LinkClicked (System.Object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) [0x00010] in <6669c852ae2c4f45a64d6d2ce7411724>:0 
  at System.Windows.Forms.LinkLabel.OnLinkClicked (System.Windows.Forms.LinkLabelLinkClickedEventArgs e) [0x00020] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.LinkLabel.OnMouseUp (System.Windows.Forms.MouseEventArgs e) [0x000fb] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control.WmMouseUp (System.Windows.Forms.Message& m, System.Windows.Forms.MouseButtons button, System.Int32 clicks) [0x001c3] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x005a0] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Label.WndProc (System.Windows.Forms.Message& m) [0x0005d] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.LinkLabel.WndProc (System.Windows.Forms.Message& msg) [0x0001b] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.OnMessage (System.Windows.Forms.Message& m) [0x00001] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x000b3] in <2880ee803a384afc84fc95657b396772>:0 
  at System.Windows.Forms.NativeWindow.Callback (System.IntPtr hWnd, System.Int32 msg, System.IntPtr wparam, System.IntPtr lparam) [0x00030] in <2880ee803a384afc84fc95657b396772>:0 

\n************** Loaded Assemblies **************\nmscorlib\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/mscorlib.dll\n----------------------------------------\nSpaceEngineers\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe\n----------------------------------------\nSandbox.Game\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Game.dll\n----------------------------------------\nnetstandard\n    Assembly Version: 2.0.0.0\n    Win32 Version: 4.6.26011.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/netstandard.dll\n----------------------------------------\nVRage.Render\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Render.dll\n----------------------------------------\nVRage.Steam\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Steam.dll\n----------------------------------------\nVRage\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.dll\n----------------------------------------\nSpaceEngineers.Game\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.Game.dll\n----------------------------------------\nSystem\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll\n----------------------------------------\nVRage.Library\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Library.dll\n----------------------------------------\nSystem.Xml\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll\n----------------------------------------\nVRage.Math\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Math.dll\n----------------------------------------\nVRage.Game\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Game.dll\n----------------------------------------\nVRage.NativeWrapper\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.NativeWrapper.dll\n----------------------------------------\nSandbox.Graphics\n    Assembly Version: 0.1.1.0\n    Win32 Version: 0.1.1\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Graphics.dll\n----------------------------------------\nSandbox.Common\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Sandbox.Common.dll\n----------------------------------------\nSystem.Core\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll\n----------------------------------------\nVRage.Platform.Windows\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Platform.Windows.dll\n----------------------------------------\nSystem.Windows.Forms\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll\n----------------------------------------\nSteamworks.NET\n    Assembly Version: 13.0.0.0\n    Win32 Version: 13.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/Steamworks.NET.dll\n----------------------------------------\nSharpDX\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.dll\n----------------------------------------\nSharpDX.DXGI\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.DXGI.dll\n----------------------------------------\nSystem.Runtime\n    Assembly Version: 4.1.2.0\n    Win32 Version: 4.6.25714.01\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/System.Runtime.dll\n----------------------------------------\nSharpDX.Direct3D11\n    Assembly Version: 4.2.0.0\n    Win32 Version: 4.2.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/SharpDX.Direct3D11.dll\n----------------------------------------\nVRage.Ansel\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/VRage.Ansel.dll\n----------------------------------------\nProtoBuf.Net\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/ProtoBuf.Net.dll\n----------------------------------------\nProtoBuf.Net.Core\n    Assembly Version: 1.0.0.0\n    Win32 Version: 1.0.0.0\n    CodeBase: file:///Z:/media/egyteras/SteamLibrary/steamapps/common/SpaceEngineers/Bin64/ProtoBuf.Net.Core.dll\n----------------------------------------\nSystem.Reflection.Emit.Lightweight\n    Assembly Version: 4.0.1.0\n    Win32 Version: 4.0.0.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll\n----------------------------------------\nSystem.Reflection.Emit.ILGeneration\n    Assembly Version: 4.0.1.0\n    Win32 Version: 4.0.0.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll\n----------------------------------------\nAnonymously Hosted DynamicMethods Assembly\n    Assembly Version: 0.0.0.0\n    Win32 Version: n/a\n    CodeBase: \n----------------------------------------\nSystem.Drawing\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll\n----------------------------------------\nAccessibility\n    Assembly Version: 4.0.0.0\n    Win32 Version: \n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll\n----------------------------------------\nSystem.Configuration\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll\n----------------------------------------\n\n************** JIT Debugging **************\n

我必须将SpaceEngineers.cfgGDPRConsent字段从True改回False才能通过。

否则我的记忆使我失望。 忽略我,我应该去睡觉:upside_down_face:

编辑:
无论如何,最好将“已知问题”与“已知解决方案”一起跟踪。

为那些可以加入游戏的人更新。 在工作前缀的顶部安装vcrun2003。 在您玩游戏时,这可以解决崩溃问题。 对此进行测试的最佳方法是,创建世界异形星球世界的创意版本,加入威慑型战斗机,并开始使用导弹射击附近的较小船只。 在安装vcrun2003之前,这似乎已经可靠地导致我的姐妹计算机崩溃。 将游戏置于尽可能大的压力下,如果它没有崩溃,请加载到另一个世界中,然后重试。 如果仍然没有崩溃,我认为这就是问题所在。

至于仍然因为崩溃和死机而无法进入游戏世界的人。 让我们尝试全面安装我的葡萄酒技巧历史中的所有内容,这些内容将在指南中的单声道版本之上。
winetricks --force -q vcrun2003 vcrun2005 vcrun2015 vcrun2017 msxml6 xact d3dcompiler_47 corefonts dxvk winxp

让我知道是否有任何变化!

@ Linux74656
我再次验证了我的文件。 然后我做了:

$ rm -rf / media / egyteras / SteamLibrary / steamapps / compatdata / 244850 / pfx

$ WINEPREFIX =“ / media / egyteras / SteamLibrary / steamapps / compatdata / 244850 / pfx” winetricks --force -q vcrun2003 vcrun2005 vcrun2015 vcrun2017 msxml6 xact d3dcompiler_47 corefonts dxvk winxp

$ WINEPREFIX =“ / media / egyteras / SteamLibrary / steamapps / compatdata / 244850 / pfx” msiexec -i“ ./wine-mono-4.9.3.msi”

$ python3 autopatcher.py
bsdiff已安装!
找不到安装目录。 请输入安装了空间工程师的steamapps文件夹位置。
/ media / egyteras / SteamLibrary / steamapps /
BuildID:4246126
checksum.json检索
检索补丁
程序完成!

(autopatcher.py版本是Linux74656 / SpaceEngineersLinuxPatches#5中的版本)

不幸的是,此后的行为与我以前的评论相同:游戏左右崩溃,我无法通过加载屏幕。
据我所知,日志文件没有任何变化:
SpaceEngineers.log
steam-244850.log

然后我进行了快速测试,并且游戏加载时崩溃了,我确实为v103应用了新补丁,但也许我会再次验证并重新尝试。

@dsge感谢您对自动修补程序的修复! 你能告诉我你的操作系统版本,内核版本。

@ Linux74656
image

steam_systeminfo.txt

将我的游戏移至NVMe,重做补丁。 似乎仍然可以进行良好的第二次尝试。
我真的希望太空工程师的开发人员可以使这些补丁程序与Windows多人服务器配合使用,我认为这是需要克服的重要问题。

@dsge尝试使用此配置文件运行游戏:
在尝试加载空白世界之前,请勿更改任何设置。

编辑:改用此语言,另一种语言是法语(我实际上不会说法语,但是我正在查看游戏在其他本地化方面的表现是否与众不同……似乎不行)。
SpaceEngineers.cfg.zip

是的,我想知道为什么法国语言环境更适合运行游戏:D

因此,名为“ Empty World”的自定义游戏确实可以加载

image

(我不知道这个名字确实有一个定制游戏,正如我说我昨天买的游戏。)

其他定制游戏似乎并没有工作,但我只用了1个崩溃了8次尝试我在其他的自定义游戏做的。 其他7次我卡在了加载屏幕上。 “卡住”的意思是,我可以在Gnome系统监视器中看到该游戏实际上并未从驱动器中读取或写入任何内容,而是使用了50%的cpu(即完全使用了我4个内核中的2个)。

系统监控器,该游戏实际上无法从我的驱动器中读取或写入任何内容,并且使用50%的CPU(也就是完全使用了我4个内核中的2个)。

是的,这是您决定不再加载时所经历的典型情况。 我已经有很多次了,但是我通常可以进行第二次尝试。 不知道为什么它总是对你失败。 它依靠Mono来完成世界范围内的编译工作,因此Mono可能会在您的系统上中断较大的工作负载。

您可以在加载时为单声道设置不同的参数,atm我使用_MONO_GC_PARAMS = nursery-size = 32m,minor = simple-par%command%_

好,我们正在进步。
我注意到我姐姐的计算机有时会遇到相同的加载问题。 但是我的电脑没有。 我没有考虑太多,因为这只是一个小麻烦,但可能与它有关,所以我来看看是否可以将其修复在她身上。

我在加载任何东西时遇到问题。 不管多次尝试和做各种事情,都无法一次创建一个世界。

我在尝试时会拖尾SE日志,似乎大多数时候它都与加载定义有关,而不是我所看到的特定定义,只是一般的定义-有时可以很好地加载体素定义,有时不加载任何东西,然后就挂了。 我进行了一次试运行,实际上它加载了所有内容并尝试启动会话,但随后崩溃了。

此刻我很沮丧,不知道尝试附加任何类型的Mono调试器是否会给我们带来任何帮助,因为此版本没有调试符号,但目前看来,这在加载之间非常不一致在单个系统上以及系统之间。

虽然我很高兴这一切至少为我们提供了一些见解,但我希望我们能弄清楚Mono是否至少是一个临时可行的解决方案,但我有一半的打算尝试回到dotnet,看看是否遵循Wine日志可以揭示到底是什么使GC崩溃了,看看我们是否可以在Wine中修复它...

您可以在加载时为单声道设置不同的参数,atm我使用_MONO_GC_PARAMS = nursery-size = 32m,minor = simple-par%command%_

@jarrard我刚刚尝试过。 不幸的是,我注意到的唯一区别是,现在游戏在加载屏幕后恢复到100%崩溃(这意味着它不会卡在此处)。 “ Empty World”仍然可以正常加载,没有变化。

好,我们正在进步。
我注意到我姐姐的计算机有时会遇到相同的加载问题。 但是我的电脑没有。 我没有考虑太多,因为这只是一个小麻烦,但可能与它有关,所以我来看看是否可以将其修复在她身上。

@ Linux74656谢谢您和每个在此上花费时间的人。 我的很多朋友都在玩这个游戏,我真的很想尝试一下它是否不错。 目前至少在单人游戏中。

@InflexCZE您认为人们可以尝试将这些补丁安装到其Windows版本的游戏中吗? 这样一来,某些人就可以与Windows用户一起玩,而Windows用户可以创建自己的自定义游戏。

编辑:还有一些方法可以在运行dotnet时临时禁用垃圾收集吗? 如果禁用它可以消除结结,那么我们将知道问题所在。

@dsge验证您的游戏文件。 不要应用补丁,而是使用以下命令创建新的前缀来运行游戏:
winetricks --force -q vcrun2015 xact dotnet472

如果您可以借此将游戏推向世界,那么您的问题很可能与wine-mono和补丁有关。

@ Linux74656您可以尝试,但是我怀疑您所做的更改是否会对MP表造成巨大的影响,就像我在日志中看到的那样。 SE有大量的插件和社区项目,它们执行成千上万个小补丁或直接替换整个方法和系统,并且可以与原始客户端很好地配合使用。

恕我直言,这是来自Mono BCL差异的另一个问题。 不幸的是,与脚本编译器相反,修复此脚本将更加棘手,主要是因为序列化。

关于GC,这是一个非常重要的系统,它可以跟踪并回收游戏不再使用的内存,因此可以将其回收并再次使用(是的,非常绿色的系统,大自然很自豪:stuck_out_tongue:)我敢肯定有一种方法可以指示.NET FW GC从OS分配新内存,而不是尝试识别和回收不再使用的位(也就是不执行所有性能密集型工作),但建议您使用RAM只是为了进入空旷的环境而在+ 500GB附近的某个地方消费。 因此,除非您拥有真正面向未来的PC或Linux知道有关交换的相当不错的魔术,否则我认为这样做不是一个好主意。 无论如何,尝试使用适当的参数手动配置它,就像我们之前修复Mono GC一样。

或者,您可以尝试.NET Core。 最后,我听说它可以在Linux上很好地运行,并且它应该与.NET FW非常兼容,即使在BCL中也是如此。 最后,我们尝试过它能够开箱即用地运行SE专用服务器_almost_,所以谁知道,也许它可能比Mono更有效。

@InflexCZE我将试一下dotnetcore,看看它是否可以配合使用。
我研究了dotnet GC如何工作的文档。 本节中显示的有关线程的图像: https: //docs.microsoft.com/zh-cn/dotnet/standard/garbage-collection/fundamentals#what -happens-during-a-garbage-collection的行为类似于分析我试图得到的镜头。 单个内核的使用率跃升至100%,而其他内核的使用率则明显下降或停止。 这可能是巧合吗?

@InflexCZE我更多地考虑检查日志,以查看在Wine中没有完全实现对本地Windows库的哪些调用,只是看看是否可以正确填充这些调用以及是否有帮助。 在Wine的Windows API实现中,很多东西只是存根和实现,足以使事情一开始就可以正常工作,并且随着时间的流逝慢慢地被填补。

至于.NET Core,我们仍然需要在Wine(至少是VRage部件)下运行它。 我的意思是,VRage本身依赖于WINAPI,对吗? 我还对ABI的兼容性表示怀疑,因为它毕竟是Windows应用程序。 同样,我们仍然需要将这些DirectX调用转换为OpenGL或可能的Vulkan。 那也许可以独立于Wine来完成,我没有读过。

可以说,困扰.NET 4.7的任何Wine漏洞也会影响Core,因为无论如何我们都必须运行Windows版本。 并请注意,Mono用于SE的当前使用不是我们在运行本机Linux Mono,而是向其提供SE可执行文件,它实际上是专门为Wine制作的构建,实际上是Windows应用程序。

另外,由于我确实使用.NET Core进行Linux开发(但是我对.NET中的低级内容的了解不足以使他们对该部分有所了解),所以我可以告诉你,是的,代码通常可以很好地运行,但是有很多事情无法跨平台运行:当然没有Windows窗体,诸如System.Drawing之类的东西现在以nuget包的形式存在,但并不100%兼容...基本上,类似服务在服务器上运行? 应该管用。 有图形吗? 并不是的。

我敢肯定,有一种方法可以指示.NET FW GC从OS分配新内存,而不是尝试识别和回收不再使用的位(也就是不要做所有性能密集的工作),但建议您,重新查看+ 500GB附近的某个地方的RAM消耗,只是为了进入空旷的场景。

根据我的经验(我认为是有限的),我实际上认为zram实际上可以处理压缩空场景,而使GC保持关闭状态。 如果它是相似的数据(我假设是一个空的场景),那么它应该相当容易压缩。 显然不是一个很好的解决方案,并且可能会影响偏好设置。 但是我认为尝试尝试实际上是一件有趣的事情。

让我澄清一下。 游戏prealocate那么多MEM只是情况下,它需要的。 在加载空场景期间将使用大量的随机内存,但不再需要。 GC能够找到这些位,并在过程的生命周期(每隔几帧)内回收。 没有它,他们将躺在那儿,永远吃光空间。

@ Onyx47是的,我现在还没有意识到Core实际上不会使我们免受Win API的需求,而在Proton之上运行Win build可能会遭受与.NET FW相同的问题。

@ Linux74656这可能意味着任何事情。 可能是GC,也可能是在卡住模拟之类的情况下渲染饱满。

我在网上进行了快速搜索,很不幸,.NET FW GC似乎没有提供任何配置选项(至少不是任何值得使用的配置选项,固定堆大小,Gen 0大小,用于收集工作的线程分配,.. 。)因此,除非您有更多技巧来描述/识别峰,否则我想我们在这里不走运:(

@InflexCZE如果我设置固定的堆大小,或将Gen 0设置为25gb之类的荒谬之物(我的系统之一具有32gb的ram),这会阻止垃圾收集器运行至少几秒钟吗?
如果是这样,我将如何设置它呢?

是的,有些疯狂大小的固定堆应该大大降低GC频率(以换取实际发生的收集时间的轻微增加和c的可笑的内存消耗),但是正如我所说的,.NET GC似乎不支持不幸的是,这种(手动)配置类型。

我现在知道了。 对不起,所有的混乱。

@dsge验证您的游戏文件。 不要应用补丁,而是使用以下命令创建新的前缀来运行游戏:
winetricks --force -q vcrun2015 xact dotnet472

如果您可以借此将游戏推向世界,那么您的问题很可能与wine-mono和补丁有关。

@ Linux74656我就是这样做的,结果如下。

我在启动屏幕之前收到了两次,如果我通过菜单退出游戏,则收到一次(按“是”将我带到这里-谢谢微软,我猜):

image

除此之外,游戏开始。 我能够启动任何尝试过的自定义游戏。

image

image

游戏以非常规律的间隔口吃(在我的屏幕快照上不太明显,因为拍摄屏幕快照会暂时干扰dxvk hud报告的帧定时和fps),这也会导致当前播放的声音口吃。 在空旷的世界中,频率较低(大约每秒一次),而在人口较多的世界中,频率至少是每秒2-3次。 除了断断续续,我似乎有120fps(每个图形选项均设置为最低值),但对我的系统没有任何问题(规格)。

我的总体印象是,从技术上讲,该游戏可以正常运行,但结结巴巴的游戏使其非常烦人。

@dsge是的...口吃是我们开始使用wine-mono的原因。
至少我们知道,投放市场的问题与酒单和补丁有关。

是的,我知道,这也是讨论垃圾回收的原因。 我只是想证明一下,至少使用dotnet472可以得到与其他所有人几乎相同的结果。 与酒单+修补程序不同,无论出于何种原因,它似乎对您来说都比对我更好。

这个线程中发生了很多事情,目前运行此方法的正确方法是什么? 我安装了xact dotnet472以使其运行,但是在我的设备上它结结得很困难,我看到提到补丁了吗?

这里提到

@InflexCZE <gcServer enabled="true">到底做什么? 它会以我可能不理解的方式破坏游戏吗? 我将其添加到一些文件中,似乎已经解决了dotnet口吃的问题。 不可能那么容易...尽管如此,因为这与垃圾回收有关,只要我所做的更改没有破坏游戏中其他CPU密集型部分,我就认为dotnet中的口吃一直与GC有关。 除非有其他我想念的东西(考虑到现在有多晚,:smile :),

_gcServer enabled =“ true” _设置在哪里? 在某个地方的配置?

您是否针对Windows mp服务器进行了测试,以查看是否可以加入它们(在没有mod的服务器上进行的最佳测试)。

MS对于服务器GC预设的实际用途非常含糊,但据我所知,它试图利用更多的内核(通常存在于服务器计算机上)并分配更大的内存段,这将导致交易交易GC的触发次数减少增加了该过程的总体内存消耗。
https://docs.microsoft.com/zh-cn/dotnet/standard/garbage-collection/fundamentals#workstation -and-server-garbage-collection

请随意尝试,使用GC设置破坏游戏中的任何内容是极不可能的,最糟糕的是它可能会崩溃。

这实际上是一个有趣的发现。 我自己读了一些(从文档粘贴):


For single-processor computers, the default workstation garbage collection
should be the fastest option. Either workstation or server can be used for
two-processor computers. Server garbage collection should be the fastest
option for more than two processors.

这使我认为,尽管GC在Wine下运行可能会受到影响,但问题的一部分是否也可能与调度程序有关? IIRC,很多人报告说,即使游戏很挣扎,它也只使用了50%的CPU(我也认为这也发生在我身上),而我敢肯定,我在Windows XP平台上至少能达到80%。 也许这只是GC与游戏其余部分在同一个内核上运行的问题,而这并不是本机发生的,这是因为Windows调度程序处理不同内容和/或Linux调度程序不知道其线程安全性(可能是因为在真实的Windows系统上单独运行,所有这些都可能在Linux上的wineserver进程下运行),因此它拒绝将其移至其他内核?

我今晚将对此进行测试并报告结果。 如果有效,那将是个好消息! 尤其是由于我看不到没有在游戏本身中启用此功能的原因,鉴于其要求,我认为我们可以指望每个玩多核系统的人,或者至少应该有一个超线程的系统,提高性能。 是的,我知道文档中提到了多个处理器,但是对于现代的CPU,这条线还是很模糊的,不是吗?

您好我有:
<Runtime> <gcServer enabled = "true" /> </Runtime>

插入到我的SpaceEngineers.exe.config文件的末尾,该游戏现在已经可以在.net上运行4个小时,而不会出现卡顿现象。
同样在Windows服务器上的多人游戏中。

有人可以尝试吗?

根据场景的复杂性, @ Onyx47 SE最多只能有效利用约2.5个最多4个线程。 这是一个众所周知的问题,来自旧引擎的旧架构。 如果您看不到它在提供的代码数量上能很好地扩展,则不一定是在Linux设置中出现任何问题。 我们更有可能发生技术债务。

从一开始我的猜测就是,GC的sefl调整机制失败了,因为从质子端馈入了一些不正确的数据,并且很有可能在服务器模式下没有出现此问题。 真正的罪魁祸首实际上并不重要,只要它运行良好:smile:

我很高兴甚至与Windows的交互也能正常工作。 脚本和模组也可以,对吗?

我刚刚测试了脚本。
适用于多人游戏和单人游戏。
即使有mod也没问题

我的GPU负载比Windows高

我在dxvk显示器中每10-20秒就会看到一次峰值,甚至是每秒fps下降5-10 fps,但在垂直同步和高设置下,平均值在50-60之间(GPU RX580 8GB)

然后,您刚刚安装了dotnet472,xact并在config中进行了更改?
就这样 ? 您可以使用最后一个质子版本吗?

已安装的软件包:protontricks 244850 -q --force vcrun2005 vcrun2015 dotnet472 xact
Steam启动设置:DXVK_HUD = full PROTON_NO_ESYNC = 1%COMMAND%-skipintro

质子:4.11-6
内核:5.0.0-30-通用Ubuntu 19.04

更新:对不起,我忘了dotnet472

好的,在我这一边,显然我无法安装vcrun2015,我遇到了以下错误:
注意:命令/home/sich/.steam/steam/steamapps/common/Proton 4.11 / dist / bin / wine vc_redist.x86.exe / q返回状态102。正在中止。

但是,我已经安装了dotnet472并在运行时中添加了<gcServer enabled = "true" /> ,现在它的工作非常好:)

我测试了2/3 mod,显然可以。

但是,在.config文件末尾添加此代码无效。 :

<Runtime>
  <gcServer enabled = "true" />
</Runtime>

我在最后更改了这样的配置文件:

    </assemblyBinding>
  <gcServer enabled = "true" />
  </runtime>

提示。
如果您知道如何增加内存使用量(我有32GB),请告诉我,可能会有所帮助。

我的配置结束看起来像这样:

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <runtime>  
    <gcServer enabled="true"/>
  </runtime>
</configuration>

好的,那是在配置里面。
只要我们保留在配置中,就可能是相同的。

但是,如果没有dotnet472,我将无能为力。

@diKsens所以看起来我并不需要把它添加到所有配置文件(Sandbox.Game.dll.config和VRage.Game.dll.Config)的。 仅SpaceEngineers.exe.config。 很高兴知道。

我可以确认脚本确实可以完成工作,并且可以正常连接到Windows服务器。

我可以向.NET FW索取一份SE日志吗? 游戏成功启动后,只需定期登录即可。

@InflexCZE,您在这里!
SpaceEngineers.log

我仍然坚信幕后正在发生某些事情。 我使用了速度增强模块,将坠毁的红色飞船撞上,以300m / s的速度撞向另一颗小行星,游戏实际上没有任何问题。 我会继续测试。

_我做游戏时没有性能问题。_
那是一件坏事还是什么? 😛

哦...由于性能问题,我认为游戏将飞船速度限制为100m / s吗?

这取决于。 将其扔向行星,并期望明天明天的某个时候产生影响。 即使在像样的钻机上,它也会使Sim卡的速度非常困难。
https://steamcommunity.com/sharedfiles/filedetails/?id=501767620

我在这里注意到一件事,我也在Mono之下看到过(但认为这可能只是Mono的事情):

2019-10-03 09:27:06.247 - Thread:   1 ->  GC Memory: 1,857,883,240 B
2019-10-03 09:27:06.251 - Thread:   1 ->  Process Memory:  B

也许值得在Wine方面进行调查,GC可能正在对WINAPI使用类似的调用,但没有获取数据?

此呼叫查询NtQuerySystemInformationSystemProcessInformation ):
https://docs.microsoft.com/zh-cn/windows/win32/api/winternl/nf-winternl-ntquerysysteminformation

如果您知道在哪里,可以检查它是否正确实施或仅存根?

有了这个小的配置文件修复,它现在就可以工作了,实际上该死的很好。 即使加入了MP服务器,也没有问题。

vcrun2015也没有为我安装,但也许已经通过Steam安装了? 无论哪种方式都很棒。 从protondb的垃圾分类到基本上是黄金:)

https://source.winehq.org/git/wine.git/blob/a8745d1211033dd38682e2f4e8bc322d47a15e0f:/dlls/ntdll/nt.c#l2373

似乎已实现,但它确实还包括一个修订程序,没有足够的时间来深入研究它可能出了什么问题(如果有什么问题,首先是它如何导致内存使用情况严重发臭) 。

@InflexCZE对于哈哈,我做到了:

这取决于。 将其扔向行星,并期望明天明天的某个时候产生影响。 即使在像样的钻机上,它也会使Sim卡的速度非常困难。

我明白你的意思了:微笑:

自从我上次在Windows上正确玩游戏以来(至今大约一年半),我对游戏的改进程度仍然感到惊讶。 感谢你们大家为这款游戏付出的辛勤工作。

出现了一些新的太空工程师类型的游戏,似乎可以解决SE所具有的物理限制问题,例如速度限制和碰撞,导致所有地狱崩溃。 如果为VRage引擎做了一些事情很好,但是我怀疑那是不可能的。

@InflexCZE我很傻,看着代码的错误部分,我认为这是实际相关的部分:

https://source.winehq.org/git/wine.git/blob/a8745d1211033dd38682e2f4e8bc322d47a15e0f:/dlls/ntdll/nt.c#l2460

稍微看一下文档,我假设PrivatePageCount是相关属性? 似乎没有设置任何地方。

@jarrard只要有足够的时间和资源,任何事情都是可能的。 不幸的是我们的团队很小,所以我们必须做出选择。 我们要么提供新的内容和游戏玩法,要么对引擎进行深刻的改变,并实施最近几年出现的最新技术。

我们相信,如果我们专注于第一个游戏,那么我们的玩家将会更加欣赏,一旦时间到了大大提高技术水平的时候,它将与新游戏的发布并驾齐驱,因此我们不必为每个游戏都保持向后兼容性。我们所做的更改很少(通常会占用大部分时间)。

(不,我们现在不放弃SE,我们仍在努力😄)

@ Onyx47我明白了。 那可以解释一些事情

@InflexCZE :这是一个好方法。

就算您在开发新游戏时可以想到我们的小Linux社区,这也可能是一件好事:)
只是我们可以在没有太多麻烦的情况下与Proton打交道,好像我们很快就可以与空间工程师一起做:)

因为有了中世纪工程师,我们甚至无法开始游戏。
我希望您的下一场比赛不会这样!

现在可以在Linux上玩太空工程师了,我将能够完全删除Windows,就在Win7生命周期尽头之前,完美的:D

顺便说一句,致力为太空工程师寻找解决方案的每一个人!
感谢

由于这似乎是使太空工程师运行的一种更为稳定的解决方案,因此我重新存储和自述文件来处理我们编写的所有mono文件都是该存储库中的子目录,如果我们需要回到它的话。

再次感谢大家帮助解决这个问题。 这是一段有趣的旅程:smile:

@LtSich不特别注意Linux的决定非常简单,省钱。 这普遍适用于所有工作室。 引擎游戏使用的是开箱即​​用的支持Linux的游戏,在这种情况下,游戏“支持Linux”,或者引擎不支持它,在这种情况下,没有人真正关心并且只关注主要平台。 开发人员价格昂贵,市场份额不到1%的话很清楚。

至于VRage,我们现在还支持XBox,因此我们不得不对引擎进行大量重组以使其与平台无关。 这意味着通过实现有限的界面,该游戏将能够在可以运行.NET的任何平台上运行,因此,如果您在以后的游戏中遇到任何问题,则可以通过适当的Linux调用重新实现该界面,并获得新游戏的美好时光。

我们可能不到1%,但我认为我们是这样一个小团体的声音很大:P

我们可能不到1%,但我认为我们是这样一个小团体的声音很大:P

并下定决心!

是的,那不用付我的晚餐,是吗? 😛

是的,那不用付我的晚餐,是吗? sticked_out_tongue

我可以通过众筹来筹集资金以对游戏进行一些更改,以使其在Linux上更好地运行。我敢肯定,很多人都可以捐出一些钱来使游戏在Linux上更流畅地运行。 。

问题是您为Windows创建游戏,然后尝试使其在Linux上运行...
要使游戏运行多种平台,您必须从一开始就考虑一下。并且不要仅使用Windows工具。

而且不要忘了Google Stadia即将推出,并且它在Linux服务器上...
能够在Proton / Linux上运行游戏,可以在Google Stadia上出售游戏...

关于Windows ... Win10困扰着很多人...为了避免这种情况,很多人希望使用Linux ...
我使用Linux服务器已有10多年的历史了,但是现在只在我的计算机上使用1年...因为我不想使用Win10 ...

但是不用担心,我完全理解为什么KSH不支持Linux。
非常感谢您提供的帮助:)

哦,这是linux开发人员的一篇好文章,读起来很有趣:)
https://beardedgiant.games/benefits-of-supporting-linux-if-you-are-a-small-indie-developer/

我们超过1%。 蒸汽测量令人沮丧。 我完全免费使用Windows 10年了,而我仅获得一次调查。 还有一件事-不要指望Net Marketshare等提供的统计信息。出于各种原因,许多Linux用户仍然必须使用Windows用户代理。

大家好,虽然很高兴能找到可行的解决方法,但让我们尝试将兼容性报告的重点放在游戏上。 欢迎在论坛上讨论Linux上游戏的一般状态。

如果您仍然愿意就甚至可能考虑在将来的Keen发行版中支持Linux进行讨论,那么在Keen不和谐(我记得有一段时间了)上可能会有某种渠道来处理此类问题,因此我们不会像kisak所说的那样,使Proton发出的线程与预期目的相差太大吗? 我认为在这方面可能需要进行有趣的讨论,特别是由于图形编程(vulkan)和dotnet的格局正在发生变化。

按照说明进行操作后,游戏似乎可以按预期运行,并且大部分烦人的口吃都消失了。 至少还有一些剩余的音频问题,但这是我无法忍受的。

看看: https ://youtu.be/RBqQAkYWBGA = 60:tada::tada::tada:

再次感谢帮助找到这些解决方法的每个人!

我也确认成功! 当前有些图形崩溃,但不确定是在Proton中还是在游戏中运行,因为不幸的是,有时甚至在Windows上也会发生这些崩溃...

可以确认上面的修复程序对我有效,只需在我的SpaceEngineers.exe.config文件中添加以下内容,即可解决频繁出现的性能下降问题,并且在我的i7-7700k / GTX 1070上以较高的设置运行时,游戏对我的速度稳定为120fps。多人游戏也很好。

还需要通过winetricks或protontricks安装dotnet472xact

<runtime> <gcServer enabled="true"/> </runtime>

\对我来说已经存在了,所以我只需要把\

在使用服务器GC切换回.NET FW之后,您是否遇到任何启动问题,例如在Mono上出现,在加载屏幕上挂起,崩溃或任何其他问题?

在使用服务器GC切换回.NET FW之后,您是否遇到任何启动问题,例如没有Mono,挂载在加载屏幕或其他任何问题?

dotnet472对我来说没有这个问题。 在这方面,一切都按预期进行。 我可以可靠地启动游戏并启动我尝试过的任何自定义游戏。

就个人而言,我在启动一个新世界时曾发生过一次崩溃,两次崩溃引发了图形驱动程序崩溃对话框(该驱动程序实际上并未在系统上崩溃,可能只是DXVK放弃了),但过去相当流畅的体验。

花了几个小时在一个与5-6个其他人在一起的现代世界中玩MP游戏,在那儿搞乱了脚本,所有这些都托管在Windows机器上(只是朋友机器上的本地世界,而不是DS)。

到处都有峰值,可能仍然与GC有关,但是它在我的3GB 1060和Core i5 4460上以相当稳定的120 FPS运行,而所有这些都是在我的桌面环境中打开了合成功能的窗口中运行的。 后来我们开始进行大量构建时,它走低了,这并不奇怪,因为不确定当时由于哪个因素而导致多少性能损失。

CDsvdlb

总的来说,我称之为完全可玩性:+1:

是的,我认为这有资格获得ProtonDB的金牌评级,在进行细微调整后效果很好。

哇,这真的炸了(我的电子邮件)。 祝贺您找到了解决方法/解决方法,我能够启动并使用dotnet472和xact,设置了gc config选项,最终需要PROTON_NO_ESYNC来防止在加载时崩溃。
我已经向ProtonDB提交了一份黄金评级的报告。 感谢您对Linux74656的坚持以及对InflexCZE的见识!

那么vcrun是不必要的还是有些人仍然需要它?

我没有安装vcrun2015,但是steamplay可能已经安装了它,没有检查。

游戏对我来说很好。
我可以用mods创建游戏,脚本还可以。

我无法安装vcrun2015,但是使用dotnet472和配置更改就可以了。

我认为vcrun2015在首次启动时已由Steam安装。 它还可能尝试安装dotnet,但这需要由winetricks处理的64位前缀黑客,因此这就是我们仍然需要单独运行它的原因。 至于xact,我认为它可能是预安装的,也可能是DirectX或Windows上的一部分。 随着时间的流逝,我们也许也可以跳过它,但是FAudio还不支持SE使用的文件格式,因此我们暂时还停留在本机Windows库中。

FAudio打算替代Xact,但在这种情况下似乎不起作用。

从我在其功能页面上阅读的@jarrard来看,它可能是XWM文件格式,Steam安装的常规版本不支持它。

有趣的是,由于我碰巧知道Skyrim使用相同的文件格式,因此我去寻找并发现了这一点:

https://github.com/Kron4ek/FAudio-Builds

似乎有人在WMA支持下构建了它,据报道它在Skyrim中工作。 对于SE也可能值得尝试,这意味着我们将摆脱另一个本地需求。

值得一试,有时我会试一试,不知道何时,有十个人可能会击败我,如果是的话,请告诉我们进展如何。 (Faudio与WMA)。

作为捷径,我听说Proton-GE的音频已经包含wma,但可能是错误的。

@ Onyx47尝试将d3dcompiler_47安装到您的前缀中。 我也偶尔会发生图形崩溃,但安装后似乎已经消失了(当然,这种情况很少出现,因此仍然可能发生)。
我也刚刚使用winetricks创建了一个新的前缀来安装faudio而不是xact,看来已经解决了弹出的音频问题。 如果看起来可以解决人们的问题,我将对其进行修改以包括这两个指南。

允许电影文件播放游戏所需要的内容是什么?

似乎目前尚无法实际播放.wmv文件。 您可以查看问题#1464以获得更多信息。
我尝试安装媒体基础和使用/覆盖Windows 7笔记本电脑中的各种dll。 它对播放没有任何影响。
我不知道游戏可以加载哪种视频格式,但是当我认为口吃可能与主菜单上的音频和背景视频有关时,我曾尝试将介绍视频转换为几十种不同的类型,真的什么也没有。 我相信有人会及时找出来的...但是暂时禁用入门视频是最好的选择。

尝试了Proton-GE,它只是在加载世界时才试一下,所以如果有人在想,那似乎就行不通了。 猜猜我需要编译自己的faudio,同样值得注意的是,在没有faudio wma支持的情况下,游戏声音本身也可以正常工作,而wma支持正是MUSIC所使用的。

https://github.com/Kron4ek/FAudio-Builds

我忽略了编译版本。哎呀,是的,您自己编译是一件令人头疼的事情,必须设置六个我不完全理解的依赖路径。 (我可以编译基本的faudio,但是wma支持需要5个额外的路径配置)

@jarrard我通过winetricks(没有xact的新前缀)安装了faudio,它似乎工作正常。

好的,也许winetricks / protontricks使用了wma支持版本,因为没有ffmpeg支持,这很好,这使得faudio非常有限。

确认winetricks中的faudio对我有用:+1:

好的,faudio显然可以更好地工作,但是还有一件事确实困扰着我。
例如,每当船只到达您的位置时,它的引擎声音就会持续存在,并一遍又一遍地循环播放,直到您装载另一个区域或退出为止。
还没有发挥生存能力,但这至少是在战役中发生的。 确切地说,我记得它恰好在此刻发生: https :
当然,如果我没记错的话,每当有发动机熄火时,就会发出持续的发动机声音,但是此场景应该可以重现问题。

我在Windows上遇到了“卡死”声音的问题,尽管听起来不像您说的那么频繁。 这意味着两件事:

  1. 在开始将其作为Proton问题进行故障排除之前,我们需要建立一种方案,该方案可靠地在Proton中产生卡住的声音,但不会在Windows中产生
  2. 最终可能并不是严格意义上Proton的缺点,而是时间上的细微差异导致比赛条件受到更多打击。 如果是这样,那么几乎不可能排除故障,并且如果Keen设法修复原始错误,它将在一夜之间消失。

例如,每当船只到达您的位置时,它的引擎声音就会持续存在,并一遍又一遍地循环播放,直到您装载另一个区域或退出为止。

也许使用XACT重做您的前缀,然后再次测试该场景几次,看看是否在那里发生。 如果仅在faudio上发生这种情况,那可能是该部分需要的错误报告?

我在声音块方面也遇到过类似的问题,声音没有结束,而只是回响了样本的开始。 例如,应该播放2秒钟的声音将播放1.5秒钟,然后再播放前0.5秒钟,而不是最后的0.5秒钟(仅出于说明目的的数字未计时)。 这是xact的结果,还没有用faudio对其进行测试。 谁能确认?

如果xact也发生这种情况,则可能只是Wine的错误,也可能是PulseAudio的错误。 如果有人仍然在系统上运行纯ALSA,他们可以尝试对此进行复制吗?

image
当我尝试启动游戏或运行WINEPREFIX命令时收到此错误消息。
是否有可能是因为我用xact和FAudio在同一前缀中--force多次运行了命令。
我最近改用Linux,对Wine或Proton或Winetricks等任何相关程序都不熟悉。 我有一个Linux伙伴(谁让我最终切换了),到目前为止,他已经帮助了我。

编辑:我让游戏开始工作(第二次,这也是我第一次第一次也可以工作,但是有非常明显和令人讨厌的声音错误。音频将被延迟,好像声音文件必须完全播放完才能播放下一个因此,当您快速构建声音时,它将使声音排队并一次播放一个声音,这意味着当您停止放置/焊接时,构造声音会一直持续到所有声音都播放完为止。 我不知道这次要如何使游戏正常运行我做了什么,但是游戏运行相对平稳,但存在一个问题。 音频显然仍然存在错误,但与以前不同。 声音在某些部分被消隐,并且声音文件有时在开始/结束时被切断,并且某些声音根本不会随机播放。
启动游戏时,我仍然收到错误消息。

当我在启动参数中添加“ PROTON_NO_ESYNC%command%”时,它根本不会启动。 只需说“正在运行”,然后说“正在同步”,然后什么都没有。

我尝试使用winetricks或protontricks安装xact和dotnet472。 dotNET安装已损坏,游戏需要dx11。 (ArchLinux家伙)

可能是过时的酒鬼

@CrafterSvK您可以尝试使用dotnet48创建前缀(这将需要最新的winetricks版本winetricks --self-update ),我用它代替了dotnet472,它的工作原理似乎相同。 尽管我仍然在启动时得到了rundll32弹出窗口,但只要弹出窗口都没有击中,游戏应该可以正常运行。

你能告诉wine禁用rundll32吗?

我试图禁用它,它似乎起作用。 该错误不再出现,并且在经过有限测试的情况下,游戏似乎可以正常运行。

是的,我想我也几次收到该错误,不确定为什么会发生。

我尝试winetricks --self-update任何更改并安装了dotnet48 ,操作系统版本现在是Windows xp,这很奇怪, primusrun %command%立即崩溃, ENABLE_PRIMUS_LAYER=1 optirun %command%似乎会生成1秒钟的窗口英特尔图形什么也没做。 :/(我有64位前缀,这有问题吗?)这似乎是我无法真正在笔记本电脑上使用Vulkan的问题。 我设法在集成图形上但仅在菜单上运行它。 我加载游戏后,它崩溃了。

最后回到PC。 @ thorsten-passfeld再次再现无限循环的声音时,能否请您检查此屏幕(Ctrl + F11),以查看是否发现困扰您的声音。 游戏会在此处记录当前正在播放的所有声音,至少是从其PoV记录。
image

如果存在声音,则表示游戏存在错误。 如果没有,很可能它在XAudio重新实现中,我们应该在那里进行跟踪。

Ofc场景越简单,调试越好。

@CrafterSvK您能否压缩并上载崩溃的日志,无论是SpaceEngineers.log还是VRageRender-DirectX11.log。 它们应该位于“ INSERT / DIRECTORY / TO / SPACEENGINEERS / pfx /” +“ / drive_c / users / steamuser / Application Data / SpaceEngineers /”下

另外,如果您可以从Steam的“帮助>系统信息”中将系统规格发布到txt文件中并上传,那可能会有所帮助。

info.zip
干得好。 非常感谢你。 (我目前正在上学,但今天晚些时候,我将尝试使用nvidia-xrun反对使用primus_vk进行大黄蜂)

看起来像视频播放器的问题。 尝试删除(或重命名)“ SE_INSTALL_PATH / Content / Videos / *”中的所有视频,看看是否能进一步解决您的问题。

@CrafterSvK您的笔记本电脑使用哪种nvidia图形卡? 并且您是否安装了专有的Nvidia驱动程序?
这些信息均未在Steam信息中列出。
此外,游戏运行64位,因此需要64位前缀,因此前缀为64位就可以了。 当前缀Windows版本设置为winxp时,大多数用户似乎也具有更高的稳定性,因此这也是正常现象。

好吧,当使用大黄蜂时,蒸汽不应在nvidia图形上运行。 我安装了nvidia-xrun,一切正常且稳定。 最低设置为950M时为70 fps

@CrafterSvK很好听! 很高兴它运作良好!

一切都在视觉上运行流畅,流畅,但是却有一个非常明显的音频爆裂声,而且让人分心-音乐和游戏中的sfx都有问题。

音频问题已在此讨论中进行了广泛讨论,并且有解决问题的方法。 只需阅读您的文章上方! 在大多数情况下,使用faudio进行大多数作品创作时,有时还需要弄乱脉冲音频同步时序。

@ Linux74656 Prolly也应该添加到指南中

得到它了! 本指南的“问题”部分已更新!

更新:PULSE MSEC对我不起作用。 看来我的声卡较旧,无法正确支持无干扰脉冲播放(TIL!)。 我在这里找到了其他说明: https

基本上,将pulseaudio配置更改为以tsched = 0加载,较小的(明显的)片段会使音频听起来完美。 现在,它在质子上获得了黄金评级。 辉煌的东西。 6个月前,我尝试过,但甚至无法开始。 :+1:

在全屏模式下(甚至在“窗口式全屏”模式下),键盘焦点也会出现问题。 如果我尝试切换到另一个窗口/应用程序,则游戏会立即收回键盘焦点。 从外部编辑器复制/粘贴游戏内脚本时,这有点问题。 我发现的解决方法是在需要离开游戏时暂时切换到窗口。

但是,剪贴板确实可以工作,并且看起来游戏中的脚本确实是100%。

根据先前的要求,我们现在在我们的官方KSH Discord上有一个专用于Linux SE的特殊频道。 随时加入我们的行列:
https://discord.gg/keenswh

仅作参考,使用xact对抗faudio会有更好的结果。
在上一次测试中,我已经安装了xact和xact_64。
我进行了此处提到的更改: https :

老实说,游戏运行得非常好。
当我开始游戏时,几乎没有音频错误,几分钟后一切运行正常。

使用faudio时,我会有一些音频滞后现象,这很烦人。
它似乎会影响性能。

也许这取决于硬件或系统,我不知道...
但是对faudio感到麻烦的人应该尝试使用xact。

在全屏模式下(甚至在“窗口式全屏”模式下),键盘焦点也会出现问题。 如果我尝试切换到另一个窗口/应用程序,则游戏会立即收回键盘焦点。 从外部编辑器复制/粘贴游戏内脚本时,这有点问题。 我发现的解决方法是在需要离开游戏时暂时切换到窗口。

但是,剪贴板确实可以工作,并且看起来游戏中的脚本确实是100%。

这实际上在Windows上也是一个问题,因此没有特定于Wine / Proton / Linux的问题。
关于该问题的一些地方有一些错误报告。
当我切换到记事本或和弦以键入内容时,这非常好,并且游戏也开始触发一系列动作。 /秒

我们已经在Windows上找到了该问题,并将在游戏的下一个补丁中附带该问题。
希望它也会在Linux上解决该问题。

我修改了指南并编写了一个新的(自动修改旧的)自动补丁程序以实现不同的目的,它现在将为您修补配置文件,然后(尝试)创建前缀。 它至少应该至少在功能上。 希望这将有助于减少一些新手或经验不足的用户对前缀创建的困惑。

使用自动修补程序后,我可以启动和播放-但是它每2秒左右响一次。 使用完整的DXVK集线器,每次连接时它都会在图形中显示一条红线。 除此之外,我在地球上的速度约为70-90 fps。

i7 6700k,1080ti,32GB DDR4 3200MHz

看起来像这样吗?

看起来像这样吗?

是的,您在哪里设置?

它提到了如何,只需阅读一些帖子即可。 您可以使用Steam启动命令。

它提到了如何,只需阅读一些帖子即可。 您可以使用Steam启动命令。

是的,它被隐藏了(https://github.com/ValveSoftware/Proton/issues/1792#issuecomment-536643269)

将我的启动选项设置为:MONO_GC_PARAMS = nursery-size = 32m,minor =简单参数DXVK_HUD = full PULSE_LATENCY_MSEC = 60%command%

仍然得到它,这是图形的样子:

image

我认为这仅对单声道有用:MONO_GC_PARAMS = nursery-size = 32m,minor = simple-par
您是否尝试使用xact而不是faudio构建前缀?
使用xact时,我的性能要好得多... Faudio我有和您完全一样的问题...

是的,仅适用于单声道。

@ matty-r请检查autopatcher是否正确执行了步骤3&4(例如,您的配置中存在GC服务器) https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/README.md#step -3

是的,仅适用于单声道。

@ matty-r请检查autopatcher是否正确执行了步骤3&4(例如,您的配置中存在GC服务器) https://github.com/Linux74656/SpaceEngineersLinuxPatches/blob/master/README.md#step -3

那就是这样做的。 只需将gcServer enabled =“ true”添加到.config文件。 现在可以完美运行。 惊人。

谢谢。

@matty -r如果自动修补程序由于某种原因失败,那么最好知道为什么,这样其他人可以修复它。 应用时是否出现任何错误消息? 另外,您能告诉我们系统上配置文件的完整路径吗? 显然,在某些系统上,路径有所不同。

@matty -r如果自动修补程序由于某种原因失败,那么最好知道为什么,这样其他人可以修复它。 应用时是否出现任何错误消息? 另外,您能告诉我们系统上配置文件的完整路径吗? 显然,在某些系统上,路径有所不同。

我尝试重新运行它,但看起来它现在已应用gcServer设置-有点奇怪。 但是,在我重新运行它后,它并没有完全停止工作,只会在启动屏幕之后显示崩溃报告对话框。 我不得不手动重新添加gcServer,并删除了KSH.wmv。

因此,不太确定为什么会第一次中断-路径与Python脚本文件中的串联字符串匹配。

我刚刚使用基于@ Linux74656的Python脚本的bash脚本成功地使空间工程师在Linux上非常轻松地工作。

我在装有AMD RX 580 GPU的系统上运行Fedora 30。

值得注意的是,除非安装vcrun2015否则我实际上无法使它工作。

这是您的工作:

  1. 在您的Steam库中,右键单击Space Engineers-> properties->选中“强制使用特定的Steam Play兼容性工具”,然后选择“ Proton 4.11-7”,然后单击关闭。
  2. 安装SE。
  3. 启动SE,等待有关过期库的错误,然后单击“确定”。 SE在执行此操作时应创建一个葡萄酒前缀。
  4. 转到Bash shell,然后运行以下命令。
  5. 如果步骤3中的所有操作均成功,则启动SE。 现在应该可以工作了。

步骤3的Bash命令:

export WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx && winetricks --force -q d3dcompiler_47 && winetricks --force -q faudio && winetricks --force -q dotnet48 && winetricks --force -q winxp && sed -i 's/<runtime>\r\?$/<runtime> <gcServer enabled = "true"\/>/' ~/.local/share/Steam/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe.config && mv ~/.local/share/Steam/steamapps/common/SpaceEngineers/Content/Videos/KSH.wmv{,.bak}

这似乎太过分了。

值得注意的是,这似乎不适用于Proton 4.2,但无论如何我还是想默认使用4.11。

等等,您正在专门尝试使用FAudio,不是吗? 我错过了。 d3dcompiler_47winxp不必要。 (说实话,我很惊讶winxp不会破坏游戏。)

要运行游戏,需要Windows XP。 我一直无法在Windows 7或更高版本上使用它。

您好@duckinator ,我很高兴游戏对您来说运行良好。

当前,我们的Discord上还有另一个用户在Fedora(第443行)上的winetricks遇到问题:
https://pastebin.com/5Y1s7xjG

您可以与我们分享您使用的winetricks版本吗?

@roothorick根据您的评论,我删除了wine前缀,以便再次尝试。

事实证明,这足以使其对我有用:

WINEPREFIX=~/.steam/steam/steamapps/compatdata/244850/pfx winetricks -q dotnet48 xact && sed -i 's/<runtime>\r\?$/<runtime> <gcServer enabled = "true"\/>/' ~/.local/share/Steam/steamapps/common/SpaceEngineers/Bin64/SpaceEngineers.exe.config

不需要将-skipintro启动选项添加到Space Engineers,但是这样做可以跳过无法播放的启动视频。 如果您未设置该选项,它将使您陷入黑屏,并且需要单击或按一个键才能继续。


@InflexCZE这是wine + winetricks版本信息:

~$ wine --version
wine-4.17 (Staging)
~$ winetricks --version
20190912 - sha256sum: 31d37bf18f1503ec46cedf8889e447901e746454e9c3de465f9cc57193e0c90b
~$

上面我简化过的代码可能会做得更好,只是因为要做的事更少。 另外,他们可能想要先运行rm -rf ~/.steam/steam/steamapps/compatdata/244850/ ,然后再次运行游戏一次(以使其重新生成wine前缀),然后再试一次。

〜使用您的解决方法,游戏在加载世界后只能运行约一秒钟,然后冻结,但音频会继续播放。

编辑:重新启动后效果很好。

如果相关,这是有关我的系统的一些信息:

  • 锐龙7 2700
  • AMD Radeon RX 580
  • 16GB RAM
  • 运行Fedora 30
  • RPM Fusion存储库安装了Steam

我认识的类似硬件(Ryzen 7 1700,Radeon RX 580)使用我的最新评论成功地将其用于ArchLinux,但我不确定他们是否需要做更多的事情。

@duckinator你上面的

将GPS坐标复制到剪贴板时遇到问题。 我可以这样做一次,但是之后单击“复制到剪贴板”按钮时,它会锁定几秒钟,并且不会将坐标复制到剪贴板。

这是在Wayland Matty上吗?

这是在Wayland Matty上吗?

不,x11。

我遇到了另外两个问题:

  1. 从主菜单退出游戏后,它会挂在后台并且实际上并没有关闭。 Steam继续报告太空工程师正在运行。

  2. 播放约30分钟后,任何鼠标移动都会变得抖动。 我可以使用键将角色移动到适当的位置,并且不会遇到任何问题,但是一旦我用鼠标环顾四周,它就会再次变得抖动。 退出游戏并重新启动可以暂时解决此问题。

您好@ matty-r,第二部分的内容类似于#3316,有关解决方法,请参见https://github.com/ValveSoftware/Proton/issues/3316#issuecomment -565734041。

您好@ matty-r,第二部分显示为#3316,有关变通方法,请参阅#3316(注释)

谢谢队友,明天我会给它一个裂缝,看看它如何进行。

您好@ matty-r,第二部分显示为#3316,有关变通方法,请参阅#3316(注释)

G'day @ kisak-valve似乎已经解决了在一台机器上退出时的挂起和鼠标移动的问题(还可以尝试另一台机器,但我相信它也可以在那儿工作),谢谢。

我现在看到的唯一问题是https://github.com/ValveSoftware/Proton/issues/1792#issuecomment -565758685-首次尝试后无法将gps坐标复制到剪贴板。

退出太空工程师后,后台进程仍处于打开状态,并且Steam报告该游戏仍在运行。
质子4.11-11

退出太空工程师后,后台进程仍处于打开状态,并且Steam报告该游戏仍在运行。
质子4.11-11

同样,游戏运行良好,但我需要在玩完游戏后手动杀死很多流程(葡萄酒,太空工程师等)。

同样在这里,并且杀死进程不足以使蒸汽说我不再玩了,还必须杀死蒸汽。 太奇怪了。

对于仍然有游戏问题的每个人-查找并杀死SteamChildMonit进程,该进程也无法正常关闭,这将使Steam停止显示您正在玩游戏。

终止进程不是问题。
但它附带了4.11-10更新,并且仍然存在。

终止进程解决问题。 不管是SE
本身或各种虚拟进程之一正在挂起。

提醒您,那不能解决根本原因,但是可以解决

2020年1月2日星期四,上午10:32 diKsens [email protected]写道:

终止进程不是问题。
但它附带了4.11-10更新,并且仍然存在。

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1792?
或退订
https://github.com/notifications/unsubscribe-auth/AB5DMRAEVHS5P3XPDP2QZN3Q3YCHTANCNFSM4F6IMNRA

我最初无法启动游戏,要使其与Proton版本4.11-11配合使用,我必须使用命令wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks && chmod +x winetricks && sudo mv -v winetricks /usr/local/bin安装最新版本的winetricks,然后执行脚本wget https://raw.githubusercontent.com/Linux74656/SpaceEngineersLinuxPatches/master/autoprefix-patcher.py && python3 autoprefix-patcher.py

系统信息:

System:    Host: asimov-MacBookPro Kernel: 5.4.6-050406-generic x86_64 bits: 64 compiler: gcc 
           v: 9.2.1 Desktop: Cinnamon 4.4.6 wm: muffin dm: LightDM Distro: Linux Mint 19.3 Tricia 
           base: Ubuntu 18.04 bionic 
Machine:   Type: Laptop System: Apple product: MacBookPro13,3 v: 1.0 serial: <filter> Chassis: 
           type: 9 v: Mac-A5C67F76ED83108C serial: <filter> 
           Mobo: Apple model: Mac-A5C67F76ED83108C v: MacBookPro13,3 serial: <filter> UEFI: Apple 
           v: 263.0.0.0.0 date: 10/30/2019 
Battery:   ID-1: BAT0 charge: 52.4 Wh condition: 53.3/76.7 Wh (70%) volts: 12.7/11.5 
           model: SMP bq20z451 serial: N/A status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard serial: <filter> 
           charge: 55% status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i7-6920HQ bits: 64 type: MT MCP arch: Skylake-S 
           rev: 3 L2 cache: 8192 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 46398 
           Speed: 3363 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 4: 900 
           5: 900 6: 900 7: 900 8: 900 
Graphics:  Device-1: AMD Baffin [Radeon RX 460/560D / Pro 450/455/460/555/560] vendor: Apple 
           driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:67ef 
           Display: x11 server: X.Org 1.20.4 driver: amdgpu,ati unloaded: fbdev,modesetting,vesa 
           resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: 
           renderer: AMD Radeon RX Graphics (POLARIS11 DRM 3.35.0 5.4.6-050406-generic LLVM 7.1.0) 
           v: 4.5 Mesa 18.3.0-rc4 direct render: Yes 
Audio:     Device-1: Intel 100 Series/C230 Series Family HD Audio driver: snd_hda_intel v: kernel 
           bus ID: 00:1f.3 chip ID: 8086:a170 
           Device-2: AMD driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 1002:aae0 
           Sound Server: ALSA v: k5.4.6-050406-generic 
Network:   Device-1: Broadcom and subsidiaries BCM43602 802.11ac Wireless LAN SoC vendor: Apple 
           driver: brcmfmac v: kernel port: 3000 bus ID: 03:00.0 chip ID: 14e4:43ba 
           IF: wlp3s0 state: up mac: <filter> 
           IF-ID-1: docker0 state: down mac: <filter> 
Drives:    Local Storage: total: 465.92 GiB used: 104.53 GiB (22.4%) 
           ID-1: /dev/nvme0n1 vendor: Apple model: SSD SM0512L size: 465.92 GiB speed: 31.6 Gb/s 
           lanes: 4 serial: <filter> 
Partition: ID-1: / size: 455.46 GiB used: 52.10 GiB (11.4%) fs: ext4 dev: /dev/dm-1 
           ID-2: /boot size: 704.5 MiB used: 319.2 MiB (45.3%) fs: ext4 dev: /dev/nvme0n1p2 
           ID-3: swap-1 size: 979.5 MiB used: 25.0 MiB (2.6%) fs: swap dev: /dev/dm-3 
Sensors:   System Temperatures: cpu: 76.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Repos:     No active apt repos in: /etc/apt/sources.list 
           Active apt repos in: /etc/apt/sources.list.d/additional-repositories.list 
           1: deb [arch=amd64] https: //download.docker.com/linux/ubuntu bionic stable
           Active apt repos in: /etc/apt/sources.list.d/amdgpu-pro-local.list 
           1: deb [ trusted=yes ] file: /var/opt/amdgpu-pro-local/ ./
           Active apt repos in: /etc/apt/sources.list.d/graphics-drivers-ppa-bionic.list 
           1: deb http: //ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic main
           Active apt repos in: /etc/apt/sources.list.d/kubernetes.list 
           1: deb https: //apt.kubernetes.io/ kubernetes-xenial main
           Active apt repos in: /etc/apt/sources.list.d/lutris-team-lutris-bionic.list 
           1: deb http: //ppa.launchpad.net/lutris-team/lutris/ubuntu bionic main
           Active apt repos in: /etc/apt/sources.list.d/nodesource.list 
           1: deb https: //deb.nodesource.com/node_10.x bionic main
           2: deb-src https: //deb.nodesource.com/node_10.x bionic main
           Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
           1: deb http: //ftp.acc.umu.se/mirror/linuxmint.com/packages tricia main upstream import backport
           2: deb http: //archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
           3: deb http: //archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
           4: deb http: //archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
           5: deb http: //security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
           6: deb http: //archive.canonical.com/ubuntu/ bionic partner
           Active apt repos in: /etc/apt/sources.list.d/skype-stable.list 
           1: deb [arch=amd64] https: //repo.skype.com/deb stable main
Info:      Processes: 307 Uptime: 2h 31m Memory: 15.54 GiB used: 2.85 GiB (18.4%) Init: systemd 
           v: 237 runlevel: 5 Compilers: gcc: 7.4.0 alt: 7 Client: Unknown python3.6 client 
           inxi: 3.0.32 

游戏不会从使用专有驱动程序(在435和440上进行了测试)的NVIDIA GPU开始,但确实会使用集成AMD GPU(可怜)。
我不断收到“更新窗口或您的GPU驱动程序”对话框。

  • wine版本5.0-rc3(也尝试过4.0.3)
  • winetricks版本20191224-下一个
  • 质子版本4.11.11

日志:
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

尝试释放proton-tkg,看看会发生什么。 我认为NVIDIA卡通常会像AMD卡一样被欺骗,但是也许不再存在,您可以手动将GPU欺骗给AMD。

我不确定该方法是否仍然适用于质子,但是这些方法是否适用于AMD(只需搜索值)。

游戏目录中的dxvk.conf:
dxgi.customDeviceId = E366
dxgi.customVendorId = 1002

我只是尝试使用proton_tkg_5.0rc5.r0 ,但即使使用dxvk.conf文件也不起作用。

我会尽快在tkg上进行试驾。

使用Proton GloriousEggrolls 4.15-ge-1,似乎可以使游戏识别出我的实际GPU,但VRageRender仍会失败:
VRageRender-DirectX11.log
SpaceEngineers.log

更新:由于@ Linux74656,我的问题已解决:

  • Wineprefix包含faudio vcrun2015 dotnet48和d3dcompiler_47。
  • 质子4.11.12
  • Steam游戏参数:DXVK_FILTER_DEVICE_NAME =“ GeForce”

我似乎无法从所有补丁和建议开始,而且甚至连日志信息也无法告诉我为什么:
steam-244850.log

谁能帮我吗?
系统信息

您好@MajorLunaCerr:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"SpaceEngineers.exe" cannot be loaded看起来像您的日志中的关注线。 似乎.NET支持在您的修补工作中遇到了麻烦。

系统:
AMD 2700X水冷
32GB DDR4 3200MHz CL18内存
RX VEGA64水冷
SSD游戏

OS Manjaro内核5.5 Mesa 20 git(游戏启动时带有RADV_PERTEST = aco),Wine 5 RC4
与Win10 1909相比

游戏正在运行,但是随机崩溃,质子日志每次运行会生成50-150 + MB,直到游戏渲染器无法以120 FPS的速度运行时,它才会变得不稳定。 在相同的设置下,游戏的运行速度要慢得多(在Win上为70+ FPS stabel,在Linux上为28。预置了4k高设置。在同一世界中的相同位置保存。)(再次加载后,它在fps计数器中给了我60 fps,但游戏仍然像以前一样有些吃惊。如果渲染可以正常运行,但是游戏引擎处于糟糕的性能状态。)
Windows-VRageRender-DirectX11.log
Windows-SpaceEngineers.log
LINUX-VRageRender-DirectX11.log
Linux-SpaceEngineers.log

质子日志(50MB)
Google云端硬碟

是的,我记得即使FPS很高时也有断断续续的感觉。 我不确定是否已修复它,但您可能想尝试启用vsync。

@ kisak-valve,您好,除了SpaceEngineersLinuxPatches之外,我还没有进行任何其他调整。 我已经尝试过Steam的默认修复程序,但它们以完全相同的方式失败,然后尝试了此问题对话中列出的命令以及SpaceEngineersLinuxPatches。 从我收集的数据来看,.NET似乎没有正确安装-请参阅如何在64位前缀上安装.NET 4.5 ,并且我什至不清楚在安装过程中何时应启用WinXP模式或Win7模式并运行(显然会有所不同)。 我认为问题可能出在Winetricks的不同版本上,而该版本从不同来源获得安装程序。
我有Winetricks 20191224-next,并清除了/HOME/.cache/winetricks/,因此将下载新版本。 假设.NET应该提供mscoree.dll的新版本,如果正确安装,它将超过100 kb,但它似乎从未改变。 一种半解决方法是,我从<Link removed by moderator>下载最新版本的mscoree.dll(第10版)并将其直接放在SpaceEngineers / Bin64 /(以及ucrtbase_clr0400.dll和vcruntime140_clr0400.dll)中(之后),游戏开始,我可以浏览游戏菜单。 在SpaceEngineer.log中加载以下内容的新游戏时,它有时会导致游戏崩溃:
2020-01-23 15:28:50.210 - Thread: 1 -> ERROR Entity init!: System.IO.IOException: Too many open files.

我可以让别人告诉我他们的葡萄酒技巧有效吗? 还是最终甚至可以使用整个pfx目录?

在我使用@ plasticbomb1986进行操作时,为了提高性能,您可以尝试调整注册表(在执行操作之前备份pfx目录),特别是将VideoMemorySize项更改为实际的,GLSL项和DirectDrawRenderer项在Direct3D中,与纹理或着色器有关。 一次尝试一个,先还原所有更改,然后再尝试新的组合。

@MajorLunaC ,虽然我不会在您尝试的变通办法上发表评论,但值得仔细检查ulimit -Hn输出的是高值而不是4096。

另外,您评论中的链接之一在法律上有问题,已被删除。

@ kisak-valve糟糕,对于该链接,我没有意识到。 我也已经习惯于试图找出问题所在,并通过任何必要的手段来解决。

ulimit -Hn的输出为4096。对此我能做些什么? 我可以安全地增加到多少吗?

Proton默认情况下使用esync(或使用功能强大的内核进行fsync),因此很可能是造成您遇到的问题的原因。 https://github.com/zfigura/wine/blob/esync/README.esync的第一部分应该会有所帮助。

@ kisak-valve哇,效果很好,我可以完美发挥! 谢谢你的帮助!
我仍然想弄清楚如何确保通过winetricks提供的安装程序正确安装所有东西,以保持一致性,因为安装程序似乎并没有真正检查它们是否做得正确。 我认为.NET Framework修复工具可能会在wine中运行。 从每个人拥有的Windows版本复制dll或在线查找dll的“法律上有问题的”方式对每个人都是不切实际的。

只需使用protontricks即可轻松安装dotnet。

我认为Dotnet可以一直安装到472(或者现在是492?),但是它的许多功能可能无法正常工作。 Windows Mono是替代方法,但是许多功能可能无法很好地匹配。

贾拉德

是的,我记得即使FPS很高时也有断断续续的感觉。 我不确定是否已修复它,但您可能想尝试启用vsync。

检查一下感觉更好一些,不那么混乱,但fps仍未达到应有的水平。 PLus有时仍会崩溃。

少校

在我使用@ plasticbomb1986进行操作时,为了提高性能,您可以尝试调整注册表(在执行操作之前备份pfx目录),特别是将VideoMemorySize项更改为实际的,GLSL项和DirectDrawRenderer项在Direct3D中,与纹理或着色器有关。 一次尝试一个,先还原所有更改,然后再尝试新的组合。

要检查一下! 谢谢你的提示!

哦,还有一件事。 你们中的任何人都能使用Alt + F10吗?

有人在启动时遇到file not found错误吗?

Screenshot from 2020-01-26 15-28-13

@BeauBouchard您是否正在使用质子的自定义版本...使用最新版本的Glorious Eggrolls自定义质子时,会收到此消息。
如果是这样,请尝试使用最新的官方质子版本。 注意:您可能必须删除并重新创建前缀,因为GE甚至在切换到4.11-12之后都破坏了我的Space Engineers前缀。

今天,质子在我的电脑上进行了更新(从质子5到5.0.2?),此后游戏关闭,即使坐在主菜单中,也出现内存不足错误。
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

发生了很多事情,平均2-3小时的游戏会话中,质子日志轻松地生成了400-500 MB的日志。

今天,质子在我的电脑上进行了更新(从质子5到5.0.2?),此后游戏关闭,即使坐在主菜单中,也出现内存不足错误。
SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log

发生了很多事情,平均2-3小时的游戏会话中,质子日志轻松地生成了400-500 MB的日志。

重新创建前缀后,其名称仍然相同。

SpaceEngineers.log
VRageRender-DirectX11.log
steam-244850.log
Screenshot from 2020-02-15 15-14-39cut

忘记了系统规格:Ryzen 2700X 32GB DDR4 VEGA64和多个SSD(在NVME SSD上交换)。

内核5.5 mesa 20git Manjaro Gnome DE

同样在这里。
SpaceEngineers.log

steam-244850.log
这是我最新的日志,以防万一,但我还没有通过启动画面。

同样的错误,但是我没有运行Proton(lutris-5.0),并且在玩了一个月没有问题后,今天的游戏突然崩溃了。
我重新安装了葡萄酒前缀/游戏,禁用了蒸汽云,没有任何效果。
我启动进入Windows 10,并且第一次看到通知: Default Radeon WattMan settings restored due to unexpected system failure

可以在Windows下播放,但重新启动/冷启动后,在Linux下会出现相同的错误。

配置:Ryzen 5 2600,AMD RX470、16Gb RAM,SSD / Lutris-5.0 / ArchLinux

这确实是一个奇怪的错误。 它完全不在.NET库深处的SE范围内。
从堆栈跟踪中,它看起来像是网络通信,也许是分析之类的东西。

您能否尝试断开互联网连接一秒钟并在没有任何连接的情况下运行SE,以便我们排除远程服务器发出疯狂响应的可能性。

这确实是一个奇怪的错误。 它完全不在.NET库深处的SE范围内。
从堆栈跟踪中,它看起来像是网络通信,也许是分析之类的东西。

您能否尝试断开互联网连接一秒钟并在没有任何连接的情况下运行SE,以便我们排除远程服务器发出疯狂响应的可能性。

现在尝试重新安装过程。 Linux74656脚本停滞在这里:01a0: err:ole :ifproxy_release_public_refs IRemUnknown_RemRelease失败,错误为0x800706be

没有互联网连接,SE可以像以前一样启动。
建立Internet连接并查询服务器后,它立即崩溃。
SpaceEngineers.log

我有Proton 5.0-2和dontnet472以及dotnet48。
还尝试了Proton 4.11-12和dotnet472。

@ plasticbomb1986对于安装,您仍然需要Internet连接,以便可以下载安装程序。

@ plasticbomb1986对于安装,您仍然需要Internet连接,以便可以下载安装程序。

那本来是一个脸庞的时刻,但是没有,那个时候网络还在运转。

我刚从电影院回家,在过去的四个小时里,好像一切都结束了,但是我要重新运行一下,只是为了检查一下。

我还可以确认禁用Internet连接可以防止该错误。

我还可以确认禁用Internet连接可以防止该错误。

是的,如果在Se启动并弹出第一个加载“屏幕”后,我关闭了网络,加载了,并且运行正常,如果我没有关闭网络,则加载了,但是音频破裂了,然后几秒钟,它给出了内存不足错误。

Keen SWH Discord(https://discord.gg/keenswh)上的人在此期间找到了解决方案。
游戏将分析发送到81.0.234.196和88.146.207.227(敏锐的SWH分析服务器),这显然会(无意间)发回一些导致问题的垃圾。

解决方案是通过以下方式阻止此服务:
sudo iptables -A INPUT -s 88.146.207.227 -j DROP

所有功劳归给Rölli:+1:

解决方案是通过以下方式阻止此服务:
sudo iptables -A INPUT -s 88.146.207.227 -j DROP

很好,谢谢! 这项工作很好!

似乎有些人在这里遇到一些不同的错误,而且似乎没有一个与我匹配。 我还会在短时间内看到启动屏幕,然后崩溃,但是我的日志看起来与其他人最近上传的日志不同。 对我来说最有趣的一行是
[000000000000003C:] EXCEPTION handling: System.TypeInitializationException: The type initializer for 'GameAnalyticsSDK.Net.Logging.GALogger' threw an exception.

这是一个干净的前缀(已删除steamapps/compatdata/244850 ),经过测试,无论是否从此处更改文件。

上面的iptables命令对我没有帮助。

steam-244850.log

@captaincrutches在游戏启动时,您是否偶然接受了GDPR协议信息对话? 它可能很活跃,可能是问题的根源。
您可以在此处检查:... / 244850 / pfx / drive_c / users / steamuser / Application Data / SpaceEngineers / SpaceEngineers.cfg

并更改:

<item>
        <Key>GDPRConsent</Key>
        <Value>
          <Value xsi:type="xsd:string">True</Value>
        </Value>
</item>

至:

<item>
        <Key>GDPRConsent</Key>
        <Value>
          <Value xsi:type="xsd:string">False</Value>
        </Value>
</item>

@ Linux74656我从没有GDPR对话框,也根本没有该文件。 实际上,我在系统上的任何地方都找不到SpaceEngineers.cfg

该文件夹确实包含一个SpaceEngineers.log ,出于完整性考虑,我将在此处上传它-似乎有一个空指针异常。

SpaceEngineers.log

您正在通过Mono而不是.NET框架运行游戏。 可能是错误地安装了前缀。

您正在使用哪个发行版和winetricks版本?

我在Gentoo上使用最新的Winetricks(20191224)和Protontricks(1.4.1)进行搬运。

删除游戏前缀并重新创建。 这样做时,请保存输出日志,以便我们查看是否有任何有趣的事情。

嗯,你猜怎么着? 我以前曾经尝试过使用protontricks / winetricks通过命令行进行修补...但是我只是尝试使用PatcherGUI.jar以及lo和瞧,现在开始游戏! 谢谢你的轻推〜

不知道我是否应该在此线程中发布,但是当我告诉太空工程师退出时,它实际上并没有正确关闭线程。 再加上在STEAM上按“停止”也不会杀死它。 我需要手动终止进程。

我遇到了同样的问题,令我感到困惑的是,即使我终止了与SE,Wine或Proton有关的所有过程,它仍然拒绝看到SE在Steam中退出。 实际上,我必须杀死蒸汽才能让我随后重新启动SE。 很烦人。 除了杀死Steam中所有与SE / Proton相关的过程外,我对这个问题的研究还不够多,但是可能需要研究一下

我遇到了同样的问题,令我困惑的是,即使我杀死了与SE,Wine或Proton相关的所有进程,它仍然拒绝看到SE在Steam中退出。 实际上,我必须杀死蒸汽才能让我随后重新启动SE。 很烦人。 除了杀死Steam中所有与SE / Proton相关的过程外,我对这个问题的研究还不够多,但是可能需要研究一下

我给你个小费。 我正在使用Ubuntu,所以这可能会或可能不会转变为您的情况。

在我成为太空工程师之后,我会打开“系统监视器”。 在“过程”选项卡中,单击堆叠的汉堡(三条水平线)菜单,然后启用“显示依赖项”,然后将“过程”部分变成树。

然后,我去寻找运行“ Steam”的区域,并专门寻找“ SteamChildMonit”和其中的树。 如果有多个(可能只有一个),则查找带有子项“ SpaceZEngineers”的一个。 和一堆葡萄酒。

然后,我首先单击“ SteamChildMonit”以突出显示它,按住shift并单击该树中的最后一个子项(通常为“ winedevice.exe”)。 然后右键单击所选内容,将其杀死,然后将其全部杀死。

这使我能够重新启动游戏(或者我可以启动其他游戏),而不必杀死所有STEAM。

我实际上发现,如果我“正常”退出SE,我确实需要如上所述手动杀死一堆进程...但是,如果我从终端kill -9 $(pgrep SpaceEngineers)而不是正常退出游戏,则所有相关进程根据需要死亡。

僵尸进程问题不是Wine / Proton问题,对我来说,它也发生在Windows上。

看到这个: https :

自拥有游戏以来,我第一次可以使用Proton 5.0-8rc使它超过初始屏幕,虽然不清楚我在游戏中正在做什么,但至少最终我可以玩它了。 :)

经过足够长的会话后,我面临崩溃的危险。 steam-244850.log具有900 MB,但游戏日志较小。 上传之前,我将需要等待一段时间。

游戏日志:
SpaceEngineers_20200626_220158938.log

Steam日志(压缩): https: //mega.nz/file/gxxAnKzS#gunhdGQRfYJLIbnEGadOWQ6PNC2j4eMYgssjh -IJHPg

系统规格: https

是的,太空工程师在一段随机的时间后撞毁了我,看着日志我什么都看不见,所以不确定该怎么办:(它经常发生。

我们可以为航天工程师提供质子修复工具,让其退出游戏时实际上不退出吗?

“游戏不是在Proton沙箱中启动的,可以看到正常的Linux目录结构”-当今对我有帮助的许多实际编程人员之一总结。 从我的角度来看,我会看到一两秒钟的启动画面,然后所有画面恢复到好像从未单击过播放的状态。 日志已附加。
SpaceEngineers_20200708_180142615.log

系统信息

  • GPU:X.Org Radeon RX 570系列(POLARIS10,DRM 3.33.0、5.3.3-62-generic,LLVM 9.0.0)
  • 驱动程序/ LLVM版本:4.5(兼容性配置文件)Mesa 19.2.8
  • 内核版本:5.3.0-62-泛型
  • 链接到完整的系统信息报告: https :
  • 质子版本:5.0-9

您是否尝试了安装jar文件? 我发现它相当可靠,但是,可以肯定的是,这些东西应该烤成质子。

这实际上是在上述友好和有知识的(和耐心的!)人的帮助下,同时使用了自动版本和手动版本的结果……假设我应该提到这一点。 :p
由于其他可能无关的情况,我可能很快将不得不从头开始重新安装Steam,也许不再奇怪了? 走着瞧!

此页面是否有帮助?
0 / 5 - 0 等级