Lenovo ThinkPad W520 - ArchWiki

Jump to content

# Lenovo ThinkPad W520

From ArchWiki

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

Reason: Notepad-like style (Discuss in Talk:Lenovo ThinkPad W520)

## GPT / MBR Partition Table

I was unable to get the most recent version of the BIOS to boot from a GPT partition table. Everything worked fine once I tried an MBR ("msdos" in gparted) partition table.

## Wifi issues

- Random Disconnection
  - The output from running `dmesg | grep wlan0` as root will include "wlan0: deauthenticating from MAC by local choice (reason=3)"
  - Disable power management of pci-express in BIOS

## Nvidia Optimus Setup

### Bumblebee

nVidia Optimus works nicely with a standard bumblebee setup, using the proprietary NVIDIA drivers. For further information refer to the NVIDIA Optimus article.

### Multimonitor

The digital and analog video outputs are hardwired to the nVidia chip and are thus unvailable in a standard bumblebee setup, since the X Server is run by the Intel GPU. Unlike earlier Thinkpad W Models, the VGA-Output is not connected to the integrated chip. There are several workarounds available.

Using `intel-virtual-output` works really well with little tweaking necessary

    $ intel-virtual-output -f

Note: -f prevents it from becoming a daemon (thus easier to stop)
Note: Starting with nvidia-360 the nvidia-modeset module will prevent bumblebee from unloading properly and has to be removed first.

It is needed to enable virtual outputs for intel graphic card `xorg.conf.d`.

    20-intel.conf

    Section "Device"
        Identifier "intelgpu0"
        Driver "intel"
        Option "VirtualHeads" "2"
    EndSection

see also Stackexchange for troubleshooting with virtual outputs

    multiscreen_enable.sh

    #!/bin/bash
    # Initializes Bumblebee for multi-screen functionality.

    #modprobe bbswitch # probably not needed
    optirun true
    intel-virtual-output
    #following line needs to be adapted to the according sceanrio
    xrandr --output LVDS1 --auto --pos 0x0 --output VIRTUAL8 --mode VIRTUAL8.740-1920x1200 --pos 1920x-60

    multiscreen_term.sh

    #!/bin/bash
    # Initializes Bumblebee for multi-screen functionality.
    xrandr --output VIRTUAL8 --off
    xorg_process=$(ps aux | grep 'Xorg :8' | awk '{print $2}')
    kill -15 $xorg_process
    sleep 1
    rmmod nvidia_modeset
    sleep 1
    rmmod nvidia

    multiscreen_reinit.sh

    #!/bin/bash
    # Restarts Bumblebee for multi-screen functionality.

    tee /proc/acpi/bbswitch <<<ON
    modprobe bbswitch
    modprobe nvidia-modeset
    optirun true
    intel-virtual-output
    xrandr --output LVDS1 --auto --pos 0x0 --output VIRTUAL8 --mode VIRTUAL8.740-1920x1200 --pos 1920x-60

For the nvidia card to recognize external monitors, some lines have to be commented out of the default config file at `/etc/bumblebee/xorg.conf.nvidia`.

    xorg.conf.nvidia

    ...
     #   Option "UseEDID" "false"
     #   Option "UseDisplayDevice" "none"
    ...

see also: Phoronix Nvidia Forums

## Ultranav - Trackpoint and Touchpad

This article or section is a candidate for merging with TrackPoint.

Notes: Merge into the main article, then just link to it instead of duplicating content. (Discuss in Talk:Lenovo ThinkPad W520)

Trackpoint and Touchpad will work out of the box, but some tweaking is required for further configuration.

- Set up trackpoint scrolling by adding a new config in `xorg.conf.d`.

    20-trackpoint.conf

    Section "InputClass"
             Identifier      "Trackpoint Wheel Emulation"
             MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
             MatchDevicePath "/dev/input/event*"
             Option          "EmulateWheel"                "true"
             Option          "EmulateWheelButton"  "2"
             Option          "Emulate3Buttons"     "false"
             Option          "XAxisMapping"                "6 7"
             Option          "YAxisMapping"                "4 5"
    EndSection

- Trackpoint sensitivity and speed can be set up using an udev rule in `/etc/udev/rules.d/` (the add-rule will work around the configuration not being applied when the trackpoint hasnt been loaded, alternatively a wait-for can be used, which comes with the added drawback of added unresponsiveness of the trackpoint some time after boot)

    82-trackpoint.rules

    # Set the trackpoint speed and sensitivity
    ACTION=="add",SUBSYSTEM=="input",ATTR{name}=="TPPS/2 IBM TrackPoint",ATTR{device/sensitivity}="240"

- Touchpad can be used after installing xf86-input-synaptics

## Other

- Boot up issue with UDEV timeout
  - cat /var/log/boot | grep -i pci reveals udevd[169]: seq 1352 '/devices/pci0000:00/0000:00:1c.1/0000:03:00.0' killed
    - Found similar issue here Arch Bugs Report
- Disable annoying system beep
  - Insert "blacklist pcspkr" into /etc/modprobe.d/pcspkr_blacklist.confor
  - Reboot or rmmod pcspkr
- Screen brightness setting doesnt work after linux 3.16
  - since 3.16 video.use_native_backlight has been enabled by default, unfortunately this setting does not work well for the W520, disabling it should solve the issue

    video.use_native_backlight=0

The following may also be necessary to get backlight control working in X sessions with NVidia drivers. Add the following to your kernel parameters:

    acpi_backlight=video

and create the file /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "Quadro 1000M"
        Option         "RegistryDwords" "EnableBrightnessControl=1"
    EndSection

## FAN Settings with Thinkfan

Default temperature management allows only a limited fan speed. This inherently leads to overheating since the laptop is designed to run with unregulated fan speed under full load.

Thinkfan.conf:

    thinkfan.conf

    Section
    hwmon /sys/devices/virtual/thermal/thermal_zone0/temp
    # Fan   Temp1   Temp2
    (0,     0,      35)
    (1,     30,     40)
    (2,     35,     45)
    (3,     40,     50)
    (4,     45,     55)
    (5,     50,     60)
    (6,     55,     65)
    (7,     60,     70)
    (127,   65,     32767)
    # last line is unregulated/max speed.  Like this the Laptop will be ~ at 60
    EndSection

Category:

- Lenovo

Hidden categories:

- Pages or sections flagged with Template:Laptop style
- Pages or sections flagged with Template:Merge