Originally posted by Kano
View Post
Announcement
Collapse
No announcement yet.
ATI X1650pro VideoRam Problem?
Collapse
X
-
Originally posted by tinux View PostOh... so the external power supply of the x1650 is only for the cooling system ?Michael Larabel
https://www.michaellarabel.com/
Comment
-
Originally posted by tinux View PostAh, it looks like it is a power supply problem. The recommended power for the
x1650pro is 450W and the power delivered by my Dell Dimension 8300 is 305W. So
with my normal setup i get
Code:# grep "PCI Bus #01" /etc/iomem e0000000-efffffff : PCI Bus #01 ...
one of the 2 RAM modules and the main fan i get
Code:# grep "PCI Bus #01" /etc/iomem d4000000-efffffff : PCI Bus #01
work
Okay --
I dont have my X1650Pro AGP installed atm - however I do recall that it DID NOT do what my 9550 does, and that is map *all* of the ram to *both* heads on the card. It created two unique 256mb memory blocks.
Now -- this might just be something horrid with the driver or it might be an architectural issue with the card --
a) pcie based engine, with an extra AGP to PCIE bridge chip --
b) you noted that the card only shows 256mb in windows?
this is from my 9550 card - also with two heads and with 256mb of ram on board:
Code:lspci -vv -s 01:00 01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AS [Radeon 9550] (prog-if 00 [VGA]) Subsystem: ATI Technologies Inc Unknown device 0402 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 255 (2000ns min), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at 9000 [size=256] Region 2: Memory at f1000000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at f0000000 [disabled] [size=128K] Capabilities: <access denied> 01:00.1 Display controller: ATI Technologies Inc RV350 ?? [Radeon 9550] (Secondary) Subsystem: ATI Technologies Inc Unknown device 0403 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 (2000ns min), Cache Line Size: 32 bytes Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M] Region 1: Memory at f1010000 (32-bit, non-prefetchable) [size=64K] Capabilities: <access denied>
Code:cat /proc/mtrr reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0xc0000000 (3072MB), size= 256MB: write-combining, count=2 reg02: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=1 and from iomem d0000000-efffffff : PCI Bus #01 d0000000-dfffffff : 0000:01:00.0 d0000000-d0ffffff : vesafb e0000000-efffffff : 0000:01:00.1
Here you can see the 9550 is mapping the 256mb to BOTH heads -- it is possible that the R6x0 chip is actually two unique processors.
This is from the last time I fired up the X1650Pro - and my X1650Pro claims 512Mb of ram NOTE Region 0 size in this case is 256mb
Code:01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 71c1 (rev 9e) (prog-if 00 [VGA]) Subsystem: ATI Technologies Inc Unknown device 235a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 (2000ns min), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 5 Region 0: Memory at c0000000 (32-bit, prefetchable) [size=256M] Region 1: I/O ports at 9000 [size=256] Region 2: Memory at d1000000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at d0000000 [disabled] [size=128K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] AGP version 3.0 Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none> Capabilities: [80] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 01:00.1 Display controller: ATI Technologies Inc Unknown device 71e1 (rev 9e) Subsystem: ATI Technologies Inc Unknown device 235b Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 (2000ns min), Cache Line Size: 32 bytes Region 0: Memory at d1010000 (32-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Comment
-
Originally posted by Michael View PostThe PCI Express 6-pin connectors on graphics cards aren't used just for
fans... Generally the graphics cards with these external PCI-E
connectors will not even function if there is no power source
connected.
what i'll make out from your remark combined with Kano's one. Step by
step, my mental representations is getting closer to how it realy
works... i hope :]
Originally posted by Alistair View Postb) you noted that the card only shows 256mb in windows ?
512MB RAM, BUT, in the ressources tab, it gives a memory address range
of 0xe0000000-0xefffffff (among other much smaller ranges), which, if
i'm not wrong, translates to a size of 256MB. So there is (at least in
my mind) a missmatch between those two values, Which is a bit similar
(except Windows doesnt crash) to what i get with Linux from Xorg.log :
Code:(II) fglrx(0): Video RAM override, using 393216 kB instead of 524288 kB (**) fglrx(0): VideoRAM: 262144 kByte, Type: DDR2
Code:trims ~ # lspci -vv -s 01:00 01:00.0 VGA compatible controller: ATI Technologies Inc RV530LE [Radeon X1600/X1650 PRO] (prog-if 00 [VGA]) Subsystem: Hightech Information System Ltd. Unknown device 216a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 255 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 19 Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M] Region 2: Memory at fe9e0000 (64-bit, non-prefetchable) [size=64K] Region 4: I/O ports at de00 [size=256] Expansion ROM at fea00000 [disabled] [size=128K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] AGP version 3.0 Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none> Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 01:00.1 Display controller: ATI Technologies Inc RV530LE [Radeon X1650 PRO] (Secondary) Subsystem: Hightech Information System Ltd. Unknown device 216b Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (2000ns min), Cache Line Size: 64 bytes Region 0: Memory at fe9f0000 (64-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
x1650pro's video ram is not detected properly by either the x1650-BIOS,
the main board BIOS, the kernel and/or the fglrx driver... or whatever.
What about your power supply ? Does it have enough power for the card ?
As a side note, the lspci output of your 9550 shows 2 regions which
cover the full memory ranges for a total of 512MB. On the other hand,
the mtrr only covers your AGP Aperture and half of the first "region" of
the video RAM. None of the 2nd region. Is it normal ? (no obligation to
answer... just trying to get a better understanding)Last edited by tinux; 06 October 2007, 11:32 PM.
Comment
-
Originally posted by tinux View PostOk. So the video RAM is only fed by the AGP/PCI Bus power supply. That's
what i'll make out from your remark combined with Kano's one. Step by
step, my mental representations is getting closer to how it realy
works... i hope :]
And my 325w power supply keeps the X1650Pro quite happy, even with 4 hard drives in and teh DVD burner cutting a disk at full bore (12x)
Yes i did ! Or rather, i noted that Windows driver says the card has
512MB RAM, BUT, in the ressources tab, it gives a memory address range
of 0xe0000000-0xefffffff (among other much smaller ranges), which, if
i'm not wrong, translates to a size of 256MB. So there is (at least in
my mind) a missmatch between those two values, Which is a bit similar
(except Windows doesnt crash) to what i get with Linux from Xorg.log :
Code:(II) fglrx(0): Video RAM override, using 393216 kB instead of 524288 kB (**) fglrx(0): VideoRAM: 262144 kByte, Type: DDR2
Code:trims ~ # lspci -vv -s 01:00 01:00.0 VGA compatible controller: ATI Technologies Inc RV530LE [Radeon X1600/X1650 PRO] (prog-if 00 [VGA]) Subsystem: Hightech Information System Ltd. Unknown device 216a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 255 (2000ns min), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 19 Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M] Region 2: Memory at fe9e0000 (64-bit, non-prefetchable) [size=64K] Region 4: I/O ports at de00 [size=256] Expansion ROM at fea00000 [disabled] [size=128K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] AGP version 3.0 Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none> Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000 01:00.1 Display controller: ATI Technologies Inc RV530LE [Radeon X1650 PRO] (Secondary) Subsystem: Hightech Information System Ltd. Unknown device 216b Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (2000ns min), Cache Line Size: 64 bytes Region 0: Memory at fe9f0000 (64-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
x1650pro's video ram is not detected properly by either the x1650-BIOS,
the main board BIOS, the kernel and/or the fglrx driver... or whatever.
I suspect that my two lspci examples are hightlighting an architectural difference between the two lines of video chips.
The 9550 is a ***single*** (vpu/gpu/video engine) that maps all of the 256mb of ram to the one engine. I've read somewhere that after the low end 500 series chips ATI actually changed the way they map memory to the discreet 'heads' since more and more folks were actually using both heads. I've also heard that the 600 series chips have two distinct VPU engines on board, but a) I'm not an engineer, and b) I dont have direct references here. Thus I believe that the X1650Pro showing 256Mb in each unit is quite correct, and that the card does indeed have 512mb on board, just that each 'head/vpu/engine' can only see 256mb ...
What about your power supply ? Does it have enough power for the card ?
As a side note, the lspci output of your 9550 shows 2 regions which
cover the full memory ranges for a total of 512MB. On the other hand,
the mtrr only covers your AGP Aperture and half of the first "region" of
the video RAM. None of the 2nd region. Is it normal ? (no obligation to
answer... just trying to get a better understanding)
AGP aperture and video memory are distinctly different creatures.
think thusly
video card is (relative to the CPU) two floors up and down the hall
cpu needs to read and write on video card's memory. Video card needs to read and write to CPU's default memory (system memory)
So -- rather than running the long way around (up the stairs, down the hall and into different room)
(if we had to ask the video card what address on the video card we were to write to each and every time)
we set up a window that we can see each others memory through. Now -- this window does NOT need to be the same size as the memory on either end, but does need to be a fixed size, and we have to have an agreement that determines how it moves around.
agp code will page the window back and forth, and keeps everything neat and tidy. the 'window' in this case is simply an address range that the bios will reserve so that the cpu can write directly to the agp memory -- and thats why you have fixed sizes for the size the window can be (all are power of two and built on 4k), In reverse -- the window allows the video card to write to 'system' memory by writing on its own... and the system can then see this.
Comment
-
Thanks again for your answer Alistair. I *think* i undersand your
explanation about AGP : The CPU and the GPU do not read/write each
other's memory directly. Rather, they use a virtual memory "window"
handled by the AGP driver.
But, the AGP driver has to know physical address ranges in order to "map"
them into virtual memory, right ? That is my first assumption and the
second is that /proc/iomem and lspci output both give
informations about physical address ranges. So, the rest of your message
is still unclear to me :
Originally posted by Alistair View PostUmm the Additional power cord on the PCI based cards bumps the fed +12v
and +5v feeds from (somewhere around) 125ma to somewhere around 300ma.
If you don't have this boost, the card doesn't fire at all. Essentially
it works or it doesn't -- if its running, your power feed is likely
fine.
Code:... e0000000-efffffff : PCI Bus #01 e0000000-efffffff : 0000:01:00.0 fe800000-fe8fffff : PCI Bus #02 fe8fa800-fe8fafff : 0000:02:02.2 fe8fb000-fe8fbfff : 0000:02:08.0 fe8fb000-fe8fbfff : eepro100 fe8fc000-fe8fffff : 0000:02:02.2 fe900000-feafffff : PCI Bus #01 fe9e0000-fe9effff : 0000:01:00.0 fe9f0000-fe9fffff : 0000:01:00.1 fea00000-fea1ffff : 0000:01:00.0 ...
Code:... d4000000-efffffff : PCI Bus #01 e0000000-efffffff : 0000:01:00.0 fe800000-fe8fffff : PCI Bus #02 fe8fa800-fe8fafff : 0000:02:02.2 fe8fb000-fe8fbfff : 0000:02:08.0 fe8fb000-fe8fbfff : eepro100 fe8fc000-fe8fffff : 0000:02:02.2 fe900000-feafffff : PCI Bus #01 fe9e0000-fe9effff : 0000:01:00.0 fe9f0000-fe9fffff : 0000:01:00.1 fea00000-fea1ffff : 0000:01:00.0 ...
0xefffffff - 0xe0000000 = 0xfffffff =~ 256MB with normal configuration
0xefffffff - 0xd4000000 = 0x1bffffff =~ 448MB with minimal configuration.
Thus, at least for me, unless i miss something, there is a difference
and it is not only in Xorg.log. Although i admit i might be
oversubsribing it And, at first sight, there seems to be a relation
between power and the amount of detected physical memory.
Originally posted by Alistair View PostThus I believe that the X1650Pro showing 256Mb in each unit is quite
correct, and that the card does indeed have 512mb on board, just that
each 'head/vpu/engine' can only see 256mb ...
missed something obvious, but I can only see one region with 256Mb, be
it in /proc/iomem or with lspci -vv -s 01:00. If the x1650
lspci output was similar to your 9550 one, then i would understand,
cause there, i can see the two regions of 256MB.
Comment
Comment