As I have mentioned in previous posts, the Linux kernel (the very heart of Ubuntu) comes with support for a wide range of hardware devices ranging from mice/keyboards through to graphics cards and TV tuners. However there are always going to be manufacturers who don't offer Linux support or devices that simply aren't supported by the kernel – if this was the Windows world your interest in an unsupported device would end there. But with Linux there are nearly always ways to get things to work if you don't mind spending a few minutes working on it.
Lets run with a factual example (personal experience here); a shiny new Acer laptop I bought came with Windows 7, nice but after a month I realised I didn't really need Windows and decided to install Linux as per usual. Being the thoughtful user that I am I elected to try Live versions of a couple of distributions before re-formatting and installing, and sure enough my patience paid off. My wireless card was a prototype only used in this particular laptop and my video card required proprietary drivers from the manufacturer, Nvidia.
Now the video card was no problem (except under OpenSUSE which simply refused to install the Nvidia drivers...), but the network card was a whole other ball game; even the Windows drivers for this card are a bit dodgy and naturally Linux drivers are non-existent. This is part one of how to solve hardware problems – Google it. Yes Google is a verb these days.
After approximately 5 minutes and 33 seconds I discovered someone in Indonesia had purchased the exact same laptop as me and purely by chance found that drivers for a similar network card worked more or less 100% with the problem-child in this laptop. A few minutes later I had installed these drivers, rebooted and was back to not-procrastinating on the 'Net.
So lets make a quick list of how YOU can get problematic hardware to work with Ubuntu and Linux in general;
- Check your distribution's driver management package, for Ubuntu this is 'Hardware Drivers' under System → Administration. A lot of common problems can be fixed by installing third party drivers.
- Google it, the answer to everything that rebooting doesn't fix. Hell I bet most of you found this blog via Google.
- Check out https://wiki.ubuntu.com/HardwareSupport/ before buying anything you intend on installing Ubuntu on. It is probably the single biggest repository of information on hardware available to Ubuntu users.
- Check out http://hardware4linux.info/ similar to the above but for all distributions.
- Ask! Head on over to your distribution's forum and do a quick search to see if anyone has your problem, if not make a thread about it in the relevant category – the people who help out on these forums are topical experts in most cases and are more than happy to help new comers. Also pay heed to the rules and posting guidelines of the forum; not abiding by them will generally get your thread deleted and therefore you won't be getting any help!
*Note, do the above in order of appearance if you run into problems AFTER purchasing, but use steps 3 & 4 BEFORE buying to avoid problems in the first place.
Following these steps may not fix all problems and indeed there exists hardware for which nothing can be done; this is why it pays to do a bit of research before buying any new hardware and pay special attention to what is inside a laptop before buying it!