summaryrefslogtreecommitdiff
path: root/en/hardware/buying-hardware.xml
blob: 4995508a19835e13d876ca813610b937c77b36b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->

 <sect1 arch="not-s390"><title>Purchasing Hardware Specifically for GNU/&arch-kernel;</title>

<para arch="linux-any">

There are several vendors, who ship systems with &debian; or other
distributions of GNU/Linux
<ulink url="&url-pre-installed;">pre-installed</ulink>. You might pay more
for the privilege, but it does buy a level of peace of mind, since you can
be sure that the hardware is well-supported by GNU/Linux.

</para><para arch="any-x86">

If you do have to buy a machine with Windows bundled, carefully read
the software license that comes with Windows; you may be able to
reject the license and obtain a rebate from your vendor.  Searching
the Internet for <quote>windows refund</quote> may get you some useful
information to help with that.

</para><para>

Whether or not you are purchasing a system with &arch-kernel; bundled, or even
a used system, it is still important to check that your hardware is
supported by the &arch-kernel; kernel.  Check if your hardware is listed in
the references found above.  Let your salesperson (if any) know that
you're shopping for a &arch-kernel; system.  Support &arch-kernel;-friendly hardware
vendors.

</para>

  <sect2><title>Avoid Proprietary or Closed Hardware</title>
<para>

Some hardware manufacturers simply won't tell us how to write drivers
for their hardware. Others won't allow us access to the documentation
without a non-disclosure agreement that would prevent us from
releasing the &arch-kernel; source code.

</para><para>

Since we haven't been granted access to the documentation on these
devices, they simply won't work under &arch-kernel;. You can help by asking
the manufacturers of such hardware to release the documentation. If
enough people ask, they will realize that the free software community
is an important market.

</para>
</sect2>


  <sect2 arch="any-x86"><title>Windows-specific Hardware</title>
<para>

A disturbing trend is the proliferation of Windows-specific modems and
printers. In some cases these are specially designed to be operated by
the Microsoft Windows operating system and bear the legend <quote>WinModem</quote>
or <quote>Made especially for Windows-based computers</quote>. This
is generally done by removing the embedded processors of the hardware
and shifting the work they do over to a Windows driver that is run by
your computer's main CPU. This strategy makes the hardware less
expensive, but the savings are often <emphasis>not</emphasis> passed on to the
user and this hardware may even be more expensive than equivalent
devices that retain their embedded intelligence.

</para><para>

You should avoid Windows-specific hardware for two reasons. The first
is that the manufacturers do not generally make the resources
available to write a &arch-kernel; driver. Generally, the hardware and
software interface to the device is proprietary, and documentation is
not available without a non-disclosure agreement, if it is available
at all. This precludes it being used for free software, since free
software writers disclose the source code of their programs. The
second reason is that when devices like these have had their embedded
processors removed, the operating system must perform the work of the
embedded processors, often at <emphasis>real-time</emphasis> priority,
and thus the CPU is not available to run your programs while it is
driving these devices. Since the typical Windows user does not
multi-process as intensively as a &arch-kernel; user, the manufacturers hope
that the Windows user simply won't notice the burden this hardware
places on their CPU.  However, any multi-processing operating system,
even Windows 2000 or XP, suffers from degraded performance when
peripheral manufacturers skimp on the embedded processing power of
their hardware.

</para><para>

You can help improve this situation by encouraging these manufacturers
to release the documentation and other resources necessary for us to
program their hardware, but the best strategy is simply to avoid this
sort of hardware<phrase arch="linux-any"> until it is listed as working
in the <ulink url="&url-hardware-howto;">Linux Hardware Compatibility
HOWTO</ulink></phrase>.

</para>
</sect2>
 </sect1>