Jump to content

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

WineSherry the best engine for Wineskin


  • Please log in to reply
284 replies to this topic

#271 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 23 February 2019 - 06:13 PM

View PostSlice, on 23 February 2019 - 05:32 PM, said:

I am not clear in your proposition. Give you access to my githib page? Or something else?

I found that configure search for libraries and took first one. It is 14.14. So we have to delete all old versions. For example libjpeg.8.dylib and libjpeg.9.dylib. First one MUST be deleted.
I have no purpose to support Wine on systems before 10.11. There are already existent wrapper that works. It is more interesting to support new systems for new games.
Now I am trying to test something DX10/11 using Vulkan but have success even in compilation.
I’m saying is if you already had the current sherry versions on GitHub with releases set it’s possible with my current builders to just grab the source from GitHub and build it.

If it’s not on GitHub then I need to add support to copy a wine source into the docker image then compile it.
Or I just give you the same headers/libs I’m using and leave the rest up to you.


I understand not caring about support for below 10.11 but I’m trying to keep support for as many versions of macOS as possible.
Currently Vulkan Support on macOS sucks as MoltenVK does not support enough extensions to use DXVK at this time.

View PostSlice, on 23 February 2019 - 05:34 PM, said:

But with Wineskin 2.6.2, my WrapperUpdate and Sherry the log is clean.
I can check over that later but it’s related to NCurses/macports being installed.
(Offical winehq packages also give the same error messages)

View PostSlice, on 23 February 2019 - 05:53 PM, said:

Vulkan test crashed
MacBook-Pro-Sergey:~ sergey$ wine c:/tests/vulkan-1_test.exe.so
vulkan.c:143: Vulkan version 1.0.0.
vulkan.c:153: Device 'Intel HD Graphics 4000', 0x8086:0x166, driver version 0.2.1835 (0x272b), api version 1.0.92.
wine: Unhandled page fault on execute access to 0x00000000 at address 0x0 (thread 002a), starting debugger...
Wineskin Command Line Wine Test
MacBook-Pro-Sergey:~ sergey$
But I also see same crashes in 10.13.6 17G5019 in numerous other application, always access to 0x00000000 at address 0x0.
While this wrapper works if I copy it to 10.11.6.
Strange as I’m able to run Cube demo on Mojave (the 64Bit demo not 32Bit as Metal is 64Bit only)


Edit;
At present I’m not happy with the winebuild system enough to upload it due to some missing features like using a local wine source. It’s also based off another project I just modified it for my needs

Edit2;
I have afew ideas to support Sherry releases if needed, tonight I will upload the headers/libs and message you a link so your able to use what I’m using to see if that helps.

Edit3;
The tests that failed before were with WS9WineSherry64-4.1-4 however your newer WS9WineXSherry64Bit4.2-14 works with my local master-wrapper version including the running "3DMark05", so my next wrapper update will support that one at least.
(your WrapperUpdate versions of NCurses will break "Command Line Wine Test" unless the user has macports installed on there system btw)
All WS9WineXSherry64Bit4.2-14 needs is the newer libfreetype.6.dylib and then it works on the current wrapper version, the currently libfreetype.6.dylib is from XQuartz2.7.11 to maintain compatibility with older wine versions but that won't be an issue with the new update when its done.

Edited by Gcenx, 24 February 2019 - 02:21 AM.


#272 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 24 February 2019 - 04:30 AM

I see something bad with a new knowledge.
System otool command shows me libraries dependency and this is a reason for incompatibility an engine with a system
sergey$ otool -L /Volumes/Data/Wine/WrapperUpdate65/libncurses.6.dylib
/Volumes/Data/Wine/WrapperUpdate65/libncurses.6.dylib:
/opt/local/lib/libncurses.6.dylib (compatibility version 6.0.0, current version 6.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
MacBook-Pro-Sergey:Projects sergey$ otool -L /Volumes/Data/Wine/WrapperUpdate65/libgnutls.30.dylib
/Volumes/Data/Wine/WrapperUpdate65/libgnutls.30.dylib:
/opt/local/lib/libgnutls.30.dylib (compatibility version 54.0.0, current version 54.1.0)
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57337.60.9)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1259.22.0)
/opt/local/lib/libMacportsLegacySupport.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libp11-kit.0.dylib (compatibility version 4.0.0, current version 4.0.0)
/opt/local/lib/libidn2.0.dylib (compatibility version 4.0.0, current version 4.5.0)
/opt/local/lib/libunistring.2.dylib (compatibility version 4.0.0, current version 4.0.0)
/opt/local/lib/libtasn1.6.dylib (compatibility version 12.0.0, current version 12.5.0)
/opt/local/lib/libnettle.6.dylib (compatibility version 6.0.0, current version 6.5.0)
/opt/local/lib/libhogweed.4.dylib (compatibility version 4.0.0, current version 4.5.0)
/opt/local/lib/libgmp.10.dylib (compatibility version 14.0.0, current version 14.2.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
Is it possible to switch those dependencies to internal only and include all these libraries into the wrapper?

#273 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 24 February 2019 - 05:06 AM

I see libgthread depends on Carbon which is deprecated. I think we must exclude it from build and use threads other way.
MacBook-Pro-Sergey:Projects sergey$ otool -L /Volumes/MacHD/opt/local/lib/libgthread-2.0.0.dylib
/Volumes/MacHD/opt/local/lib/libgthread-2.0.0.dylib:
/opt/local/lib/libgthread-2.0.0.dylib (compatibility version 5401.0.0, current version 5401.0.0)
/opt/local/lib/libglib-2.0.0.dylib (compatibility version 5401.0.0, current version 5401.0.0)
/usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.0.0)
/opt/local/lib/libpcre.1.dylib (compatibility version 4.0.0, current version 4.9.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1259.32.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1259.22.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)


#274 ovvldc

ovvldc

    Master Member

  • Members
  • 1253 posts
  • LocationEurope
  • Graphics Card:Intel Iris Plus
  • Operating System:Other OS/Not specified
  • I like to play:stories

Posted 24 February 2019 - 10:34 AM

View PostSlice, on 24 February 2019 - 04:30 AM, said:

/opt/local/lib/libnettle.6.dylib (compatibility version 6.0.0, current version 6.5.0)
/opt/local/lib/libhogweed.4.dylib (compatibility version 4.0.0, current version 4.5.0)

Looks like some coders have an interest in wild plants ;).

#275 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 24 February 2019 - 12:50 PM

I created a script to convert all dylib dependencies to current folders so there will be no more dependencies like /opt/local/lib/xxx.dylib
i tested. I converted all libraries in my wrapper and it begin to work in 10.13.6 while not before.
#!/bin/bash
# Script to correct libraries dependencies to internal
# Main build script
MainFix() {
local dylarray=$(ls $1 | grep '.dylib' | awk -F' ' '{print $1}' )
for file in $dylarray
do
  local inlib=$(otool -L "$1"/$file | grep "/opt" | awk -F' ' '{ print $1 }' )
  for lib in $inlib
  do
	echo "$lib in $file fixed to rpath"
	install_name_tool -change $lib "@rpath"/`basename $lib` "$1"/$file
  done
done
}
MainFix $@
echo "... fixed!"
Usage is
./fix_dependency.sh absolute_path
For example

Quote


MacBook-Pro-Sergey:testDylib sergey$ /Users/sergey/Desktop/fix_dependencies.sh /Users/sergey/Desktop/testDylib/WrapperUpdate7

/opt/X11/lib/libGL.1.dylib in libGL.1.dylib fixed to rpath

/opt/X11/lib/libXplugin.1.dylib in libGL.1.dylib fixed to rpath

/opt/X11/lib/libglapi.0.dylib in libGL.1.dylib fixed to rpath

/opt/X11/lib/libXdamage.1.dylib in libGL.1.dylib fixed to rpath

/opt/X11/lib/libXfixes.3.dylib in libGL.1.dylib fixed to rpath

/opt/X11/lib/libX11-xcb.1.dylib in libGL.1.dylib fixed to rpath



/opt/local/lib/libz.1.dylib in libz.1.2.11.dylib fixed to rpath

/opt/local/lib/libz.1.dylib in libz.1.dylib fixed to rpath

/opt/local/lib/libz.1.dylib in libz.dylib fixed to rpath

... fixed!




#276 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 24 February 2019 - 01:16 PM

View PostSlice, on 24 February 2019 - 04:30 AM, said:

I see something bad with a new knowledge.
System otool command shows me libraries dependency and this is a reason for incompatibility an engine with a system
sergey$ otool -L /Volumes/Data/Wine/WrapperUpdate65/libncurses.6.dylib
/Volumes/Data/Wine/WrapperUpdate65/libncurses.6.dylib:
/opt/local/lib/libncurses.6.dylib (compatibility version 6.0.0, current version 6.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
MacBook-Pro-Sergey:Projects sergey$ otool -L /Volumes/Data/Wine/WrapperUpdate65/libgnutls.30.dylib
/Volumes/Data/Wine/WrapperUpdate65/libgnutls.30.dylib:
/opt/local/lib/libgnutls.30.dylib (compatibility version 54.0.0, current version 54.1.0)
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57337.60.9)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1259.22.0)
/opt/local/lib/libMacportsLegacySupport.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libp11-kit.0.dylib (compatibility version 4.0.0, current version 4.0.0)
/opt/local/lib/libidn2.0.dylib (compatibility version 4.0.0, current version 4.5.0)
/opt/local/lib/libunistring.2.dylib (compatibility version 4.0.0, current version 4.0.0)
/opt/local/lib/libtasn1.6.dylib (compatibility version 12.0.0, current version 12.5.0)
/opt/local/lib/libnettle.6.dylib (compatibility version 6.0.0, current version 6.5.0)
/opt/local/lib/libhogweed.4.dylib (compatibility version 4.0.0, current version 4.5.0)
/opt/local/lib/libgmp.10.dylib (compatibility version 14.0.0, current version 14.2.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
Is it possible to switch those dependencies to internal only and include all these libraries into the wrapper?

I have included all the macport libs within my new wrapper update that have patched paths, but I'm excluding the X11 libs and the system included libs.

Also as I said before that copy of NCurses will cause problems with "Command Line Wine Test" if the end user does not have macports installed since it want to write to the terminal database that macports configures.

View PostSlice, on 24 February 2019 - 12:50 PM, said:

I created a script to convert all dylib dependencies to current folders so there will be no more dependencies like /opt/local/lib/xxx.dylib
i tested. I converted all libraries in my wrapper and it begin to work in 10.13.6 while not before.
#!/bin/bash
# Script to correct libraries dependencies to internal
# Main build script
MainFix() {
local dylarray=$(ls $1 | grep '.dylib' | awk -F' ' '{print $1}' )
for file in $dylarray
do
  local inlib=$(otool -L "$1"/$file | grep "/opt" | awk -F' ' '{ print $1 }' )
  for lib in $inlib
  do
	echo "$lib in $file fixed to rpath"
	install_name_tool -change $lib "@rpath"/`basename $lib` "$1"/$file
  done
done
}
MainFix $@
echo "... fixed!"
Usage is
./fix_dependency.sh absolute_path
For example

That's already implemented plus patching the .so files within my engines, if you don't also patch the .so files within /lib and /lib64 you can still have problems. Check my cross-compiles those have patched .so files.
Though you want to only patch the /opt/local/lib/" paths and leave the system ones alone.

The new wrapper update I'm working on already has all patched dylibs directly from Winebuild.
I also had to implement a feature to swap libfreetype.6.dylib versions due to the newer version only working on Wine-2.18 and above where I also want to keep supporting below these versions.

#277 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 24 February 2019 - 02:42 PM

How to add vulkan support? I got the follow
002c:err:vulkan:get_vulkan_driver Wine was built without Vulkan support.
002c:err:vulkan:wine_vk_init Failed to load Wine graphics driver supporting Vulkan.
002c:err:module:LdrInitializeThunk "winevulkan.dll" failed to initialize, aborting


#278 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 24 February 2019 - 02:54 PM

View PostSlice, on 24 February 2019 - 02:42 PM, said:

How to add vulkan support? I got the follow
002c:err:vulkan:get_vulkan_driver Wine was built without Vulkan support.
002c:err:vulkan:wine_vk_init Failed to load Wine graphics driver supporting Vulkan.
002c:err:module:LdrInitializeThunk "winevulkan.dll" failed to initialize, aborting

Check your personal messages I sent you a link for all the libs/headers what I'm using along with the cmd+q quit patch.
That includes the MoltenVK headers patched NCurses and even VKD3D

#279 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 25 February 2019 - 03:37 PM

Why .so should be patched?

#280 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 25 February 2019 - 03:57 PM

View PostSlice, on 25 February 2019 - 03:37 PM, said:

Why .so should be patched?
That ensures wine/wine64 won’t try looking into the build environment locations and instead look within /lib, /lib64 or our fallback location that we declare.

That’s why I’m only patching /opt/local/lib locations out.
The patched .so along with the patched dylibs means your also able to bundle your required libs along with wine.

#281 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 25 February 2019 - 07:02 PM

View PostGcenx, on 25 February 2019 - 03:57 PM, said:

That ensures wine/wine64 won’t try looking into the build environment locations and instead look within /lib, /lib64 or our fallback location that we declare.

That’s why I’m only patching /opt/local/lib locations out.
The patched .so along with the patched dylibs means your also able to bundle your required libs along with wine.
I don't understand what is ".so patch". Where and for a what files.

#282 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 25 February 2019 - 08:14 PM

View PostSlice, on 25 February 2019 - 07:02 PM, said:

I don't understand what is ".so patch". Where and for a what files.

wswine.bundle/lib/wine/*.so
wswine.bundle/lib64/wine/*.so

The .so files are the real wine files that then load the required dylibs as needed, these also contain hardcoded paths to the dylibs location. Patching these fixes some other issues that were encountered even then bundling the libs directly along with wine.

#283 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 26 February 2019 - 04:58 AM

View PostGcenx, on 25 February 2019 - 08:14 PM, said:

wswine.bundle/lib/wine/*.so
wswine.bundle/lib64/wine/*.so

The .so files are the real wine files that then load the required dylibs as needed, these also contain hardcoded paths to the dylibs location. Patching these fixes some other issues that were encountered even then bundling the libs directly along with wine.
Looks good with my compilation
sergey$ otool -L /Volumes/MacHD/Applications/0App/Games/Test64VK.app/Contents/Frameworks/wswine.bundle/lib/wine/bcrypt.dll.so
/Volumes/MacHD/Applications/0App/Games/Test64VK.app/Contents/Frameworks/wswine.bundle/lib/wine/bcrypt.dll.so:
@rpath/libwine.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)


#284 Gcenx

Gcenx

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 368 posts
  • Graphics Card:Intel Iris
  • Operating System:macOS 10.12 (Sierra)

Posted 26 February 2019 - 02:39 PM

View PostSlice, on 26 February 2019 - 04:58 AM, said:


Looks good with my compilation
sergey$ otool -L /Volumes/MacHD/Applications/0App/Games/Test64VK.app/Contents/Frameworks/wswine.bundle/lib/wine/bcrypt.dll.so
/Volumes/MacHD/Applications/0App/Games/Test64VK.app/Contents/Frameworks/wswine.bundle/lib/wine/bcrypt.dll.so:
@rpath/libwine.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)

You can’t really be sure with that as bcrypt should also be referencing Gnutls, that’s also the case for secur32. It’s always correct when referencing system libs and libwine.

Check something else that does reference an external dylib.

#285 Slice

Slice

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 305 posts
  • Graphics Card:AMD Radeon HD6670, GTX650
  • Operating System:OS X 10.11 (El Capitan)
  • I like to play:Heroes III
    4x4 Evolution
    made Heroes VI working!

Posted 27 March 2019 - 08:47 AM

I have to report that I successfully launch Heroes VII of Might & Magic in 64bit mode using
WS9WineXSherry64Bit4.2vk-28.tar.7z
Although it compiled with Vulkan support it looks like Vulkan in not used for this game and DX10 supported in restriction enough to play the game.
Enjoy!

PS. Yes, 64bit game is fully working in Sierra 10.12.6! I see no artefacts and glitches.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users