OroborOSX v0.9 Final



Here is some information which might be useful if you want to use OroborOSX v0.9 final with Matlab, or with an older version of XFree86/Apple's X11...




Using v0.9 Final with Apple's beta X11 releases, or Older XDarwin (pre-XFree86 v4.3)

Versions of XFree86 before 4.3 (Apple's X11 beta releases are based on XFree86 4.2) will require a newer version of the Freetype library. You can get this from here (you may need to ctrl-click/right-click on the link, and choose to download to disk):

libfreetype.6.3.dylib

This needs placing into the /usr/X11R6/lib directory, and symbolic links made to point to it. You can do this as follows (these commands assume you downloaded the above file to the Desktop - note that you will have to provide your password as an administrator):

sudo mv ~/Desktop/libfreetype.6.3.dylib /usr/X11R6/lib/
cd /usr/X11R6/lib
sudo rm libfreetype.6.dylib libfreetype.dylib
sudo ln -s libfreetype.6.3.dylib libfreetype.6.dylib
sudo ln -s libfreetype.6.3.dylib libfreetype.dylib



Enabling Threading under Apple's beta X11 releases, or older XDarwin (pre-XFree86 v4.3)

Please note that I would not recommend trying to make your X11 installation threaded unless you have an application which requires it. In particular, if you use Matlab you will probably find it does not work correctly with thread-enabled libraries.

The most reliable way to enable threading would be to download a complete installation of XFree86 4.3.

However, the following may just work (it should at least tell X11 apps which ask for threading that it is enabled - whether everything else works as it should...)

Download the thread-enabled X11 libraries

Now place them into the /usr/X11R6/lib directory, renaming your non-thread-enabled versions beforehand so you have a backup of them (the following commands assume you have downloaded the above files to the Desktop - note that you will have to provide your password as an administrator on the first 'sudo' command):

cd /usr/X11R6/lib
sudo mv libX11.6.2.dylib libX11.6.2.dylib-nonthread
sudo mv ~/Desktop/libX11.6.2.dylib .
(Notice the dot at the end of that last command!)
You should have now placed one of the thread-enabled libraries in its correct place. Repeat the above commands for the other libraries (i.e. using their names in place of libX11.6.2.dylib).



Using v0.9 Final with Matlab

Because of the way that Mathworks mixed native Java with X11, there are issues when using Matlab with thread-enabled X11 libraries (as provided with XFree86 4.3 or Apple's X11 v1.0 installed as part of OSX10.3).

Mathworks have released a patch for Matlab under 10.3 which changes the way that Matlab links to the OpenGL libraries. Unfortunately, Apple's X11 v1.0 (from OSX10.3) has some subtle differences in the way it works with Apple's native OpenGL compared to the 'official' XFree86 from XonX. This might mean the patched version of Matlab does not quite work correctly when used with OroborOSX under Apple's X11 v1.0 (though I've had a couple of people tell me they have it working fine, so YMMV...)

The Mathworks patch also makes it use Apple's own X11.app instead of OroborOSX. This setup should work correctly (that's what they have designed it for), so you may be happy to use Matlab this way (i.e. not using OroborOSX).

However, if you find you want to stay with OroborOSX, then the best way to ensure it works would be to keep the non-patched version of Matlab, and install a non-thread-enabled version of XFree86 (eg, version 4.2 from XonX).

You may also be able to install non-threaded versions of some X11 libraries over the top of an installation of XFree86 4.3. [Get the non-threaded libs] Once you have downloaded a library, you can use the following commands to place it into the correct directory (these commands assume you have downloaded the library to your Desktop folder):

cd /usr/X11R6/lib
sudo mv libX11.6.2.dylib libX11.6.2.dylib-thread
sudo mv ~/Desktop/libX11.6.2.dylib .
(Notice the dot at the end of that last command!)
You should have now placed one of the non-threaded libraries in its correct place. Repeat the above commands for the other libraries (i.e. using their names in place of libX11.6.2.dylib).

I've also had someone tell me of a possible simple fix for using Matlab with OroborOSX v0.9 under an installation of XFree86 4.3. This involves "explicitly setting the renderer" using the following command:

set(gcf,'renderer','zbuffer')
Since I don't use Matlab myself, I've no idea what this means, nor have I tested it...

I would be very interested to hear about your experiences if you use Matlab. There are several possible combinations (Matlab with/without patch; XFree86 4.3/4.2 or Apple's X11 v1.0; OSX10.3/2/1; with/without threaded libs, etc...) - please let me know what you have tried, what machine you are using, and how it went.






If you need more help with any of the above issues, you can contact me by e-mail: adrian@ic.ac.uk