[Bug 35444] New: Wayward Terran Frontier Open Alpha (.NET 4.0/XNA 4 game) reports 'Could not find a Direct3D device that supports the XNA Framework HiDef profile'
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Jan 25 15:17:17 CST 2014
https://bugs.winehq.org/show_bug.cgi?id=35444
Bug ID: 35444
Summary: Wayward Terran Frontier Open Alpha (.NET 4.0/XNA 4
game) reports 'Could not find a Direct3D device that
supports the XNA Framework HiDef profile'
Product: Wine
Version: 1.7.11
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Classification: Unclassified
Hello folks,
as the summary says.
Prerequisite: 'winetricks -q dotnet40' in 32-bit WINEPREFIX
The game will install XNA 4.0 on its own.
Trace log isn't very interesting ... it's managed code that does the actual
work.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Wayward Terran Frontier
$ WINEDEBUG=+tid,+seh,+relay,+d3d9,+d3d wine ./Wayward\ Terran\ Frontier.exe
>>log.txt 2>&1
...
002a:Ret PE DLL (proc=0x7e0a24d0,module=0x7df90000
L"wined3d.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
002a:Call PE DLL (proc=0x7e218ee8,module=0x7e1f0000
L"d3d9.dll",reason=PROCESS_ATTACH,res=(nil))
...
002a:Call PE DLL (proc=0x3abf6b8,module=0x3a80000
L"Microsoft.Xna.Framework.Graphic",reason=PROCESS_ATTACH,res=(nil))
002a:Call KERNEL32.GetModuleFileNameW(03a80000,0033c310,00000104) ret=603d40c1
002a:Ret KERNEL32.GetModuleFileNameW() retval=0000008d ret=603d40c1
002a:Call KERNEL32.CreateFileW(0033c310
L"C:\\windows\\Microsoft.Net\\assembly\\GAC_32\\Microsoft.Xna.Framework.Graphics\\v4.0_4.0.0.0__842cf8be1de50553\\Microsoft.Xna.Framework.Graphics.dll",80000000,00000001,00000000,00000003,08000000,00000000)
ret=603be944
002a:Ret KERNEL32.CreateFileW() retval=00000184 ret=603be944
...
002a:Call d3d9.Direct3DCreate9(00000020) ret=04c2c787
002a:trace:d3d9:Direct3DCreate9 sdk_version 0x20.
...
002a:trace:d3d:wined3d_create Created wined3d object 0x1a5860 for d3d9 support.
002a:Ret wined3d.wined3d_create() retval=001a5860 ret=7e20e6fe
...
002a:trace:d3d9:Direct3DCreate9 Created d3d9 object 0x18fed0.
002a:Ret d3d9.Direct3DCreate9() retval=0018fed0 ret=04c2c787
...
002a:Call d3d9.D3DPERF_SetOptions(00000002) ret=04c2c8c7
002a:fixme:d3d9:D3DPERF_SetOptions (0x2) : stub
002a:Ret d3d9.D3DPERF_SetOptions() retval=00000030 ret=04c2c8c7
...
002a:trace:d3d9:d3d9_GetDeviceCaps iface 0x18fed0, adapter 0, device_type 0x1,
caps 0x33efd4.
...
002a:Call wined3d.wined3d_get_device_caps(001a5860,00000000,00000001,001a9c20)
ret=7e20d852
002a:trace:d3d:wined3d_get_device_caps wined3d 0x1a5860, adapter_idx 0,
device_type WINED3D_DEVICE_TYPE_HAL, caps 0x1a9c20.
002a:Ret wined3d.wined3d_get_device_caps() retval=00000000 ret=7e20d852
...
002a:Call KERNEL32.RaiseException(e0434352,00000001,00000005,0033f094)
ret=791cac08
002a:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83a913
ip=7b83a913 tid=002a
002a:trace:seh:raise_exception info[0]=80131500
002a:trace:seh:raise_exception info[1]=00000000
002a:trace:seh:raise_exception info[2]=00000000
002a:trace:seh:raise_exception info[3]=00000000
002a:trace:seh:raise_exception info[4]=79140000
002a:trace:seh:raise_exception eax=7b826989 ebx=7b8ba000 ecx=80131500
edx=0033efa4 esi=0033f050 edi=0033f010
002a:trace:seh:raise_exception ebp=0033efe8 esp=0033ef84 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283
...
002a:Call user32.MessageBoxW(0001006c,00cde088 L"No suitable graphics card
found.\n\nCould not find a Direct3D device that supports the XNA Framework
HiDef profile.\r\n\r\nVerify that a suitable graphics device is
installed.\r\n\r\nMake sure the desktop is not locked, and that no other
application is running in full screen mode.\r\n\r\nAvoid runnin"...,00ccbe48
L"Wayward Terran Frontier",00000010) ret=04c6de0f
...
--- snip ---
With a managed debugger:
--- snip ---
0033f140 7b83a913 [HelperMethodFrame: 0033f140]
0033f190 04c2c514
Microsoft.Xna.Framework.GraphicsDeviceManager.FindBestPlatformDevice(Boolean)
0033f1ac 04c2c3fc
Microsoft.Xna.Framework.GraphicsDeviceManager.FindBestDevice(Boolean)
0033f1b0 04c2bf01
Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean)
0033f218 04c2bddb
Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.CreateDevice()
0033f21c 04c2bb98 Microsoft.Xna.Framework.Game.RunGame(Boolean)
0033f250 037326f2 WTFLauncher.Program.Main(System.String[])
0033f4a8 791421db [GCFrame: 0033f4a8]
--- snip ---
The XNA code compares the returned D3D device caps against XNA 4.0 'HiDef'
profile values.
More info here:
http://msdn.microsoft.com/en-us/library/ff604995.aspx (What Is a Profile?)
http://blogs.msdn.com/b/shawnhar/archive/2010/03/12/reach-vs-hidef.aspx (Reach
vs. HiDef)
Debugging the actual validation is very annoying so I just dumped the profile
values.
Maybe one D3D dev can spot values that aren't met in Wine by default (shader is
3.0).
--- snip ---
VertexShaderVersion = 768u,
PixelShaderVersion = 768u,
OcclusionQuery = true,
GetBackBufferData = true,
SeparateAlphaBlend = true,
DestBlendSrcAlphaSat = true,
MinMaxSrcDestBlend = false,
MaxPrimitiveCount = 1048575,
IndexElementSize32 = true,
MaxVertexStreams = 16,
MaxStreamStride = 255,
MaxVertexBufferSize = 67108863,
MaxIndexBufferSize = 67108863,
MaxTextureSize = 4096,
MaxCubeSize = 4096,
MaxVolumeExtent = 256,
MaxTextureAspectRatio = 2048,
MaxSamplers = 16,
MaxVertexSamplers = 4,
MaxRenderTargets = 4,
NonPow2Unconditional = true,
NonPow2Cube = true,
NonPow2Volume = true,
ValidTextureFormats =
{
SurfaceFormat.Color,
SurfaceFormat.Bgr565,
SurfaceFormat.Bgra5551,
SurfaceFormat.Bgra4444,
SurfaceFormat.Dxt1,
SurfaceFormat.Dxt3,
SurfaceFormat.Dxt5,
SurfaceFormat.NormalizedByte2,
SurfaceFormat.NormalizedByte4,
SurfaceFormat.Rgba1010102,
SurfaceFormat.Rg32,
SurfaceFormat.Rgba64,
SurfaceFormat.Alpha8,
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4,
SurfaceFormat.HdrBlendable
},
ValidCubeFormats =
{
SurfaceFormat.Color,
SurfaceFormat.Bgr565,
SurfaceFormat.Bgra5551,
SurfaceFormat.Bgra4444,
SurfaceFormat.Dxt1,
SurfaceFormat.Dxt3,
SurfaceFormat.Dxt5,
SurfaceFormat.Rgba1010102,
SurfaceFormat.Rg32,
SurfaceFormat.Rgba64,
SurfaceFormat.Alpha8,
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4,
SurfaceFormat.HdrBlendable
},
ValidVolumeFormats =
{
SurfaceFormat.Color,
SurfaceFormat.Bgr565,
SurfaceFormat.Bgra5551,
SurfaceFormat.Bgra4444,
SurfaceFormat.Rgba1010102,
SurfaceFormat.Rg32,
SurfaceFormat.Rgba64,
SurfaceFormat.Alpha8,
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4,
SurfaceFormat.HdrBlendable
},
ValidVertexTextureFormats =
{
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4,
SurfaceFormat.HdrBlendable
},
InvalidFilterFormats =
{
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4,
SurfaceFormat.HdrBlendable
},
InvalidBlendFormats =
{
SurfaceFormat.Single,
SurfaceFormat.Vector2,
SurfaceFormat.Vector4,
SurfaceFormat.HalfSingle,
SurfaceFormat.HalfVector2,
SurfaceFormat.HalfVector4
},
ValidDepthFormats =
{
DepthFormat.Depth16,
DepthFormat.Depth24,
DepthFormat.Depth24Stencil8
},
ValidVertexFormats =
{
VertexElementFormat.Color,
VertexElementFormat.Single,
VertexElementFormat.Vector2,
VertexElementFormat.Vector3,
VertexElementFormat.Vector4,
VertexElementFormat.Byte4,
VertexElementFormat.Short2,
VertexElementFormat.Short4,
VertexElementFormat.NormalizedShort2,
VertexElementFormat.NormalizedShort4,
VertexElementFormat.HalfVector2,
VertexElementFormat.HalfVector4
}
--- snip ---
NOTE: Not all 'formats' (enum) values need to be present but most likely all
the integer/bool properties need to pass.
$ sha1sum WaywardSetup.msi
ad1b0bf88ce284b2c4c36fbb93012b60cb0a673f WaywardSetup.msi
$ du -sh WaywardSetup.msi
8.5M WaywardSetup.msi
$ wine --version
wine-1.7.11-159-gee33839
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list