tindalos wrote:dennisharrison wrote:Yes can you please post your system information?
like what videocard
sound system
linux distro
wine version
patches applied to wow
wine setting
how did you install wow?
and so on and so forth ... please? ;p
$ cat /proc/driver/nvidia/cards/*
Model: GeForce 6600 GT
IRQ: 58
Video BIOS: 05.43.02.23.04
Card Type: PCI-E
Model: GeForce 6600 GT
IRQ: 66
Video BIOS: 05.43.02.23.04
Card Type: PCI-E
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA Linux x86_64 NVIDIA Kernel Module 1.0-8178 Wed Dec 14 16:58:07 PST 2005
GCC version: gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.
$ uname -srvmpio
Linux 2.6.14-gentoo-r5 #4 Mon Dec 26 16:59:47 EST 2005 x86_64 AMD Athlon(tm) 64 Processor 3500+ AuthenticAMD GNU/Linux
$ ./wine
Wine 0.9.7
No special settings for Wine, and WOW was originally installed on a WinXP box, I simply copied the install dir over to my linux system
Current patches I am running against Wine
Code: Select all
diff --git a/libs/wine/mmap.c b/libs/wine/mmap.c
index 3d25f26..5b13038 100644
--- a/libs/wine/mmap.c
+++ b/libs/wine/mmap.c
@@ -164,6 +164,26 @@ static int try_mmap_fixed (void *addr, s
#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
@@ -212,6 +232,9 @@ void *wine_anon_mmap( void *start, size_
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;
diff --git a/loader/preloader.c b/loader/preloader.c
index 1ca6d83..4016907 100644
--- a/loader/preloader.c
+++ b/loader/preloader.c
@@ -110,7 +110,7 @@ static struct wine_preload_info preload_
{
{ (void *)0x00000000, 0x00110000 }, /* DOS area */
{ (void *)0x7ffe0000, 0x01020000 }, /* shared user data + 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 */
};
--
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index 04eb40f..b2011f0 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -149,11 +149,11 @@ inline static Display *get_display( HDC
}
-/* retrieve the GLX drawable to use on a given DC */
+/* retrieve the X drawable to use on a given DC */
inline static Drawable get_drawable( HDC hdc )
{
- GLXDrawable drawable;
- enum x11drv_escape_codes escape = X11DRV_GET_GLX_DRAWABLE;
+ Drawable drawable;
+ enum x11drv_escape_codes escape = X11DRV_GET_DRAWABLE;
if (!ExtEscape( hdc, X11DRV_ESCAPE, sizeof(escape), (LPCSTR)&escape,
sizeof(drawable), (LPSTR)&drawable )) drawable = 0;
@@ -566,8 +566,6 @@ BOOL WINAPI wglMakeCurrent(HDC hdc,
}
TRACE(" make current for dis %p, drawable %p, ctx %p\n", ctx->display, (void*) drawable, ctx->ctx);
ret = glXMakeCurrent(ctx->display, drawable, ctx->ctx);
- if(ret && type == OBJ_MEMDC)
- glDrawBuffer(GL_FRONT_LEFT);
}
LEAVE_GL();
TRACE(" returning %s\n", (ret ? "True" : "False"));
--