Lenovo Y500

From Gentoo Wiki
Jump to: navigation, search

Lenovo Y500 is very good laptop for installing gentoo:

  • It has powerful CPU for fast compilations
  • SSD to make all portage operations very quick. (Could be upgraded with larger size models)
  • All hardware I used in it is supported very well.
  • CDROM could be easily replaced with extra SDD/HDD/VideoCard if needed

Here is a guide how to make gentoo up and running on it Also I think most of staff here applies for Lenovo Y510 as well.

Hardware

Hardware Manufacturer Model Specification
Processor Intel i7-3630QM CPU 2.40GHz
Mainboard Chipset Intel U3E1 Chipset
RAM Elpida 8GB
Graphics Card GeForce GT GK107M (650M series)
Harddisk1 SanDisk SSD U100 16GB
Harddisk2 Seagate ST1000LM024 momentus spinpoint 1TB
Display LG 15.6" WLED Glossy 16:9 1080p (1920x1080)
Sound Card Intel 7 Series/C210 Series Chipset Family High Definition Audio Controller
Network (LAN) Atheros AR8161 Gigabit Ethernet (rev 10)
Network (Wireless) Intel Wireless-N 2230 2.4GHz, 802.11a/b/g/n
USB 3.0 Host Controller
FireWire 1394 N/A N/A
Jmicron Card Reader N/A N/A SD/MMC/xD/MemoryStick(MS)/MS Duo/MS-HG
root # lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
00:1c.1 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 [8086:1e12] (rev c4)
00:1c.3 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 [8086:1e16] (rev c4)
00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation HM76 Express Chipset LPC Controller [8086:1e59] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller [8086:1e22] (rev 04)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107M [GeForce GT 650M / GTX 660M LE] [10de:0fd1] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
02:00.0 Ethernet controller [0200]: Qualcomm Atheros AR8161 Gigabit Ethernet [1969:1091] (rev 10)
03:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:4238] (rev 3e)
04:00.0 System peripheral [0880]: JMicron Technology Corp. SD/MMC Host Controller [197b:2392] (rev 30)
04:00.2 SD Host controller [0805]: JMicron Technology Corp. Standard SD Host Controller [197b:2391] (rev 30)
04:00.3 System peripheral [0880]: JMicron Technology Corp. MS Host Controller [197b:2393] (rev 30)
04:00.4 System peripheral [0880]: JMicron Technology Corp. xD Host Controller [197b:2394] (rev 30)
root # lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 002: ID 5986:0525 Acer, Inc 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c044 Logitech, Inc. LX3 Optical Mouse

make.conf

File/etc/portage/make.conf

CFLAGS="-O2 -pipe -march=native -msse4 -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j5"
VIDEO_CARDS="nvidia"
INPUT_DEVICES="synaptics evdev"

 # ...some my own use flags


Some Y500 specific workarounds

These are workarounds to setup hardware which does not work well out of the box

Ethernet

For the kernels older than 3.11 development branch it's necessary to use backports:

  1. Download latest backports from here . I used this driver backports-3.10-2.tar.bz2
  2. Unpack somewhere
  3. run make menuconfig
  4. Uncheck all excepting the [*] Ethernet driver support --->
Kernel configurationMain

    < > codel                                                                
       < > FQ codel                                                             
       [ ] Build all compat code                                                
       < > cfg80211 - wireless configuration API                                
           *** CFG80211 needs to be enabled for MAC80211 ***                    
       < > Bluetooth subsystem support  --->                                    
       [ ] Wireless LAN  --->                                                   
       [*] Ethernet driver support  --->                                        
           USB Network Adapters  --->                                           
           Sonics Silicon Backplane  --->                                       
           Broadcom specific AMBA  --->                                         
       < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  -   
       < > NFC subsystem support  --->

Go inside Ethernet driver support and check Atheros AR8161 driver:

Kernel configurationEthernet driver support

      --- Ethernet driver support                                              
       [*]   Atheros devices                                                    
       < >     Atheros L2 Fast Ethernet support                                 
       < >     Atheros/Attansic L1 Gigabit Ethernet support                     
       < >     Atheros L1E Gigabit Ethernet support                             
       < >     Atheros L1C Gigabit Ethernet support                             
       <M>     Qualcomm Atheros AR816x/AR817x support                           
       [ ]   Broadcom devices
Run following commands to make and install driver to your current kernel: 
    1. make
    2. make modules
    3. make install
    4. make modules_install
    5. Afer reboot you kernel should load alx driver automatically. If it's not happen try to run manually modprobe alx.

Web Camera

Nothing really special:

  • Check kernel driver called USB Video Class (UVC)
Kernel configuration

     
      -> Device Drivers                                                  
         -> Multimedia support                               
           -> Media USB Adapters
      *** Webcam devices ***                                           
<M>   USB Video Class (UVC)                                            
[*]     UVC input events device support                                
<M>   GSPCA based webcams  --->                                        
<M>   USB Philips Cameras                                              
[ ]     USB Philips Cameras verbose debug                              
[*]     USB Philips Cameras input events device support                
<M>   CPiA2 Video For Linux                                            
<M>   USB ZR364XX Camera support                                       
<M>   USB Syntek DC1125 Camera support                                 
<M>   USB Sensoray 2255 video capture device                           
<M>   USB SN9C1xx PC Camera Controller support (DEPRECATED)            
      *** Webcam, TV (analog/digital) USB devices ***                  
<M>   Empia EM28xx USB video capture support                           
<M>     Empia EM28xx ALSA audio module
  • emerge media-libs/libv4l

Touchpad

Touch by default is very jumpy. To workaround it you will have to install following minimum versions of synaptics and evdev:
x11-drivers/xf86-input-synaptics-1.8.0
dev-libs/libevdev-1.2.2
That's it. After touchpad works awesome (however on older version it's terrible and jumpy. You would not want even use it ;)
To make cursor less speedy you could use the following config:

File/etc/X11/xorg.conf.d/50-touchpad.conf

Section "InputClass"
        Identifier "touchpad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        Driver "synaptics"
        # tweak the X-server pointer acceleration
        Option "AccelerationProfile" "2"
        Option "AdaptiveDeceleration" "16"
        Option "ConstantDeceleration" "16"
        Option "VelocityScale" "32"
EndSection

If the touchpad is too slow/fast you can play with a speed parameters.

Wifi card Upgrade

Built in wifi card is very slow : | Wireless-N 2230 2.4GHz, 802.11a/b/g/n . It shown speeds ~6MB per seconds.
I invested 30 bucks and replaced it with decent Intel 7260 AC card. It shows speeds ~30MB per secons with AC router
Due to Lenovo blacklists all unwanted wifi cards in the bios you will need to install modified bios. Follow this link. It worked pretty well for me