Giter Site home page Giter Site logo

wine-on-mac's Introduction

How to install/about wine on mac

As this question keeps appearing more recently I'm making this basic guide.

Prerequisites;

Recommended way to install Winehq packages;

Installing wine using homebrew Once homebrew is installed you the following command to install your selected wine package

brew tap homebrew/cask-versions
brew install --cask --no-quarantine wine-staging

The above command will install the most recent wine-staging pkg available on winehq but it will also add wine for use in Terminal meaning you no longer need to launch the installed Wine Staging app each time you want to access wine.

Please Note;
Only a single wine package can be installed using brew
The --no-quarantine command is required as homebrew by default adds the quarantine flag to downloaded casks, this causes Gatekeeper to treat the bundle as damaged.

How to manually install wine on mac using Winehq releases;

Grab a wine package usually using the latest wine-devel is recommended, but most agree it's best to use the latest wine-staging due to additional patches.
If your intention is to have a more stable environment use wine-stable
Currenty macOS packages are not uploaded to Winehq, those can be downloaded from here

The above is the Winehq way to install wine on mac but that makes it cumbersome to use considering you must launch the Wine Stable, Wine Devel or Wine Staging app each time to get access to wine within Terminal

Wine basics

The default WINEPREFIX will be ~/.wine so anything you install will be placed into the hidden ~/.wine folder. You can override this by using the WINEPREFIX command

The default architecture of a WINEPREFIX will be 64Bit meaning 32Bit and 64Bit applications & games are supported but that's not always ideal for several reasons. A new WINEPREFIX can be created and also setting WINEARCH

Here is an example of using both commands to create a 32Bit only WINEPREFIX

WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg

The above command will create a new WINEPREFIX thats also 32Bit only and launch winecfg

wine binaries

  • wine (32Bit loader)
  • wine64 (64Bit loader)
  • wineserver (daemon process)

shell wrappers

  • msiexec (execute msi files)
  • notepad
  • regedit (Wines Registry editor)
  • regsvr32 (Provides DLL registration services)
  • wineboot
  • winecfg (wine configuration utility)
  • wineconsole (windows like shell aka cmd)
  • winedbg (wine debug utility)
  • winefile (wine file manager)
  • winemine (wines version of the game mine)
  • winepath

What's this winetricks everyone keeps saying to use?

Winetricks is an easy way to work around problems in Wine.

While winetricks can be installed directly from GitHub you will be missing packages winetricks requires, instead install again using homebrew

brew install winetricks

Now you will also have access to winetricks command within Terminal

Why doesn't my game work on mac but Winehq says it does?

This usually happens when the game uses DirectX10 or above, the version of OpenGL included on macOS hasn't been updated in years so it's missing some needed extensions.

Can I use DXVK on mac?

Yes & no. MoltenVK supports Vulkan 1.1 core features so that's enought to to run some 64Bit (Apples Metal API is 64Bit) DirectX 10 & DirectX 11 games.
Upstream DXVK won't work on macOS as additional modifications are required.

Note;
CrossOver-20 and later include DXVK support, this provides 64Bit DirectX 10 and DirectX 11 support. CodeWeavers patched MoltenVK to fake unsupported extensions along with a custom version of DXVK that was modified specifically for macOS.

DXVK-macOS

DXVK-macOS provides custom DXVK packages with macOS in mind, those packages don't require a modified version of MoltenVK.

Note;
While I've provided DXVK-async packages there are not recommended, upstream DXVK had removed this feature after reports of possible bans related to anti-cheat systems.

macOS Sierra and below

While upstream wine does support OS X 10.8 and later the provided packages target macOS High Sierra and later.
To get modern wine on legacy versions of macOS you'll need to make use of macports-wine

macOS Catalina and later

Currently only CrossOver-19 and later suppot 32Bit on 64Bit only versions of macOS.

Here are some free alternatives;

Install the lastest wine-crossover package I provide from my brew tap;

brew install --cask --no-quarantine gcenx/wine/wine-crossover

Gatekeeper will give a warning for each Windows binary that is ran as these won't be code-signed in a way Apple expects, to avoid this you could disabled Gatekeeper using the following command

sudo spctl --master-disable

Please Note;
macOS Catalina 10.15.0 to 10.15.3, SIP needs to be disabled this will allow wine32on64 to change the state of i386_set_ldt
The current wine-crossover package can be downloaded directly WineCX20.02

Also;
wine32on64 does not support 16Bit executables so somethings just won't work

Apple Silicon support?

Only CrossOver-20.0.2 includes 32Bit support for Apple Silicon at this time, this requires macOS Big Sur 11.1 and Rosetta2 installed.
Wine-6.0.1/Wine-6.1 only support 64Bit Windows Binaries at this time.

How to build wine from source;

TODO

wine-on-mac's People

Contributors

baconwrappedshrimpwitheyes avatar gcenx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.