emdalton
2009-Apr-12 01:36 UTC
[Wine] Daz Studio 2.3.x on Jaunty/Wine - partially works, need help
I have Wine 1.0.1 as distributed with Ubuntu Jaunty Jackalope (beta). I have an ATI Radeon Mobility X300 card on a Dell Latitude D610. I am trying to run Daz Studio, a free 3d graphics program (similar in functionality to Poser) available for download at http://daz3d.com . This software was running on this hardware under Windows XP SP2 and SP3 before I got tired of dealing with malware and installed Ubuntu instead. Users on the Daz forums have noted that in general Daz Studio runs under Wine with an nVidia card, but not so well with an ATI card. I was hoping that the new ATI drivers recently made available would help with that. I have been partially successful, and I am describing my efforts here in the hopes that they will help others, and also hoping that someone here will have some suggestions to make this a completely successful installation. I have extensive background with Solaris and linux in general, but not so much with Wine. I am fairly proficient at Windows system administration and debugging. This week I've tried several different approaches, including fglrx proprietary drivers, upgrading to Wine 1.1.19 through the WineHQ repository, and a variety of different dll installations using winetricks. What I describe below is the process that has given me the best results so far. (A newer installation of Wine, for example, seemed to cause Daz Studio not to see any of the necessary DLLs, even though they were installed, though I'm not entirely sure that was the cause of that problem.) I configured the new open-source ATI drivers using these instructions: https://help.ubuntu.com/community/RadeonDriver According to the tests described on that page, I should now have 3D graphics acceleration. I am able to run Blender, add a few objects to a scene, move them around, and render. (That's about the limit of my Blender ability under any OS.) This seems like a reasonable practical test of 3D graphics support. Daz Studio depends on a few Windows components not included in a typical Wine install. These can be added with winetricks. Dan Kegel made some helpful suggestions in the AppDB Wine notes for Daz Studio 2.3.3.99 beta, but I found with my installation I needed to modify these suggestions slightly. I used winetricks to install the following: $ winetricks vcrun6 corefonts I recommend that any other users wanting to run Daz Studio DO NOT install wsh56 (MS Windows Scripting Host 5.6). You will get an error near the end of the install without the scripting component, but if you have it the Daz Studio install will never complete correctly. (The installer will hang at "Unpacking C:\windows\system32\dzwrapper.dll" if you have previously installed MS Windows Scripting Host, and the only way I found to fix this was to scrub my Wine installation and start over.) Just click "Ignore" when you get the error. The installation will then complete normally. It did not matter where I ran the installer from; my results were the same. In my most recent installation, I ran it from the command line in ~/Desktop. I got the following errors during install: Code: fixme:comm:set_queue_size insize 4096 outsize 4096 unimplemented stub fixme:powrprof:DllMain (0x7deb0000, 1, (nil)) not fully implemented fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION fixme:imm:ImmReleaseContext (0x2002e, 0x157140): stub fixme:win:SetLayeredWindowAttributes (0x1003a,0x00000000,0,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,0,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,13,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,25,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,38,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,51,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,64,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,76,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,89,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,102,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,115,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,127,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,140,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,153,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,166,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,178,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,191,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,204,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,217,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,229,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,242,2): stub! fixme:win:SetLayeredWindowAttributes (0x1003c,0x00000000,255,2): stub! fixme:advapi:DecryptFileA "C:\\windows\\temp\\IXP000.TMP\\" 00000000 fixme:advapi:LookupAccountNameW (null) L"elizabeth" (nil) 0x33f87c (nil) 0x33f880 0x33f874 - stub fixme:advapi:LookupAccountNameW (null) L"elizabeth" 0x132b70 0x33f87c 0x132b00 0x33f880 0x33f874 - stub fixme:msi:ACTION_HandleStandardAction unhandled standard action L"SetODBCFolders" fixme:msi:msi_unimplemented_action_stub RemoveExistingProducts -> 1 ignored L"Upgrade" table values fixme:msi:msi_unimplemented_action_stub MsiUnpublishAssemblies -> 10 ignored L"MsiAssembly" table values err:msi:ITERATE_PublishAssembly Component not set for install, not publishing assembly (repeats 10 times) fixme:powrprof:DllMain (0x7dc90000, 1, (nil)) not fully implemented fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION fixme:powrprof:DllMain (0x7dc90000, 0, (nil)) not fully implemented fixme:shell:DllCanUnloadNow stub fixme:powrprof:DllMain (0x7deb0000, 0, (nil)) not fully implemented However, as I said, the installation does seem to complete, so I'm not too worried about these errors-- I'm just including them here in case they are helpful in debugging the main problem. When I run Daz Studio under Wine in a terminal window, I get some errors, but the program does run. The primary functionality problem is that the main pane, where the scene can normally be previewed and edited, does not refresh correctly. It shows white at first (rather than displaying the grid "floor" Daz Studio usually displays), and if any other window overlaps that area, the image stays there until replaced by some other overlapping window. However, objects can be loaded and configured (though not previewed), rendering does work (and the results are visible in the main panel), and the render can be saved. The errors that appear in the terminal are: Code: fixme:imm:ImmReleaseContext (0x10020, 0x13cbc8): stub err:ole:CoGetClassObject class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered err:ole:CoGetClassObject class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered err:ole:create_server class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported err:ole:CoGetClassObject no class object {82c5ab54-c92c-4d52-aac5-27e25e22604c} could be created for context 0x17 err:module:import_dll Library S3Dmouse.dll (which is needed by L"C:\\Program Files\\Daz\\Studio\\plugins\\dzsandio.3dm") not found err:wgl:internal_SetPixelFormat Invalid iPixelFormat: 47213472 err:wgl:internal_SetPixelFormat Invalid iPixelFormat: 47227736 err:wgl:internal_SetPixelFormat Invalid iPixelFormat: 47237120 err:wgl:internal_SetPixelFormat Invalid iPixelFormat: 47247272 fixme:win:SetLayeredWindowAttributes (0x1016a,0x00000000,127,2): stub! fixme:ntdll:NtLockFile I/O completion on lock not implemented yet (repeats 8 times) err:ole:RevokeDragDrop invalid hwnd (nil) fixme:ntdll:NtLockFile I/O completion on lock not implemented yet (repeats 20 times) err:ole:RevokeDragDrop invalid hwnd (nil) fixme:advapi:GetEffectiveRightsFromAclW 0x215034 0x3a29db1c 0x142e12c - stub fixme:advapi:GetEffectiveRightsFromAclW 0x2d9012c 0x3a29db1c 0x142e12c - stub fixme:advapi:GetEffectiveRightsFromAclW 0x2d904e4 0x3a29db1c 0x142e12c - stub fixme:imm:NotifyIME IMC_SETCANDIDATEPOS (repeats 22 times) err:ole:RevokeDragDrop invalid hwnd (nil) (repeats 7 times) fixme:ntdll:NtLockFile I/O completion on lock not implemented yet (repeats lots and lots of times) fixme:imm:NotifyIME IMC_SETCANDIDATEPOS err:ole:RevokeDragDrop invalid hwnd (nil) fixme:imm:NotifyIME IMC_SETCANDIDATEPOS err:ole:RevokeDragDrop invalid hwnd (nil) fixme:ntdll:NtLockFile I/O completion on lock not implemented yet (repeats 15 times) 3DL INFO: $DELIGHT environment variable is not set 3DL WARNING S2051: cannot find default shader 'defaultsurface' fixme:ntdll:NtLockFile I/O completion on lock not implemented yet (repeats....) The 3DL INFO and 3DL warning messages appear when I first try to render. Subsequent renders cause the 3DL warning to repeat. Other actions in Daz Studio cause more ntdll:NtLockFRile errors with occasional ole errors. A search on S3Dmouse.dll didn't turn up any useful information. Possibly it would provide support for a 3D mouse I don't have anyway. I realize that this may be a problem with the ATI card driver as much as with Wine, but I am posting this information in several locations, as it seems to be in interaction between Wine, the ATI card driver, the Daz Studio software, and possibly Jaunty. Does anyone have any suggestions as to how I might troubleshoot this further? I'd really rather not have to shift partitions around and reinstall Windows on this laptop, just to run one application. Thanks!