http://bugs.winehq.org/show_bug.cgi?id=23839
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Neverwinter Nights 2 : |Neverwinter Nights 2 can't |Unable to detect video card |detect video adapter | |properly, claiming: "Your | |video card has less than | |128 MB of video memory"
--- Comment #23 from Anastasius Focht focht@gmx.net 2013-10-04 09:18:21 CDT --- 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