Making wine default to the Mac Driver on OS X

Per Johansson per at
Mon Mar 4 04:28:28 CST 2013

On Sat, Mar 2, 2013 at 7:20 PM, Josh DuBois <duboisj at> wrote:
> With Friday's release, I am interested in making the Mac Driver wine's
> default on OS X.  My own immediate motivation is largely so we at
> CodeWeavers can start testing it as a default internally (which obviously we
> can do on our own, regardless, if needed), but I figured I'd ask the wider
> community to see whether it's time in winehq also.

Is it really ready yet? As far as I can tell, the OpenGL fixes are not
yet committed.

> My question is how it should be configured from a user perspective. Right
> now one can set a registry key in
> HKCU/Software/Wine/Drivers/Graphics
> with a comma-separated list specifying the driver load order, and the first
> one successfully loaded will be used.  Absent the key, there is a hardcoded
> load order in user32/driver.c.  Right now that is just "x11."
> Discussing with Alexandre the other day I believe his thought is to make the
> hardcoded default "x11,mac" in all cases (including Linux).  I believe (and
> I don't mean to put words in his mouth) that his thought is that a user
> should never have to edit the registry to switch between drivers.  The
> thought would be that in order to switch between drivers, a user must
> instead create an environment in which all drivers which are ahead of the
> desired driver in the hardcoded load order will fail to load.  I think that
> in the specific case of "x11,mac" on an OS X box, the thought was to unset
> DISPLAY if you want to run with the Mac Driver on, forcing X11 to fail and
> therefore getting the fallback.

I don't think this is a good idea. Consider this case:

User is happily using wine with mac driver.
User installs XQuartz for reasons unrelated to wine.
Suddenly wine is using X11 driver instead of mac driver.
User is now unhappy (maybe).

> I propose an environment variable, WINEDRIVERLOADORDER.  I would think we
> would first use the registry value, then the value of WINEDRIVERLOADORDER,
> then the hardcoded fallback.  I would also propose making the hardcoded
> fallback differ on OS X and linux, so that a user who does nothing on OS X
> can have the Mac Driver, but someone who wants X11 can set
> WINEDRIVERLOADORDER and switch to that without editing the registry.
> Is that an acceptable approach?

I agree that the default on mac should be mac,x11, but I don't really
see the reason an override can't be set in registry. Is it just
because registry is considered too complicated to modify? I'd suggest
making a setting in winecfg in that case. Virtual desktop is already
there and has a similarly large impact.

Environment variables feel a bit too volatile to be depended upon.
Launching from terminal or through desktop very well might have
different variables set. If global configuration is needed, it should
be through a configuration file, IMO. wine.inf could handle it, except
it's overwritten when upgrading.

Per Johansson

More information about the wine-devel mailing list