Initially Ubuntu automatically detected the majority of my hardware, although I did have to put in some effort to get certain features working. Some of the important changes I had to make included:-SMP (symmetric multi-processing) support
-NVIDIA drivers
-JRE (Java Runtime Environment)
-Printer drivers
-Mounting Windows partition
-MP3 decoding
I also had some problems with Flash audio being out of sync. In my opinion all of these are essential features which should have been automatically set up by the OS. Hopefully as Linux continues to evolve the initial setup time required will decrease. However, now that I have finished fixing all of the problems, I have a fully functional computer that I am very proud of ^_^. I have made a short screencast of my desktop which can be found here.
Here is a customized version of Google Maps that I made earlier today.
