From owner-freebsd-x11@FreeBSD.ORG Mon Apr 24 14:00:52 2006 Return-Path: X-Original-To: freebsd-x11@hub.freebsd.org Delivered-To: freebsd-x11@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E46CE16A401 for ; Mon, 24 Apr 2006 14:00:52 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCBCB43D70 for ; Mon, 24 Apr 2006 14:00:43 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k3OE0eRr051921 for ; Mon, 24 Apr 2006 14:00:40 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k3OE0ekf051920; Mon, 24 Apr 2006 14:00:40 GMT (envelope-from gnats) Date: Mon, 24 Apr 2006 14:00:40 GMT Message-Id: <200604241400.k3OE0ekf051920@freefall.freebsd.org> To: freebsd-x11@FreeBSD.org From: Andre Albsmeier Cc: Subject: Re: ports/92169: Xorg 6.9, Matrox mga, dri broken (MGAGetBOARDHANDLESize undefined) X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Andre Albsmeier List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Apr 2006 14:00:53 -0000 The following reply was made to PR ports/92169; it has been noted by GNATS. From: Andre Albsmeier To: bug-followup@FreeBSD.org, cmt@burggraben.net Cc: Subject: Re: ports/92169: Xorg 6.9, Matrox mga, dri broken (MGAGetBOARDHANDLESize undefined) Date: Mon, 24 Apr 2006 15:55:58 +0200 FYI, I got it working with the following super-ugly procedure (I hope I didn't forget anything but it gives you an idea of what I did): 1. goto xorg-server in ports dir && rm -rf work 2. make patch 3. cd work/sc/programs/Xserver/hw/xfree86/drivers 4. rm -rf mga 5. (cd /tmp; fetch and unpack mgadriver-x86-4.3.0-src.tar.gz) 6. mv /tmp/matrox_driver-x86-4.3.0-src/6.8.2/src/mga . 7. cd mga 8. (cd /tmp; fetch and unpack mgadriver-x86-4.3.0.tar.gz) 9. mv /tmp/matrox_driver-x86-4.3.0/xserver/6.8.2/mga_hal_drv.o . 10. apply patch: --- mga_driver.c.ORI Mon Apr 24 12:31:48 2006 +++ mga_driver.c Mon Apr 24 12:34:44 2006 @@ -404,7 +404,7 @@ NULL }; -#ifdef USEMGAHAL +#ifdef USEMGAHAL_NONO static const char *halSymbols[] = { "MATROXCloseLibrary", "MATROXGetBOARDHANDLESize", @@ -472,7 +472,7 @@ #ifdef XF86DRI drmSymbols, driSymbols, #endif -#ifdef USEMGAHAL +#ifdef USEMGAHAL_NONO halSymbols, #endif NULL); @@ -1449,8 +1449,12 @@ "Hal", loadHal); from = X_CONFIG; } +#ifdef USEMGAHAL_NONO if (loadHal && xf86LoadSubModule(pScrn, "mga_hal")) { xf86LoaderReqSymLists(halSymbols, NULL); +#else + if( loadHal ) { +#endif xf86DrvMsg(pScrn->scrnIndex, from,"Matrox HAL module used\n"); pMga->HALLoaded = TRUE; } else { --- Imakefile.ORI Mon Apr 24 13:04:25 2006 +++ Imakefile Mon Apr 24 13:06:52 2006 @@ -62,7 +62,7 @@ MGAOBJS = mga_driver.o mga_hwcurs.o /* mga_cmap.o */ mga_dac3026.o mga_dacG.o \ mga_storm8.o mga_storm16.o mga_storm24.o mga_storm32.o mga_arc.o \ mga_dga.o mga_shadow.o mga_video.o mga_g450pll.o mga_dh.o mga_esc.o \ - mga_merge.o $(DRIOBJS) + mga_merge.o $(DRIOBJS) mga_hal_drv.o SRCS = $(MGASRCS) $(MGAHALSRCS) OBJS = $(MGAOBJS) $(MGAHALOBJS) 11. go back to xorg-server in ports dir 12. make Now, in work/sc/programs/Xserver/hw/xfree86/drivers/mga there will be a ~600k mga_drv.so with an embedded mga_hal_drv.o. This means, you don't need mga_hal_drv.o in /usr/X11R6/lib/modules/drivers/ anymore. The thing is based on v4.3.0 of the matrox drivers. I have it working here with my G550 using DVI and the G400 using TV-Out. If you want to run the mgamacro.pl to remove the Macrovision copy protection for the TV-Out port on the G400, you have to replace HSLMAVSetTVProcAmp by HSLMAVGSetTVProcAmp in the script :-). -Andre