Date: Mon, 24 Apr 2006 14:00:40 GMT From: Andre Albsmeier <Andre.Albsmeier@siemens.com> To: freebsd-x11@FreeBSD.org Subject: Re: ports/92169: Xorg 6.9, Matrox mga, dri broken (MGAGetBOARDHANDLESize undefined) Message-ID: <200604241400.k3OE0ekf051920@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/92169; it has been noted by GNATS. From: Andre Albsmeier <Andre.Albsmeier@siemens.com> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604241400.k3OE0ekf051920>