Hello all, So long FreeBSD's DRI implementation lacks of i386/amd64 interoperability, as discussed [0] [1]. This breaks wine, linuxulator etc. drawing using DRI-based OpenGL. Paul Mackerras et al. actually did that part for Linux implementation, so I simply translated their work to FreeBSD. Due to my poor programming skills, there's some limitations: 0. I tried to split compatible codes into separate files, like under Linux. But as a result of the difference between FreeBSD and Linux, the code is integrated in a "#include ...ioc32.c" form which is not so elegant. 1. For same reason, struct drm_driver_info has to be changed. 2. There should be some assertions if a 64-bit pointer failed to fit in a 32-bit space. Linux implementation didn't do this either, but they're guaranteed by user-space ioctl structures. This may result unstable under heavy load. 3. Technically this could be applied to either drm and drm2 module. The patch is for drm2 only because I only translated core drm and intel part.
For wine, my setup is based on David Naylor's wine-fbsd64.patch, with xorg-dev ports tree. It works well, with minor manual works: 0. Copy /i386chroot/usr/local/lib/dri/i965_drv.so to /usr/local/lib32/dri/ or somewhere else and setenv LIBGL_DRIVERS_PATH to there(My suggestion is add the following line in /usr/bin/wine:) export LIBGL_DRIVERS_PATH="$LOCALBASE/lib32/dri":"$LIBGL_DRIVERS_PATH" 1. Copy /i386chroot/usr/local/lib/libdrm_intel.so, /i386chroot/usr/local/lib/libpciaccess.so.0 to /usr/local/lib32/ This enables direct rendering of d3d/gl demos under wine on my Intel SNB platform. I didn't test using this with linuxulator, as linux base from port don't have up-to-date libdrm/mesa dri-drivers. [0] http://lists.freebsd.org/pipermail/freebsd-amd64/2005-August/005818.html [1] http://forums.freebsd.org/showthread.php?t=24519 Regards, Meowthink
0001-Add-64-bit-kernel-32-bit-world-compatible-wrappers-t.patch
Description: Binary data
_______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-emulation To unsubscribe, send any mail to "[email protected]"
