# Lenovo ThinkPad W520

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: 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