Help:Laptop page guidelines
This article unifies the style and layout of all laptop pages and introduces guidelines and standards to ensure laptop pages are and remain high quality. This ensures that pages do not devolve to just dumps of the lspci
/lsusb
output or a user's personal notes about their device.
General
Add an appropriate category to the page, for example Category:Dell. If there is no category for your vendor, create one.
The page name should be "Vendor model number", for example "Lenovo ThinkPad X1 Carbon".
Do not create a redirect which just omits the vendor name, for example "X1 Carbon" or "ThinkPad X1 Carbon".
Do not duplicate content from the general Laptop guidelines. A section just containing e.g "The webcam of this device works fine" will not help anyone, so do not add a section if there are no special instructions for it. Also avoid mentioning desktop environment or window manager specific content. This also applies to other things that are documented in the ArchWiki, e.g do not include instructions on how to flash the archiso to a USB-stick, just link to the page containing the instructions. This will result in less maintenance required.
Adding hardware information
- Keep all of the lines as short as possible because a wide table is hard to read and makes the page look disorganized.
- Make sure the table is above the preface or introduction or the position of the table will change.
Add a table with style="float: right;"
at the very beginning of the page with the following columns:
- Hardware
- It should contain the short name of the part, like "Bluetooth" or "Fingerprint reader".
- Only append the name of the vendor to the part if there are more than one. A common example for this would be more than one GPU (see table below).
- PCI/USB ID
- It should contain the PCI or USB ID of the part, if available. This is important because some laptops may have varying hardware.
-
lsusb
shows the USB ID by default, butlspci
must be run with-nn
in order to obtain the PCI ID of devices. - If there is no applicable PCI/USB ID for this device, leave the column empty. Do not put Template:-, dashes or anything else into the column.
- Working?
- It should contain Template:Yes or Template:No. If these are not applicable, use Template:Y and a fitting, short description of its status, like "Untested" or "Partial".
- Use "Partial" when the part still does not work correctly with applied modifications.
- Use Template:Yes even if you need to install an external driver or if configuring this with device-specific parameters enhances its functionality.
- It should contain Template:Yes or Template:No. If these are not applicable, use Template:Y and a fitting, short description of its status, like "Untested" or "Partial".
Kernel module information
Do not put kernel module information into the table or a separate section for the part. This is usually pointless because there is only one module for this part. This does not apply if there are different drivers to choose from, but this has to be specified in the section for the part, not the table.
Example table
Hardware | PCI/USB ID | Working? |
---|---|---|
Bluetooth | 1234:abcd |
Yes |
Webcam | abcd:1234 |
No |
GPU (Intel) | 0000:0000 |
Yes |
GPU (nvidia) | 1111:1111 |
No |
Other part | 0000:aaaa |
Untested |
List of common parts
- Bluetooth
- Webcam
- Ethernet
- Wifi
- GPU
- Touchpad
- Keyboard
- TPM
- Fingerprint reader
- SD-card reader
- Speakers
- Microphone
- Ambient light sensor
- If any of the ports (USB, HDMI, Ethernet) do not work out of the box, add a section for it and also add it to the table. Make sure to not include any desktop environment/window manager specific instructions. The sections should go between the "Firmware" and "Function keys" section.
- Do not put "Fn keys", "Suspend"/"Hibernate" or "Power management" into the table.
"Installation" section
This section should contain information that is necessary to install Arch Linux on this device. This includes, but is not limited to:
- Kernel parameters
- Important firmware settings (also see #"Firmware" section)
- This does not include obvious settings like changing the boot device.
- It is encouraged to link to relevant posts in the forums, like this example post focusing on an issue with Dell devices.
"Accessibility" section
To help disabled users install Arch Linux on the device, add some accessibility info. This includes, but is not limited to:
- The appearance of the firmware. Newer looking firmware may be more difficult to parse with OCR software.
- If there is an option to revert the default design to the "classic" design, add instructions for it.
- Some firmware even requires the usage of a mouse and/or is overly complex. If it is not possible to change settings without eyesight, add a note describing this (see below).
- Refer to a relevant section of the official manual (see #"See also" section) for your device that contains a list of all the shortcuts needed to navigate the firmware and to trigger certain actions, like changing the boot device.
- If such a manual does not exist, you can add a list to the section instead.
- Some devices may have a diagnostic LED, which visualizes beep codes. This is useful for deaf users.
- Add a note if there is only a diagnostic LED, but no beep codes.
- Some newer-looking firmware may use radio buttons and tightly packed menus extensively, which might prevent users with Parkinson's disease from changing certain settings.
"Firmware" section
The page should contain a short note describing the fwupd support for this device.
A page should include a firmware section, when there is special behavior the user should be aware of. This includes, but is not limited to the following:
- Certain optional firmware settings that can enhance the compatibility of this device
- Firmware quirks that can impact the installation
-
SecureBoot information
- Do custom keys work well on this device?
- Are there any special firmware settings one needs to change for this?
- Are there any other specialties the user should be aware of?
- Does the firmware store recovery images or logs in a special path? This is important to know when choosing the size of an EFI system partition.
- Sometimes it is crucial to update the firmware because it fixes critical bugs. If there are any important firmware updates, mention it in this section.
"Function keys" section
Add a table with the following columns:
- Key
- The key one needs to press. They usually start with
Fn
- The key one needs to press. They usually start with
- Visible?
- Use Template:Yes or Template:No, depending on whether tools like
xev
can see this key.
- Use Template:Yes or Template:No, depending on whether tools like
- Marked?
- Use Template:Yes or Template:No, depending on whether the physical key has a symbol on it, which describes its function.
- Effect
- Usually, function keys emit a key or the firmware does something when the key is pressed.
- Specify the key when a key is emitted, like
XF86MonBrightnessDown
. - A key may have a special effect which should be mentioned, like hard blocking network devices.
- Do not add desktop environment/window manager specific instructions.
- There are some keys that will be bound by systemd-logind by default, which should be marked (see table below).
Capturing function keys
It is possible to capture function keys using xev
(xorg-xev) or wev
(wevAUR). There is also libinput debug-events
but since many Wayland compositors use xkbcommon
, the Xorg-specific names are preferred.
Desktop environments and even some window managers may come with a default configuration which swallows all the function keys, since it is handling them by itself. Temporarily use a minimal window manager like Openbox to capture the keys if this is the case.
Some function keys (such as XF86Sleep
) may be bound to systemd-logind
, which means they can not be captured with any tool by default. Use systemd-inhibit
to temporarily suspend the handling of certain keys:
# systemd-inhibit --what=handle-suspend-key sleep 1h
As long as this command is running, systemd-logind
will ignore these button presses and properly capturing the button press is possible.
Example table
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+Esc |
No | Yes | Toggles Fn lock |
Fn+F1 |
Yes | Yes |
XF86AudioMute
|
Fn+F2 |
Yes | Yes |
XF86AudioLowerVolume
|
Fn+F3 |
Yes3 | Yes |
XF86Sleep
|
... |
No | No | Fitting description |
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
- systemd-logind handles this by default.
"See also" section
This section should contain helpful links which include, but is not limited to the following:
- Related other external wiki pages, like the ThinkWiki.
- Official manual pages provided by the manufacturer, which can be helpful when debugging firmware issues.
- certification.ubuntu.com pages, which can be a useful source for PCI/USB IDs and hardware variations.
- https://linux-hardware.org, which provides information about compatibility.