tech-x11 archive

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

Re: can't get Nouveau console



On Fri, Nov 27, 2015 at 08:15:14AM -0700, Roy Bixler wrote:
> I have an old Dell Precision M70 laptop with Nvidia NV40 series
> graphics.  I tried to enable the Nouveau framebuffer on recent HEAD
> kernels:
> 
> nouveau*        at pci? dev ? function ?
> nouveaufb*      at nouveaufbbus?
> 
> but the framebuffer doesn't start on bootup.  It does work with a
> Knoppix Linux CD.  I'll attach dmesg outputs for Linux and NetBSD HEAD
> booting without Nouveau.  I think the following lines may be
> important:
> 
> pchb0 at pci0 dev 0 function 0: vendor 8086 product 2590 (rev. 0x03)
> agp0 at pchb0: can't find internal VGA config space

I guessed wrong.  I found a hack to solve the AGP problem, but the
Nouveau driver still doesn't attach on boot-up.  First, I figured it
couldn't hurt to add the PCI device to the pcidevs file:

product NVIDIA  QUADROFXGO1400          0x00cc  Quadro FX Go 1400

I don't think this helped anything either.  Then I patched AGP with
the attached patch.

Basic strategy is to fall back to later code for this particular PCI
hub instead of declaring failure.  On boot-up, I now get this:

pchb0 at pci0 dev 0 function 0: vendor 8086 product 2590 (rev. 0x03)
agp0 at pchb0agp0: non-memory device MMIO registers

The system works at least as stably as before with this patch.

-- 
Roy Bixler <rcbixler%nyx.net@localhost>
"The fundamental principle of science, the definition almost, is this: the
sole test of the validity of any idea is experiment."
-- Richard P. Feynman
--- agp_i810.c  2015-12-07 02:17:06.000000000 +0000
+++ agp_i810.c.new      2015-12-06 14:32:10.000000000 +0000
@@ -330,11 +330,15 @@
                        free(isc, M_AGP);
                        return agp_intel_attach(parent, self, aux);
                }
+               if (PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_INTEL_82915GM_HB) {
+#endif
+                       aprint_error(": can't find internal VGA"
+                                    " config space\n");
+                       error = ENOENT;
+                       goto fail1;
+#if NAGP_INTEL > 0
+               }
 #endif
-               aprint_error(": can't find internal VGA"
-                   " config space\n");
-               error = ENOENT;
-               goto fail1;
        }
 
        /* XXXfvdl */


Home | Main Index | Thread Index | Old Index