The problem is not all hardware works equally well and not all hardware is
free software friendly. You *can* build your own system that in theory should
be free software friendly and there is a decent chance it will work pretty
well in Trisquel.
Now I'm the CEO & Founder of the ThinkPenguin and deal with these issues
daily. Often there systems where people are trying to get a piece of hardware
from us to work on a system that just isn't well supported. What happens is
people get motherboards and other parts which in theory should work (they use
Intel graphics and have atheros wireless chipsets for instance). Then though
the problem is there are actually lots of other problems you can still run
into as well-which aren't free software related. Bugs!
An unfortunate percentage of systems ship with a buggy BIOS for instance. You
can often find a hack to work around these issues- although not always- and
not easily. How many trial-and-error fixes are you going to run through? If
you get lucky you'll find the fix sooner than later. But often people spend
hours and never find a fix that works. In other instances people will get a
part that works- but does not work well. For instance they may get an atheros
wireless which works "well" but then there isn't any power management
support. Yea- despite that atheros is generally considered to have great
support for free software there are issues with various chipsets.
You can look toward h-node to see what other people are reporting with
different pieces. You do need to take it with a grain of salt and be prepared
to return parts. There are a lot of errors in this database we have come
across (yes- and fixed- at least some).
I'd post a list of parts here if your going to build something. There are a
few people here who are a bit more knowledgeable. If I notice it i'll often
investigate too. Though it's still not 100% certain the part you get will
work. Sometimes chipsets change or a particular piece of hardware should work
in theory although end up having an unsupported ID (which means a patch needs
to be submitted upstream so that the driver knows to load for the given
component- can take a while- generally better to just return it- and move on
to another part).