Hi alltogether! On my new Powerbook G4 12" I couldn't use the nVidia framebuffer-console with kernel 2.4.23-ben1. I only saw vertical white stripes between booting and the start of gdm or a patchwork image of the X-screen when switching to tty1. The problem was the unknown PCI-ID of the graphics card. With the attached patch the problem is solved: I can use the framebuffer-console. Together with the patch from Guido Günther at http://honk.physik.uni-konstanz.de/~agx/linux-ppc/kernel/rivafb-blank.diff I can use fblevel to switch the backlight on/off. The patch and the one I sent before (for the detection of my PowerBook) were derived from Guido Günther's patches at http://honk.physik.uni-konstanz.de/~agx/linux-ppc With the patch I am also able to choose between video=riva and video=ofonly at boottime if both are compiled into the kernel. Without boot parameter rivafb is chosen. Best regards, Wolfi PS: cat /proc/fb tells me 0 GeForce-FX-Go-5200 or 0 OFfb /pci@f0000000/NVDA,Parent@10/NVDA,D
diff -ur 2.4.23-ben1.orig/drivers/video/riva/fbdev.c benh_kernel/drivers/video/riva/fbdev.c --- 2.4.23-ben1.orig/drivers/video/riva/fbdev.c 2003-12-28 13:57:55.000000000 +0100 +++ benh_kernel/drivers/video/riva/fbdev.c 2003-12-29 17:30:39.000000000 +0100 @@ -169,6 +169,7 @@ CH_GEFORCE4_420_GO_M32, CH_QUADRO4_500XGL, CH_GEFORCE4_440_GO_M64, + CH_GEFORCE_FX_GO_5200, CH_QUADRO4_200, CH_QUADRO4_550XGL, CH_QUADRO4_500_GOGL, @@ -216,6 +217,7 @@ { "GeForce4-420-GO-M32", NV_ARCH_20 }, { "Quadro4-500-XGL", NV_ARCH_20 }, { "GeForce4-440-GO-M64", NV_ARCH_20 }, + { "GeForce-FX-Go-5200", NV_ARCH_20 }, { "Quadro4-200", NV_ARCH_20 }, { "Quadro4-550-XGL", NV_ARCH_20 }, { "Quadro4-500-GOGL", NV_ARCH_20 }, @@ -285,6 +287,8 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_500XGL }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_440_GO_M64 }, + { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_GO_5200 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_200 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL, diff -ur 2.4.23-ben1.orig/drivers/video/riva/nv_type.h benh_kernel/drivers/video/riva/nv_type.h --- 2.4.23-ben1.orig/drivers/video/riva/nv_type.h 2003-12-16 06:16:16.000000000 +0100 +++ benh_kernel/drivers/video/riva/nv_type.h 2003-12-29 17:39:13.000000000 +0100 @@ -29,6 +29,7 @@ #define NV_CHIP_GEFORCE4_420_GO_M32 ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO_M32) #define NV_CHIP_QUADRO4_500XGL ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_QUADRO4_500XGL) #define NV_CHIP_GEFORCE4_440_GO_M64 ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64) +#define NV_CHIP_GEFORCE_FX_GO_5200 ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200) #define NV_CHIP_QUADRO4_200 ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_QUADRO4_200) #define NV_CHIP_QUADRO4_550XGL ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL) #define NV_CHIP_QUADRO4_500_GOGL ((PCI_VENDOR_ID_NVIDIA << 16) | PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL) diff -ur 2.4.23-ben1.orig/include/linux/pci_ids.h benh_kernel/include/linux/pci_ids.h --- 2.4.23-ben1.orig/include/linux/pci_ids.h 2003-12-16 06:16:35.000000000 +0100 +++ benh_kernel/include/linux/pci_ids.h 2003-12-29 17:03:20.000000000 +0100 @@ -1013,6 +1013,7 @@ #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO_M32 0x0176 #define PCI_DEVICE_ID_NVIDIA_QUADRO4_500XGL 0x0178 #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64 0x0179 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200 0x0329 #define PCI_DEVICE_ID_NVIDIA_QUADRO4_200 0x017A #define PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL 0x017B #define PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL 0x017C
Attachment:
pgpLZ2MyN_BD5.pgp
Description: PGP signature