Arch Linux on Lenovo IdeaPad Y700 15"
Fri, Dec 11, 2015Collection of tweaks that I gathered after installing Arch Linux on to Lenovo IdeaPAD Y700.
What works
- WIFI
- Suspend (look at the bumblebee issue with suspend if nvidia module gets loaded on resume)
- Hibernate
- Sound without subwoofer
- Video (I used bumblebee to switch between intel/nvidia GPUs)
- Brightness
- Keyboard backlit
- Power managment via laptop mode tools and systemd.
- Card reader (you might need to run
echo 1 | sudo tee /sys/bus/pci/rescan
so card reader becomes visible) - HDMI output
What does not work so far
- Subwoofer
Installation
Boot
- Add nomodeset to the kernel options on Live USB boot
- Make sure secure boot is disabled (to make your life easier)
- Follow arch linux installation instructions
Extra tweaking
Video
- Make sure switchable GPUs are enabled in BIOS
- Follow insructions on the arch wiki
- To enable intel GPU add
i915.preliminary_hw_support=1
toGRUB_CMDLINE_LINUX_DEFAULT
in the/etc/default/grub
file. This should be solved after 4.3 kernel release. - Problems with video scaling in fullscreen mode can be solved by using gl as an output driver (mplayer -vo gl).
Wifi
Since there is no HW based wifi switch (only Fn+F5 combination) and kernel still tries to read it wifi is reported disabled on every boot. There was a patch for the 17 inch model here.
Temporary solution 1:
sudo systemctl enable rfkill-unblock@wifi.service
sudo rfkill unblock wifi
- Works fine with
wicd
- Configuring NetworkManager service to be run after rfkill service should also work
Temporary solution 2:
echo blacklist ideapad_laptop | sudo tee /etc/modprobe.d/blacklist.conf
to disable acpi module
Audio clicking
This is caused by suspend-on-idle module in the pulse audio. Instead of disabling the module I decided to just set very long timeout.
To do that append timeout=36000
to line load-module module-suspend-on-idle
in the /etc/pulse/default.pa
configuration file.
And now restart pulse by running pulseaudio --kill
and pulseaudio --start
.
Hibernate
- Add
resume=/dev/my-swap-partition
toGRUB_CMDLINE_LINUX_DEFAULT
line in/etc/default/grub
- Run
sudo grub-mkconfig -o /boot/grub/grub.cfg
- Add
resume
to the list ofHOOKS
in/etc/mkinitcpio.conf
beforefilesystems
but after allblock
,sata
and other hardware related hooks. - Run
sudo mkinitcpio -p linux
- Reboot
systemctl hibernate
should work now