XWin patches

This webpage is a placeholder for software patches. Currently, a patch is provided for compiling XWin of the modular Xorg package, using CYGWIN.

When compiling the Xorg from git, the following issues were encountered:

Overloading Xfont functions: Starting up XWin would fail with errors regarding locating the font. See for example the report by Yaakov on the cygwin-xfree mailing list. These font errors appear to be caused by a failure in the function overloading. For example, in libXfont the RegisterFPEFunctions function is defined weak and should be overloaded with RegisterFPEFunctions defined in dixfont.c in the xserver. However, such overloading will only work for CYGWIN when libXfont is compiled static with xserver and not as a runtime dll.

Changes in shadow code: Commit 9148d8700b7c5afc2644e5820c57c509378f93ce has broken the shadowRedisplay routine in miext/shadow.c and the corresponding functions in xwin such as winShadowUpdateGDI. The computation of REGION_NOTEMPTY fails. A workaround is implemented to directly call winRedrawScreenShadowDD. This should be fixed by reviewing the changes of the commit and modifying the xwin code.

mieqEnqueue API changes: Due to the modular mieqEnqueue API changes, the xwin code needed changes. Also mouse (pointer) MOVE events needed to be enqueued seperately. It's not clear what caused the latter.

Windows clipboard integration: Is currently broken.

Git build settings Using a gcc-4.2.2 linux crosscompiler for CYGWIN, the environment was set: CONFFLAGS='--build=i486-linux-gnu --host=i686-pc-cygwin --enable-malloc0returnsnull --disable-config-hal --enable-debug --disable-shm --enable-xlocaledir --disable-config-dbus'

Patch provided: To compile XWin the xserver-cygwin-20071215.patch diff needs to be applied to the modular xserver tree in git.

Update November 2008This information is now out-of-date. Great progress has been made by Jon Turney, see http://lists.freedesktop.org/archives/xorg/2008-October/039442.html