The framebuffer driver API changed substantially during the 2.5 development series. The old 2.2 and 2.4 series driver is no longer usable.
I have now finished an initial unaccelerated pm2fb driver for the new API. This driver is now in the kernel.org tree.
The Permedia2 frame buffer in the current 2.4 and 2.5 kernel sources was written by Ilario Nardinocchi. 'Illo' stopped development of the driver in 2000, but made available the last version. This version has a number of fixes and additions not in the released driver.
I use an old Permedia2 based Creative GraphicsBlaster in my PC in conjunction with an old fixed-frequency Sun monitor. I found that the stock version of the driver in 2.2 did not work well for me, but that a later version from Illo's site did, though I could not get it to work in combination with the XFree GLINT driver.
Having now moved to 2.4, I discovered that the stock driver still did not work well for me. So I downloaded Illo's last driver and merged the 2.2 to 2.4 changes in with that.
Unfortunately the result didn't work well for me. I could not get a steady picture on my monitor on boot without running fbset, and then running XFree (either the Glint or the FBDev servers) would lose the picture again.
Investigation showed that the low horizontal and vertical sync required by the monitor was being reset to high sync. So after some blundering around learning how framebuffer drivers are put together I found the problem in the driver and fixed it.
Unfortunately starting the XFree 4.1.0 Glint server with the 'UseFBDev' option still caused sync to be lost. Much digging showed that the Glint server was specifically setting sync to high even if low was requested. The reason, I think, is that for the hardware cursor to work, high sync must be set in the main graphics processor, and then sync inverted in the RAMDAC. Older versions of the framebuffer driver would set low sync directly in the graphics processor.
So I also added 'lowhsync' and 'lowvsync' driver options to force the use of low sync regardless of what is requested. I have also filed a bug report with XFree86.
The update driver files are here. A patch against 2.4.18 is here.
The to do list for 2.6: