View previous topic :: View next topic |
Author |
Message |
prg Tux's lil' helper
Joined: 14 Oct 2005 Posts: 94
|
Posted: Fri Oct 14, 2005 7:06 pm Post subject: |
|
|
hi, it is working for me without the mouse bug :D
i'm on amd64, wine 20050930
here's what i've done:
wine-mmap-wowhack.patch
Code: |
--- libs/wine/mmap.c
+++ libs/wine/mmap.c
@@ -161,6 +161,26 @@
#endif /* (__svr4__ || __NetBSD__) && !MAP_TRYFIXED */
+static void *get_anon_mmap_null_address(size_t size)
+{
+ static int got_override = 0;
+ static void *low_alloc_ptr = NULL;
+ void * current_low_alloc_ptr;
+
+ if (!got_override)
+ {
+ low_alloc_ptr = (void*)0x10000000;
+ got_override = 1;
+ //printf("gaak!\n");
+ }
+
+ current_low_alloc_ptr = low_alloc_ptr;
+
+ if (low_alloc_ptr)
+ low_alloc_ptr += size;
+
+ return current_low_alloc_ptr;
+}
/***********************************************************************
* wine_anon_mmap
@@ -209,6 +229,9 @@
return start;
#endif
}
+ if ((start == NULL) && !(flags & MAP_FIXED))
+ start = get_anon_mmap_null_address(size);
+
return mmap( start, size, prot, flags, fdzero, 0 );
#else
return (void *)-1;
|
(thanks to shamus13 who posted a link to http://lists.transgaming.org/pipermail/winex-devel/2004-May/000259.html)
wine-preloader-wowhack.patch
Code: |
--- loader/preloader.c
+++ loader/preloader.c
@@ -110,7 +110,7 @@
{
{ (void *)0x00000000, 0x00110000 }, /* DOS area */
{ (void *)0x80000000, 0x01000000 }, /* shared heap */
- { (void *)0x00110000, 0x1fef0000 }, /* PE exe range (may be set with WINEPRELOADRESERVE), defaults to 512mb */
+ { (void *)0x10000000, 0x00f00000 }, /* PE exe range (may be set with WINEPRELOADRESERVE), defaults to 512mb */
{ 0, 0 } /* end of list */
};
|
(how) could that be done with WINEPRELOADRESERVE?
and no, i do not understand what these changes actually do.
hth,
prg |
|
Back to top |
|
|
nbetcher n00b
Joined: 04 Sep 2005 Posts: 13 Location: Twin Cities, MN
|
Posted: Fri Oct 14, 2005 7:22 pm Post subject: Fixed! |
|
|
Yay! Finally! Someone took their time to fix the cursor problem (yes, the one that has been irritating everyone). Personally every "fix" from this forum has never worked, but the patch that said-person posted actually works for me! Now, to the fun part:
http://www.winehq.org/pipermail/wine-devel/2005-October/041119.html
Like he says, remove the MESSAGE() statements (and also the wine/debug.h include) in order for it to compile.
EDIT: Properly applied patch from above post and it seems to be working correctly so far.
EDIT2: Bzzt, wrong. WoW freezes at random due to infinite memory consumption (anywhere from 10sec to 2min into the game). Anyone have a working patch that actually lets you play extended periods of time? Hint: The culpret taking up all of the memory when it freezes is wineserver. Going back to Cedega once again...
Last edited by nbetcher on Fri Oct 14, 2005 8:15 pm; edited 4 times in total |
|
Back to top |
|
|
legine Guru
Joined: 27 May 2004 Posts: 555 Location: Germany
|
Posted: Fri Oct 14, 2005 8:03 pm Post subject: |
|
|
Ohh man this mousebug again.
Lets hope we come up with something... _________________ quote from Spaceballs:
Dark Helmet:[...] we were told to comb the desert, so we're combing it! [puts down bullhorn] Find anything yet?!
Soldier: Nothing yet, sir. |
|
Back to top |
|
|
prg Tux's lil' helper
Joined: 14 Oct 2005 Posts: 94
|
Posted: Fri Oct 14, 2005 8:35 pm Post subject: |
|
|
i played for about 1:30h without problems, seems to be working fine here.
what system are you on, nbetcher? you could try changing these values:
{ (void *)0x10000000, 0x00f00000 }
maybe { (void *)0x10000000, 0x01f00000 } gives you more memory
anyway, the next patch will break it again... |
|
Back to top |
|
|
Polynomial-C Retired Dev
Joined: 01 Jun 2003 Posts: 1432 Location: Germany
|
|
Back to top |
|
|
shamus13 n00b
Joined: 15 Jun 2005 Posts: 21
|
Posted: Sat Oct 15, 2005 12:06 am Post subject: |
|
|
Ello all,
Polynomial-C's patch does the trick for me using wine-20050930. Looks
like the exact memory layout of wow is very sensitive the actual addresses.
I guess, we will soon know exactly, where and what blue is screwing up.
Could be something as simple as failing to check, if the memory, you request,
is actually at the requested address. Ah well, it works until next patch, i guess.
Shamus13 |
|
Back to top |
|
|
nbetcher n00b
Joined: 04 Sep 2005 Posts: 13 Location: Twin Cities, MN
|
Posted: Sat Oct 15, 2005 12:20 am Post subject: |
|
|
prg wrote: | i played for about 1:30h without problems, seems to be working fine here.
what system are you on, nbetcher? you could try changing these values:
{ (void *)0x10000000, 0x00f00000 }
maybe { (void *)0x10000000, 0x01f00000 } gives you more memory
anyway, the next patch will break it again... |
I have an AMD 3200+ /w 1GB ram and SuSE's 2.6.13 (but I tried vanilla). wineserver just goes ape-sh*t and reaches 800mb ram in about 5sec (once it starts to "happen").
I will try what you posted above soon - I'm running Onyxia right now. |
|
Back to top |
|
|
PseudoKrazy Tux's lil' helper
Joined: 21 Nov 2003 Posts: 130 Location: USA/NJ
|
Posted: Sat Oct 15, 2005 5:15 am Post subject: |
|
|
Having trouble getting the patches to work...
Code: | * Failed Patch: wine-wow_fixes.patch !
* ( /usr/local/portage/app-emulation/wine/files/wine-wow_fixes.patch )
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/wine-20050930-r1/temp/wine-wow_fixes.patch-10470.out
|
this is the file it told me to include the bugreport contents of
Code: | ***** wine-wow_fixes.patch *****
================================
PATCH COMMAND: patch -p0 -g0 --no-backup-if-mismatch < /usr/local/portage/app-e
mulation/wine/files/wine-wow_fixes.patch
================================
patching file libs/wine/mmap.c
patch: **** malformed patch at line 29: /***************************************
********************************
================================
PATCH COMMAND: patch -p1 -g0 --no-backup-if-mismatch < /usr/local/portage/app-e
mulation/wine/files/wine-wow_fixes.patch
================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libs/wine/mmap.c.old 2005-06-20 13:43:47.000000000 +0200
|+++ libs/wine/mmap.c 2005-10-14 21:49:54.794346832 +0200
--------------------------
No file to patch. Skipping patch.
patch: **** malformed patch at line 29: /***************************************
********************************
================================
PATCH COMMAND: patch -p2 -g0 --no-backup-if-mismatch < /usr/local/portage/app-e
mulation/wine/files/wine-wow_fixes.patch
================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libs/wine/mmap.c.old 2005-06-20 13:43:47.000000000 +0200
|+++ libs/wine/mmap.c 2005-10-14 21:49:54.794346832 +0200
--------------------------
No file to patch. Skipping patch.
patch: **** malformed patch at line 29: /***************************************
********************************
================================
PATCH COMMAND: patch -p3 -g0 --no-backup-if-mismatch < /usr/local/portage/app-e
mulation/wine/files/wine-wow_fixes.patch
================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libs/wine/mmap.c.old 2005-06-20 13:43:47.000000000 +0200
|+++ libs/wine/mmap.c 2005-10-14 21:49:54.794346832 +0200
--------------------------
No file to patch. Skipping patch.
patch: **** malformed patch at line 29: /***************************************
********************************
================================
PATCH COMMAND: patch -p4 -g0 --no-backup-if-mismatch < /usr/local/portage/app-e
mulation/wine/files/wine-wow_fixes.patch
================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libs/wine/mmap.c.old 2005-06-20 13:43:47.000000000 +0200
|+++ libs/wine/mmap.c 2005-10-14 21:49:54.794346832 +0200
--------------------------
No file to patch. Skipping patch.
patch: **** malformed patch at line 29: /***************************************
********************************
|
|
|
Back to top |
|
|
ThE_TemPLaR Tux's lil' helper
Joined: 30 May 2003 Posts: 149 Location: Salon de Provence
|
Posted: Sat Oct 15, 2005 6:55 am Post subject: |
|
|
prg wrote: | hi, it is working for me without the mouse bug
i'm on amd64, wine 20050930
here's what i've done:
(snip patches)
(how) could that be done with WINEPRELOADRESERVE?
and no, i do not understand what these changes actually do.
hth,
prg |
This worked for me. I can now play WoW without cursor problems.
Edit : And without memory management problem since I've done Uldaman without any problem. _________________ ... |
|
Back to top |
|
|
Linubie Guru
Joined: 11 Jun 2004 Posts: 374
|
Posted: Sat Oct 15, 2005 11:17 am Post subject: |
|
|
Quick and dirty:
Created /usr/local/portage/app-emulation/wine
copied the contens of
/usr/portage/app-emulation/wine (recursive)
into it
copied wine-wow_fixes.patch into
/usr/portage/app-emulation/wine/files
cp /usr/portage/app-emulation/wine/wine-20050930.ebuild /usr/local/portage/app-emulation/wine/wine-20050930-r1.ebuild
added:
epatch "${FILESDIR}"/wine-wow_fixes.patch #wowmousepatch
in:
/usr/local/portage/app-emulation/wine/wine-20050930-r1.ebuild
mkdir /usr/local/portage/app-emulation/wine/wine-20050930-r1
added
PORTDIR_OVERLAY="/usr/local/portage"
to /etc/make.conf
cd /usr/local/portage/app-emulation/wine
ebuild wine-20050930-r1.ebuild digest
emerge wine
enjoy WoW
my only issue is a liitle choppy sound , but mouse is working
thank you all for helping us to get wow run
Last edited by Linubie on Sat Oct 15, 2005 5:07 pm; edited 1 time in total |
|
Back to top |
|
|
teidon Apprentice
Joined: 22 Apr 2005 Posts: 195 Location: Finland
|
Posted: Sat Oct 15, 2005 1:05 pm Post subject: |
|
|
That fix works for me too. I just forgot to do the OpenGL bug fix (selection circles and that stuff), otherwise WoW is working well for me again. |
|
Back to top |
|
|
Lith Maethor n00b
Joined: 16 Jun 2005 Posts: 16 Location: Thessaloniki, Macedonia, Greece
|
Posted: Sat Oct 15, 2005 2:42 pm Post subject: |
|
|
worked for me Linubie (on AMD64 here) ...and without the workaround i had to use before with libmemwrapper.so _________________ Radioactive cats have eighteen half-lives |
|
Back to top |
|
|
morrowyn n00b
Joined: 12 Oct 2005 Posts: 2
|
Posted: Sat Oct 15, 2005 3:40 pm Post subject: |
|
|
Ok, i patched the wine-cvs , i can run WoWW now , which is nice. Although i have poor fps when running it in full quality, which is not so nice. The framerate is not stable , sometimes 20 - 30 and sometimes it below 10, while there is no player around and the surroundings are relatively simple.
So for me gaming on linux is a no no unless its a native port. And frankly i dont understand why there isnt a linux port for WoW, since there is a mac osc port, shouldnt be that hard to make it native to linux or so.
Anyways, thanks for the patches and the help.
Regards |
|
Back to top |
|
|
zorgan n00b
Joined: 16 Oct 2005 Posts: 10
|
Posted: Sun Oct 16, 2005 2:36 am Post subject: |
|
|
nbetcher wrote: | prg wrote: | i played for about 1:30h without problems, seems to be working fine here.
what system are you on, nbetcher? you could try changing these values:
{ (void *)0x10000000, 0x00f00000 }
maybe { (void *)0x10000000, 0x01f00000 } gives you more memory
anyway, the next patch will break it again... |
I have an AMD 3200+ /w 1GB ram and SuSE's 2.6.13 (but I tried vanilla). wineserver just goes ape-sh*t and reaches 800mb ram in about 5sec (once it starts to "happen").
I will try what you posted above soon - I'm running Onyxia right now. |
The same thing is happening to me. Yesterday I played flawlessly for hours, today wine crashes randomly. I'm also running on an AMD, but only with 700Mb of memory.
Did that change in memory size work for you nbetcher? |
|
Back to top |
|
|
zorgan n00b
Joined: 16 Oct 2005 Posts: 10
|
Posted: Sun Oct 16, 2005 2:55 am Post subject: |
|
|
zorgan wrote: | The same thing is happening to me. Yesterday I played flawlessly for hours, today wine crashes randomly. I'm also running on an AMD, but only with 700Mb of memory.
Did that change in memory size work for you nbetcher? |
I figured it out! I changed sound system to Alsa today! In OSS everything is ok!
Hope this helps. |
|
Back to top |
|
|
ikataii n00b
Joined: 21 Apr 2005 Posts: 59 Location: CA
|
Posted: Sun Oct 16, 2005 3:20 am Post subject: |
|
|
That explains why I only saw the slimmest in framerate drops on my box when I tried that fix for around 30 minutes.
Wait, no it doesn't, because I'm using ALSA
Then again, I have 1024 MB of RAM, so that might be part of it. _________________ "War is the Tao of deception." -Sun Tzu |
|
Back to top |
|
|
nbetcher n00b
Joined: 04 Sep 2005 Posts: 13 Location: Twin Cities, MN
|
Posted: Sun Oct 16, 2005 9:15 am Post subject: |
|
|
zorgan wrote: | nbetcher wrote: | prg wrote: | i played for about 1:30h without problems, seems to be working fine here.
what system are you on, nbetcher? you could try changing these values:
{ (void *)0x10000000, 0x00f00000 }
maybe { (void *)0x10000000, 0x01f00000 } gives you more memory
anyway, the next patch will break it again... |
I have an AMD 3200+ /w 1GB ram and SuSE's 2.6.13 (but I tried vanilla). wineserver just goes ape-sh*t and reaches 800mb ram in about 5sec (once it starts to "happen").
I will try what you posted above soon - I'm running Onyxia right now. |
The same thing is happening to me. Yesterday I played flawlessly for hours, today wine crashes randomly. I'm also running on an AMD, but only with 700Mb of memory.
Did that change in memory size work for you nbetcher? |
No it did not. I tweaked it more to make sure that there was even more memory available - no help. As a matter of fact, I didn't notice any kind of difference between any of the compilations. The crashes just seem to be at a random time, not induced by code. I must reiterate though, the code that we're modifying is in wine-preloader, not wineserver. Wineserver is the one that is hogging the memory, not wine-preloader.
What I don't understand is how Cedega's patch is trivially ported to Wine, but they function so differently. Granted Cedega is ancient compared to today's Wine (WineHQ's Wine), I just find it odd. |
|
Back to top |
|
|
ikataii n00b
Joined: 21 Apr 2005 Posts: 59 Location: CA
|
Posted: Sun Oct 16, 2005 9:53 am Post subject: |
|
|
Well, Cedega is built entirely off a (older?) snapshot of the wine source code and all they charge for is the massive d3d and other game support they offer. If I remember correctly, cedega still calls on wine-preloader and / or wineserver (I haven't used it in a while, though, so don't quote me on that). _________________ "War is the Tao of deception." -Sun Tzu |
|
Back to top |
|
|
zorgan n00b
Joined: 16 Oct 2005 Posts: 10
|
Posted: Sun Oct 16, 2005 1:12 pm Post subject: |
|
|
nbetcher wrote: |
No it did not. I tweaked it more to make sure that there was even more memory available - no help. As a matter of fact, I didn't notice any kind of difference between any of the compilations. The crashes just seem to be at a random time, not induced by code. I must reiterate though, the code that we're modifying is in wine-preloader, not wineserver. Wineserver is the one that is hogging the memory, not wine-preloader.
What I don't understand is how Cedega's patch is trivially ported to Wine, but they function so differently. Granted Cedega is ancient compared to today's Wine (WineHQ's Wine), I just find it odd. |
Did you try to use OSS instead of ALSA (in case you are using ALSA)? That did the trick for me, as I said in a post above. |
|
Back to top |
|
|
legine Guru
Joined: 27 May 2004 Posts: 555 Location: Germany
|
Posted: Sun Oct 16, 2005 1:26 pm Post subject: |
|
|
Okey The patch had the wished effect here (just tested the mouseover bug). no longtime test done yet.
nbetcher I had random crashes too. On my box it helped to set wine sound to nil ( I mean "" instead of "winalsa.dll)
Okey I am looking into the circle bug now. And I have a question.
Since it is a dll. wouldn't it be easier to compile the dll alone and make then a dll override for WoW?
I will try. Any help is apreaciated since I never used gcc directly always used emerge or make command for compilejobs. _________________ quote from Spaceballs:
Dark Helmet:[...] we were told to comb the desert, so we're combing it! [puts down bullhorn] Find anything yet?!
Soldier: Nothing yet, sir. |
|
Back to top |
|
|
prg Tux's lil' helper
Joined: 14 Oct 2005 Posts: 94
|
Posted: Sun Oct 16, 2005 1:56 pm Post subject: |
|
|
legine wrote: | Okey I am looking into the circle bug now. |
this one?
Code: | --- dlls/opengl32/opengl_norm.c
+++ dlls/opengl32/opengl_norm.c
@@ -2367,7 +2416,7 @@
void WINAPI wine_glPolygonOffset( GLfloat factor, GLfloat units ) {
TRACE("(%f, %f)\n", factor, units );
ENTER_GL();
- glPolygonOffset( factor, units );
+ glPolygonOffset( -factor, units );
LEAVE_GL();
}
|
|
|
Back to top |
|
|
legine Guru
Joined: 27 May 2004 Posts: 555 Location: Germany
|
Posted: Sun Oct 16, 2005 2:02 pm Post subject: |
|
|
cool and thx. but no.
Thats what i have done already.
I want now to compile the dll and then override the original one useing winecfg. With this little trick I will aply the bugfix only for wow. And I do not dmg the original wine installation.
Cheers
Legine
EDIT:
Hmm that circle bug - Yes. But no thats not all I want to do I am cofusing yes I know ^^ _________________ quote from Spaceballs:
Dark Helmet:[...] we were told to comb the desert, so we're combing it! [puts down bullhorn] Find anything yet?!
Soldier: Nothing yet, sir.
Last edited by legine on Sun Oct 16, 2005 2:13 pm; edited 1 time in total |
|
Back to top |
|
|
zorgan n00b
Joined: 16 Oct 2005 Posts: 10
|
Posted: Sun Oct 16, 2005 2:07 pm Post subject: |
|
|
PLEASE try to set winesound to OSS!!!! |
|
Back to top |
|
|
prg Tux's lil' helper
Joined: 14 Oct 2005 Posts: 94
|
Posted: Sun Oct 16, 2005 2:13 pm Post subject: |
|
|
ah okay, never used dll-overrides, wow is the only thing i need wine for anyway, but sounds interesting
that won't probably work for the mmap/preloader stuff, though |
|
Back to top |
|
|
legine Guru
Joined: 27 May 2004 Posts: 555 Location: Germany
|
Posted: Sun Oct 16, 2005 2:16 pm Post subject: |
|
|
Quote: | ah okay, never used dll-overrides, wow is the only thing i need wine for anyway, but sounds interesting
that won't probably work for the mmap/preloader stuff, though
|
I agree. But there we could try to implement a registry key similar to the memory statement found in Cadega. _________________ quote from Spaceballs:
Dark Helmet:[...] we were told to comb the desert, so we're combing it! [puts down bullhorn] Find anything yet?!
Soldier: Nothing yet, sir. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|