Some time ago I managed to pick up an IBM Thinkpad A21p for $200. I was motivated to make the purchase because it has a 1600x1200 15" display, which if you do the math is 133 ppi, an extremely high-resolution display. The display ended up having some lines down the side (display or flexible circuit problem) but all in all the system works quite well. I've since spent another $120 or so adding 256MB RAM (up to 384MB) and the 3Com MiniPCI combo ethernet/modem. The modem will likely never work in Linux, so I also have a Xircom two-slot-height cardbus ethernet/modem card which is supported.
This is a fairly sweet little system for its time, although it's nothing special now. It's got a Mobile Pentium 3 which runs at about 850 MHz and will step down to 700 or so, and really amazingly crap speakers. And the biggest problem? ATI Rage Mobility M3. The display does not properly report resolutions via DDC (Windows manages to figure it out, but that's not saying much since it's special-cased up the yin-yang) and so you get a horribly mangled display.
Google to the rescue! After searching around for quite a while I found a working XF86Config for the Thinkpad with this display. All of this is interesting but the following excerpt from the file is what you actually need:
Section "Monitor"
HorizSync 31-77
Identifier "Monitor[0]"
ModelName "AutoDetected"
VendorName "AutoDetected"
VertRefresh 50-77
UseModes "Modes[0]"
EndSection
Section "Modes"
Identifier "Modes[0]"
Modeline "640x480" 27.96 640 656 720 864 480 480 485 501
Modeline "800x600" 43.68 800 816 928 1072 600 600 606 626
Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802
Modeline "1152x864" 90.48 1152 1168 1384 1568 864 864 873 902
Modeline "1280x960" 111.82 1280 1296 1552 1736 960 960 970 1003
Modeline "1280x1024" 119.28 1280 1296 1552 1736 1024 1024 1035 1070
Modeline "1600x1200" 160.16 1600 1616 1968 2208 1200 1200 1212 1253
Modeline "1600x1200" 167.23 1600 1616 1968 2208 1200 1200 1212 1253
EndSection
Now, let's talk about this section. I don't know why there are two modelines for 1600x1200, but I put them both in my config and things are working fine. The most important parts are the HorizSync and the VertRefresh, but the Modelines are interesting as well. Note that his config file says they were automatically detected - maybe the problem is in the Xorg DDC module. I certainly remember having this actually work in the past without all this mangling.
Just change any lines that correspond to a line here except the Identifier and add any missing lines into your config file, especially eliminating any existing Modelines, and you will be up and running in no time. This worked for me on Ubuntu Feisty.