Ubuntu Desktop Certified Hardware Coverage for 20.04 LTS

Introduction

The Ubuntu Certification team is continuously revisiting the scope of the tests comprising the Ubuntu Certified programme which is reviewed every six months, following the same Ubuntu cadence for point releases on Long Term Support releases. This review of new tests is performed during Ubuntu’s development cycle and it never affects already released versions of Ubuntu.

This document lists the coverage for certification of Ubuntu Desktop 20.04 LTS. This coverage will remain as it is for Ubuntu Desktop 20.04 LTS through the life cycle of Ubuntu Desktop 20.04 LTS.

For each test job, one of the following certification statuses is specified:

Blocking

Features that are required for certification. If any of the blocking tests fails, the certification will fail.

Non-blocking

Features that are tested but not mandatory for certification. Failure in non-blocking tests will not prevent certification. However, a note will be added to the certificate to inform potential customers or users.

Note

Only categories of hardware are tested and not specific types of hardware. For example, tests are run to verify USB controllers work, but the type of peripheral(s) used during those tests are not specified.

Coverage is flexible based on customer requirements (for example, if a device’s use cases don’t require LEDs, then LEDs can be non-blocking)

Full test descriptions can be found in Canonical certification site for partners:

https://certification.canonical.com

Blocking

Firmware

Ubuntu 20.04 LTS is installed using the factory default BIOS or UEFI, with the default options (including SecureBoot, if that’s the default setting). Firmware needs to be compliant with Canonical Firmware Test Suite (FWTS).

It is recommended that after running Canonical fwts with the list of tests defined in the Appendix A, ideally, no CRITICAL or HIGH failures should be reported, but those are not automatically certification blockers.

Systems supporting fwupd will undergo firmware update testing when newer firmwares are available to the system, to ensure that users can upgrade their firmware without issue. During the maintenance phase, firmware updates will be tested on a regular cadence.

Processors

x86_64 and ARM processors are tested to ensure proper functionality. We will test specific features as:

  • CPU’s performance states (frequency up and down in runtime)

  • CPU’s sleep states (cpu on and off in runtime)

  • Running CPU at its maximum frequency

We will also include a general stress test performed for 120 minutes to verify that the system can handle a sustained high load for a period of time. This test uses the tool “stress-ng” available in the Universe repositories. In addition, for Intel devices, IPDT (Intel Processor Diagnostic Tools) test suite will be run, ensuring power management works as designed.

Memory

Proper detection of the amount of memory installed is required (the amount of memory installed is the memory seen by the OS).

Internal Hard Drives

All internal hard drives are tested to be properly detected. On all of them, an in-house performance test is run. All disks need to report at least a read performance of 15MB/s.

The following types of internal storage are currently supported/tested:

  • PCIe NVMe SSD

  • eMMC

  • SATA SSD/HDD

Optical Drives

Optical drives are tested for read based on specifications of the optical unit. Depending on the unit theoretical feature support, we will test:

  • CD read capabilities (data only)

  • DVD read capabilities (data only)

  • Bluray-disc read capabilities (data only)

Graphics

The ability to run the desktop environment out of the box is required. When certifying, stock Ubuntu open source drivers need to work to complete the installation of Ubuntu, although proprietary drivers are accepted, if they are installable through Ubuntu Drivers.

Laptops

  • The integrated display is tested with its highest resolution (up to 4k). At its highest resolution, the image should look clean, without any type of corruption.

  • Each of the available external video ports (currently supported: HDMI, DisplayPort, Mini Displayport, Thunderbolt 3) are tested one by one. Hot plugging and different modes (mirror, extended, just internal, just external) are required to work. If several external ports are available, they are not required (nor tested) to work simultaneously.

  • Display brightness. It should be possible to dim the brightness of the internal display.

  • The system must support Gnome Shell 3.34 and basic 3D rendering.

  • Hybrid graphics:

    • On systems with Hybrid graphics, features described above need to work with both Performance and Power Saving mode.

    • On systems with an integrated and a NVIDIA discrete GPU users should be able to choose between a performance profile (discrete GPU is used to accelerate rendering) and a power saving profile (discrete GPU is switched off to save battery).

    • On systems with an integrated and an AMD discrete GPU users should be able to run graphics workloads in the discrete GPU.

    • On systems with NVIDIA hybrid graphics, monitor hotplugging needs to work for all external graphics ports when the system is in Performance mode. When the system is in Power Saving mode, external display is not required to work on the ports that are only physically connected to the discrete GPU.

Desktops with an integrated display (aka All-In-Ones)

  • The integrated display is tested with its highest resolution. At its highest resolution (up to 4k), the image should look clean, without any type of corruption.

  • The integrated display must support basic 3D rendering.

  • The system must support display rotation (0°, 90°, 180°, 270°)

  • Each of the available external video ports (currently supported HDMI, DisplayPort, Mini Displayport, Thunderbolt 3) are tested one by one. Different modes (mirror, extended, just internal, just external) are required to work. If several external ports are available, they are not required (nor tested) to work simultaneously.

Desktops without an integrated display

  • Each of the available external video ports (currently supported HDMI, DisplayPort, Mini Displayport, Thunderbolt 3) are tested one by one, at their highest resolution (up to 4k). Different modes (mirror, extended, just internal, just external) are required to work.

  • If several external ports are available, no matter how many ports are designed to work synchronously on the graphic controller, only two of them (regardless of the combination) are supported simultaneously (dual-head), unless the hardware does not support two monitors setup.

  • The system must support Gnome Shell 3.34 and basic 3D rendering.

  • The system must support display rotation (0°, 90°, 180°, 270°)

  • Desktops with multiple discrete GPUs are not supported; we only support one discrete GPU, as above.

Convertible Laptops (aka 2-in-1s)

  • The system must support display rotation (0°, 90°, 180°, 270°)

  • The desktop environment must rotate automatically when sensors detect a rotation

  • A swipe up from the bottom edge of the touchscreen should bring up the on-screen keyboard

Audio

Output sound needs to be undistorted between 0%-100%. Output lines tested:

  • Internal speakers

  • 3.5mm headphones

  • 3.5mm headset

  • HDMI audio output

  • DisplayPort audio output

Input needs to be recorded undistorted between 0%-100%. Input lines tested:

  • Internal microphone

  • 3.5mm microphone

  • 3.5mm headset

Plug detection: when a new audio line input or output is plugged in the system, it needs to be recognized.

Networking

  • Ethernet. Connections are tested for functionality, but not for performance. Ethernet hot plugging must be supported and working.

  • Wireless:

    • 802.11 b/g/n/ac/ax connection

USB controllers

USB controllers are tested using storage devices in all available USB ports. And the USB human interface device, keyboard or mouse, should be working properly with any USB port.

  • USB 2.0

  • USB 3.0 SuperSpeed mode

  • Keyboard or mouse (basic functionality)

Mediacard readers

Mediacard readers are tested for read and write for the following type or cards:

  • SD

  • SDHC

Bluetooth

Bluetooth 4.0 LE (Smart and Smart Ready) is tested for device scanning and pairing. Apart from pairing, several profiles are specifically tested and required:

  • File transfer (OBEX)

  • Audio (A2DP)

  • HID Over GATT Profile (HOGP), Low-Energy keyboard or mouse with basic functionality

Advanced Configuration and Power Interface

Suspend/Resume (S3)

A 30 cycle suspend/resume stress test is performed using the fwts S3 test. The test is passed if all 30 cycles complete without failure. Any errors reported in the fwts log for the 30 cycle suspend/resume stress test are informational only and do not affect the outcome of the test, however, we do recommend examining and fixing any failures noted, as they indicate firmware non-compliance with standards.

Apart from the stress test, a single cycle suspend/resume is performed, if it’s a hybrid graphic system, suspend and graphic related functionalities are required to work flawlessly on both Performance mode and Power Saving mode, and the following features and devices are tested and need to work after suspend:

  • CPU

  • Memory

  • Networking (Wifi, Ethernet)

  • Audio

  • Bluetooth

  • Display resolutions should be consistent before and after suspend

  • USB controllers

  • Input devices

  • Mediacards

Boot/Reboot

Both cold boot and soft boot are tested and required to work.

Suspend-to-idle (S0ix)

Suspend to idle will be tested to ensure proper function. If S0ix does not work, the system must fall back to S3.

Input devices

Integrated input devices

  • Internal keyboard (basic functionality)

  • Trackpoint

Touch screens

Touch screens are tested for single touch and multitouch. Functionality tested:

  • Single touch, including single tap and double tap

  • For multitouch touchscreens with more than two finger support, at least 4 finger gestures must be recognized by the OS. Gestures tested include:

    • 2 finger expand/pinch zoom

Touchpads

Touchpads are tested for single touch and multitouch. Functionality tested:

  • Single touch, including single tap and double tap

  • Scrolling feature (horizontal and vertical) should work either with the edge scrolling option or the 2 finger scrolling option.

Webcam

Internal main webcams are tested to be able to take static pictures and video.

Sensors

  • Lid close events in laptops need to be recognized by the OS and trigger a system suspend

  • Lid open events in laptops need to be recognized by the OS and trigger a system wake up, when suspended.

Function keys

The following function or special keys in a laptop or an All-In-One system need to be supported (only when they exist in the system under test).

  • Super key (Windows logo key). The Super key needs to show all open windows.

  • Volume. Output volume needs to react to up and down volume keys

  • Volume mute. Audio output needs to be muted and unmuted when pressing the volume mute key.

  • Brightness. Internal display brightness needs to react to brightness keys.

  • Monitor. Several display modes need to react to monitor hotkey.

  • Media control. Keys that control media play need to be able to control a video played through “Totem” or an audio file played through “Rhythmbox”

  • Wireless. Soft and hard wireless keys need to turn on and off wireless and Bluetooth in the system

  • Keyboard backlight. Backlight of the internal keyboard needs to be turned on and off when pressing the keyboard backlight key.

  • Power button. When the system is booted, pressing the power button will bring up the dialog to power off, reboot or log out from the system.

LEDs

LED indicators are very common in laptops and some types of desktops. When those exist, they will be tested by following some basic expectations here. The actual behavior may vary depending on the hardware design. To ensure that the behavior is working as expected, please be sure to test against specifications obtained from OEM, as each OEM may have different defined behavior for LEDs.

  • Power/suspend button LED. This needs to work as prescribed by OEM’s expected LED behavior.

  • Suspend chassis LED. This needs to work as prescribed by OEM’s expected LED behavior.

  • Volume mute LED. This needs to work as prescribed by OEM’s expected LED behavior.

  • Caps lock LED. Fixed light when input is set to all caps.

  • Num lock LED. Fixed light when numeric keypad is on.

  • Power supply LED. This needs to work as prescribed by OEM’s expected LED behavior.

  • Camera LED. Fixed light when the camera is on.

Thunderbolt 3

  • Audio output needs to be undistorted over this port.

  • Storage devices with hot plugging capability need to work on it with BIOS set to “No security” option.

  • Display hot plugging and different modes (mirror, extended, just internal, just external) are required to work.

  • Daisy-chain should work with a storage device and a monitor chained together.

USB 3.1 (Type C)

The following adapters/peripherals should work:

  • Type-C to Type-A adapter

    • Storage devices (with a minimum read/write speed of 10MB/s)

    • Keyboard or mouse (basic functionality)

    • Ethernet Dongle

  • Type-C to Display Port

    • Display hot plugging and different modes (mirror, extended, just internal, just external) are required to work.

    • Audio output needs to be undistorted over this port.

Non-blocking

Optical Drives

Optical drives are tested for read based on specifications of the optical unit. Depending on the unit theoretical feature support, we will test:

  • CD write capabilities

  • DVD write capabilities

  • Bluray-disc write capabilities

Bluetooth 5

Bluetooth 5.0 is tested for device scanning and pairing. Apart from pairing, several profiles are specifically tested and required:

  • File transfer (OBEX)

  • Audio (A2DP)

  • HID Over GATT Profile (HOGP), Low-Energy keyboard or mouse with basic functionality

USB 4

USB controllers are tested using storage devices in all available USB ports. And the USB human interface device, keyboard or mouse, should be working properly with any USB port.

  • For USB4 controllers that support Thunderbolt, Thunderbolt functionality will be tested

  • USB HID devices (Keyboard or mouse basic functionality)

  • Storage devices (with a minimum read/write speed of 10MB/s)

Networking

  • WWAN connectivity (3G/4G)

Advanced Configuration and Power Interface

Hibernate/Resume (S4)

A general 30 cycle hibernate/resume stress test is performed. This test is performed using the fwts S4 test. No Critical/High failures in the fwts log are allowed.

Suspend/Resume (S3) time

On average, resume time needs to be less than 5 seconds, with an overall suspend/resume time of less than 10 seconds.

LEDs

  • Wireless LED. Fixed light when wireless signal is on (it can blink when transmitting data).

  • Bluetooth LED. Fixed light when bluetooth signal is on.

  • Microphone mute LED. Fixed light when input volume is muted.

TPM 2.0

TPM 2.0 should be able to be activated from the BIOS.

  • For TPM 2.0, all tpm2-tools commands have to work and pass the upstream integrations tests (NV, Attestation, Key management, Encryption, Signing and Utilities tests)

Internal Hard Drive

The following storage options are tested for functionality:

  • Optane Storage

  • VRoC Raid

Internal Hard Drive Performance

The following performance targets will be validated:

  • For PCIe NVMe SSD: 100MB/s read speed

  • SATA SSD/HDD: 10MB/s read speed

  • eMMC: 10MB/s read speed

  • Optane Storage: 100MB/s read speed

  • VRoC RAID: 100MB/s read speed

Fingerprint Readers

  • Fingerprint readers must be detected by the system, with the appropriate drivers being loaded by the kernel.

  • Fingerprint readers must be able to enroll and verify a user’s fingerprint using fprintd-enroll and fprintd-verify.

  • Use of fingerprint as an unlocking method must be tested and working.

Others

  • Dial-up modems

  • Secondary camera (e.g. rear camera, 3D camera, IR Camera)

Q & A

  • Does changing the speed of processors require a new certificate?

    No. Only changing the CPU family would require retesting and issuing a new certificate.

Appendix A. FWTS tests

As part of the certification process, we run a series of firmware tests that are part of the Canonical Firmware Test Suite. In general, any HIGH or CRITICAL error found in the fwts log can cause potential errors in the system and should be looked at by OEMs/ODMs.

Category

Test Item

Description

Information

acpidump

Check ACPI table acpidump.

Information

version

Gather kernel system information.

ACPI

acpitables

ACPI table settings confidence checks.

ACPI

apicinstance

Check for single instance of APIC/MADT table.

ACPI

hpet_check

High Precision Event Timer configuration test.

ACPI

mcfg

MCFG PCI Express* memory mapped config space.

ACPI

method

ACPI DSDT Method Semantic Tests.

CPU

mpcheck

Check Multi Processor tables.

CPU

msr

CPU MSR consistency check.

CPU

mtrr

MTRR validation.

System

apicedge

APIC Edge/Level Check.

System

klog

Scan kernel log for errors and warnings.