LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Games
User Name
Password
Linux - Games This forum is for all discussion relating to gaming in Linux.

Notices

Reply
 
Search this Thread
Old 02-17-2005, 02:01 PM   #1
tomas412
LQ Newbie
 
Registered: May 2004
Posts: 17

Rep: Reputation: 0
Red Alert running slow in Wine, uses 100% CPU


Hello!

I'm trying to run the old game Command & Conquer - Red Alert in wine (20050211), I read on the net it would run perfectly on Linux, but I'm having a little bit of a problem; it uses 100% of my CPU, and apparently, it wants even more (=lags)!
I think it lags because the graphics isn't using hardware acceleration (or is it?), because if I use the lower resolution setting in RA (from 640x480->640x400), it gets slightly better.
I've enabled DGA on my system, I thought that would make the game run smoothly...

My system (short version):
AMD Athlon XP 2500+
1GB of RAM
Geforce 5600 (don't remember the full name)

I'm using an up-to-date Gentoo with the binary drivers from nvidia.

This is the output from WINEDEBUG=+x11drv wine ra95.exe

Please use the registry key HKEY_CURRENT_CONFIG\Software\Fonts\LogPixels
to set the screen resolution and remove the "Resolution" entry in the config file
trace:x11drv:X11DRV_XF86DGA2_Init
trace:x11drv:X11DRV_CreateBitmap (0x54) 32x32 1 bpp
trace:x11drv:X11DRV_CreateBitmap (0x58) 32x32 1 bpp
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x40387a18, buffer=0x40387a6c, count=0x80)
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x403879d0, buffer=0x40387aec, count=0x80)
trace:x11drv:X11DRV_CreateBitmap (0x5c) 32x32 1 bpp
trace:x11drv:X11DRV_CreateBitmap (0x60) 32x32 1 bpp
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x40387cf8, buffer=0x4038864c, count=0x80)
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x40387cb0, buffer=0x403886cc, count=0x80)
trace:x11drv:X11DRV_CreateBitmap (0x64) 7x11 1 bpp
trace:x11drv:X11DRV_CreateBitmap (0x68) 36x18 24 bpp
trace:x11drv:X11DRV_SetupXIM X display of IM = 0x7814a6f0
trace:x11drv:X11DRV_SetupXIM Using C locale of Input Method
trace:x11drv:X11DRV_SetupXIM ximStyles->count_styles = 2
trace:x11drv:X11DRV_SetupXIM ximStyles[0] = XIMPreeditNone
trace:x11drv:X11DRV_SetupXIM ximStyles[1] = XIMPreeditNothing
trace:x11drv:X11DRV_SetupXIM Setting Style: ximStyleRoot = STYLE_ROOT
trace:x11drv:X11DRV_SetupXIM No callback style avalable
trace:x11drv:X11DRV_set_window_pos win 0x10020 window (0,0)-(1280,1024) client (0,0)-(1280,1024) style 96000000
trace:x11drv:X11DRV_DCICommand (20,(12,1083745220,2014679968),(nil))
trace:x11drv:X11DRV_DCICommand (20,(13,1792,2014679968),0x4098aca0)
trace:x11drv:X11DRV_DCICommand (20,(11,1792,2014679968),0x4098acc0)
trace:x11drv:X11DRV_DCICommand (20,(10,1792,2014679968),0x4098ae08)
trace:x11drv:X11DRV_set_window_pos win 0x10022 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_CreateWindow hwnd 0x10022 cs 0,0 0x0
trace:x11drv:X11DRV_set_window_pos win 0x10022 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_sync_window_position setting win 2600001 pos 0,0,0x0 after 3 changes=40
trace:x11drv:X11DRV_CreateWindow win 0x10022 window 0,0,0,0 client 0,0,0,0 whole 0,0,0,0 X client 0,0,0,0 xwin 2600001
trace:x11drv:X11DRV_set_window_pos win 0x10024 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_CreateWindow hwnd 0x10024 cs 0,0 0x0
trace:x11drv:X11DRV_set_window_pos win 0x10024 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_sync_window_position setting win 2600002 pos 0,0,0x0 after 3 changes=40
trace:x11drv:X11DRV_CreateWindow win 0x10024 window 0,0,0,0 client 0,0,0,0 whole 0,0,0,0 X client 0,0,0,0 xwin 2600002
err:ddemldeConnect Done with INITIATE, but no Server window available
trace:x11drv:X11DRV_set_window_pos win 0x10026 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_CreateWindow hwnd 0x10026 cs 0,0 0x0
trace:x11drv:X11DRV_set_window_pos win 0x10026 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_sync_window_position setting win 2600003 pos 0,0,0x0 after 3 changes=40
trace:x11drv:X11DRV_CreateWindow win 0x10026 window 0,0,0,0 client 0,0,0,0 whole 0,0,0,0 X client 0,0,0,0 xwin 2600003
fixme:mmtime:timeBeginPeriod Stub; we set our timer resolution at minimum
trace:x11drv:X11DRV_CreateBitmap (0x84) 32x32 24 bpp
trace:x11drv:X11DRV_CreateBitmap (0x88) 32x32 1 bpp
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x4038da10, buffer=0x4039db64, count=0x80)
trace:x11drv:X11DRV_GetBitmapBits (bmp=0x4038d9c8, buffer=0x4039dbe4, count=0xc00)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(640,480) client (0,0)-(640,480) style 85000000
trace:x11drv:X11DRV_CreateWindow hwnd 0x10028 cs 0,0 640x480
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(640,480) client (0,0)-(640,480) style 85000000
trace:x11drv:X11DRV_sync_window_position setting win 2600004 pos 0,0,640x480 after 3 changes=40
trace:x11drv:X11DRV_CreateWindow win 0x10028 window 0,0,640,480 client 0,0,640,480 whole 0,0,640,480 X client 0,0,640,480 xwin 2600004
trace:x11drv:WINPOS_MinMaximize 0x10028 3
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 1280x1024 flags 00000024
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 1280x1024 flags 00001824
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(640,480) style 85000000 new (0,0)-(1280,1024)
trace:x11drv:SWP_DoNCCalcSize (0,0)-(1280,1024)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(1280,1024) client (0,0)-(1280,1024) style 85000000
trace:x11drv:X11DRV_sync_window_position setting win 2600004 pos 0,0,1280x1024 after 3 changes=c
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 0x0 flags 00000013
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 0x0 flags 00001813
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(1280,1024) style 85000000 new (0,0)-(1280,1024)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(1280,1024) client (0,0)-(1280,1024) style 85000000
trace:x11drv:X11DRV_sync_window_position setting win 2600004 pos 0,0,1280x1024 after 3 changes=40
trace:x11drv:X11DRV_SetWindowPos status flags = 1807
trace:x11drv:X11DRV_SetWindowPos status flags = 1026
trace:x11drv:X11DRV_ShowWindow hwnd=0x10028, cmd=10, wasVisible 0
trace:x11drv:WINPOS_MinMaximize 0x10028 9
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 640x480 flags 00000040
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 640x480 flags 00001840
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(1280,1024) style 84000000 new (0,0)-(640,480)
warn:x11drv:SWP_DoOwnedPopups (0x10028) hInsertAfter = (nil)
trace:x11drv:SWP_DoNCCalcSize (0,0)-(640,480)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(640,480) client (0,0)-(640,480) style 94000000
trace:x11drv:X11DRV_sync_window_position setting win 2600004 pos 0,0,640x480 after 3 changes=4c
trace:x11drv:X11DRV_set_window_pos mapping win 0x10028
trace:x11drv:X11DRV_SetWindowPos status flags = 1046
trace:x11drv:X11DRV_ConfigureNotify win 0x10028 new X rect 0,0,1280x1024 (event 0,0,1280x1024)
trace:x11drv:X11DRV_ConfigureNotify 0x10028 resizing from (640x480) to (1280x1024)
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 1280x1024 flags 80000016
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 1280x1024 flags 00001816
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(640,480) style 94000000 new (0,0)-(1280,1024)
trace:x11drv:SWP_DoNCCalcSize (0,0)-(1280,1024)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(1280,1024) client (0,0)-(1280,1024) style 94000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10028
trace:x11drv:X11DRV_SetWindowPos status flags = 1006
trace:x11drv:X11DRV_ConfigureNotify win 0x10028 new X rect 0,0,640x480 (event 0,0,640x480)
trace:x11drv:X11DRV_ConfigureNotify 0x10028 resizing from (1280x1024) to (640x480)
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 640x480 flags 80000016
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 640x480 flags 00001816
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(1280,1024) style 94000000 new (0,0)-(640,480)
trace:x11drv:SWP_DoNCCalcSize (0,0)-(640,480)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(640,480) client (0,0)-(640,480) style 94000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10028
trace:x11drv:X11DRV_SetWindowPos status flags = 1006
trace:x11drv:X11DRV_Expose win 0x10028 (2600004) 0,0 640x480
fixme:mmtime:timeBeginPeriod Stub; we set our timer resolution at minimum
fixme:dsound:IDirectSoundImpl_SetCooperativeLevel level=DSSCL_PRIORITY not fully supported
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x403d7cb8)->(00010028,00000011)
trace:x11drv:X11DRV_ShowWindow hwnd=0x10028, cmd=5, wasVisible 1
fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 8
trace:x11drv:X11DRV_handle_desktop_resize desktop 0x10020 change to (640x480)
trace:x11drv:X11DRV_set_window_pos win 0x10020 window (0,0)-(640,480) client (0,0)-(640,480) style 96000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10020
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10028, after (nil), swp 0,0 640x480 flags 00000014
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10028, after (nil), swp 0,0 640x480 flags 00001814
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(640,480) style 94000000 new (0,0)-(640,480)
trace:x11drv:X11DRV_set_window_pos win 0x10028 window (0,0)-(640,480) client (0,0)-(640,480) style 94000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10028
trace:x11drv:X11DRV_SetWindowPos status flags = 1807
fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 8
trace:x11drv:X11DRV_handle_desktop_resize desktop 0x10020 change to (640x480)
trace:x11drv:X11DRV_set_window_pos win 0x10020 window (0,0)-(640,480) client (0,0)-(640,480) style 96000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10020
fixme:x11drv:X11DRV_DDHAL_CreatePalette stub
fixme:ddrawIB_DirectDrawSurface_Blt dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now.
trace:x11drv:X11DRV_CreateBitmap (0xa8) 640x480 24 bpp
trace:x11drv:GrabWndProc hwnd=0x10028, grab=1
trace:x11drv:GrabWndProc X11 window: 39845892
fixme:mmtime:timeBeginPeriod Stub; we set our timer resolution at minimum
trace:x11drv:X11DRV_Expose win 0x10028 (2600004) 0,0 640x480
trace:x11drv:X11DRV_Expose win 0x10028 (2600004) 0,0 640x480
trace:x11drv:X11DRV_SetupXIM X display of IM = 0x780de978
trace:x11drv:X11DRV_SetupXIM Using C locale of Input Method
trace:x11drv:X11DRV_SetupXIM ximStyles->count_styles = 2
trace:x11drv:X11DRV_SetupXIM ximStyles[0] = XIMPreeditNone
trace:x11drv:X11DRV_SetupXIM ximStyles[1] = XIMPreeditNothing
trace:x11drv:X11DRV_SetupXIM Setting Style: ximStyleRoot = STYLE_ROOT
trace:x11drv:X11DRV_SetupXIM No callback style avalable
trace:x11drv:X11DRV_SetupXIM X display of IM = 0x780f6cc0
trace:x11drv:X11DRV_SetupXIM Using C locale of Input Method
trace:x11drv:X11DRV_SetupXIM ximStyles->count_styles = 2
trace:x11drv:X11DRV_SetupXIM ximStyles[0] = XIMPreeditNone
trace:x11drv:X11DRV_SetupXIM ximStyles[1] = XIMPreeditNothing
trace:x11drv:X11DRV_SetupXIM Setting Style: ximStyleRoot = STYLE_ROOT
trace:x11drv:X11DRV_SetupXIM No callback style avalable
fixme:mmtime:timeBeginPeriod Stub; we set our timer resolution at minimum
fixme:mmtime:timeEndPeriod Stub; we set our timer resolution at minimum
err:dsoundSOUND_MixOne underrun on sound buffer 0x403c78d8
fixme:mmtime:timeEndPeriod Stub; we set our timer resolution at minimum
fixme:mmtime:timeEndPeriod Stub; we set our timer resolution at minimum
fixme:mmtime:timeEndPeriod Stub; we set our timer resolution at minimum
trace:x11drv:GrabWndProc hwnd=0x10028, grab=0
trace:x11drv:X11DRV_handle_desktop_resize desktop 0x10020 change to (1280x1024)
trace:x11drv:X11DRV_set_window_pos win 0x10020 window (0,0)-(1280,1024) client (0,0)-(1280,1024) style 96000000
trace:x11drv:X11DRV_set_window_pos mapping non zero size or off-screen win 0x10020
trace:x11drv:X11DRV_Expose win 0x10028 (2600004) 0,0 640x480
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10026, after (nil), swp 0,0 0x0 flags 00000097
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10026, after (nil), swp 0,0 0x0 flags 00001897
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(0,0) style 84000000 new (0,0)-(0,0)
trace:x11drv:X11DRV_set_window_pos win 0x10026 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_SetWindowPos status flags = 1807
trace:x11drv:destroy_whole_window win 0x10026 xwin 2600003
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10022, after (nil), swp 0,0 0x0 flags 00000097
trace:x11drv:SWP_DoWinPosChanging hwnd 0x10022, after (nil), swp 0,0 0x0 flags 00001897
trace:x11drv:SWP_DoWinPosChanging current (0,0)-(0,0) style 84000000 new (0,0)-(0,0)
trace:x11drv:X11DRV_set_window_pos win 0x10022 window (0,0)-(0,0) client (0,0)-(0,0) style 84000000
trace:x11drv:X11DRV_SetWindowPos status flags = 1807
trace:x11drv:destroy_whole_window win 0x10022 xwin 2600001

I've got nothing fancy in my wine-config, except maybe
[AppDefaults\\ra95.exe\\x11drv]
"DXGrab" = "Y"

The above is for making the keyboard work in the game.
I can post the whole file if needed.


Tips for making this great game run more smoothly is greatly appreciated!
If nothing else works, I'll guess I'll give freecnc or cedega a try.

Thanks!
Tomas412
 
Old 06-16-2005, 03:35 PM   #2
ultimatenoob
Member
 
Registered: May 2005
Location: Bellingham, WA
Distribution: Suse 10.2
Posts: 77

Rep: Reputation: 15
So i dont really know what any of that code means, im a super-new linux user, but just the same i know that for RA2 there is a patch that is supposed to fix a problem that could be related to yours. The patch is supposed to make it run on newer faster computers, because apparently people running it with a p4 1gb RAM were having troubles because their computers were too fast...?
 
Old 06-17-2005, 02:07 AM   #3
tomas412
LQ Newbie
 
Registered: May 2004
Posts: 17

Original Poster
Rep: Reputation: 0
Sounds interesting! You don't happend to have the url to this patch, do you? It would be greatly appreciated!




Tomas412
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Fluxbox starts slow/X11 keeps CPU running at 9x% kaon Slackware 0 02-10-2005 11:28 AM
Wine: Red Alert: screen resolution not changed properly drowstar Linux - Games 2 05-21-2004 08:02 AM
Grip - rips are very slow and take 100% cpu time Mad Merlin Linux - Software 3 05-02-2004 12:16 PM
redhat 8 running slow - CPU usage 100% jonnycarlos Linux - General 4 09-10-2003 04:33 AM
red hat running slow jclark00001 Linux - General 6 05-12-2003 06:10 AM


All times are GMT -5. The time now is 01:29 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration