CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Mac
Discussion about CrossOver Mac

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Alternate Xserver

I'm trying to figure out how to start Crossover's wine using a different Xserver. The reason for this is to narrow down a possible input bug in the latest server build. Quake2 has smooth mouse motion using CrossoverGames 7.2, but using wine-1.1.16 and xorg-server-1.4.2-apple37, the mouse motion is choppy. I want to use CrossoverGames-7.2's wine with my Xserver. I tried the following:

Programs->Run Command->Open Shell

This opened Terminal.app and had DISPLAY set to CrossoverGames' Xserver. I ran:

cd Games/Quake2
/Applications/CrossOver\ Games.app/Contents/SharedSupport/CrossOverGames/bin/wine quake2.exe

Quake2 ran in CrossoverGames' Xserver. I quit it and did:
DISPLAY=:0 # which corresponds to my server. I then attempted the same command but got the following error:

$ /Applications/CrossOver\ Games.app/Contents/SharedSupport/CrossOverGames/bin/wine quake2.exe
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
recursive shutdown

Running 'xterm' reveals that DISPLAY is indeed set correctly.

Additionally, running xterm with DISPLAY=:3, it fails to connect to CrossoverGames' Xserver... so I'm guessing there's something "special" going on there... any help would be appreciated.

I replied to Jeremy through other channels, but wanted to post this here for general consumption:

We ship our own X11 libraries to go with the X server inside of CrossOver Games.app. We have set the dependencies of several of the Wine libraries (glu32.dll.so, opengl32.dll.so, and winex11.drv.so in Contents/SharedSupport/CrossOver/lib/wine) to reference the X11 libraries inside our bundle via @executable_path-relative paths (where Contents/SharedSupport/CrossOver/bin/wineloader is the executable). As a safeguard, we also set DYLD_FALLBACK_LIBRARY_PATH to include the path to CrossOver Games.app/Contents/SharedSupport/X11/lib for any processes which CrossOver spawns.

In order to avoid conflicts with normal X11, our server and libraries don't use the normal location for the Unix-domain socket. Instead of /tmp/.X11-unix, we use /tmp/.CrossOver. Therefore, by design, our libraries are incompatible with the generic X server and the generic libraries are incompatible with our X server.

So, if you want to use CrossOver's Wine with another X server, you have to make sure it finds the normal X11 libraries, too. Because of the use of @executable_path-relative dependencies in our libraries, this takes some brute force. You can set DYLD_LIBRARY_PATH (no "FALLBACK" in there) to force the dynamic loader to look in /usr/X11/lib preferentially. Or, you can move Contents/SharedSupport/CrossOver out of our application bundle, thus breaking the @executable_path-relative lookups, and use DYLD_FALLBACK_LIBRARY_PATH to resolve the failures that now result.

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzA4NjEzODE4LCJjc3JmX3Rva2VuIjoiM1pRdFBadlM1a2hnTlFHeCIsImdkcHIiOjB9