User Feedback :: Specific wine error



sorry, is a stupid question, i dont like waste our time... but im gonna crazy.

i have wine 0.9.22 version
i put: wine starcraft.exe
and show this:

err:ddraw:DDRAW_Create Couldn't load WineD3D - OpenGL libs not present?

i read in the web, and i find something. I need libwine-gl .. i search in mydsl panel but i cant find it.Where i can download this lib? or...what is the problem?

You probably opengl libs as it says... see XFree86.* extensions.

Is there any more info in the error log output?

1. FYI, you must be running the full-functioned XFree86 server instead of the Xvesa server that DSL comes with. Xvesa has totally no 3D opengl acceleration capability whatsoever. wine uses opengl to mimic D3D calls to make D3D games like StarCraft work.
Where to get XFree86? You can get it at myDSL>System>XFree86.dsl

After you have loaded that extension, you still have to (1) load the kernel's 3D acceleration driver for your particular graphics card, and (2) set up your Xserver configuration files manually.
THIS COULD BE QUITE TROUBLESOME.

Kernel's 'Direct Rendering Module' (DRM):
Sadly, if your card is an nVidia card, there is no readily-provided kernel module for it. You will need to build nvidia's proprietory driver bundle consisting of both the kernel module AND replacement libraries and extensions for the Xserver. I advise you to stay away from building nvidia's driver software not because it is bad, but because the current kernel in DSL seems incompatible with nvidia. I run into the 'black screen' problem which many nvidia users reported having back in 2004 (when this 2.4.26 version kernel was current) when I try building and testing many revisions of nvidia drivers from 2002-2005. I've gotten nvidia drivers working perfectly with Debian Sarge's 2.4.27 kernel before. I guess it's a problem specific to this kernel - not sure how exactly. Anyway, I am digressing.
If your card is some other brand, go try the available drivers.
Please do 'cd /lib/modules/2.4.26/kernel/drivers/char/drm'. See which fits your hardware. Then load that module. Let's say I wanna load 'r128.o' (ati rage128), I do 'modprobe r128'.

Xserver configuration files:
Basically there are 2 files you have to care about.
i. /home/dsl/.xserverrc - You see that in here 'Xvesa' is being called.
This is the server that is started when you run 'startx'. Please replace '/usr/X11R6/bin/Xvesa' with '/usr/X11R6/bin/XFree86'.
ii. The XFree86 config file, for which the most common location is '/etc/X11/XF86Config'. You can autogenerate a config file with 'sudo XFree86 -configure'. Then, move this autogenerated file, probably 'XF86Config.new' if I remember correctly, into the correct location and with the corrent name. Do 'sudo mv XF86Config.new /etc/X11/XF86Config'. Then, edit it as root: 'sudo nano /etc/X11/XF86Config'. You should see a section that looks something like this:

Section "Module"
Load "extmod"
Load "dbe"
Load "record"
Load "xtrap"
EndSection

You need to add in the 'opengl' and 'direct rendering interface' extensions. Within this section, please add:
Load "dri"
Load "glcore"
Load "glx"
And make sure it terminates properly with 'EndSection' !!

Next we configure monitor; please look for the monitor section, which looks like this (please add the things in bold):

Section "Monitor"
Identifier "blabla"
VendorName "blabla"
ModelName "blabla"
HorizSync 30-60
(I am NOT qualified to tell you anything about horizontal sync, but from experience 30-60 works well with 1024x768 and 30-55 works well with 800x600. The higher the number, the higher the 'bandwidth' for supporting higher resolutions. Don't know the exact details.)
VertRefresh 60-60
(this is for an LCD at 60hz. CRTs, feel free to use '60-85' or even higher)
EndSection

Then please move on down and you should see the full model name of your graphics card, preceded closely by a line 'driver "xx"'
Use intuition and verify that this is the correct driver for your card. If it's "vesa", please change it to a more vendor-specific driver if available. "vesa" has NO 3d rendering ability..

Lastly, please move on down and you should see the last and final section, which looks something like this:

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
Subsection "Display"
Viewport 0 0
Depth xx (variously: 1,4,8,15,16,24)
EndSubSection
EndSection

You should probably add these modifications (in bold) for failsafe purposes in case the Xserver does not use the resolution you are comfortable with.

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24 (could use 16 bits also - old card maybe?)
Subsection "Display"
Viewport 0 0
Depth xx (variously: 1,4,8,15,16,24)
Modes "1024x768" (or 800x600 and others, if you wish)
EndSubSection
EndSection

After this, you can start up the Xserver with 'startx'. If all works well, please test wine - I believe it should work properly. You see, the direct3d library in wine is linked to the 'mesa opengl' library (precisely, libGL.so.1) which is included in 'XFree86.dsl'. Now that the file is available it should start working properly unless I made a mistake somewhere..


original here.