Lenovo Yoga c940 - ArchWiki

# Lenovo Yoga c940

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This article or section does not follow the Laptop page guidelines.

Reason: Needs IDs in the hardware table and needs a function keys section (Discuss in Talk:Lenovo Yoga c940#)

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

## Installation

To access the boot menu and BIOS, use `F1`. Disable secure boot from the BIOS. UEFI boot mode works fine.

## Video

The kernel supports Iris Plus Gen11 from version 5.3. With default configuration, tearing is apparent when playing videos. To fix tearing, create the file `/etc/X11/xorg.conf.d/20-intel.conf` with the following content:

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

That said 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.

Blacklist the `snd_hda_intel` and `snd_soc_skl` modules.

Configure PulseAudio's to load Alsa modules with the correct `device` and `channnel` settings, by adding these two lines to `/etc/pulse/default.pa`:

    load-module module-alsa-sink device=hw:0,0 channels=4
    load-module module-alsa-source device=hw:0,6 channels=4

Unmute the Master channel:

    $ alsamixer -c 0

Then press `m` on your keyboard.

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 is a non-official (but from Lenovo) patched BIOS that turns the speakers on. See comment 59 for instructions on how to flash this BIOS. Use at your own risk! You probably need a modern kernel (5.10 or later maybe) as there is also a kernel mod that may be involved.

Note: If you already have BIOS version AUCN57WW the update will fail, saying that it is the same version. To allow sidegrading the BIOS to the fixed version, enter your BIOS settings and enable downgrading to a previous BIOS version.

If the speakers are detected, unmuted, and the volume is turned up yet the audio does not seem to play through the speakers, try adding `options snd-hda-intel dmic_detect=0` to `/etc/modprobe.d/alsa-base.conf`. Then, reboot.

## Thermals

Thermal shutdowns are a problem unless you install thermald and make a few changes:

1. 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.

2. Edit `/usr/lib/systemd/system/thermald.service` and remove `--adaptive` and add `--ignore-default-control` to the `ExecStart` line:

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

3. Ignore the thermald package in `/etc/pacman.conf` so that the config does not get overwritten:

    [options]
    IgnorePkg=thermald

Manual fan control does not work at all.

## Power management

Battery Conservation Mode (charge to max 50%) can be set with a 0/1 in "/sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/conservation_mode" where VPC2004\:00 could vary depending on the computer.

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

Category:

- Lenovo

Hidden category:

- Pages or sections flagged with Template:Laptop style