On Sat, Mar 2, 2013 at 7:20 PM, Josh DuBois duboisj@codeweavers.com 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.
Regards,