Wine 上的 Steam 应用无法解析 Microsoft.Xna.Framework.Game,尽管有所需的 dll

Wine 上的 Steam 应用无法解析 Microsoft.Xna.Framework.Game,尽管有所需的 dll

这是第一个问题,我会尽可能多地提供信息,但如果有必要,我很乐意提供更多信息。我已经搜索了 Google 和 SU,发现了许多类似的问题,尝试了许多建议的修复方法(这就是我使用 32 位前缀和下面列出的已安装组件的方法),但无济于事。

我想要做什么?

我正在尝试使用 Wine 在 Linux Mint 上运行游戏“Blood and Bacon”。

发生什么问题了?

游戏无法运行并出现错误。弹出窗口说找不到合适的显卡来支持 Direct3D。

编辑:Steam 信息选项卡显示它确实找到了我的显卡

使用的软件

  • Linux Mint 17.2 Rafaela

  • Wine 1.6.2(尝试通过终端更新,但它告诉我我拥有最新版本)

    • 使用 winetricks 安装以下内容:
      • d3dx10
      • d3dx9 (_26,_28,_31,_35,_36,_39,_42,_43)
      • 直接x9
      • dotnet40
      • xna40
  • Steam(Windows 版本)

  • 血与培根

使用的硬件 CPU:AMD Athlon(tm) 7750 双核处理器 GPU:[AMD/ATI] Juniper XT [Radeon HD 5770] 内存:4GB

当通过 Wine 运行时,Steam 可以正确找到这些。

采取的措施

  • 创建 32 位前缀
  • 在上述前缀中安装了适用于 Windows 的 Steam,以及上述 Windows 组件
  • 通过终端启动 Steam

wine steam.exe -no-cef-sandbox -no-dwrite(必须有标志才能阻止 webhelper 崩溃并使文本可见)

通过 Steam 安装了 Blood and Bacon(一切顺利,没有显示任何错误),并在库中选择它,然后点击“播放”。它出现在我的任务管理器中,但不占用内存或 CPU。游戏实际上并没有启动,尽管 Steam 显示我现在已经玩了 37 分钟,所以一定发生了什么事情。

它会弹出一个提示

could not find direct3d device that supports the XNA framework HiDef profile并继续说明我需要一张合适的显卡,我有一张,并且 Steam 可以根据信息选项卡检测到它。

直接通过终端启动BloodanddBacon.exe时显示:

tijmen@tijmen-desktop ~/.wine-Steam/drive_c/Program Files/Steam $ wine "/home/tijmen/.wine-Steam/drive_c/Program Files/Steam/steamapps/common/Blood and Bacon/BloodandBacon.exe"
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessDEPPolicy (1): stub
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub.
fixme:thread:SetThreadStackGuarantee (0x33fc04): stub
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Game"
fixme:shell:URL_ParseUrl failed to parse L"Steamworks.NET"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Graphics"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Input.Touch"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"Accessibility"
fixme:shell:URL_ParseUrl failed to parse L"System.Core"
fixme:win:EnumDisplayDevicesW ((null),0,0x33cb78,0x00000000), stub!
fixme:d3d9:D3DPERF_SetOptions (0x2) : stub
fixme:advapi:RegisterTraceGuidsW (0xbe6ad2, (nil), {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 1, 0x33e474, (null), (null), 0xf44bc0,): stub
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:gdiplus:GdipCreateHalftonePalette stub
fixme:process:FlushProcessWriteBuffers : stub

我并不经常使用 Wine,因为我通常只使用本地运行的软件,但我的一些朋友真的希望我和他们一起玩这个,所以我破例了。然而,这意味着我对自己在这里做的事情不是 100% 有信心,而且我可能会忽略一些非常明显的东西。

非常感谢任何帮助!

相关内容