Here is one curious thing: I configure my dual-head AGP to be on PCI devices
Code:
BusID "PCI:5:0:0"
Screen 0
[...]
BusID "PCI:5:0:0"
Screen 1
However, the kernel on the broken amd64 kernel reports:
Code:
May 13 16:48:11 pls kernel: agpgart: Found an AGP 3.0 compliant device at 0000:04:00.0.
May 13 16:48:11 pls kernel: agpgart: Putting AGP V3 device at 0000:04:00.0 into 8x mode
May 13 16:48:11 pls kernel: agpgart: Putting AGP V3 device at 0000:05:00.0 into 8x mode
May 13 16:48:13 pls kernel: Xorg[4445]: segfault at 31 ip 7f12d3d3251c sp 7fffe049b3a0 error 4 in nvidia_drv.so[7f12d3b47000+3c9000]
On the i386 kernel no such lines are reported.
The two kernels has been configure with identical AGP options:
Code:
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=m
# CONFIG_AGP_NVIDIA is not set
CONFIG_AGP_SIS=m
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
I wonder whether AGP gets in my way here.
Snooping through dmesg I see the broken setup uses the GART IOMMU:
Working:
Code:
Linux agpgart interface v0.102
agpgart: Detected AMD 8151 AGP Bridge rev B3
agpgart: AGP aperture is 128M @ 0xf0000000
Not working:
Code:
PCI: Using ACPI for IRQ routing
PCI: Cannot allocate resource region 0 of device 0000:04:00.0
agpgart: Detected AMD 8151 AGP Bridge rev B3
agpgart: AGP aperture is 128M @ 0xf0000000
PCI-DMA: using GART IOMMU.
PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture