XORed dashed lines display incorrectly on Radeon 7000/VE
Hello! I have traced a supposed bug in Wine to a bug in XFree86. When Wine tries to draw a one pixel wide line with a pattern in the XOR mode (GXxor), the X server actually draws it using SET mode, as if the original pixels were black. As a result, focus rectangles are not erased when they are drawn the second time. The problem exists in XFree86 4.2.1, 4.3.0 and 4.3.99.13. The problem exists in 16 and 24 bpp (I haven't tested other modes). Setting Option "noaccel" in XF86Config fixes the problem. I could trace the problem to function RADEONSetupForDashedLine(). Following patch also fixes the problem: == --- programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c +++ programs/Xserver/hw/xfree86/drivers/ati/radeon_accelfuncs.c @@ -1267,8 +1267,10 @@ FUNC_NAME(RADEONAccelInit)(ScreenPtr pSc /* Disabled on RV200 and newer because it does not pass XTest */ if (info->ChipFamily < CHIP_FAMILY_RV200) { +#if 0 a->SetupForDashedLine = FUNC_NAME(RADEONSetupForDashedLine); +#endif a->SubsequentDashedTwoPointLine = FUNC_NAME(RADEONSubsequentDashedTwoPointLine); a->DashPatternMaxLength = 32; == Perhaps it's not good for applying as is because it disables all operations for dashed lines, not just GXxor. Also, I don't know which chips are affected. I tried to find XTest mentioned in the comment but could not find it. The version from CVS (test/xsuite) is said to be unsupported and doesn't build because it refers to some fonts in /x11/test/xsuite/xtest/fonts/ that I don't have. The README recommends to get VSW5 from http://www.xopen.org/public/test/vsw45.htm, but www.xopen.org doesn't seem to exist. Google leads me to http://www.aptest.com/vsw.html, but it seems that VSW5 is not free software. I'll gladly run any tests and will provide their results because I want my video card to be supported properly. I just don't have time to waste on unsupported tests. Any help will be appreciated. The card is identified as (--) PCI:*(1:0:0) ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE] rev 0, Mem @ 0xe000/27, 0xed00/16, I/O @ 0x9000/8 (--) RADEON(0): Chipset: "ATI Radeon VE/7000 QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): VideoRAM: 65536 kByte (64-bit DDR SDRAM) The kernel is Linux 2.6.0-test5-bk14 on AMD Athlon 1100. -- Regards, Pavel Roskin ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: radeon 7000
In the XFree86 distributed with RedHat Linux (up to and including RedHat 9.0), I have had to disable acceleration for Radeon: Section "Device" ... ... Option "NoAccel" EndSection With acceleration enabled, my machine locked up and required a hard reset. I don't know if this is true for other distributions. After building a new server from the current XFree86 source, I can enable acceleration with no problem. Chris Burghart Lucio wrote: Hi everybody! I have a sapphire m275 with radeon 7000, 32Mb, integrated. I can't make XFree86 work with it. With radeon or ati driver, system crashes when I launch X server, the screen gets black, keyboard leds light on and i have to physically shut down the pc. Any ideas? ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: radeon 7000
On Wed, 2003-06-25 at 13:41, Lucio wrote: > I have a sapphire m275 with radeon 7000, 32Mb, integrated. > I can't make XFree86 work with it. With radeon or ati driver, system crashes > when I launch X server, the screen gets black, keyboard leds light on and i > have to physically shut down the pc. > Any ideas? That seems to be a Radeon IGP 320; see http://bugs.xfree86.org//cgi-bin/bugzilla/show_bug.cgi?id=36 . -- Earthling Michel Dänzer \ Debian (powerpc), XFree86 and DRI developer Software libre enthusiast \ http://svcs.affero.net/rm.php?r=daenzer ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
radeon 7000
Hi everybody! I have a sapphire m275 with radeon 7000, 32Mb, integrated. I can't make XFree86 work with it. With radeon or ati driver, system crashes when I launch X server, the screen gets black, keyboard leds light on and i have to physically shut down the pc. Any ideas? -- Lucius in fabula --www.lucius.it-- ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Marc Aurele La France wrote: > On Mon, 27 Jan 2003, Wayne Whitney wrote: > > > 2) There is a text mode corruption problem with the PCI Radeon 7000. It > > occurs as soon as XFree86 is run on this card after it has been > > initialized. So if the PCI card is initialized by the BIOS, it occurs the > > first time I run XFree86; if the AGP card is initialized by the BIOS, it > > occurs the second time I run XFree86 on the PCI card. The text mode is > > corrupted to a bunch of flashing half block characters, and this occurs > > before the display enters graphics mode. > > This appears related to issues being discussed on a different thread. > I'll wait to see what happens there, before doing anything about it. Indeed, I hadn't noticed that thread on the xfree86 list (on radeon 7200 support). The patch discussed there, which I include below, gets rid of the text mode corruption I'm seeing. I'm all for it. I also attached the current diff between the log files when I run XFree86 the first and second times on my PCI Radeon 7000. I assume the differences are harmless. Thanks again for all your help! Cheers, Wayne --- radeon_driver.c.~1.81.~ 2003-01-26 18:54:43.0 -0800 +++ radeon_driver.c 2003-01-27 15:56:42.0 -0800 @@ -405,7 +405,7 @@ extern int gRADEONEntityIndex; -#if 0 /* !defined(__alpha__) */ +#if !defined(__alpha__) # define RADEONPreInt10Save(s, p) # define RADEONPostInt10Check(s, p) #else /* __alpha__ */ --- /var/log/XFree86.2.log.old 2003-01-27 15:59:13.0 -0800 +++ /var/log/XFree86.2.log 2003-01-27 15:59:29.0 -0800 @@ -16,7 +16,7 @@ Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. -(==) Log file: "/var/log/XFree86.2.log", Time: Mon Jan 27 15:59:08 2003 +(==) Log file: "/var/log/XFree86.2.log", Time: Mon Jan 27 15:59:25 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) @@ -344,7 +344,7 @@ (II) Module vgahw: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 0.1.0 ABI class: XFree86 Video Driver, version 0.6 -(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03b0, hwp->PIOOffset is 0x +(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x (II) RADEON(0): PCI bus 0 card 8 func 0 (**) RADEON(0): Depth 16, (--) framebuffer bpp 16 (II) RADEON(0): Pixel depth = 16 bits stored in 2 bytes (16 bpp pixmaps) @@ -358,11 +358,13 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) Truncating PCI BIOS Length to 49152 +(EE) RADEON(0): Cannot read V_BIOS (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) +(WW) RADEON(0): Video BIOS not detected in PCI space! +(WW) RADEON(0): Attempting to read Video BIOS from legacy ISA space! (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 (II) Loading sub module "ddc" @@ -378,7 +380,7 @@ compiled for 4.2.99.4, module version = 1.2.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): I2C bus "DDC" initialized. -(II) RADEON(0): PLL parameters: rf=2700 rd=60 min=12000 max=35000; xclk=15000 +(II) RADEON(0): PLL parameters: rf=2700 rd=12 min=12500 max=35000; xclk=18300 (==) RADEON(0): Using gamma correction (1.0, 1.0, 1.0) (II) RADEON(0): Validating modes on Primary head (DDCType: 2) - (II) RADEON(0): I2C device "DDC:ddc2" registered at address 0xA0. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Wayne Whitney wrote: > On Mon, 27 Jan 2003, Marc Aurele La France wrote: > > OK, thanks. Please try the attached. > That patch works great! Thank you very much. You're welcome. I'll commit this shortly (meaning that this'll show up in 4.3). >In case it is of interest, > I have appended below the int10 hunk of a diff of the log files with your > patch--XFree86.0.log is on the primary AGP RADEON VE and XFree86.1.log is > on the secondary PCI RADEON 7000. > I thought I would mention the two other problems I still have with my > setup, in case they are of interest to you. > 1) If I attempt to run multihead using both cards with the latest CVS > version (fix 789), I get the following error: > (II) Reloading /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o > Symbol xf86SetDDCproperties from module >/usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! > This is an improvement from a few days ago, when there were many "Symbol > unresolved" messages. > 2) There is a text mode corruption problem with the PCI Radeon 7000. It > occurs as soon as XFree86 is run on this card after it has been > initialized. So if the PCI card is initialized by the BIOS, it occurs the > first time I run XFree86; if the AGP card is initialized by the BIOS, it > occurs the second time I run XFree86 on the PCI card. The text mode is > corrupted to a bunch of flashing half block characters, and this occurs > before the display enters graphics mode. > In case it is useful, I have included below the full diff between the log > file when I first run XFree86 on the PCI Radeon 7000 and the second time I > run XFree86 on it, when the corruption occurs. This is with the system > BIOS set to initialize the AGP card. This appears related to issues being discussed on a different thread. I'll wait to see what happens there, before doing anything about it. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Marc Aurele La France wrote: > OK, thanks. Please try the attached. That patch works great! Thank you very much. In case it is of interest, I have appended below the int10 hunk of a diff of the log files with your patch--XFree86.0.log is on the primary AGP RADEON VE and XFree86.1.log is on the secondary PCI RADEON 7000. I thought I would mention the two other problems I still have with my setup, in case they are of interest to you. 1) If I attempt to run multihead using both cards with the latest CVS version (fix 789), I get the following error: (II) Reloading /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o Symbol xf86SetDDCproperties from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! This is an improvement from a few days ago, when there were many "Symbol unresolved" messages. 2) There is a text mode corruption problem with the PCI Radeon 7000. It occurs as soon as XFree86 is run on this card after it has been initialized. So if the PCI card is initialized by the BIOS, it occurs the first time I run XFree86; if the AGP card is initialized by the BIOS, it occurs the second time I run XFree86 on the PCI card. The text mode is corrupted to a bunch of flashing half block characters, and this occurs before the display enters graphics mode. In case it is useful, I have included below the full diff between the log file when I first run XFree86 on the PCI Radeon 7000 and the second time I run XFree86 on it, when the corruption occurs. This is with the system BIOS set to initialize the AGP card. Thanks again for your help! Cheers, Wayne --- /var/log/XFree86.0.log 2003-01-27 10:10:43.0 -0800 +++ /var/log/XFree86.1.log 2003-01-27 10:11:04.0 -0800 @@ -360,13 +358,10 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) RADEON(0): Primary V_BIOS segment is: 0xc000 -(WW) RADEON(0): Restoring MEM_CNTL (), setting to 2d00 -(WW) RADEON(0): Restoring CONFIG_MEMSIZE (0200), setting to 0200 -(WW) RADEON(0): Restoring MPP_TB_CONFIG<31:24> (04), setting to 01 +(II) Truncating PCI BIOS Length to 49152 (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) -(--) RADEON(0): Linear framebuffer at 0xd800 -(--) RADEON(0): MMIO registers at 0xe900 +(--) RADEON(0): Linear framebuffer at 0xe000 +(--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 --- /var/log/XFree86.1.log.old 2003-01-27 10:11:04.0 -0800 +++ /var/log/XFree86.1.log 2003-01-27 10:11:59.0 -0800 @@ -16,7 +16,7 @@ Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. -(==) Log file: "/var/log/XFree86.1.log", Time: Mon Jan 27 10:10:59 2003 +(==) Log file: "/var/log/XFree86.1.log", Time: Mon Jan 27 10:11:56 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) @@ -344,7 +344,7 @@ (II) Module vgahw: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 0.1.0 ABI class: XFree86 Video Driver, version 0.6 -(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03b0, hwp->PIOOffset is 0x +(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x (II) RADEON(0): PCI bus 0 card 8 func 0 (**) RADEON(0): Depth 16, (--) framebuffer bpp 16 (II) RADEON(0): Pixel depth = 16 bits stored in 2 bytes (16 bpp pixmaps) @@ -358,11 +358,15 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) Truncating PCI BIOS Length to 49152 +(EE) RADEON(0): Cannot read V_BIOS +(WW) RADEON(0): Restoring MEM_CNTL (), setting to 2d00 +(WW) RADEON(0): Restoring CONFIG_MEMSIZE (0200), setting to 0200 (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) +(WW) RADEON(0): Video BIOS not detected in PCI space! +(WW) RADEON(0): Attempting to read Video BIOS from legacy ISA space! (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 (II) Loading sub module "ddc" @@ -378,7 +382,7 @@ compiled for 4.2.99.4, module version = 1.2.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): I2C bus "DDC" initialized. -(II) RADEON(0): PLL pa
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Wayne Whitney wrote: > On Fri, 24 Jan 2003, Marc Aurele La France wrote: > > Hummm. Can you re-post that log again? The output from `scanpci -v` > > would also help. > OK, I've included three things below: the original log, the output of > 'scanpci -v', and the patch to getValidBIOSBase() that allows my secondary > PCI Radeon 7000 to be initialized. In case it is important, the 'scanpci > -v' output was generated after booting and running X on my primary AGP > Radeon VE, without using the secondary PCI Radeon 7000. OK, thanks. Please try the attached. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. Whitney.diff.gz Description: Binary data
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Marc Aurele La France wrote: > Hummm. Can you re-post that log again? The output from `scanpci -v` > would also help. OK, I've included three things below: the original log, the output of 'scanpci -v', and the patch to getValidBIOSBase() that allows my secondary PCI Radeon 7000 to be initialized. In case it is important, the 'scanpci -v' output was generated after booting and running X on my primary AGP Radeon VE, without using the secondary PCI Radeon 7000. Cheers, Wayne This is a pre-release version of XFree86, and is not supported in any way. Bugs may be reported to [EMAIL PROTECTED] and patches submitted to [EMAIL PROTECTED] Before reporting bugs in pre-release versions, please check the latest version in the XFree86 CVS repository (http://www.XFree86.Org/cvs) XFree86 Version 4.2.99.4 / X Window System (protocol Version 11, revision 0, vendor release 6600) Release Date: 20 January 2003 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (See http://www.XFree86.Org/) Build Operating System: Linux 2.5.59-wayne i686 [ELF] Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/XFree86.0.log", Time: Wed Jan 22 15:13:09 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) (**) | |-->Monitor "Monitor1" (**) | |-->Device "Radeon1" (**) |-->Input Device "Trackball" (**) |-->Input Device "Touchpad" (**) |-->Input Device "Keyboard" (==) Keyboard: CustomKeycode disabled (**) FontPath set to "unix/:7100" (==) RgbPath set to "/usr/X11R6-CVS/lib/X11/rgb" (==) ModulePath set to "/usr/X11R6-CVS/lib/modules" (--) using VT number 7 (WW) Open APM failed (/dev/apm_bios) (No such device) (II) Module ABI versions: XFree86 ANSI C Emulation: 0.2 XFree86 Video Driver: 0.6 XFree86 XInput driver : 0.4 XFree86 Server Extension : 0.2 XFree86 Font Renderer : 0.4 (II) Loader running on linux (II) LoadModule: "bitmap" (II) Loading /usr/X11R6-CVS/lib/modules/fonts/libbitmap.a (II) Module bitmap: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 Module class: XFree86 Font Renderer ABI class: XFree86 Font Renderer, version 0.4 (II) Loading font Bitmap (II) LoadModule: "pcidata" (II) Loading /usr/X11R6-CVS/lib/modules/libpcidata.a (II) Module pcidata: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) PCI: Probing config type using method 1 (II) PCI: Config type is 1 (II) PCI: stages = 0x03, oldVal1 = 0x, mode1Res1 = 0x8000 (II) PCI: PCI scan (all values are in hex) (II) PCI: 00:00:0: chip 1106,3099 card 1019,0996 rev 00 class 06,00,00 hdr 00 (II) PCI: 00:01:0: chip 1106,b099 card , rev 00 class 06,04,00 hdr 01 (II) PCI: 00:08:0: chip 1002,5159 card 174b,7c02 rev 00 class 03,00,00 hdr 00 (II) PCI: 00:0e:0: chip 10ec,8139 card 10ec,8139 rev 10 class 02,00,00 hdr 00 (II) PCI: 00:0f:0: chip 105a,0d30 card 105a,4d33 rev 02 class 01,04,00 hdr 00 (II) PCI: 00:11:0: chip 1106,3147 card 1019,0996 rev 00 class 06,01,00 hdr 80 (II) PCI: 00:11:1: chip 1106,0571 card 1106,0571 rev 06 class 01,01,8a hdr 00 (II) PCI: 00:11:2: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:3: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:5: chip 1106,3059 card 1019,0996 rev 40 class 04,01,00 hdr 00 (II) PCI: 01:00:0: chip 1002,5159 card 1002,013a rev 00 class 03,00,00 hdr 00 (II) PCI: End of PCI scan (II) Host-to-PCI bridge: (II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set) (II) Bus 0 I/O range: [0] -1 0 0x - 0x (0x1) IX[B] (II) Bus 0 non-prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) Bus 0 prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) PCI-to-PCI bridge: (II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x000c (VGA_EN is set) (II) Bus 1 I/O range: [0] -1 0 0x9000 - 0x90ff (0x100) IX[B] [1] -1 0 0x9400 - 0x94ff (0x100) IX[B] [2] -1 0 0x9800 - 0x98ff (0x100) IX[B] [3] -1 0 0x9c00 - 0x9cff (0x100) IX[B] (II) Bus 1 non-prefetchable memory range: [0] -1 0 0xe800 - 0xe9ff (0x200) MX[B] (II) Bus 1 prefetchable memory range: [0] -1 0 0xd800 -
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Wayne Whitney wrote: > On Thu, 23 Jan 2003, Wayne Whitney wrote: > > As far as I can tell, the "Cannot read V_BIOS" message is the problem, > > and it means that XFree86 can't find the Video BIOS on the PCI card to > > use to initialize the video card. [...] I found that getValidBIOSBase() > > in xfree86/common/xf86pciBus.c is called repeatedly but that it always > > returns 0. > The following patch to getValidBIOSBase() makes things work for me, > although I don't really understand what it does, as I arrived at it by > brute force. Any suggestions of what is going on or what the proper fix > is would be great. > The second part obviously just prints out the return value of > getValidBIOSBase() when it runs to completion (there are various "return > 0" paths earlier in the function). When I run X on the primary card, this > is never triggered. When I run X on AGP card as the secondary card (which > works OK on stock 4.2.99.4), it prints out e800 once. When I run X on > the PCI card as the secondary card, it triggers three times and prints 0, > 0, e000. Without the first part of the patch, it used to print 0, 0, > 0, 0 in this situation and X wouldn't work. > --- xfree86/common/xf86pciBus.c.~3.66.~ 2003-01-23 19:54:11.0 -0800 > +++ xfree86/common/xf86pciBus.c 2003-01-23 23:46:33.0 -0800 > @@ -1617,18 +1617,24 @@ > break; > } > m = m->next; > } > } else { > - if (!xf86IsSubsetOf(range, m) || > + if ( > +#if 0 > + !xf86IsSubsetOf(range, m) || > +#endif > ChkConflict(&range, avoid, SETUP) > || (mem && ChkConflict(&range, mem, SETUP))) > ret = 0; > } > > xf86FreeResList(avoid); > xf86FreeResList(m); > +#ifdef DEBUG > +xf86Msg(X_ERROR, "getValidBIOSBase: %x\n", ret); > +#endif > return ret; > } > > /* > * xf86Bus.c interface Hummm. Can you re-post that log again? The output from `scanpci -v` would also help. Thanks. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Thu, 23 Jan 2003, Wayne Whitney wrote: > As far as I can tell, the "Cannot read V_BIOS" message is the problem, > and it means that XFree86 can't find the Video BIOS on the PCI card to > use to initialize the video card. [...] I found that getValidBIOSBase() > in xfree86/common/xf86pciBus.c is called repeatedly but that it always > returns 0. The following patch to getValidBIOSBase() makes things work for me, although I don't really understand what it does, as I arrived at it by brute force. Any suggestions of what is going on or what the proper fix is would be great. The second part obviously just prints out the return value of getValidBIOSBase() when it runs to completion (there are various "return 0" paths earlier in the function). When I run X on the primary card, this is never triggered. When I run X on AGP card as the secondary card (which works OK on stock 4.2.99.4), it prints out e800 once. When I run X on the PCI card as the secondary card, it triggers three times and prints 0, 0, e000. Without the first part of the patch, it used to print 0, 0, 0, 0 in this situation and X wouldn't work. Cheers, Wayne --- xfree86/common/xf86pciBus.c.~3.66.~ 2003-01-23 19:54:11.0 -0800 +++ xfree86/common/xf86pciBus.c 2003-01-23 23:46:33.0 -0800 @@ -1617,18 +1617,24 @@ break; } m = m->next; } } else { - if (!xf86IsSubsetOf(range, m) || + if ( +#if 0 + !xf86IsSubsetOf(range, m) || +#endif ChkConflict(&range, avoid, SETUP) || (mem && ChkConflict(&range, mem, SETUP))) ret = 0; } xf86FreeResList(avoid); xf86FreeResList(m); +#ifdef DEBUG +xf86Msg(X_ERROR, "getValidBIOSBase: %x\n", ret); +#endif return ret; } /* * xf86Bus.c interface ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
4.2.99.4: unable to use secondary PCI Radeon 7000
Hello, As I mentioned in another thread, I have an x86 machine with a PCI Radeon 7000 and an AGP Radeon VE. It's running Linux 2.5.59 and XFree 4.2.99.4, and I am trying to get each card to work one at a time. With this setup, when the system BIOS is set to initialize the AGP card, I am unable to get XFree86 to run on the PCI card (the AGP card runs fine). I've included a full log file below. As far as I can tell, the "Cannot read V_BIOS" message is the problem, and it means that XFree86 can't find the Video BIOS on the PCI card to use to initialize the video card. I'm not so familiar with PCI resources, but I did poke around a bit by inserting xf86Msg() calls at various places. I found that getValidBIOSBase() in xfree86/common/xf86pciBus.c is called repeatedly but that it always returns 0. I guess something is missing to map the BIOS on the PCI card? Any help would greatly appreciated! Cheers, Wayne This is a pre-release version of XFree86, and is not supported in any way. Bugs may be reported to [EMAIL PROTECTED] and patches submitted to [EMAIL PROTECTED] Before reporting bugs in pre-release versions, please check the latest version in the XFree86 CVS repository (http://www.XFree86.Org/cvs) XFree86 Version 4.2.99.4 / X Window System (protocol Version 11, revision 0, vendor release 6600) Release Date: 20 January 2003 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (See http://www.XFree86.Org/) Build Operating System: Linux 2.5.59-wayne i686 [ELF] Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/XFree86.0.log", Time: Wed Jan 22 15:13:09 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) (**) | |-->Monitor "Monitor1" (**) | |-->Device "Radeon1" (**) |-->Input Device "Trackball" (**) |-->Input Device "Touchpad" (**) |-->Input Device "Keyboard" (==) Keyboard: CustomKeycode disabled (**) FontPath set to "unix/:7100" (==) RgbPath set to "/usr/X11R6-CVS/lib/X11/rgb" (==) ModulePath set to "/usr/X11R6-CVS/lib/modules" (--) using VT number 7 (WW) Open APM failed (/dev/apm_bios) (No such device) (II) Module ABI versions: XFree86 ANSI C Emulation: 0.2 XFree86 Video Driver: 0.6 XFree86 XInput driver : 0.4 XFree86 Server Extension : 0.2 XFree86 Font Renderer : 0.4 (II) Loader running on linux (II) LoadModule: "bitmap" (II) Loading /usr/X11R6-CVS/lib/modules/fonts/libbitmap.a (II) Module bitmap: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 Module class: XFree86 Font Renderer ABI class: XFree86 Font Renderer, version 0.4 (II) Loading font Bitmap (II) LoadModule: "pcidata" (II) Loading /usr/X11R6-CVS/lib/modules/libpcidata.a (II) Module pcidata: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) PCI: Probing config type using method 1 (II) PCI: Config type is 1 (II) PCI: stages = 0x03, oldVal1 = 0x, mode1Res1 = 0x8000 (II) PCI: PCI scan (all values are in hex) (II) PCI: 00:00:0: chip 1106,3099 card 1019,0996 rev 00 class 06,00,00 hdr 00 (II) PCI: 00:01:0: chip 1106,b099 card , rev 00 class 06,04,00 hdr 01 (II) PCI: 00:08:0: chip 1002,5159 card 174b,7c02 rev 00 class 03,00,00 hdr 00 (II) PCI: 00:0e:0: chip 10ec,8139 card 10ec,8139 rev 10 class 02,00,00 hdr 00 (II) PCI: 00:0f:0: chip 105a,0d30 card 105a,4d33 rev 02 class 01,04,00 hdr 00 (II) PCI: 00:11:0: chip 1106,3147 card 1019,0996 rev 00 class 06,01,00 hdr 80 (II) PCI: 00:11:1: chip 1106,0571 card 1106,0571 rev 06 class 01,01,8a hdr 00 (II) PCI: 00:11:2: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:3: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:5: chip 1106,3059 card 1019,0996 rev 40 class 04,01,00 hdr 00 (II) PCI: 01:00:0: chip 1002,5159 card 1002,013a rev 00 class 03,00,00 hdr 00 (II) PCI: End of PCI scan (II) Host-to-PCI bridge: (II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set) (II) Bus 0 I/O range: [0] -1 0 0x - 0x (0x1) IX[B] (II) Bus 0 non-prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) Bus 0 prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) PCI-to-PCI bridge: (II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x000c (VGA_EN is set) (II) Bus 1 I/O range: [0]
Re: Multihead failure with 3 ATI Radeon 7000 (VE QY)
> I have a similar setup and have been unable to get even this far. I'm > using XFree86 4.2.99.4 on Linux 2.5.59 with a PCI Radeon 7000 and an AGP > Radeon VE, each with a DFP on the DVI port. There seem to be three > separate problems that I'm seeing. I've included a description of each > one and log file excerpts below. With 4.2.99.4 I could not even start the X server. The same goes for 4.2.99.3. With either of those servers, the moment I launch the server it segfaults and then aborts. This only happens with the Radeon cards I have. I have since thrown three Matrox cards in the box and gotten three working DVI ports, (although just barely). The G450's I am using for the outboard monitors are running without acceleration right now and I have to power cycle the monitors from time to time ot get them to re-sync. -Don ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: Multihead failure with 3 ATI Radeon 7000 (VE QY)
On Monday, 20 Jan 2003, Don wrote: > I have a system with 1 AGP Radeon 7000 and 2 PCI ATI Radeon 7000's [...] > I can display on each monitor individually. They will not work at the > same time however. I have a similar setup and have been unable to get even this far. I'm using XFree86 4.2.99.4 on Linux 2.5.59 with a PCI Radeon 7000 and an AGP Radeon VE, each with a DFP on the DVI port. There seem to be three separate problems that I'm seeing. I've included a description of each one and log file excerpts below. Since I have six different log files I won't include them, but they are available under <http://shimura.math.berkeley.edu/~whitney/>. The 2x3 matrix of files represents whether the BIOS inits the AGP card or the PCI card and whether XFree86 is set up to drive the AGP card, PCI card, or both. The files names are {AGP,PCI}.{0,1,2} respectively. Any help would be greatly appreciated. Please cc: me on replies, as I am not subscribed, and the web archive seems not to include email addresses. Cheers, Wayne 1) When I setup the system BIOS to init the AGP card, I am unable to use the PCI card by itself. I think the relevant portion of the log file is: (II) RADEON(0): initializing int10 (EE) RADEON(0): Cannot read V_BIOS (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 8192 kByte (64-bit SDR SDRAM) (WW) RADEON(0): Video BIOS not detected in PCI space! (WW) RADEON(0): Attempting to read Video BIOS from legacy ISA space! (EE) RADEON(0): No monitor detected!!! There are also differences in the PCI resources sections of the AGP.1 and PCI.1 log files. 2) When I setup the system BIOS to init the PCI card, I am able to use either the AGP card or the PCI card by itself. However, when X uses the PCI card, it screws up the console. It appears that just the font is wrong, it looks like each character is half a solid block. 3) I am unable to get X to run at all if I try to have it drive both Radeons, regardless of which card the system BIOS inits. The relevant log messages: (II) Loading sub module "radeon" (II) LoadModule: "radeon" (II) Reloading /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol shadowAdd from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol shadowSetup from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86ForceHWCursor from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86SetDDCproperties from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86I2CBusInit from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Symbol xf86CreateI2CBusRec from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! Note that in in the log files where just one card is being driven, the "Reloading radeon_drv.o" message occurs just once, while in the log files where both cards are being driven, I get that message twice. The second instance is the one quoted above. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: Multihead failure with 3 ATI Radeon 7000 (VE QY)
On Mon, Jan 20, 2003 at 12:23:23PM -0500, Don wrote: > > FreeBSD -CURRENT > XFree86 4.2.1 > > I have a system with 1 AGP Radeon 7000 and 2 PCI ATI Radeon 7000's. > > These cards are from Saphire and powered by ATI. They have a VGA output, a > DVI output and an S-video output. > > I can display on each monitor individually. They will not work at the same > time however. I have tried a number of variations on the configuration > file. I have tried disabling every option I can think of and nothing has > helped. > > The specific errors are: > (EE) Screen 1 deleted because of no matching config section. > and > (EE) RADEON(0): Cannot read V_BIOS (3) > > As far as I can tell, however, there is a perfectly valid config section > for Screen 1. > > If I alter the ServerLayout section to only reflect one screen, and I > specify only one card and test it, that card/monitor will work fine. > > I have tested all three in this way and each one works. > > I have tried disabling DRI, disabling DGA, etc. and nothing has helped. The only thing that helped me was to hack the driver... :-\ My analysis of the problem went like this: The 7000 is aka Radeon-VE, which can support two heads on one card. The driver, recognizing the Radeon-VE, EXPECTS two heads to be configured on one card, and WILL NOT ALLOW only one head to be defined on it, when there is more than one "Device/Screen" section, regardless of the use of "BusID" option. I believe I actually tried a pair of 7000s with a config file that had 2 pairs of 2 screens as appropriate, and still had a problem (though I can't remember if it was the same as you noted above). Also, since I had PCI 7000s from ATI which had ONLY a VGA output (not DVI nor S-VID), I could configure a card with 2 heads, but could only see the primary one. IIRC, I had to hack two places to get the driver to allow only one screen per card when more than one card was present; one was in radeon_driver.c:RADEONPreInitConfig(), to prevent "HasCRTC2" from getting set for the RADEON_QY (the VE), and the other was in radeon_probe.c:RADEONProbe(), to prevent the RADEON_QY from being marked as "sharable". I don't know why the "HasCRTC2" hack was required, beyond the more obvious "sharable" hack, but it was the only way I could get it to work. >From the code, it also looked like there would be some other flavors of Radeon that would be susceptible to the same problem, so this may not be limited to a 7000/VE problem. --Jay++ - Jay A EstabrookHPTC - LINUX support Hewlett-Packard Company - MRO1-2/K15 (508) 467-2080 200 Forest Street, Marlboro MA 01752 [EMAIL PROTECTED] - ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Multihead failure with 3 ATI Radeon 7000 (VE QY)
I sent an identical message to the XFree86 list last week but I believe this may be a more appropriate forum. Please correct me if I am wrong. FreeBSD -CURRENT XFree86 4.2.1 I have a system with 1 AGP Radeon 7000 and 2 PCI ATI Radeon 7000's. These cards are from Saphire and powered by ATI. They have a VGA output, a DVI output and an S-video output. I can display on each monitor individually. They will not work at the same time however. I have tried a number of variations on the configuration file. I have tried disabling every option I can think of and nothing has helped. The specific errors are: (EE) Screen 1 deleted because of no matching config section. and (EE) RADEON(0): Cannot read V_BIOS (3) As far as I can tell, however, there is a perfectly valid config section for Screen 1. If I alter the ServerLayout section to only reflect one screen, and I specify only one card and test it, that card/monitor will work fine. I have tested all three in this way and each one works. I have tried disabling DRI, disabling DGA, etc. and nothing has helped. I have searched on Google for similar problems but I have failed to find one that matches mine. This is probably because I lack search technique. The config file followed by the log file can be found at: http://conch.blacksun.org/~ket/XF86Config I have also grabbed 4.2.99.3 from CVS and built it but X keeps core dumping on me. I am looking into this now. Questions: 1. Are "Powered By ATI" cards supported by XFree86? The cards I have work fine by themselves, but when you try to enable more than one only the first will work. 2. Can anyone recommend a PCI card with DVI output that is well supported by XFree? I have always had good luck with Matrox cards under XFree and am currently planning on just replacing these ATI's with Matrox G450's for now. I would appreciate any help you can provide. Thanks in advance, -Don ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel