Skip site navigation (1)Skip section navigation (2)
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>