The Dohickey Project is working to create a massive database of computer hardware and its Linux compatibility. Users can download the Dohickey Client (it's alpha) and run it on their computers to collect information on their installed hardware. It didn't work for me, but it might for you. It only collects information on your hardware models. It lets you mark how many stars out of 5 rating you give each piece of hardware and the make/model of your computer (if there is one).
If, because it's alpha, it doesn't work for you, try the dohickey debgger. Email the resulting tarball to doctormo (at) gmail (dot) com. Include your computer's make/model in the email. Include any information about how well it works with Linux, your distro/version, and any other relevant info, if you'd like. The more information, the better. This debugger is actually to find out different brands of hardware report their information differently from each other to make the actual Dohickey Client more dynamic and able to handle more different kinds of hardware without choking on the syntax in which your hardware reports. If you get an error about "slot" you can ignore it. That's it going "I looked for how many memory slots you have, but your computer just said something about memory modules and now I'm confused."
At this point, information is being gathered and sorted to make the database and allow people to rate the parts' Linux compatibility. A future goal is to have a client which users of other OS's can run which will gather their system information and report on if their computer will run Linux well, based on the information gathered by the first client. They need more developers to do this though. If anyone happens to know Windows system coding rather well (enough to interface with Windows' HAL), I'm sure they would appreciate your help.
I'm hoping we will end up with a list of what drivers need work (or in some cases, need to be started upon!). I know the sky2 driver for my Marvell ethernet card needs a lot of work. I have to be really rare in the Linux world. Wireless worked perfectly out of the box, works great with network-manager (some call it network-mangler, but I think there may be a correlation between driver quality and ability to work with NM), takes little effort to get WPA-PSK working, rarely drops, and is fast, but my wired connection disconnects if I have high throughput. That's not to say that it gets truly high throughput often. It generally is at dial-up speeds when I'm downloading updates. Still, after getting 10mb or so through, it drops and I have to unload/reload the driver. It's been bug reported to death, and according to a blog post the dev made, he can't reproduce a lot of them because it's used on so many different cards, and his happens to work fine. I know it's an old post, but I'm guessing he didn't get a bunch of computers to test with, seeing as it still doesn't work right. Hopefully this database will draw attention to cases like this.
This is NOT Ubuntu-only. Any Linux box with hal, dbus, and dmidecode will work.