Lenovo Yoga c940

From ArchWiki
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.

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

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.
Note: This BIOS will only work on the smaller 14 inch model.

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.