Here are some patches for FreeBSD's kernel that are necessary for wine (well not strictly _necessary_ but without them parts of it won't work.) They unfortunately didn't make it into the base distribution in time for the 3.3 release code freeze... patch-3.3-sys-ldtshare: make kernel threads (rfork(), which wine uses) share one LDT instead of each having its own. this fixes the same problem that wine also had on linux kernels before 2.2. patch-3.3-sys-sigtrap: stop wine's SIGTRAP handler from being called in the sigreturn syscall, causing problems for wine's internal debugger. (it would still correctly show a crash backtrace but all commands that use single- stepping failed.) patch-3.3-sys-fsgs: always set/use the sc_fs and sc_gs entries in the sigcontext struct, making -stable behave the same as -current there. this should finally allow signal handling of a wine that was built on -stable to correctly run on -current too. The corresponding wine change is in the port in patches/patch-af, it is also in wine's CVS tree now, so that file will disappear when the port is updated after the next wine release. (this one was MFC'd Nov 15 1999, so you only need it if you're running a system from the -stable branch older than that, like a 3.3-RELEASE. If you happen to try to apply it when its already there patch(1) should complain `Reversed (or previously applied) patch detected! Assume -R? [y]', just hit ^C then...) Apply as follows: (cd /usr/src/sys && patch )