Lenovo Yoga C940 - ArchWiki

Jump to content

Hardware | PCI/USB ID | Working?
--- | --- | ---
Touchpad | `06cb:00be` | Yes
Keyboard | PS/2 | Yes
Touchscreen | `056a:51e6` | Yes
Stylus | `056a:51e6` | Yes
Video | `8086:8a52` | Yes
Webcam (Acer) | `5986:2115` | Yes
Webcam (IMC) | `13d3:56b2` | Yes
Bluetooth | `8087:0026` | Yes
Audio | `8086:34c8` | Partial
Wireless | `8086:34f0` | Yes
Fingerprint Reader | `06cb:00be` | No

## Installation

To access the boot menu and UEFI, use `F1`. Disable Secure Boot. UEFI boot works fine.

## Accessibility

The UEFI user interface (both Vanilla and patched − see #Audio) is graphical. An option to switch to a text-based GUI is not provided. However, the options may be selected with the arrow keys and the values changed with `F5` and `F6` keys.

## Function keys

By default, the `Fn` key does not need to be pressed to toggle the alternative function of the `FX` keys, and `Fn+FX` actually sends the `FX` key signal. This behavior can be reversed in the UEFI.

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`F1` | Yes | Yes | `XF86AudioMute`
`F2` | Yes | Yes | `XF86AudioLowerVolume`
`F3` | Yes | Yes | `XF86AudioRaiseVolume`
`F4` | Yes | Yes | `XF86AudioMicMute`
`F5` | Yes | Yes | `F5` (No change, despite the "Refresh" pictogram)
`F6` | Yes | Yes | `XF86TouchpadOn/XF86TouchpadOff`
`F7` | Yes | Yes | `XF86RFKill`
`F8` | Yes | Yes | `XF86WebCam`
`F9` | Yes | Yes | `Super+l`4
`F10` | Yes | Yes | `Super+p`4
`F11` | Yes | Yes | `XF86MonBrightnessUp`
`F12` | Yes | Yes | `XF86MonBrightnessDown`
`Fn+Left` | Yes | Yes | `Home`
`Fn+Right` | Yes | Yes | `End`
`Fn+Up` | Yes | Yes | `PageUp`
`Fn+Down` | Yes | Yes | `PageDown`
`Fn+Space` | No | Yes | Changes keyboard backlight

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.
3. systemd-logind handles this by default.
4. Press and release signals are sent on physical key press, nothing occurs on physical release.

## Video

By default, tearing is apparent when playing videos. To fix, create the following:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "intel"
       Option      "TearFree"    "true"
    EndSection

There seems to be issues with Chromium based GPU acceleration, so either disabling that via Chromium flags, removing xf86-video-intel, or adding the following options to `/etc/X11/xorg.conf.d/20-intel.conf`:

       Option      "NoAccel"     "true"
       Option      "DRI"         "false"

## Audio

This laptop requires firmware in order for the soundcard to work. See Advanced Linux Sound Architecture#ALSA firmware.

The amplifiers for the extra speakers are turned off by default and there is no available documentation on how to turn them on; more details on bugzilla.kernel.org#205755. There exists an unreleased patched firmware (from Lenovo) that turns the speakers on, see comment 59, now only available on a mirror. Latest official update (AUCN61WW) still present this issue, even though they were release after the beta version.

## Thermals

Thermal shutdowns are a problem unless you install pstate-frequencyAUR or thermald.

### pstate-frequency

pstate-frequencyAUR allows the user to define Turbo Boost behavior and maximum clock frequencies. The user should activate `pstate-frequency.service` and `pstate-frequency-sleep.service` for the setting to persist after suspend or reboot. Configuration files are located in `/etc/pstate-frequency.d/`.

Changing the line `PLAN_CPU_MAX=100` to `PLAN_CPU_MAX=70` in `/etc/pstate-frequency.d/02-balanced.plan` will throttle the maximum clock speed from 3.90 GHz to 2.70 GHz on AC. Moreover, the default plan of pstate-frequency will throttle the CPU to 30 % (around 1.2 GHz; see `/etc/pstate-frequency.d/01-powersave.plan`) on battery power, removing the issue of thermal shutdowns.

### thermald

A few changes are necessary for thermald to work as intended:

Add the following thermald config:

    /etc/thermald/thermal-conf.xml

    <?xml version="1.0"?>
     <!-- BEGIN -->
     <ThermalConfiguration>
     <Platform>
    	<Name> Auto generated </Name>
    	<ProductName>81Q9</ProductName>
    	<Preference>QUIET</Preference>
    	<ThermalZones>
    		<ThermalZone>
    			<Type>auto_zone_0</Type>
    			<TripPoints>
    				<TripPoint>
    					<SensorType>SEN2</SensorType>
    					<Temperature>80000</Temperature>
    					<Type>Passive</Type>
    					<CoolingDevice>
    						<Type>B0D4</Type>
    						<SamplingPeriod>8</SamplingPeriod>
    						<TargetState>2147483647</TargetState>
    					</CoolingDevice>
    				</TripPoint>
    				<TripPoint>
    					<SensorType>x86_pkg_temp</SensorType>
    					<Temperature>80000</Temperature>
    					<Type>Passive</Type>
    					<CoolingDevice>
    						<Type>Processor</Type>
    						<SamplingPeriod>1</SamplingPeriod>
    					</CoolingDevice>
    				</TripPoint>
    			</TripPoints>
    		</ThermalZone>
    	</ThermalZones>
    </Platform>
    </ThermalConfiguration>
    <!-- END -->

You might wish to tweak the target temperature (i.e. 64000) if you are OK with your machine running a bit hotter.

Edit `thermald.service` and remove `--adaptive` and add `--ignore-default-control` to the `ExecStart` line:

    ExecStart=/usr/bin/thermald --systemd --dbus-enable --ignore-default-control

Manual fan control does not work at all.

## Power management

Battery Conservation Mode (charge to max 50%) can be set with:

    # echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/conservation_mode

where `VPC2004\:00` could vary depending on the model.

If shutdown is not working and the system hangs on "reboot: Shutting down", try adding `intel_iommu=off` to your Kernel parameters.

## Thunderbolt

Thunderbolt controller's PCIe address space is marked as "reserved" by the BIOS (handled by the `e820` kernel subsystem). By default, Linux before version 6 ignores these addresses, thus making some devices (e.g. Thunderbolt docks) unable to operate correctly, and may even cause crash due to PCIe controller hanging, which in turn disconnects the NVMe SSD. A patch in the kernel has been merged, and dock are now working on mainline Linux 6.

## Tablet Mode

By default, the keyboard and then touchpad stay active when the device is folded keyboard-down (360 tablet mode), yoga-usage-mode-dkms-gitAUR disables this behavior.

Category:

- Lenovo