[Bug 37371] EVE Probe reports 'ALError: ALResult(80004005) E_FAIL' (NV Optimus detection doesn't work)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Nov 2 03:44:01 CST 2014
https://bugs.winehq.org/show_bug.cgi?id=37371
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |download
Status|UNCONFIRMED |NEW
URL| |http://files.eveprobe.ccpga
| |mes.com/eveprobe-0.82.6614.
| |0.msi
CC| |focht at gmx.net
Summary|EVE Probe: ALError: |EVE Probe reports 'ALError:
|ALResult(80004005) E_FAIL: |ALResult(80004005) E_FAIL'
|An undetermined error |(NV Optimus detection
|occurred |doesn't work)
Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/CCP/EVE Probe/launcher
$ wine ./eveprobe.exe
...
fixme:d3d11:D3D11CreateDevice stub: adapter 0x13e030, driver_type
D3D_DRIVER_TYPE_UNKNOWN, swrast (nil), flags 0, feature_levels 0x338e84, levels
0x1, sdk_version 7, device 0x338e9c, feature_level 0x338e80, context 0x338e90
No handlers could be found for logger "trinity"
Starting up Trinity through _trinity_dx9_deploy ...
fixme:win:EnumDisplayDevicesW ((null),0,0x3385d0,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33902c,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x33902c,0x00000000), stub!
Unhandled exception in run()
Traceback (most recent call last):
File "autoexec.py", line 414, in run
File "autoexec.py", line 396, in run_protected
File "infogatherer\__init__.py", line 110, in gather_info
File "infogatherer\__init__.py", line 103, in getGpuInfo
File "infogatherer\__init__.py", line 87, in getGpuDriverInfo
ALError: ALResult(80004005) E_FAIL: An undetermined error occurred
An exception has occurred. It has been logged in the log server as exception #1
--- snip ---
You can skip the wrapper using the following command line:
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/CCP/EVE Probe
$ wine ./bin/exefile.exe /lib=code.ccp /NoConsole
--- snip ---
The EVE Online client code is compiled stackless python and encrypted.
Unwrapping (https://bugs.winehq.org/show_bug.cgi?id=5657#c13) yields the
following:
--- snip ---
...
def getGpuDriverInfo(adapterInfo):
driverInfo = adapterInfo.GetDriverInfo()
results['gpu']['driver']['Version'] =
unicode(driverInfo.driverVersionString)
results['gpu']['driver']['Date'] = unicode(driverInfo.driverDate)
results['gpu']['driver']['Vendor'] = unicode(driverInfo.driverVendor)
results['gpu']['driver']['IsOptimus'] = u'Yes' if driverInfo.isOptimus else
u'No'
results['gpu']['driver']['IsAmdSwitchable'] = u'Yes' if
driverInfo.isAmdDynamicSwitchable else u'No'
def getGpuInfo():
adapters = trinity.adapters
adapterInfo = adapters.GetAdapterInfo(adapters.DEFAULT_ADAPTER)
results['gpu']['Description'] = unicode(adapterInfo.description)
results['gpu']['Driver'] = unicode(adapterInfo.driver)
results['gpu']['VendorId'] = unicode(adapterInfo.vendorID)
results['gpu']['DeviceId'] = unicode(adapterInfo.deviceID)
results['gpu']['TrinityPlatform'] = unicode(trinity.platform)
getGpuDriverInfo(adapterInfo)
def gather_info():
getOsVersion()
getProcessorInfo()
getRAMInfo()
getGpuInfo()
return results
__all__ = ['gather_info']
--- snip ---
line 87:
--- snip ---
results['gpu']['driver']['IsOptimus'] = u'Yes' if driverInfo.isOptimus else
u'No'
--- snip ---
The property for NVIDIA Optimus detection is not set.
The native code that does the job is likely located in 'd3dinfo.pyd' and one of
these '_trinity_dx9_deploy.dll', '_trinity_dx9_internal.dll' components.
--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0xf70fef48 D3D11CreateDevice(adapter=0x12fa60,
driver_type=D3D_DRIVER_TYPE_UNKNOWN, swrast=(nil), flags=0,
feature_levels=0x338e84, levels=0x1, sdk_version=0x7, device=0x338e9c,
feature_level=0x338e80, context=0x338e90)
[/home/focht/projects/wine/wine.repo/src/dlls/d3d11/d3d11_main.c:51] in d3d11
(0x003390c8)
1 0x046ecd23 in d3dinfo.pyd (+0xcd22) (0x00339114)
2 0x046ededc in d3dinfo.pyd (+0xdedb) (0x00339164)
3 0x046ee41e in d3dinfo.pyd (+0xe41d) (0x003391c0)
4 0x046f070c in d3dinfo.pyd (+0x1070b) (0x003391f0)
5 0x1e0268e6 in python27 (+0x268e5) (0x025bddd0)
Wine-dbg>info share
Module Address Debug info Name (107 modules)
PE 340000- 376000 Export _yaml.pyd
PE 400000- 431000 Export exefile
PE 46e0000- 477f000 Export d3dinfo.pyd
PE 10000000-10330000 Export blue
PE 1e000000-1e3b0000 Export python27
--- snip ---
You could ask them how they did NV Optimus detection since there are several
more are less documented ways ('EnumDisplayDevices' with
'IDXGIAdapter::GetDesc' adapter order comparison,
'IDirect3D9::GetAdapterIdentifier' etc.).
But even if Wine doesn't behave correctly, the property should be still
non-null.
I guess this is rather crappy coding on the client side hence I don't see a
compelling reason to waste more time with this.
'IsAmdSwitchable' property might suffer from similar problem.
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