Skip to contentSkip to conversation

display problem with matroxfb

DISCUSSION f5ibh 3 participants 3 messages Jan 24, 2001 – Jan 25, 2001 Framebuffer layer

lore
Share & tools
lore

f5ibh

author
#0 lore raw

Hi Petr,

Quoted 2 lines

It looks like that there is some problem with screen offset computation then. Can you try 'video=matrox:cross4MB' instead of '...:nopan'? I did not

video=matrox:cross4MB works too !

Quoted 5 lines

XF4.0.x should work reasonably well. Or you can run accelerated XF on mga:
matroxfb is compatible with accelerated XF 3.3.x, and with accelerated XF 4.0.x WITHOUT enabled DRI (as DRI code reprograms hardware even if X are on background) (and 'Option "UseFBDev"' is required if you are using both heads of G400/G450 with XF4).

I am lost !!
I've XFree86 Version 3.3.6
I've and ATI AGP video card with an S3 chipset and 4Mb plus the Matrox Mystique (PCI) with 8Mb.

I've told the BIOS to boot the AGP first. So I boot normaly with the display on the ATI card. Then the system switches to the matrox (and Framebuffer). At this time, I move manually the display to the Matrox board and all si right (I'm doing this test before doing some cabling / modification on the 19" IBM screen). If I start Xwindows with the SVGA accelerated server then it starts on the ATI card. If I start it with the FBdev server, I get it on the Matrox card. I've read some stuff in Framebuffer-HOWTO but I think I've still some experiment to do.
IFAIK, there is no DRI option for the Mystique ... ??

--------

Best Regards

Jean-Luc
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw
Quoted 10 lines · f5ibh wrote:
Quoted 5 lines

XF4.0.x should work reasonably well. Or you can run accelerated XF on mga:
matroxfb is compatible with accelerated XF 3.3.x, and with accelerated XF 4.0.x WITHOUT enabled DRI (as DRI code reprograms hardware even if X are on background) (and 'Option "UseFBDev"' is required if you are using both heads of G400/G450 with XF4).

I am lost !!
I've XFree86 Version 3.3.6
I've and ATI AGP video card with an S3 chipset and 4Mb plus the Matrox Mystique (PCI) with 8Mb.

I think XFree86 3.3.6 will support one card at the time, not both, so you won't get
a dual-head server with that version. Upgrade to XFree86 4.0.x.

Signature · 5 lines
     Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
#2 lore raw
In reply to f5ibh
Quoted 5 lines · On Wed, Jan 24, 2001 at 11:17:45PM +0100, f5ibh wrote:
Quoted 2 lines

It looks like that there is some problem with screen offset computation then. Can you try 'video=matrox:cross4MB' instead of '...:nopan'? I did not

video=matrox:cross4MB works too !

Hi Linus,
can you apply following patch to 2.4.1-pre10? It does touch matroxfb only:
(1) copyright update for 2001 (hunks 1 & 6)
(2) removing few unused DEVF_* constants (hunks 2 & 3)
(3) changed PPC compatibility code - old code was checking wrong conditional defines (hunk 5)
(4) most important - get it to work on 8MB Mystique (hunk 4)

Thanks,
Petr Vandrovec [email protected]

drivers/video/matrox/matroxfb_base.c +21 -21
diff -urdN linux/drivers/video/matrox/matroxfb_base.c linux/drivers/video/matrox/matroxfb_base.c
@@ -2,9 +2,9 @@
  *
  * Hardware accelerated Matrox Millennium I, II, Mystique, G100, G200 and G400
  *
- * (c) 1998,1999,2000 Petr Vandrovec <[email protected]>
+ * (c) 1998-2001 Petr Vandrovec <[email protected]>
  *
- * Version: 1.50 2000/08/10
+ * Version: 1.51 2001/01/25
  *
  * MTRR stuff: 1998 Tom Rini <[email protected]>
  *
@@ -1409,12 +1409,12 @@
 
 #define DEVF_VIDEO64BIT		0x0001
 #define	DEVF_SWAPS		0x0002
-#define DEVF_MILLENNIUM		0x0004
-#define	DEVF_MILLENNIUM2	0x0008
+/* #define DEVF_recycled	0x0004 */
+/* #define DEVF_recycled	0x0008 */
 #define DEVF_CROSS4MB		0x0010
 #define DEVF_TEXT4B		0x0020
 #define DEVF_DDC_8_2		0x0040
-#define DEVF_DMA		0x0080
+/* #define DEVF_recycled	0x0080 */
 #define DEVF_SUPPORT32MB	0x0100
 #define DEVF_ANY_VXRES		0x0200
 #define DEVF_TEXT16B		0x0400
@@ -1441,19 +1441,19 @@
 #ifdef CONFIG_FB_MATROX_MILLENIUM
 	{PCI_VENDOR_ID_MATROX,	PCI_DEVICE_ID_MATROX_MIL,	0xFF,
 		0,			0,
-		DEVF_MILLENNIUM | DEVF_TEXT4B,
+		DEVF_TEXT4B,
 		230000,
 		&vbMillennium,
 		"Millennium (PCI)"},
 	{PCI_VENDOR_ID_MATROX,	PCI_DEVICE_ID_MATROX_MIL_2,	0xFF,
 		0,			0,
-		DEVF_MILLENNIUM | DEVF_MILLENNIUM2 | DEVF_SWAPS,
+		DEVF_SWAPS,
 		220000,
 		&vbMillennium2,
 		"Millennium II (PCI)"},
 	{PCI_VENDOR_ID_MATROX,	PCI_DEVICE_ID_MATROX_MIL_2_AGP,	0xFF,
 		0,			0,
-		DEVF_MILLENNIUM | DEVF_MILLENNIUM2 | DEVF_SWAPS,
+		DEVF_SWAPS,
 		250000,
 		&vbMillennium2A,
 		"Millennium II (AGP)"},
@@ -1461,13 +1461,13 @@
 #ifdef CONFIG_FB_MATROX_MYSTIQUE
 	{PCI_VENDOR_ID_MATROX,	PCI_DEVICE_ID_MATROX_MYS,	0x02,
 		0,			0,
-		DEVF_VIDEO64BIT,
+		DEVF_VIDEO64BIT | DEVF_CROSS4MB,
 		180000,
 		&vbMystique,
 		"Mystique (PCI)"},
 	{PCI_VENDOR_ID_MATROX,	PCI_DEVICE_ID_MATROX_MYS,	0xFF,
 		0,			0,
-		DEVF_VIDEO64BIT | DEVF_SWAPS,
+		DEVF_VIDEO64BIT | DEVF_SWAPS | DEVF_CROSS4MB,
 		220000,
 		&vbMystique,
 		"Mystique 220 (PCI)"},
@@ -1842,33 +1842,33 @@
 	}
 
 	/* FIXME: Where to move this?! */
-#if defined(CONFIG_PPC)
+#if defined(CONFIG_ALL_PPC)
 #if defined(CONFIG_FB_COMPAT_XPMAC)
 	strcpy(ACCESS_FBINFO(matrox_name), "MTRX,");	/* OpenFirmware naming convension */
 	strncat(ACCESS_FBINFO(matrox_name), b->name, 26);
 	if (!console_fb_info)
 		console_fb_info = &ACCESS_FBINFO(fbcon);
 #endif
-	if ((xres <= 640) && (yres <= 480)) {
+#ifndef MODULE
+	if (_machine == _MACH_Pmac) {
 		struct fb_var_screeninfo var;
-		if (default_vmode == VMODE_NVRAM) {
-			default_vmode = nvram_read_byte(NV_VMODE);
-			if (default_vmode <= 0 || default_vmode > VMODE_MAX)
-				default_vmode = VMODE_CHOOSE;
-		}
 		if (default_vmode <= 0 || default_vmode > VMODE_MAX)
 			default_vmode = VMODE_640_480_60;
+#ifdef CONFIG_NVRAM
 		if (default_cmode == CMODE_NVRAM)
 			default_cmode = nvram_read_byte(NV_CMODE);
+#endif
 		if (default_cmode < CMODE_8 || default_cmode > CMODE_32)
 			default_cmode = CMODE_8;
 		if (!mac_vmode_to_var(default_vmode, default_cmode, &var)) {
 			var.accel_flags = vesafb_defined.accel_flags;
 			var.xoffset = var.yoffset = 0;
-			vesafb_defined = var; /* Note: mac_vmode_to_var() doesnot set all parameters */
+			/* Note: mac_vmode_to_var() does not set all parameters */
+			vesafb_defined = var;
 		}
 	}
-#endif /* CONFIG_PPC */
+#endif /* !MODULE */
+#endif /* CONFIG_ALL_PPC */
 	vesafb_defined.xres_virtual = vesafb_defined.xres;
 	if (nopan) {
 		vesafb_defined.yres_virtual = vesafb_defined.yres;
@@ -2502,8 +2502,8 @@
 
 /* *************************** init module code **************************** */
 
-MODULE_AUTHOR("(c) 1998,1999 Petr Vandrovec <[email protected]>");
-MODULE_DESCRIPTION("Accelerated FBDev driver for Matrox Millennium/Mystique/G100/G200/G400");
+MODULE_AUTHOR("(c) 1998-2001 Petr Vandrovec <[email protected]>");
+MODULE_DESCRIPTION("Accelerated FBDev driver for Matrox Millennium/Mystique/G100/G200/G400/G450");
 MODULE_PARM(mem, "i");
 MODULE_PARM_DESC(mem, "Size of available memory in MB, KB or B (2,4,8,12,16MB, default=autodetect)");
 MODULE_PARM(disabled, "i");

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/