Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: agp and Intel Q45 chipset.



On Wed, Jan 21, 2009 at 11:12 PM, Mark Davies <mark%ecs.vuw.ac.nz@localhost> 
wrote:
> I'm trying to get X running on a machine with the Intel Q45 chipset.
> Current doesn't quite know about it in terms of agp support so I've
> added the following:
>
> --- /local/scratch/cvs/src/sys/arch/x86/pci/pchb.c      2009-01-21
> 21:56:39.000000000 +1300
> +++ sys/arch/x86/pci/pchb.c     2009-01-22 00:11:04.000000000 +1300
> @@ -384,6 +384,7 @@
>                case PCI_PRODUCT_INTEL_82Q33_HB:
>                case PCI_PRODUCT_INTEL_82G35_HB:
>                case PCI_PRODUCT_INTEL_82GM45_HB:
> +               case PCI_PRODUCT_INTEL_82Q45_HB:
>                        /*
>                         * The host bridge is either in GFX mode (internal
>                         * graphics) or in AGP mode. In GFX mode, we pretend
> --- /local/scratch/cvs/src/sys/dev/pci/agp.c    2009-01-21
> 21:37:02.000000000 +1300
> +++ sys/dev/pci/agp.c   2009-01-22 00:13:23.000000000 +1300
> @@ -186,6 +186,8 @@
>          NULL,                 agp_i810_attach },
>        { PCI_VENDOR_INTEL,     PCI_PRODUCT_INTEL_82GM45_HB,
>          NULL,                 agp_i810_attach },
> +       { PCI_VENDOR_INTEL,     PCI_PRODUCT_INTEL_82Q45_HB,
> +         NULL,                 agp_i810_attach },
>  #endif
>
>  #if NAGP_INTEL > 0
> --- /local/scratch/cvs/src/sys/dev/pci/agp_i810.c       2009-01-21
> 21:37:02.000000000 +1300
> +++ sys/dev/pci/agp_i810.c      2009-01-22 00:16:51.000000000 +1300
> @@ -188,6 +188,7 @@
>        case PCI_PRODUCT_INTEL_82946GZ_IGD:
>        case PCI_PRODUCT_INTEL_82GM45_IGD:
>        case PCI_PRODUCT_INTEL_82GM45_IGD_1:
> +       case PCI_PRODUCT_INTEL_82Q45_IGD:
>                return (1);
>        }
>
> @@ -292,6 +293,7 @@
>                isc->chiptype = CHIP_G33;
>        case PCI_PRODUCT_INTEL_82GM45_IGD:
>        case PCI_PRODUCT_INTEL_82GM45_IGD_1:
> +       case PCI_PRODUCT_INTEL_82Q45_IGD:
>                isc->chiptype = CHIP_G4X;
>                break;
>        }
>
>
> which almost gets me there.  dmesg now reports:
>
> agp0 at pchb0: detected 32768k stolen memory
> agp0: aperture at 0xd0000000, size 0x0
>
> But when I try to start X I get:
>
> agp0: binding memory at bad offset 0x1fff000
>
> and in the Xorg.log:
>
> (II) intel(0): xf86BindGARTMemory: bind key 0 at 0x01fff000 (pgoffset
> 8191)
> (WW) intel(0): xf86BindGARTMemory: binding of gart memory with key 0
>        at offset 0x1fff000 failed (Invalid argument)
>
>
Known problem, AFAIK this happens when the asked resolution is too
high, we are missing a page in the GTT resulting in the bug you (and
other) encounter. IIRC the fix require a trivial kernel fix and an
update of the X driver, which is not in pkgsrc. I tried once to build
the new driver but it required a new libdrm which was also not
available in pkgsrc. I gave up at this point.

> The "aperture at 0xd0000000, size 0x0" make me nervous.  Anyone
> suggest a way forward?   Anyone with the GM45 chipset who can report
> what dmesg says for them for agp?
>
pretty much the same.

 - Arnaud


Home | Main Index | Thread Index | Old Index