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