Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

MacWine 64bit news!


  • Please log in to reply
187 replies to this topic

#1 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 06 February 2015 - 03:59 PM

[EDIT]
Just so people don't have go digging through the thread, I'll post the WoW 32/64bit engines right here

Engines (OSX 10.6+):
WS9Winex64w32-1.9.4

WS9Winex64w32-1.7.52
WS9Winex64w32-1.7.51
WS9Winex64w32-1.7.50



Wine-Staging (OSX10.6+)
WS9WineStagingx64w32-1.7.51.tar.7z



[Origional Post]
Great news, osx version of wine may be able to compile for 64 bit apps, according to this:

https://www.winehq.o...#Wine64 on OS X

Anyone been able to try it?

#2 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 February 2015 - 01:08 PM

So 1.7.36 is out with:
"Some preliminary 64-bit support for Mac OS X."

Anyone successfully compiled it with --enable-win64 active?  I'm not having much luck.  Keeps complaining about missing defines in "main".

#3 ovvldc

ovvldc

    Master Member

  • Members
  • 1,078 posts
  • Graphics Card:Intel HD5000
  • Operating System:macOS 10.12 (Sierra)
  • I like to play:stories

Posted 10 February 2015 - 06:22 AM

I think that is what they mean by 'preliminary'...

#4 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 10 February 2015 - 11:28 PM

yeah but then the term "support" is a bit of a misnomer...

#5 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 01 April 2015 - 03:10 PM

I was trying to create Wine64.
Replace many libs to universal versions.
Correct scripts.
Set --enable-wine64
Use clang and SDK10.8
But I see Wine sources is not adapted to Apple's clang. It doesn't know ms-abi  that is obligatory for this case.
There is a work to use cross-compiler, set CFLAGS and correct sources but I think it is extra work.
I will take attention on Wine sources for 32-bits.

#6 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 08 April 2015 - 02:53 PM

Well they recommend you use gcc newer then 4.4.  Clang has never been the recommended compiler for wine.  You can get it on macports.  I then hit an issue with the system library /usr/opt/include/dispatch/object.h. I copied the library and labeled the default one as for clang.  And then edited the new one with:
changing:

typedef void (^dispatch_block_t)(void);
To
typedef void* dispatch_block_t;

I still hit issues with undefined symbols once it got to cred.o

#7 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 08 April 2015 - 07:20 PM

I have gcc-4.9.2 but it can't be used because it can't find frameworks.
We can use only Apple's compilers gcc-4.2.1 or clang. No more.
Or somehow use CROSS compilers feature.
Or overwrite whole build method.

#8 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 03:18 AM

Why should it need to find frameworks?  Wine dependency libraries should be installed as dylibs in macports...

Be sure to compile with CFLAGS="-I/opt/local/include -L/opt/local/lib"

Are you thinking of installing it via the wineskin script?  Doh123 said there is more then just build wine with --enable-win64 that needs to be done for that to work.

they said gcc 4.4 or above, and clang isn't supported for 64 bit.

#9 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 09 April 2015 - 04:10 AM

To compile /dlls/winemac.drv/ we must link frameworks.
COREFOUNDATION_LIBS = -framework CoreFoundation
IOKIT_LIBS = -framework IOKit -framework CoreFoundation
FORCEFEEDBACK_LIBS = -framework ForceFeedback -framework CoreFoundation
APPLICATIONSERVICES_LIBS = -framework ApplicationServices
CORESERVICES_LIBS = -framework CoreServices
APPKIT_LIBS = -framework AppKit
DISKARBITRATION_LIBS = -framework DiskArbitration -framework CoreFoundation
SECURITY_LIBS = -framework Security -framework CoreFoundation
COREAUDIO_LIBS = -framework CoreFoundation -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework CoreMIDI
OPENAL_LIBS = -framework OpenAL
OPENCL_LIBS =
QUICKTIME_LIBS = -framework QuickTime -framework ApplicationServices -framework CoreVideo
CARBON_LIBS = -framework Carbon


#10 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 12:30 PM

Ah ok, That makes sense.  What if we don't compile mac drive and stick with x11? (this is what macports does)

#11 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 01:16 PM

Dang it, I  was so close...

I thought, hey what if I followed my own advice (it would get undefined symbols if it couldn't find important dylibs)

So in macports:
I already have run "sudo port install gcc49" I then ran
"sudo port configure wine" to install all the wine dependencies. Then once that finished, "sudo port clean wine" because I don't really need another installation of wine itself.

then in the wine source folder I ran (based off of the macports port file)

./configure --without-alsa --without-capi --with-cms --with-coreaudio --with-cups --with-curses --with-fontconfig --with-freetype --without-gphoto --with-glu --with-gnutls --without-gsm --without-hal --with-jpeg --without-ldap --without-mpg123 --without-openal --with-opengl --without-oss --with-png --with-pthread --without-sane --with-tiff --without-v4l --with-xcomposite --with-xcursor --with-xinerama --with-xinput --with-xml --with-xrandr --with-xrender --with-xshape --with-xslt --with-xxf86vm --with-x --x-include=/opt/local/include --x-lib=/opt/local/lib --enable-win64 CFLAGS="-I/opt/local/include -L/opt/local/lib" CC=/opt/local/bin/gcc-mp-4.9

That got me all the way to

/opt/local/bin/gcc-mp-4.9 -m64 -c -o relay.o relay.c -I. -I../../include -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall \
  -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \
  -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
  -Wlogical-op -I/opt/local/include -L/opt/local/lib
{standard input}:1406:suffix or operands invalid for `movq'
{standard input}:1407:suffix or operands invalid for `movq'
{standard input}:1408:suffix or operands invalid for `movq'
{standard input}:1409:suffix or operands invalid for `movq'
make[1]: *** [relay.o] Error 1


any ideas?

My idea is it has to do with this stupid error I got in ./configure

configure: QuickTime 64-bit development files not found, video decoding won't be supported.

of course Quicktime is 64 bit...  Why it doesn't use corevideo anyway is beyond me.

#12 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 09 April 2015 - 01:22 PM

relay.c used in DOS. Use should --disable-win16

#13 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 01:44 PM

Good idea! Don't really need it anyway for the 64bit compile of wine :)

#14 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 02:05 PM

View PostSlice, on 09 April 2015 - 01:22 PM, said:

relay.c used in DOS. Use should --disable-win16

I fear that didn't change anything. it still attempts to compile relay.c

{edit}
Ah there is more then one relay.c the one that is the problem is part of dlls/ntdll and looks to be part of a section if __x86_64__ is defined

#15 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 09 April 2015 - 02:30 PM

Did you see this instructions?
http://wiki.playonli...or_OSX_on_Linux

#16 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 09 April 2015 - 02:41 PM

View PostSlice, on 09 April 2015 - 02:30 PM, said:

Did you see this instructions?
http://wiki.playonli...or_OSX_on_Linux

To compile OSX build from linux?  Sounds like makeing a complex situation even more complex.  I don't have linux installed.

#17 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 10 April 2015 - 06:59 AM

I just think that this method is applicable for OSX. Compile separately tools and dll with new gcc without frameworks support.

#18 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 10 April 2015 - 06:40 PM

The issue isn't a framework one,  (In that regards it looks as if gcc4.9 is finding framework libraries like coreaudio just fine.)  no movq is an assembly function. Looks like the compiler is choaking on an assembly section, and I'm betting is a bug.

#19 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 03 May 2015 - 03:49 AM

thanks to Josh Dubois and Ken Thommas I got wine 64 bit to compile.  Here is the bug report. https://bugs.winehq....ug.cgi?id=38380

But the problem isn't fixed, and the hacks to get it to work are really less then ideal.  So far its only possible with newer versions of gcc, and not clang which forces you to disable the winemac.drv. (only nesscary when compiling wine64).  But again, i did get it to compile and works with my 64bit chess engines.

#20 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 06 May 2015 - 09:19 AM

Good news!
I will follow, a little later....

#21 ovvldc

ovvldc

    Master Member

  • Members
  • 1,078 posts
  • Graphics Card:Intel HD5000
  • Operating System:macOS 10.12 (Sierra)
  • I like to play:stories

Posted 06 May 2015 - 09:40 AM

There were more postings on this on the Wine developers email list today. It looks like you only need two or three patches to get a few things to work, but compiling is messy and lots of apps still just crash.

#22 darklord42

darklord42

    Rookie Porter

  • Members
  • PipPipPipPip
  • 151 posts

Posted 06 May 2015 - 01:13 PM

Yah,  I'm not supprised.  Most of my needs are with simple programs, and even a few of they crash as well.

#23 failury

failury

    Lurker

  • Members
  • 2 posts
  • Graphics Card:intel iris 5100
  • Operating System:OS X 10.9 (Mavericks)

Posted 08 May 2015 - 07:38 AM

but we still need the support for direct 10 and direct 11.

#24 ovvldc

ovvldc

    Master Member

  • Members
  • 1,078 posts
  • Graphics Card:Intel HD5000
  • Operating System:macOS 10.12 (Sierra)
  • I like to play:stories

Posted 08 May 2015 - 07:44 AM

View Postfailury, on 08 May 2015 - 07:38 AM, said:

but we still need the support for direct 10 and direct 11.

Completely different topic.

Also, you want D10 and D11 support, you don't need it in the way you need food, water, shelter and cuddles. Relax ;).

#25 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 01 July 2015 - 09:43 AM

I get Wine-64 successfully compiled by clang + SDK10.8 + MINMACOSXVERSION=10.6
The trick for clang is replace builtin_ms_va_... to builtin_va_... The trick is known from EDK2 project so trusted.
-#  define __ms_va_list __builtin_ms_va_list
-#  define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg)
-#  define __ms_va_end(list) __builtin_ms_va_end(list)
-#  define __ms_va_copy(dest,src) __builtin_ms_va_copy(dest,src)
+#   if defined(__APPLE__)
+#	 define __ms_va_list __builtin_va_list
+#	 define __ms_va_start(list,arg) __builtin_va_start(list,arg)
+#	 define __ms_va_end(list) __builtin_va_end(list)
+#	 define __ms_va_copy(dest,src) __builtin_va_copy(dest,src)
+#   else
+#	 define __ms_va_list __builtin_ms_va_list
+#	 define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg)
+#	 define __ms_va_end(list) __builtin_ms_va_end(list)
+#	 define __ms_va_copy(dest,src) __builtin_ms_va_copy(dest,src)
+#   endif
Same changes also needed in configure.ac but I don't know how to do this common way so I just replace names manually.

winemac.drv compiled to 64 without problem.
As well I don't need corrections specific for gcc-4.x (movq ... etc)

I have all needed libraries to be FAT 32/64 and collect them into WrapperUpdate2


There is a result Sherry-64 rev 224


But then I have a problem to use it under Wineskin or from command line.
Sergeys-iMac:~ slice$ wine64 notepad
wine: '/Users/slice/.wine' is a 32-bit installation, it cannot support 64-bit applications.
Sergeys-iMac:~ slice$ wine64 --check-libs
libcups.2.dylib: found
libfontconfig.1.dylib: found
libfreetype.6.dylib: found
libGL.1.dylib: found
libjpeg.9.dylib: found
libncurses.5.dylib: found
libnetapi.dylib: missing
libodbc.dylib: missing
libOSMesa.8.dylib: found
libpng16.16.dylib: found
libtiff.5.dylib: found
libX11.6.dylib: found
libXcomposite.1.dylib: found
libXcursor.1.dylib: found
libXext.6.dylib: found
libXi.6.dylib: found
libXinerama.1.dylib: found
libXrandr.2.dylib: found
libXrender.1.dylib: found
libxslt.1.dylib: found
libXxf86vm.1.dylib: found
Sergeys-iMac:~ slice$

Can someone explain me what I missed?

#26 NRG

NRG

    Champion Member

  • Members
  • 604 posts
  • Graphics Card:Nvidia 9800m GTS
  • Operating System:Other OS/Not specified

Posted 01 July 2015 - 11:35 AM

great job Slice!

I don't know if this info could be usefull for you:

Quote

Architectural differences
Wine by default is 32-bit, as is the i686 Arch package. As such, it is unable to execute any 64-bit Windows applications.
The x86_64 Arch package, however, is built with --enable-win64. This activates the Wine version of WoW64.
  • In Windows, this complicated subsystem allows the user to use 32-bit and 64-bit Windows programs concurrently and even in the same directory.
  • In Wine, the user will have to make separate directories/prefixes. See Wine64 for specific information on this.
If you run into problems with winetricks or programs with a 64-bit environment, try creating a new 32-bit WINEPREFIX. See below: #WINEARCH. Using the x86_64 Wine package with WINEARCH=win32 should have the same behaviour as using the i686 Wine package.

from the wine's wiki for archlinux version...

#27 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 01 July 2015 - 12:12 PM

Not sure I understand but it seems I have to compile wine twice. First for 64 bit ( --enable-wine64) and second for 32 bit but ( --with-wine64).
It will be twice longer and larger. Will do this little later.

I updated link to WrapperUpdate2. Now it includes all libraries and may be too many not needed.

#28 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 270 posts
  • Graphics Card:AMD Radeon HD6670
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:Sierra 10.12
    Heroes III
    4x4 Evolution
    want to make Heroes VI

Posted 04 July 2015 - 06:46 AM

I made full 32/64 bit engine
https://dl.dropboxus....46-225c.tar.7z
but the problem is Wineskin works only with 32 bit part of it.
err:process:create_process 64-bit application L"C:\\Program Files\\winrar-x64-520.exe" not supported in 32-bit prefix
wine: Bad EXE format for C:\Program Files\winrar-x64-520.exe.

I expected some developer/advanced user will look and tell me how to work with it.

#29 NRG

NRG

    Champion Member

  • Members
  • 604 posts
  • Graphics Card:Nvidia 9800m GTS
  • Operating System:Other OS/Not specified

Posted 04 July 2015 - 07:29 AM

View PostSlice, on 04 July 2015 - 06:46 AM, said:

I made full 32/64 bit engine
https://dl.dropboxus....46-225c.tar.7z
but the problem is Wineskin works only with 32 bit part of it.
err:process:create_process 64-bit application L"C:\\Program Files\\winrar-x64-520.exe" not supported in 32-bit prefix
wine: Bad EXE format for C:\Program Files\winrar-x64-520.exe.

I expected some developer/advanced user will look and tell me how to work with it.

I tried with Ori and the blind forest and it works well as  the staging engine I used before... but the issue is that if it doesn't works with 64bit the  game will crash in certain moment because it use more of 4 gb of ram... windows 32 bit can use only max 3gb of ram, and this game it's bad optimized for 32 bit systems...

it seems winecfg pannel don't works when I try to open it... I'm not sure if depending by your engine or by my wrapper that I used for many engines tests so it could be corrupted...

EDIT: I  came back to wine-staging 1.7.46 engine and the winecfg works again

#30 NRG

NRG

    Champion Member

  • Members
  • 604 posts
  • Graphics Card:Nvidia 9800m GTS
  • Operating System:Other OS/Not specified

Posted 04 July 2015 - 09:15 AM

Ok winecfg don't works if I put all your libraries of the  "wrapperupdate2" into the frameworks folder of the wrapper... If I use your engine with the old framewoks folder instead the winecfg works

the strange thing and if I use all yours libraries in the wrapper with the wine-staging engine, winecfg works anywhere

EDIT: I tried again with your updatewrapper2 libraries and now it works!

Wineskin often give me issues as this without motive...




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users