1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-22 20:41:26 +00:00

sync up with x11/XFree86-4.

o build DRI kernel modules.
o add option to build Matrox G200/G400/G450 beta drivers.

Submitted by:	Stijn Hoop <stijn@win.tue.nl>
This commit is contained in:
FUJISHIMA Satsuki 2001-04-12 14:26:00 +00:00
parent e67ef85cc7
commit b414ba91dd
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=41313
12 changed files with 299 additions and 64 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= Server
PORTVERSION= 4.0.3
PORTREVISION= 1
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XFREE}
MASTER_SITE_SUBDIR= 4.0.2
@ -24,13 +25,17 @@ USE_IMAKE= YES
DIST_SUBDIR= xc
WRKSRC= ${WRKDIR}/xc
PATCHDIR= ${.CURDIR}/../../x11/XFree86-4-libraries/files
SCRIPTS_ENV= HasXdmAuth=${HasXdmAuth} \
SCRIPTS_ENV= OSVERSION=${OSVERSION} \
HasXdmAuth=${HasXdmAuth} \
HasSecureRPC=${HasSecureRPC} \
HasPam=${HasPam} \
ExtendedInputDevices=${ExtendedInputDevices}
ExtendedInputDevices=${ExtendedInputDevices} \
BuildXF86DRI=${BuildXF86DRI} \
BuildXF86DRM=${BuildXF86DRM} \
HaveMatroxHal=${HaveMatroxHal}
MAKE_ENV= MAN_INSTALL_TARGET=FreeBSDPortsInstall.man
ALL_TARGET= FreeBSDPortsBuild
INSTALL_TARGET= FreeBSDPortsInstall FreeBSDPortsInstall.man
INSTALL_TARGET= FreeBSDPortsInstall FreeBSDPortsInstall.man
MAN1= SuperProbe.1 \
XFree86.1 \
Xserver.1 \
@ -62,7 +67,9 @@ MAN4= mga.4 \
vga.4 \
keyboard.4 \
mouse.4
MAN5= XF86Config.5
MAN5= XF86Config.5
.include <bsd.port.pre.mk>
# XFree86 User Config:
# ---
@ -76,35 +83,24 @@ HasXdmAuth?= DEFAULT
HasSecureRPC?= DEFAULT
HasPam?= DEFAULT
ExtendedInputDevices?= DEFAULT
.if !exists(/sys) && !exists(/usr/src/sys)
.if (exists(/sys) || exists(/usr/src/sys)) && ${OSVERSION} < 500013
BuildXF86DRI= YES
BuildXF86DRM= YES
PLIST_SUB+= DRI=""
PKGMESSAGE= ${.CURDIR}/pkg-message-drm
.else
BuildXF86DRI= NO
PLIST_SUB+= DRI="@comment "
.else
PLIST_SUB+= DRI=""
.endif
.if ${ExtendedInputDevices} == DEFAULT || ${ExtendedInputDevices} == YES
PLIST_SUB+= XIE:=""
MAN4+= citron.4 \
dynapro.4 \
elographics.4 \
microtouch.4 \
mutouch.4 \
wacom.4 \
void.4
.else
PLIST_SUB+= XIE:="@comment "
.endif
.if defined(BuildXF86DRI) && ${BuildXF86DRI} == NO
pre-fetch:
BuildXF86DRM= NO
PLIST_SUB+= DRI="@comment "
.if ${OSVERSION} < 500013
pre-fetch::
@${ECHO_MSG} "DRI would not build: kernel source required in /sys."
.else
pre-fetch::
@${ECHO_MSG} "DRI would not build: incompatible with SMPng."
.endif
.endif
do-configure:
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
.include <bsd.port.pre.mk>
.if ${ARCH} == i386
PLIST_SUB+= I386:=""
MAN4+= apm.4 \
@ -126,7 +122,51 @@ MAN4+= apm.4 \
PLIST_SUB+= I386:="@comment "
.endif
.if ${ExtendedInputDevices} == DEFAULT || ${ExtendedInputDevices} == YES
PLIST_SUB+= XIE:=""
MAN4+= citron.4 \
dynapro.4 \
elographics.4 \
microtouch.4 \
mutouch.4 \
wacom.4 \
void.4
.else
PLIST_SUB+= XIE:="@comment "
.endif
.if !defined(WITH_MATROX_GXX_DRIVER)
HaveMatroxHal= NO
PLIST_SUB+= MATROX="@comment "
pre-fetch::
@${ECHO_MSG} "Define WITH_MATROX_GXX_DRIVER to enable the official Matrox drivers for"
@${ECHO_MSG} "the G200, G400 and G450 graphic adapters."
.else
HaveMatroxHal= YES
MGA_DRIVER_VERSION= 1_2_0beta
MASTER_SITES+= ftp://ftp.matrox.com/pub/mga/archive/linux/2001/beta_${MGA_DRIVER_VERSION:S/beta//}/
DISTFILES+= mga-${MGA_DRIVER_VERSION}.tgz
EXTRACT_ONLY= X402src-1.tgz
PLIST_SUB+= MATROX=""
post-patch::
@${MV} ${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga \
${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga.old
@${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/mga-${MGA_DRIVER_VERSION}.tgz \
-C ${WRKSRC}/programs/Xserver/hw/xfree86/drivers
.endif # !WITH_MATROX_GXX_DRIVER
do-configure:
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
.if ${BuildXF86DRM} == "YES"
pre-install:
${MKDIR} ${PREFIX}/lib/X11/kernel
.endif
post-install:
strip ${PREFIX}/bin/XFree86
.if ${BuildXF86DRM} == "YES"
@${SED} -e s,/usr/X11R6,${PREFIX}, ${PKGMESSAGE}
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +1,3 @@
MD5 (xc/X402src-1.tgz) = d314c311aa4a29d74695b0e39b6d80c4
MD5 (xc/4.0.2-4.0.3.diff.gz) = c8bb56df966dd0a51d2291bca36e0ea4
MD5 (xc/mga-1_2_0beta.tgz) = 3b048f852e764f92d258b63b25ea5bfd

View File

@ -0,0 +1,11 @@
To use the Direct Rendering Infrastructure, you need to do the following:
- Enable agp support in your kernel, or load the agp kernel module at
boot time. You can do this by editing /boot/loader.conf(5)
- Load the appropriate kernel module from /usr/X11R6/lib/X11/kernel at
boot time:
- tdfx.ko for 3Dfx cards
- mga.ko for Matrox G200/G400/G450
- Add the following lines to the "Module" section of your XF86Config:
Load "glx"
Load "dri"

View File

@ -43,6 +43,10 @@ lib/X11/etc/sun.terminfo
lib/X11/etc/xmodmap.std
lib/X11/etc/xterm.termcap
lib/X11/etc/xterm.terminfo
%%DRI%%lib/X11/kernel/drm.ko
%%DRI%%lib/X11/kernel/gamma.ko
%%DRI%%lib/X11/kernel/mga.ko
%%DRI%%lib/X11/kernel/tdfx.ko
lib/X11/xserver/SecurityPolicy
lib/modules/codeconv/libARABIC.a
lib/modules/codeconv/libARMSCII8.a
@ -92,6 +96,7 @@ lib/modules/drivers/glint_drv.o
%%I386:%%lib/modules/drivers/i740_drv.o
%%I386:%%lib/modules/drivers/i810_drv.o
lib/modules/drivers/mga_drv.o
%%MATROX%%lib/modules/drivers/mga_hal_drv.o
%%I386:%%lib/modules/drivers/neomagic_drv.o
lib/modules/drivers/nv_drv.o
%%I386:%%lib/modules/drivers/r128_drv.o

View File

@ -36,9 +36,6 @@ configure () {
if [ X$HasPam != XDEFAULT -a X$HasPam != X ]; then
echo "#define HasPam $HasPam" >> $LOCALDEF
fi
if [ ! -d /sys -a ! -d /usr/src/sys ]; then
echo "#define BuildXF86DRI NO" >> $LOCALDEF
fi
if [ X$ExtendedInputDevices = XDEFAULT -o X$ExtendedInputDevices = XYES ]; then
echo "#define XInputDrivers mouse digitaledge dynapro elo2300 \
elographics magellan \
@ -48,6 +45,11 @@ configure () {
else
echo "#define XInputDrivers mouse" >> $LOCALDEF
fi
echo "#define BuildXF86DRI ${BuildXF86DRI}" >> $LOCALDEF
echo "#define BuildXF86DRM ${BuildXF86DRM}" >> $LOCALDEF
# Matrox driver support
echo "#define HaveMatroxHal $HaveMatroxHal" >> $LOCALDEF
# disable some configs: there are not used this ports
for i in \

View File

@ -7,6 +7,7 @@
PORTNAME= Server
PORTVERSION= 4.0.3
PORTREVISION= 1
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XFREE}
MASTER_SITE_SUBDIR= 4.0.2
@ -24,13 +25,17 @@ USE_IMAKE= YES
DIST_SUBDIR= xc
WRKSRC= ${WRKDIR}/xc
PATCHDIR= ${.CURDIR}/../../x11/XFree86-4-libraries/files
SCRIPTS_ENV= HasXdmAuth=${HasXdmAuth} \
SCRIPTS_ENV= OSVERSION=${OSVERSION} \
HasXdmAuth=${HasXdmAuth} \
HasSecureRPC=${HasSecureRPC} \
HasPam=${HasPam} \
ExtendedInputDevices=${ExtendedInputDevices}
ExtendedInputDevices=${ExtendedInputDevices} \
BuildXF86DRI=${BuildXF86DRI} \
BuildXF86DRM=${BuildXF86DRM} \
HaveMatroxHal=${HaveMatroxHal}
MAKE_ENV= MAN_INSTALL_TARGET=FreeBSDPortsInstall.man
ALL_TARGET= FreeBSDPortsBuild
INSTALL_TARGET= FreeBSDPortsInstall FreeBSDPortsInstall.man
INSTALL_TARGET= FreeBSDPortsInstall FreeBSDPortsInstall.man
MAN1= SuperProbe.1 \
XFree86.1 \
Xserver.1 \
@ -62,7 +67,9 @@ MAN4= mga.4 \
vga.4 \
keyboard.4 \
mouse.4
MAN5= XF86Config.5
MAN5= XF86Config.5
.include <bsd.port.pre.mk>
# XFree86 User Config:
# ---
@ -76,35 +83,24 @@ HasXdmAuth?= DEFAULT
HasSecureRPC?= DEFAULT
HasPam?= DEFAULT
ExtendedInputDevices?= DEFAULT
.if !exists(/sys) && !exists(/usr/src/sys)
.if (exists(/sys) || exists(/usr/src/sys)) && ${OSVERSION} < 500013
BuildXF86DRI= YES
BuildXF86DRM= YES
PLIST_SUB+= DRI=""
PKGMESSAGE= ${.CURDIR}/pkg-message-drm
.else
BuildXF86DRI= NO
PLIST_SUB+= DRI="@comment "
.else
PLIST_SUB+= DRI=""
.endif
.if ${ExtendedInputDevices} == DEFAULT || ${ExtendedInputDevices} == YES
PLIST_SUB+= XIE:=""
MAN4+= citron.4 \
dynapro.4 \
elographics.4 \
microtouch.4 \
mutouch.4 \
wacom.4 \
void.4
.else
PLIST_SUB+= XIE:="@comment "
.endif
.if defined(BuildXF86DRI) && ${BuildXF86DRI} == NO
pre-fetch:
BuildXF86DRM= NO
PLIST_SUB+= DRI="@comment "
.if ${OSVERSION} < 500013
pre-fetch::
@${ECHO_MSG} "DRI would not build: kernel source required in /sys."
.else
pre-fetch::
@${ECHO_MSG} "DRI would not build: incompatible with SMPng."
.endif
.endif
do-configure:
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
.include <bsd.port.pre.mk>
.if ${ARCH} == i386
PLIST_SUB+= I386:=""
MAN4+= apm.4 \
@ -126,7 +122,51 @@ MAN4+= apm.4 \
PLIST_SUB+= I386:="@comment "
.endif
.if ${ExtendedInputDevices} == DEFAULT || ${ExtendedInputDevices} == YES
PLIST_SUB+= XIE:=""
MAN4+= citron.4 \
dynapro.4 \
elographics.4 \
microtouch.4 \
mutouch.4 \
wacom.4 \
void.4
.else
PLIST_SUB+= XIE:="@comment "
.endif
.if !defined(WITH_MATROX_GXX_DRIVER)
HaveMatroxHal= NO
PLIST_SUB+= MATROX="@comment "
pre-fetch::
@${ECHO_MSG} "Define WITH_MATROX_GXX_DRIVER to enable the official Matrox drivers for"
@${ECHO_MSG} "the G200, G400 and G450 graphic adapters."
.else
HaveMatroxHal= YES
MGA_DRIVER_VERSION= 1_2_0beta
MASTER_SITES+= ftp://ftp.matrox.com/pub/mga/archive/linux/2001/beta_${MGA_DRIVER_VERSION:S/beta//}/
DISTFILES+= mga-${MGA_DRIVER_VERSION}.tgz
EXTRACT_ONLY= X402src-1.tgz
PLIST_SUB+= MATROX=""
post-patch::
@${MV} ${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga \
${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga.old
@${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/mga-${MGA_DRIVER_VERSION}.tgz \
-C ${WRKSRC}/programs/Xserver/hw/xfree86/drivers
.endif # !WITH_MATROX_GXX_DRIVER
do-configure:
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
.if ${BuildXF86DRM} == "YES"
pre-install:
${MKDIR} ${PREFIX}/lib/X11/kernel
.endif
post-install:
strip ${PREFIX}/bin/XFree86
.if ${BuildXF86DRM} == "YES"
@${SED} -e s,/usr/X11R6,${PREFIX}, ${PKGMESSAGE}
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +1,3 @@
MD5 (xc/X402src-1.tgz) = d314c311aa4a29d74695b0e39b6d80c4
MD5 (xc/4.0.2-4.0.3.diff.gz) = c8bb56df966dd0a51d2291bca36e0ea4
MD5 (xc/mga-1_2_0beta.tgz) = 3b048f852e764f92d258b63b25ea5bfd

View File

@ -0,0 +1,11 @@
To use the Direct Rendering Infrastructure, you need to do the following:
- Enable agp support in your kernel, or load the agp kernel module at
boot time. You can do this by editing /boot/loader.conf(5)
- Load the appropriate kernel module from /usr/X11R6/lib/X11/kernel at
boot time:
- tdfx.ko for 3Dfx cards
- mga.ko for Matrox G200/G400/G450
- Add the following lines to the "Module" section of your XF86Config:
Load "glx"
Load "dri"

View File

@ -43,6 +43,10 @@ lib/X11/etc/sun.terminfo
lib/X11/etc/xmodmap.std
lib/X11/etc/xterm.termcap
lib/X11/etc/xterm.terminfo
%%DRI%%lib/X11/kernel/drm.ko
%%DRI%%lib/X11/kernel/gamma.ko
%%DRI%%lib/X11/kernel/mga.ko
%%DRI%%lib/X11/kernel/tdfx.ko
lib/X11/xserver/SecurityPolicy
lib/modules/codeconv/libARABIC.a
lib/modules/codeconv/libARMSCII8.a
@ -92,6 +96,7 @@ lib/modules/drivers/glint_drv.o
%%I386:%%lib/modules/drivers/i740_drv.o
%%I386:%%lib/modules/drivers/i810_drv.o
lib/modules/drivers/mga_drv.o
%%MATROX%%lib/modules/drivers/mga_hal_drv.o
%%I386:%%lib/modules/drivers/neomagic_drv.o
lib/modules/drivers/nv_drv.o
%%I386:%%lib/modules/drivers/r128_drv.o

View File

@ -36,9 +36,6 @@ configure () {
if [ X$HasPam != XDEFAULT -a X$HasPam != X ]; then
echo "#define HasPam $HasPam" >> $LOCALDEF
fi
if [ ! -d /sys -a ! -d /usr/src/sys ]; then
echo "#define BuildXF86DRI NO" >> $LOCALDEF
fi
if [ X$ExtendedInputDevices = XDEFAULT -o X$ExtendedInputDevices = XYES ]; then
echo "#define XInputDrivers mouse digitaledge dynapro elo2300 \
elographics magellan \
@ -48,6 +45,11 @@ configure () {
else
echo "#define XInputDrivers mouse" >> $LOCALDEF
fi
echo "#define BuildXF86DRI ${BuildXF86DRI}" >> $LOCALDEF
echo "#define BuildXF86DRM ${BuildXF86DRM}" >> $LOCALDEF
# Matrox driver support
echo "#define HaveMatroxHal $HaveMatroxHal" >> $LOCALDEF
# disable some configs: there are not used this ports
for i in \

View File

@ -0,0 +1,101 @@
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/mga/mga_drv.c~ Sat Jun 17 02:03:32 2000
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/mga/mga_drv.c Fri Mar 30 02:50:04 2001
@@ -41,7 +41,7 @@
#define MGA_NAME "mga"
#define MGA_DESC "Matrox g200/g400"
#define MGA_DATE "19991213"
-#define MGA_MAJOR 1
+#define MGA_MAJOR 2
#define MGA_MINOR 0
#define MGA_PATCHLEVEL 0
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h.orig Sat Jun 17 02:03:28 2000
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h Tue Apr 10 02:56:17 2001
@@ -49,11 +49,11 @@
#include <sys/sysctl.h>
#include <sys/select.h>
#include <sys/bus.h>
-#if __FreeBSD_version >= 500005
+#if __FreeBSD_version > 410000
#include <sys/taskqueue.h>
#endif
-#if __FreeBSD_version >= 500006
+#if __FreeBSD_version > 410000
#define DRM_AGP
#endif
@@ -128,7 +128,7 @@
* Fake out the module macros for versions of FreeBSD where they don't
* exist.
*/
-#if __FreeBSD_version < 500002
+#if __FreeBSD_version < 420000
#define MODULE_VERSION(a,b) struct __hack
#define MODULE_DEPEND(a,b,c,d,e) struct __hack
@@ -517,7 +517,7 @@
int last_checked; /* Last context checked for DMA */
int last_context; /* Last current context */
int last_switch; /* Time at last context switch */
-#if __FreeBSD_version >= 500005
+#if __FreeBSD_version >= 420000
struct task task;
#endif
struct timespec ctx_start;
@@ -548,6 +548,8 @@
void *dev_private;
} drm_device_t;
+#undef SYSCTL_HANDLER_ARGS
+#define SYSCTL_HANDLER_ARGS (struct sysctl_oid *oidp, void *arg1, int arg2, struct sysctl_req *req)
/* Internal function definitions */
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/Makefile.bsd~ Sat Jun 17 02:03:28 2000
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/Makefile.bsd Fri Mar 30 15:02:30 2001
@@ -2,3 +2,3 @@
-SUBDIR = drm tdfx gamma
+SUBDIR = drm tdfx gamma mga
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm/Makefile.orig Wed Apr 11 11:15:17 2001
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm/Makefile Wed Apr 11 11:18:01 2001
@@ -6,6 +6,7 @@
agpsupport.c ctxbitmap.c
SRCS += device_if.h bus_if.h pci_if.h
CFLAGS += ${DEBUG_FLAGS} -I..
+KMODDIR = ${X11BASE}/lib/X11/kernel
@:
ln -sf /sys @
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/tdfx/Makefile.orig Wed Apr 11 11:20:15 2001
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/tdfx/Makefile Wed Apr 11 11:20:31 2001
@@ -5,6 +5,7 @@
SRCS += device_if.h bus_if.h pci_if.h
CFLAGS += ${DEBUG_FLAGS} -I..
KMODDEPS = drm
+KMODDIR = ${X11BASE}/lib/X11/kernel
@:
ln -sf /sys @
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/gamma/Makefile.orig Wed Apr 11 11:17:21 2001
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/gamma/Makefile Wed Apr 11 11:20:01 2001
@@ -5,6 +5,7 @@
SRCS += device_if.h bus_if.h pci_if.h
CFLAGS += ${DEBUG_FLAGS} -I..
KMODDEPS = drm
+KMODDIR = ${X11BASE}/lib/X11/kernel
@:
ln -sf /sys @
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/mga/Makefile.orig Wed Apr 11 11:20:10 2001
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/mga/Makefile Wed Apr 11 11:20:22 2001
@@ -6,6 +6,7 @@
CFLAGS += ${DEBUG_FLAGS} -I..
KERN = /usr/src/sys
KMODDEPS = drm
+KMODDIR = ${X11BASE}/lib/X11/kernel
@:
ln -sf /sys @

View File

@ -0,0 +1,16 @@
--- programs/Xserver/hw/xfree86/os-support//shared/xf86Axp.h~ Mon Nov 6 22:57:11 2000
+++ programs/Xserver/hw/xfree86/os-support//shared/xf86Axp.h Fri Apr 6 00:21:23 2001
@@ -19,13 +19,6 @@
IRONGATE
} axpDevice;
-typedef struct
- { char* sysName;
- char* sysVari;
- char* cpu;
- axpDevice sys; }
-AXP;
-
typedef struct {
axpDevice id;
unsigned long hae_thresh;