Jump to content

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

Updating PORTING TEAM ports


  • Please log in to reply
6 replies to this topic

#1 Incredible Hulk

Incredible Hulk

    Professional Member

  • Members
  • PipPipPipPip
  • 185 posts
  • Graphics Card:6750M, OSX 10.12.2
  • Operating System:Other OS/Not specified
  • I like to play:PES, COD, Grid, FNV, RO

Posted 13 October 2017 - 09:23 AM

In now days when someone is looking for Mac port of the Windows (usually Steam) game he will probably come here, download wrapper and that game will not work even if that game is working better than ever in Wine.

Trivial things like updating wrapper, updating engine, right clicking game to open or the latest High Sierra hassle to deselect auto detect gpu are probably to much for ordinary user. He will give up on Wine.

Could we somehow put those instructions on the top of every page with wrapper or even better to connect them with Paulthetall PortingKit as he updates his ports regularly.

#2 VitorMM

VitorMM

    Professional Member

  • Members
  • PipPipPipPip
  • 109 posts
  • LocationBrazil
  • Graphics Card:NVIDIA GeForce 9400M, Intel Iris 1536Mb
  • Operating System:Other OS/Not specified
  • I like to play:The Elder Scrolls V: Skyrim, Fallout: New Vegas, Dragon Ball Xenoverse, Diablo III

Posted 13 October 2017 - 01:37 PM

View PostIncredible Hulk, on 13 October 2017 - 09:23 AM, said:

In now days when someone is looking for Mac port of the Windows (usually Steam) game he will probably come here, download wrapper and that game will not work even if that game is working better than ever in Wine.

Trivial things like updating wrapper, updating engine, right clicking game to open or the latest High Sierra hassle to deselect auto detect gpu are probably to much for ordinary user. He will give up on Wine.

Could we somehow put those instructions on the top of every page with wrapper or even better to connect them with Paulthetall PortingKit as he updates his ports regularly.

What keeps the PK ports working after those macOS updates is the Porting Kit itself, which is updated to support installing ports in the newest system, and updating old ports if needed ;)

WSI2 files can be created with the Porting Kit, and they carry all the needed information to create a replica of a game port. If you create, and host, WSI2 files instead of the ports themselves, PK will keep those WSI2 files working :)

#3 VitorMM

VitorMM

    Professional Member

  • Members
  • PipPipPipPip
  • 109 posts
  • LocationBrazil
  • Graphics Card:NVIDIA GeForce 9400M, Intel Iris 1536Mb
  • Operating System:Other OS/Not specified
  • I like to play:The Elder Scrolls V: Skyrim, Fallout: New Vegas, Dragon Ball Xenoverse, Diablo III

Posted 13 October 2017 - 01:40 PM

Basically, if people run existing Porting Team ports with the Porting Kit, they will be fixed to work on macOS 10.11, 10.12 and 10.13 (if that's their system; it won't perform unnecessary fixes)

#4 Incredible Hulk

Incredible Hulk

    Professional Member

  • Members
  • PipPipPipPip
  • 185 posts
  • Graphics Card:6750M, OSX 10.12.2
  • Operating System:Other OS/Not specified
  • I like to play:PES, COD, Grid, FNV, RO

Posted 14 October 2017 - 02:42 PM

You are doing great job lately ;)
Can you tell us anything more about this Wineskin Navy

#5 VitorMM

VitorMM

    Professional Member

  • Members
  • PipPipPipPip
  • 109 posts
  • LocationBrazil
  • Graphics Card:NVIDIA GeForce 9400M, Intel Iris 1536Mb
  • Operating System:Other OS/Not specified
  • I like to play:The Elder Scrolls V: Skyrim, Fallout: New Vegas, Dragon Ball Xenoverse, Diablo III

Posted 16 October 2017 - 03:09 PM

View PostIncredible Hulk, on 14 October 2017 - 02:42 PM, said:

You are doing great job lately ;)

Thanks :D

View PostIncredible Hulk, on 14 October 2017 - 02:42 PM, said:

Can you tell us anything more about this Wineskin Navy

Wineskin Navy is a fork of the Wineskin App and the WineskinLauncher (not Wineskin Winery, since the Porting Kit Custom Port represents the same function).

The main idea behind Navy is fixing some of the Wineskin issues and adding some new features. Since I've being using Wineskin for a long time, and did a lot of "reverse engineering" on it in order to find out how it worked to build PK, I've discovered some bugs in it which can be fixed if I lend to it some of the Porting Kit code ;)

Quote

Note: When I say I did "reverse engineering", I mean that I created a wrapper, then made a copy of it, then did something with the original wrapper using Wineskin. After that, I used terminal commands to find the differences between the original (now modified) and the copy, so I would learn how WineskinApp and winecfg works, and could make PK capable of doing the same procedure. Pretty much whats the Wine team does to make Wine.

The bugs that I can remember now are:
  • Sometimes the Resolution property in Info.plist gets corrupted ( '(null)x24sleep0' );
  • The Auto-detect GPU feature does not detect the memory size properly in integrated video cards;
  • The Auto-detect GPU feature not always detect the Vendor ID properly;
  • The Auto-detect GPU feature causes crashing in macOS 10.13;
  • Enabling the Mac Driver and the Decorate window checkboxes at the same time may corrupt the wrapper registry;
  • Kill Wineskin Processes doesn't kill all the Wineskin processes all the time (specially in Staging engines with Mac Driver).
All of that can be solved by lending PK code. There are also some features that I would like to add to Wineskin, like:
  • Selecting an image file (not .icns) to change a wrapper icon;
  • Selecting a LNK file to change a port's run path, retrieving the flags as well;
  • Installing winetricks silently;
  • Enabling/disabling Fn keys special functions when running port.
We still have no expected date to release Wineskin Navy, but it's ready for that. However, I'm still working on improving Wineskin Navy code readability.

In case someone is not willing to wait and want to start using it by now, the Auto-detect GPU bug fixes and the icon type feature can be implemented by using my framework in Wineskin:
https://github.com/v...tiveC_Extension

Those three functions can be used to retrieve memory size, device ID and vendor without crashing and with accuracy:
[NSComputerInformation graphicCardDeviceID]
[NSComputerInformation graphicCardVendorID]
[NSComputerInformation graphicCardMemorySize]

And that one can retrieve an image from ANY kind of file. If the file is an image, it will return the image. Else, if the file has a QuickLook preview, it will return the QuickLook preview. Else, it will return the file/folder icon. Like I said, anything works.
[NSImage imageFromFileAtPath:filePath]

But I should be releasing it soon, so I think it's better to wait, even because most of the features that I want to add are already implemented in my version :P

I will upload it to my Github, and keep the same Wineskin license (LGPL 2.1).

#6 Incredible Hulk

Incredible Hulk

    Professional Member

  • Members
  • PipPipPipPip
  • 185 posts
  • Graphics Card:6750M, OSX 10.12.2
  • Operating System:Other OS/Not specified
  • I like to play:PES, COD, Grid, FNV, RO

Posted 20 October 2017 - 05:06 PM

@VitorMM
Would it be better to contact doh123 and integrate those patches directly in Wineskin?

#7 VitorMM

VitorMM

    Professional Member

  • Members
  • PipPipPipPip
  • 109 posts
  • LocationBrazil
  • Graphics Card:NVIDIA GeForce 9400M, Intel Iris 1536Mb
  • Operating System:Other OS/Not specified
  • I like to play:The Elder Scrolls V: Skyrim, Fallout: New Vegas, Dragon Ball Xenoverse, Diablo III

Posted 03 November 2017 - 08:46 PM

View PostIncredible Hulk, on 20 October 2017 - 05:06 PM, said:

@VitorMM
Would it be better to contact doh123 and integrate those patches directly in Wineskin?

If Wineskin was hosted in Github, I would have sent my pull request already :P

Also, two different people (not counting me) also made their own fix for the Wineskin Auto-detect GPU bug, and one of them even did a pull request to Wineskin in SourceForge. Ok, their fix is more of a hack, but anyway, it "fixes" the problem...

The point is: doh123 has other priorities in the moment. It's not just accepting a pull request; it's testing it, and keep testing and accepting every pull request that helps the project (and things like that happen every year in the Apple world...). The faster way to contribute with Wineskin is forking it and making the fixes. If doh123 finds enough time to check the changes, then we can simply make a pull request and get them back to the original Wineskin master branch ;)

I still didn't have enough time to upload my fork (it needs a bit more testing), but in the meanwhile, Porting Kit's custom port feature works just like Winery, but implementing the needed fixes during the port creation.

Again: In case someone is not willing to wait for Wineskin Navy and wants to start using the Auto-detect GPU fix by now, it can be implemented by using my framework in Wineskin.

EDIT: While the pull request to Winery doesn't solves the problem to everybody, it seems that it indeed is also required. I just checked today, and Macs with Intel video cards have no vendor ID, nor in 'Vendor ID', nor in 'Vendor'. I added a workaround to Intel video cards in the framework, but I'm not sure if Intel are the only affected ones. I need more data to be sure.

EDIT (12/11/2017): It seems that not even this will be enough. I just discovered that, for some users, system_profiler (which is the binary used by both my framework and Wineskin to detect the video card specs) simply returns nothing. With that in mind now, I just added another method to retrieve the video card specs in case it fails, this time using a macOS API (maybe it would be even better to use that by default instead of the binary method since it provides a faster response, but for now that new method lacks tests).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users