WineHQ
Bug Tracking Database – Bug 23839

 Bugzilla

 

Last modified: 2014-06-13 17:05:05 UTC  

Neverwinter Nights 2 can't detect video adapter properly, claiming: "Your video card has less than 128 MB of video memory"

Bug 23839 - Neverwinter Nights 2 can't detect video adapter properly, claiming: "Your video card has less than 128 MB of video memory"
Neverwinter Nights 2 can't detect video adapter properly, claiming: "Your vid...
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: d3d-util
1.2
x86-64 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
:
: 20609 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2010-07-30 11:37 UTC by Xavier Vachon
Modified: 2014-06-13 17:05 UTC (History)
11 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: d66f7cdb529203563c82319b1cf2ec5720b138fb
Distribution: ---
Staged patchset:


Attachments
log +devenum +dxdiagn (43.02 KB, text/plain)
2010-07-30 11:54 UTC, Xavier Vachon
Details
log +devenum +dxdiag (99.42 KB, text/plain)
2010-07-30 12:01 UTC, Xavier Vachon
Details
+dxdiag,+msgbox log (wine-1.3.23-286-g766dc67) (18.98 KB, text/plain)
2011-07-07 10:59 UTC, Béla Gyebrószki
Details
stubs (2.04 KB, patch)
2013-10-04 13:11 UTC, Austin English
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Vachon 2010-07-30 11:37:13 UTC
When I attempt to start the game, I get some error messages stating that I do not have a compliant video card to run the game.

Console output:

fixme:win:EnumDisplayDevicesW ((null),0,0x1c3f480,0x00000000), stub!
fixme:d3d:debug_d3dformat Unrecognized 1094800211 (as fourcc: SSAA) WINED3DFORMAT!
fixme:d3d:getFormatDescEntry Can't find format unrecognized(1094800211) in the format lookup table
fixme:d3d:debug_d3dformat Unrecognized 909198916 (as fourcc: DF16) WINED3DFORMAT!
fixme:d3d:getFormatDescEntry Can't find format unrecognized(909198916) in the format lookup table
fixme:d3d:debug_d3dformat Unrecognized 875710020 (as fourcc: DF24) WINED3DFORMAT!
fixme:d3d:getFormatDescEntry Can't find format unrecognized(875710020) in the format lookup table
fixme:win:EnumDisplayDevicesW ((null),0,0x1c3e3a8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x1c3d8d8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x1c3d988,0x00000000), stub!
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found


The workaround is to use native devenum.dll and dxdiagn.dll

Gentoo Linux X64
Nvidia 8800 GT
nvidia-drivers 256.35
Comment 1 Andrew Nguyen 2010-07-30 11:48:59 UTC
Could you attach a +devenum,+dxdiag log when running Neverwinter Nights 2 with builtin devenum.dll and dxdiagn.dll?
Comment 2 Xavier Vachon 2010-07-30 11:54:37 UTC
Created attachment 29922 [details]
log +devenum +dxdiagn

(In reply to comment #1)
> Could you attach a +devenum,+dxdiag log when running Neverwinter Nights 2 with
> builtin devenum.dll and dxdiagn.dll?

There you go. d3dx9 was installed with winetricks beforehand.

Should you need more, just ask.
Comment 3 Andrew Nguyen 2010-07-30 11:58:55 UTC
(In reply to comment #2)
> Created an attachment (id=29922) [details]
> log +devenum +dxdiagn
> 
> (In reply to comment #1)
> > Could you attach a +devenum,+dxdiag log when running Neverwinter Nights 2 with
> > builtin devenum.dll and dxdiagn.dll?
> 
> There you go. d3dx9 was installed with winetricks beforehand.
> 
> Should you need more, just ask.

Actually, the debug channel for dlls/dxdiagn is dxdiag. Could you generate another log with that trace enabled? Thanks.
Comment 4 Xavier Vachon 2010-07-30 12:01:22 UTC
Created attachment 29926 [details]
log +devenum +dxdiag

(In reply to comment #3)
> (In reply to comment #2)
> > Created an attachment (id=29922) [details] [details]
> > log +devenum +dxdiagn
> > 
> > (In reply to comment #1)
> > > Could you attach a +devenum,+dxdiag log when running Neverwinter Nights 2 with
> > > builtin devenum.dll and dxdiagn.dll?
> > 
> > There you go. d3dx9 was installed with winetricks beforehand.
> > 
> > Should you need more, just ask.
> 
> Actually, the debug channel for dlls/dxdiagn is dxdiag. Could you generate
> another log with that trace enabled? Thanks.

Fixed.
Comment 5 Lauri Niskanen 2011-01-15 06:18:51 UTC

    
Comment 6 Xavier Vachon 2011-01-29 15:28:07 UTC
Still a bug in git.

The workaround I mentioned earlier is not correct. To make the game run, I have to sh winetricks directx9 and vcrun2005 (http://bugs.winehq.org/show_bug.cgi?id=25525)
Comment 7 Xavier Vachon 2011-02-15 13:43:25 UTC
A bunch of dxdiagn patches have been committed today:

http://source.winehq.org/patches/data/71368 to 71377

@Andrew : Your patches are about an information tree. Do you think these and further commits about it will have any impact on this bug?
Comment 8 Andrew Nguyen 2011-02-15 13:46:50 UTC
(In reply to comment #7)
> A bunch of dxdiagn patches have been committed today:
> 
> http://source.winehq.org/patches/data/71368 to 71377
> 
> @Andrew : Your patches are about an information tree. Do you think these and
> further commits about it will have any impact on this bug?

Those patches simply change the structure of dxdiagn. I do plan to take a closer look at this bug sometime soon.
Comment 9 pantano.luigi 2011-04-24 07:32:06 UTC
i have the same problem here. 

Wine: 1.3.17 / 1.3.18 / svn.
Sytem: gentoo
Driver nvidia: 270.41.03
Comment 10 Andrew Nguyen 2011-07-06 19:10:58 UTC
Can someone retest this bug with the latest Wine? I believe this should be fixed now.
Comment 11 Béla Gyebrószki 2011-07-07 10:20:22 UTC
(In reply to comment #10)
> Can someone retest this bug with the latest Wine? I believe this should be
> fixed now.

I've just tested NWN2 (v1.04.870, without expansions) in wine-1.3.23-286-g766dc67: native dxdiagn.dll is still needed otherwise the game complains about insufficient video memory and lack of hardware 3D acceleration.

Fedora 15
Nvidia GeForce 250 / driver 275.09.07
Comment 12 Andrew Nguyen 2011-07-07 10:32:50 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > Can someone retest this bug with the latest Wine? I believe this should be
> > fixed now.
> 
> I've just tested NWN2 (v1.04.870, without expansions) in
> wine-1.3.23-286-g766dc67: native dxdiagn.dll is still needed otherwise the game
> complains about insufficient video memory and lack of hardware 3D acceleration.
> 
> Fedora 15
> Nvidia GeForce 250 / driver 275.09.07

Could I get a new +dxdiagn trace?
Comment 13 Béla Gyebrószki 2011-07-07 10:59:08 UTC
Created attachment 35466 [details]
+dxdiag,+msgbox log (wine-1.3.23-286-g766dc67)
Comment 14 Xavier Vachon 2012-02-07 19:50:05 UTC
This is still an issue in Wine 1.4-rc2. The game requires winetricks directx9 and vcrun2005 to work.
Comment 15 PLL 2012-10-23 10:24:19 UTC
Still an issue in wine-1.5.15
Comment 16 Horigo 2013-01-14 14:10:32 UTC
I had this bug with ubuntu 12.10

I revert to ubuntu 12.04 and the game launch, without dlls override
Comment 17 Xavier Vachon 2013-04-23 13:31:03 UTC
Still a bug in current wine (1.5.28). 'dxdiagn', 'devenum' and 'd3dx9_36' are required for the game to run. Switching component to d3dxof, if dxdiagn is another component please adjust.
Comment 18 Christian Costa 2013-04-23 13:56:30 UTC
You mean directx-d3dx9 ?
Comment 19 Xavier Vachon 2013-04-23 14:10:30 UTC
(In reply to comment #18)
> You mean directx-d3dx9 ?

Fixed.
Comment 20 Christian Costa 2013-06-20 16:41:31 UTC
Is there a demo of this game that shows this issue?
Comment 21 Xavier Vachon 2013-06-20 16:47:53 UTC
(In reply to comment #20)
> Is there a demo of this game that shows this issue?

There is no demo available for NWN2. The game is available on GOG.com however : http://www.gog.com/gamecard/neverwinter_nights_2_complete
Comment 22 Christian Costa 2013-06-22 16:54:20 UTC
So if I understand correctly native dxdiag, devenum and d3dx9_36 are required to run the game and only these ones. Correct?
So there is at least 3 bugs.
First can you get some log with native & builtin d3dx9_36 first keeping both remaining dlls as native?
Comment 23 Anastasius Focht 2013-10-04 09:18:21 UTC
Hello folks,

bought the game from GOG.com to look into it...

It seems the game doesn't query further IDxDiag properties sequentially if a property doesn't exist, leading to later error about "unknown <foo>".

Even with +dxdiag,+devenum trace log you can't really spot it until you debug the actual game ;-)

Prerequisite: 'winetricks -q dotnet35sp1' in clean 32-bit WINEPREFIX

The game queries the following properties from Wine's dxdiagn in sequential order:

--- snip ---
"szDeviceName"
"szDescription"
"szKeyDeviceID"
"szKeyDeviceKey"
"szManufacturer"
"szChipType"
"szDACType"
"szRevision"
"szDisplayMemoryLocalized"
"szDisplayMemoryEnglish"
"szDisplayModeLocalized"
"szDisplayModeEnglish"
"dwWidth"
"dwHeight"
"dwBpp"
"dwRefreshRate"
"szMonitorName"
"szMonitorMaxRes"
"szDriverName"
"szDriverVersion"
"szDriverAttributes"
"szDriverLanguageEnglish"
"szDriverLanguageLocalized"
"szDriverDateEnglish"
"szDriverDateLocalized"
"lDriverSize"
"szMiniVdd"
"szMiniVddDateLocalized"
"szMiniVddDateEnglish"
"lMiniVddSize"
"szVdd"
"bCanRenderWindow"
"bDriverBeta"
"bDriverDebug"
"bDriverSigned"
"bDriverSignedValid"
"szDeviceIdentifier"
"szDriverSignDate"
"dwDDIVersion"
"szDDIVersionEnglish"
"szDDIVersionLocalized"
"iAdapter"
"szVendorId"
"szDeviceId"
"szSubSysId"
"szRevisionId"
"dwWHQLLevel"
"bNoHardware"
"bDDAccelerationEnabled"
"b3DAccelerationExists"
"b3DAccelerationEnabled"
"bAGPEnabled"
"bAGPExists"
"bAGPExistenceValid"
"szDXVAModes"
"szDDStatusLocalized"
"szDDStatusEnglish"
"szD3DStatusLocalized"
"szD3DStatusEnglish"
"szAGPStatusLocalized"
"szAGPStatusEnglish"
"szNotesLocalized"
"szNotesEnglish"
"szRegHelpText"
"szTestResultDDLocalized"
"szTestResultDDEnglish"
"szTestResultD3D7Localized"
"szTestResultD3D7English"
"szTestResultD3D8Localized"
"szTestResultD3D8English"
"szTestResultD3D9Localized"
"szTestResultD3D9English"
--- snip ---

Due to first missing property "szChipType", the video ram "szDisplayMemoryLocalized" is never queried for.

I think you should provide at least all missing properties until all important ones are queried (in order).
They have to exist, even if the values are not really matching the hardware.
Though the last ones doesn't seem to be very useful at all and can be left out (values are not evaluated).

Regards
Comment 24 Anastasius Focht 2013-10-04 09:36:11 UTC
*** Bug 20609 has been marked as a duplicate of this bug. ***
Comment 25 Austin English 2013-10-04 13:11:05 UTC
Created attachment 46194 [details]
stubs

How's this?
Comment 26 Anastasius Focht 2013-10-04 15:57:58 UTC
Hello Austin,

yes it's better, it gets rid of video memory error but the game still complains about missing hardware acceleration support and exits.

Message box text with patch: "Unable to detect a video card with hardware 3D acceleration. Neverwinter Nights 2 requires a video card that supports then please make sure that it's enabled."

You need to fill more holes to reach these "bxxAccelerationEnabled" properties.

Add the following ones respecting required datatypes (bool/long/integer).

Hint: you need new helper for long -> VT_I4

--- snip ---
"szDisplayModeLocalized"
"szDisplayModeEnglish"

"szMonitorName"
"szMonitorMaxRes"

"szDriverAttributes"
"szDriverLanguageEnglish"
"szDriverLanguageLocalized"
"szDriverDateEnglish"
"szDriverDateLocalized"

"lDriverSize"
"szMiniVdd"
"szMiniVddDateLocalized"
"szMiniVddDateEnglish"
"lMiniVddSize"
"szVdd"

"bCanRenderWindow"
"bDriverBeta"
"bDriverDebug"
"bDriverSigned"
"bDriverSignedValid"

"szDriverSignDate"

"dwDDIVersion"
"szDDIVersionEnglish"
"szDDIVersionLocalized"

"iAdapter"

"dwWHQLLevel"

"bNoHardware"
"bDDAccelerationEnabled"
"b3DAccelerationExists"
"b3DAccelerationEnabled"
--- snip ---

bNoHardware = false
bDDAccelerationEnabled = true
b3DAccelerationExists = true
b3DAccelerationEnabled = true

This allows Neverwinter Nights 2 to start with Wine builtin dxdiagn and probably helps various other games that currently require the native version ;-)

You can find countless dumps of those properties in various Internet forums if you need better default values...

Example: http://forums.civfanatics.com/archive/index.php/t-489255.html

--- snip ---
szDeviceName = \\.\DISPLAY1
szDescription = NVIDIA GeForce GTX 660
szKeyDeviceID = Enum\PCI\VEN_10DE&DEV_11C0&SUBSYS_26603842&REV_A1
szKeyDeviceKey = \Registry\Machine\System\CurrentControlSet\Control \Video\{8DCBA04D-953B-4323-B093-1BA7542C8C57}\0000
szManufacturer = NVIDIA
szChipType = GeForce GTX 660
szDACType = Integrated RAMDAC
szRevision = Failed to get parameter
szDisplayMemoryLocalized = 4034 MB
szDisplayMemoryEnglish = 4034 MB
szDisplayModeLocalized = 1920 x 1080 (32 bit) (60Hz)
szDisplayModeEnglish = 1920 x 1080 (32 bit) (60Hz)
szOverlayEnglish = Supported
szDXVAHDEnglish = Supported
dwWidth = 1920
dwHeight = 1080
dwBpp = 32
dwRefreshRate = 60
szMonitorName = Generic PnP Monitor
szMonitorMaxRes = Failed to get parameter
szDriverName = nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,n vwgf2um,nvwgf2um
szDriverAssemblyVersion = 9.18.13.1407
szDriverVersion = 9.18.0013.1407
szDriverAttributes = Final Retail
szDriverLanguageEnglish = English
szDriverLanguageLocalized = English
szDriverDateEnglish = 2/9/2013 21:25:27
szDriverDateLocalized = 2/9/2013 9:25:27 PM
lDriverSize = 17987192
szMiniVdd = n/a
szMiniVddDateLocalized = n/a
szMiniVddDateEnglish = n/a
lMiniVddSize = 0
szVdd = n/a
szDriverModelEnglish = WDDM 1.2
szDriverModelLocalized = WDDM 1.2
szDriverNodeStrongName = oem12.inf:0f066de34ffc3860:Section063:9.18.13.1407 :pci\ven_10de&dev_11c0
szRankOfInstalledDriver = 00E02001
bCanRenderWindow = true
bDriverBeta = false
bDriverDebug = false
bDriverSigned = false
bDriverSignedValid = false
szDeviceIdentifier = {D7B71E3E-5280-11CF-8D5E-6D061CC2C435}
szDriverSignDate = Failed to get parameter
dwDDIVersion = 11
szDDIVersionEnglish = 11
szDDIVersionLocalized = 11
iAdapter = 0
szVendorId = 0x10DE
szDeviceId = 0x11C0
szSubSysId = 0x26603842
szRevisionId = 0x00A1
dwWHQLLevel = 0
bNoHardware = false
bDDAccelerationEnabled = true
b3DAccelerationExists = true
b3DAccelerationEnabled = true
bAGPEnabled = true
bAGPExists = true
bAGPExistenceValid = true
szDXVAModes = ModeMPEG2_A ModeMPEG2_C ModeVC1_C ModeWMV9_C
szDDStatusLocalized = Enabled
szDDStatusEnglish = Enabled
szD3DStatusLocalized = Enabled
szD3DStatusEnglish = Enabled
szAGPStatusLocalized = Enabled
szAGPStatusEnglish = Enabled
szNotesLocalized = No problems found.

szNotesEnglish = No problems found.

szRegHelpText = Failed to get parameter
szTestResultDDLocalized = Not run
szTestResultDDEnglish = Not run
szTestResultD3D7Localized = Not run
szTestResultD3D7English = Not run
szTestResultD3D8Localized = Not run
szTestResultD3D8English = Not run
szTestResultD3D9Localized = Not run
szTestResultD3D9English = Not run
--- snip ---

It seems "n/a" and "Failed to get parameter" might be candidates for default values.

Regards
Comment 27 Anastasius Focht 2013-10-08 16:03:10 UTC
Hello folks,

this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/d66f7cdb529203563c82319b1cf2ec5720b138fb

Thanks Austin

Next is bug 34686

Regards
Comment 28 Alexandre Julliard 2013-10-11 12:30:43 UTC
Closing bugs fixed in 1.7.4.
Comment 29 Alexandre Julliard 2013-11-15 13:40:34 UTC
Removing 1.6.x milestone from bugs included in 1.6.1.
Comment 30 Nando 2014-06-13 16:00:22 UTC
As i posted in my review of Galactic Civilization 2, I still have problems with this bug and related bug #34686.

I'm using wine version 1.7.19, but currently installing version 1.7.4 to see if it works with that version. Had the same problem with 1.6.1.

fixme:win:EnumDisplayDevicesW ((null),0,0x33e718,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33e508,0x00000000), stub!
fixme:ddraw:ddraw7_Initialize Ignoring guid {aeb2cdd4-6e41-43ea-941c-8361cc760781}.
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php?t=1960599
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {33d9a761-90c8-11d0-bd43-00a0c911ce86} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:enum_class_object_Next timeout not supported
fixme:win:EnumDisplayDevicesW ((null),0,0x33e778,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x33e568,0x00000000), stub!
fixme:ddraw:ddraw7_Initialize Ignoring guid {aeb2cdd4-6e41-43ea-941c-8361cc760781}.
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {33d9a761-90c8-11d0-bd43-00a0c911ce86} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb41-f175-11d1-a392-00e0291f3959} not found
fixme:devenum:DEVENUM_ICreateDevEnum_CreateClassEnumerator Category {cc7bfb46-f175-11d1-a392-00e0291f3959} not found
fixme:win:EnumDisplayDevicesW ((null),0,0x33f828,0x00000000), stub!
Comment 31 Anastasius Focht 2014-06-13 16:17:57 UTC
Hello nando,

--- quote ---
As i posted in my review of Galactic Civilization 2, I still have problems with this bug and related bug #34686.
--- quote ---

I don't a relation between this bug (Neverwinter Nights 2) and GC2.
Just because the error message is the same or similar it doesn't mean it's the same bug.
Unless you provide convincing arguments please leave this bug alone.

Regards
Comment 32 Nando 2014-06-13 17:05:05 UTC
Hello Anastasius Focht,

As far as I can see, this seems either related or the same problem. I'm trying to find what is the problem and i don't have extensive knowledge of how wine works. So please calm your pants.

Also, the 1.x version of GalCiv2 pointed me to this bug and its sibling. So I thought this was the place to post it.

As you mentioned in Comment 26, I think the problem is also in the 
bNoHardware = false
bDDAccelerationEnabled = true
b3DAccelerationExists = true
b3DAccelerationEnabled = true

settings, but I don't know how to tell wine to use this settings si I can't test it.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers