Hello everyone!
Recently I tried fallout2 again, and for some reason it has again started working with wine. I searched the archives and it seems there have been lots of times when it has worked and then again hasn't.. Glad to see I'm not the only one interested in it :)
From what I gathered from old postings, there had mainly been issues with
mouse input, from which I at least don't suffer. Nor are there any more reports (appdb at least) of it not working with the latest 0.9.30.
The problem I have is that fallout2.exe takes all the available CPU power, optimizing that might make other old games work better too. I'm interested in the task, though I haven't got much of an idea how GDI or DirectDraw api's work and I'd need some pointers where to start solving this problem.
Game taking all of available CPU doesn't make it unplayable. It just makes mouse movement jerky and overall feeling is that my computer (amd athlon xp 1800+) is too slow :) AFAIK minimum requirements for this game were something like P90 with 16MB ram :)
Some "features" like fading to black and white (going to menu for example) are simply missing (these were in use a while ago, with older wine). The rendering of animations slows down (in the combat mode) if the animation happens to be under the animated cursor.
I have tried Thunderbirds (from #winehq @ freenode.net) patch, which when rendering with opengl uses pixel shaders to do 8bit->32bit conversion. It resulted in a bit more sluggish (compared to GDI) game play experience.
Profiling with oprofile (GDI session) shows that most of the time is used in the game (I suppose it's the "anon" from wine-preload), next most time consuming is winex11 drivers X11DRV_DIB_SetImageBits which seems to be doing the conversion.
I have included a bit cleaned version of opreport -l, only the first 40 lines. Any help would be appreciated.
Am Freitag 02 Februar 2007 08:34 schrieb Joonas Koivunen:
Profiling with oprofile (GDI session) shows that most of the time is used in the game (I suppose it's the "anon" from wine-preload), next most time consuming is winex11 drivers X11DRV_DIB_SetImageBits which seems to be doing the conversion.
It seems that you have a game that has problems with the gdi engine(or lack thereof): http://wiki.winehq.org/DIBEngine
Stefan Dösinger wrote:
Am Freitag 02 Februar 2007 08:34 schrieb Joonas Koivunen:
Profiling with oprofile (GDI session) shows that most of the time is used in the game (I suppose it's the "anon" from wine-preload), next most time consuming is winex11 drivers X11DRV_DIB_SetImageBits which seems to be doing the conversion.
It seems that you have a game that has problems with the gdi engine(or lack thereof): http://wiki.winehq.org/DIBEngine
http://bugs.winehq.org/show_bug.cgi?id=421
How much work would this be? I know nothing about Windows or X11 programming, but is it something that I might be able to study up on and propose for a Summer of Code project?
--mmebane
2007/2/5, Mitchell Mebane mitchell.mebane@gmail.com:
Stefan Dösinger wrote:
Am Freitag 02 Februar 2007 08:34 schrieb Joonas Koivunen:
Profiling with oprofile (GDI session) shows that most of the time is used in the game (I suppose it's the "anon" from wine-preload), next most time consuming is winex11 drivers X11DRV_DIB_SetImageBits which seems to be
doing the conversion.
It seems that you have a game that has problems with the gdi engine(or lack thereof): http://wiki.winehq.org/DIBEngine
http://bugs.winehq.org/show_bug.cgi?id=421
How much work would this be? I know nothing about Windows or X11 programming, but is it something that I might be able to study up on and propose for a Summer of Code project?
--mmebane
For the past days, after Stefan pointed me to that bug and article, I've been trying to figure out what would be needed in order to fasten at least Fallout 2 up.
I haven't been able to pinpoint any call made by the game requesting an image from X, and it always blits the whole screen at a time. Doing 640x480 8bpp -> 32bpp seems to be the problem and the fact that it does as many as possible blits. Nor have I been able to find a call asking it to blend two surfaces.. Could someone give me any hints on this?
The 8bpp -> 32bpp conversion could possibly be optimized.. But I haven't yet looked at it.
A bit out of topic; playing fallout2.exe makes X11 grow much larger, and it doesn't seem to free the memory.
A SoC project sounds great!
Am Montag 05 Februar 2007 17:19 schrieb Mitchell Mebane:
How much work would this be? I know nothing about Windows or X11 programming, but is it something that I might be able to study up on and propose for a Summer of Code project?
It was suggested as a SOC project last year, but nobody showed interest in it. So I guess yes. Search a bit in the forums, there is a lot of information about this topic, and transgaming offered us their GDI engine some time ago, but it never made it into the wine tree(don't ask me for the details, but I think Alexandre didn't like it). So you have some code to illustrate what needs to be done.
Joonas Koivunen wrote:
The problem I have is that fallout2.exe takes all the available CPU power, optimizing that might make other old games work better too. I'm interested in the task, though I haven't got much of an idea how GDI or DirectDraw api's work and I'd need some pointers where to start solving this problem.
See http://bugs.winehq.org/show_bug.cgi?id=5526
(at least that's what causing performance issues for Fallout 1 but IIRC they use the same engine)
Felix
Hi, for me Flatout 2 works perfect with latest CVS wine and some Stefan patches from 26.1.2007
I have GF6800GS, GLSL enabled, FBO enabled, thread patch (for better sound), ALSA, Pixel and vertex shaders enabled too.
There was big performance regression in latest wine release (0.9.30).
Mirek
Joonas Koivunen napsal(a):
Hello everyone!
Recently I tried fallout2 again, and for some reason it has again started working with wine. I searched the archives and it seems there have been lots of times when it has worked and then again hasn't.. Glad to see I'm not the only one interested in it :)
From what I gathered from old postings, there had mainly been issues with mouse input, from which I at least don't suffer. Nor are there any more reports (appdb at least) of it not working with the latest 0.9.30 .
The problem I have is that fallout2.exe takes all the available CPU power, optimizing that might make other old games work better too. I'm interested in the task, though I haven't got much of an idea how GDI or DirectDraw api's work and I'd need some pointers where to start solving this problem.
Game taking all of available CPU doesn't make it unplayable. It just makes mouse movement jerky and overall feeling is that my computer (amd athlon xp 1800+) is too slow :) AFAIK minimum requirements for this game were something like P90 with 16MB ram :)
Some "features" like fading to black and white (going to menu for example) are simply missing (these were in use a while ago, with older wine). The rendering of animations slows down (in the combat mode) if the animation happens to be under the animated cursor.
I have tried Thunderbirds (from #winehq @ freenode.net http://freenode.net) patch, which when rendering with opengl uses pixel shaders to do 8bit->32bit conversion. It resulted in a bit more sluggish (compared to GDI) game play experience.
Profiling with oprofile (GDI session) shows that most of the time is used in the game (I suppose it's the "anon" from wine-preload), next most time consuming is winex11 drivers X11DRV_DIB_SetImageBits which seems to be doing the conversion.
I have included a bit cleaned version of opreport -l, only the first 40 lines. Any help would be appreciated.
-- -- Joonas Koivunen
Am Freitag 02 Februar 2007 17:15 schrieb Mirek:
Getting Fallout 2 to work well Hi, for me Flatout 2 works perfect with latest CVS wine and some Stefan patches from 26.1.2007
Not the same game. Fallout 2 is an old ddraw game, Flatout 2 is a Direct3D9 game afaik.
Did you do a regression test to localize the Flatout 2 performance regression? I suspect my StretchRect patch, and I have a fix for it in my tree.
Sorry, my mistake :) How can I download wine from your tree? Yes, your latest patches from 26.1.2007 fixed this regression, great work!
Mirek
Stefan Dösinger napsal(a):
Am Freitag 02 Februar 2007 17:15 schrieb Mirek:
Getting Fallout 2 to work well Hi, for me Flatout 2 works perfect with latest CVS wine and some Stefan patches from 26.1.2007
Not the same game. Fallout 2 is an old ddraw game, Flatout 2 is a Direct3D9 game afaik.
Did you do a regression test to localize the Flatout 2 performance regression? I suspect my StretchRect patch, and I have a fix for it in my tree.
Am Samstag 03 Februar 2007 12:20 schrieb Mirek:
Sorry, my mistake :) How can I download wine from your tree? Yes, your latest patches from 26.1.2007 fixed this regression, great work!
"In my tree" == Those patches :-)
Mirek
Stefan Dösinger napsal(a):
Am Freitag 02 Februar 2007 17:15 schrieb Mirek:
Getting Fallout 2 to work well Hi, for me Flatout 2 works perfect with latest CVS wine and some Stefan patches from 26.1.2007
Not the same game. Fallout 2 is an old ddraw game, Flatout 2 is a Direct3D9 game afaik.
Did you do a regression test to localize the Flatout 2 performance regression? I suspect my StretchRect patch, and I have a fix for it in my tree.