Page 1 of 7 123 ... LastLast
Results 1 to 10 of 67

Thread: Lenovo Thinkpad Yoga Kubuntu 13.10

  1. #1
    Join Date
    Nov 2013
    Beans
    2

    Lenovo Thinkpad Yoga Kubuntu 13.10

    So. Here I sit and fiddle with this nice laptop of mine. Factory disk setup cloned. UEFI disabled. Kubuntu 13.10 desktop installed. Win 8.1 running in VirtuaBox.

    This is the business variant of Yoga. The screen (12.5") is foldable backwards so that keyboard and screen are back to back. The keyboard locks mechanically when folded.

    Things that work:
    Display in full 1920x1080
    USB 3 Ethernet dongle
    USB
    Keyboard
    Sound
    Wireless
    Bluetooth

    Things that don't quite work:
    Wacom pen and touch, no pressure, no finger klick
    Multitouch
    Autorotate screen

    Not tested:
    sdcard reader
    Fingerscanner - has no

    I don't know how to help make this laptop fully compatible with Linux. What should I try?

    Mind that this will to be my work laptop so I rather not break it ones a week. Twice is ok.

    / Risto Pekkala

    IT-manager
    www.teknikenshus.se

  2. #2
    Join Date
    Nov 2013
    Beans
    2

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Finger klick works after Unity desktop was installed and removed.

  3. #3
    Join Date
    Jul 2007
    Beans
    3

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Hi, I don't have a thinkpad yoga yet and my interest in getting one is dependent on its Linux compatibility.
    The author of the following thread also cited problems with the web-cam and with getting the thinkpad yoga to wake from sleep/hybernation.
    http://forums.lenovo.com/t5/Linux-Di...e/td-p/1341849

    Have you tried these? It would be nice to have a full running list of compatibility problems.

    Regarding pressure sensitivity. Could you post the output of running the following in the terminal:
    xsetwacom --list devices
    and then run the following command, but replace "Wacom Bamboo Connect Pen stylus" with the name of the stylus device returned in the previous command.
    xsetwacom --get "Wacom Bamboo Connect Pen stylus" all
    The results of this second command might give us some clues as to what is going on.
    -Jon

  4. #4
    Join Date
    May 2010
    Beans
    2

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Hi,

    I just bought one too, but i am not sure if i will keep it, can't get palm detection working. Can't write anything with it, it always recognises my palm as input. Very anoying.

    Anyhow here is the output you requested:

    xsetwacom --get "Wacom ISDv4 EC Pen stylus" all
    Option "Area" "41 -22 27692 15572"
    'Button' requires exactly 1 value(s).
    Option "ToolDebugLevel" "0"
    Option "TabletDebugLevel" "0"
    Option "Suppress" "2"
    Option "RawSample" "4"
    Option "PressureCurve" "0 0 100 100"
    Option "Mode" "Absolute"
    Option "TabletPCButton" "off"
    Option "Touch" "on"
    Option "Gesture" "off"
    Option "ZoomDistance" "0"
    Option "ScrollDistance" "0"
    Option "TapTime" "250"
    Property 'Wacom Proximity Threshold' does not exist on device.
    Option "Rotate" "none"
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Wheel Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Property 'Wacom Strip Buttons' does not exist on device.
    Option "Threshold" "27"
    Option "ToolType" "348"
    Option "ToolSerial" "0"
    Option "ToolID" "0"
    Option "ToolSerialPrevious" "1"
    Option "BindToSerial" "0"
    Option "TabletID" "236"

  5. #5
    Join Date
    Jul 2007
    Beans
    3

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Thanks for posting this output and sharing your experience with Palm rejection. Your output looks very similar to mine with a working wacom bamboo external tablet.

    If you do return it I'd be curious to hear what you do instead.

    Based on all of the reported hardware issues with the Thinkpad Yoga on Linux i'm starting to lean towards just using one of the new medium-sized intuos pro tablets with a dell XPS 13 developer edition.

  6. #6
    Join Date
    Jun 2011
    Beans
    42

    Cool Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    It felt good finding this thread when struggling with our new machine, no I am not alone

    So while there are many scripts out there to rotate the screen, I absolutely wanted the STMicro sensor-hub to work and rotate the screen for me. I failed there
    Therefore I took bytes of shell scripts here and there to achieve the perfect setup for my Yoga.

    First, is the famous script to rotate the screen 90degrees at a time and rotate the touchscreen and pen input also. I saved that to ~/scripts/TPYoga_Rotate.sh and associated it with keyboard shortcut Meta+O which occurs to be the keycode for the physical screen lock button. That script also disable the touchpad when orientation is different from laptop mode
    Code:
    #!/bin/bash
    
    # Script rotates screen 90deg on every run, and also rotates touchscreen and wacom input.
    # In modes other than normal, touchpad is deactivated.
    
    current_orientation(){
        xrandr|grep " connected" |awk '{print $4}'
    }
    #orientation=`current_orientation`
    case $( current_orientation ) in
        "(normal" )
            xrandr -o left
            xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate ccw
            xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate ccw
            synclient TouchpadOff=1
            xinput set-prop --type=int --format=8 "ELAN Touchscreen" "Evdev Axes Swap" "1"
            xinput set-prop "ELAN Touchscreen" "Evdev Axis Inversion" 1 0
            onboard &
            ;;
        "inverted" )
            xrandr -o right
    
            xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate cw
            xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate cw
            xinput set-prop --type=int --format=8 "ELAN Touchscreen" "Evdev Axes Swap" "1"
            xinput set-prop "ELAN Touchscreen" "Evdev Axis Inversion" 0 1
            ;;
        "right" )
            xrandr -o normal
            xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate none
            xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate none
            synclient TouchpadOff=0
            xinput set-prop --type=int --format=8 "ELAN Touchscreen" "Evdev Axes Swap" "0"
            xinput set-prop "ELAN Touchscreen" "Evdev Axis Inversion" 0 0
            killall onboard
            ;;
        "left" )
            xrandr -o inverted
            xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate half
            xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate half
            xinput set-prop --type=int --format=8 "ELAN Touchscreen" "Evdev Axes Swap" "0"
            xinput set-prop "ELAN Touchscreen" "Evdev Axis Inversion" 1 1
            ;;
        * )
            synclient TouchpadOff=0
            echo "c est autre chose"
            current_orientation
            #echo $orientation
            ;;
    esac
    Next is a script to disable the touchscreen when the pen is in proximity. I saved that to ~/scripts/TPYoga_PenInOut.sh and set it to start with the system. With that, I can rest my hand on the screen when using the pen, AND THAT IS AWESOME!!
    Code:
    #!/bin/bash
    
    # Deactivate touchscreen when wacom pen is in proximity
    # Activate touchscreen when wacom pen gets out
    
    sleeptime="0.5s"
    lastPenPosition="Proximity=Out"
    while true
    do 
        mssg="`xinput query-state "Wacom ISDv4 EC Pen stylus" | grep Proximity`"
        if [ ${#mssg} -gt 1 ]
        then
            inout="`echo $mssg | awk '{print $3}'`"
            case "$inout" in
                "Proximity=In" )
                    if [ $lastPenPosition != $inout ]
                    then
                        xinput --disable "ELAN Touchscreen"
                        lastPenPosition=$inout
                    fi
                    ;;
                "Proximity=Out" )
                    if [ $lastPenPosition != $inout ]
                    then
                        xinput --enable "ELAN Touchscreen"
                        lastPenPosition=$inout
                    fi
                    ;;
            esac
        fi
        sleep $sleeptime
    done
    Now that I can go paperless with Xournal, let's go back to productivity tweaks. One of the annoying thing on the thinkpad yoga was the default configuration for the touchpad. To tailor its behaviour to my liking I copied the file /etc/X11/xorg.conf.d/50-synaptics.conf and pasted it back with a higher precedence as 60-synaptics.conf. Then I copied most of the content from the original 50-xxxxx.conf and made some changes. Why not changing the content of 50-xxxxxx.conf outright? because with the next synaptics update the file will be reset. Now, what I changed was the order of the buttons:
    Code:
    Section "InputClass"
            Identifier "touchpad catchall"
            Driver "synaptics"
            MatchIsTouchpad "on"
            Option "TapButton1" "1"
            Option "TapButton2" "3"
            Option "TapButton3" "2"
            Option "PalmDetect" "1"
    # This option is recommend on all Linux systems using evdev, but cannot be
    # enabled by default. See the following link for details:
    # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
            MatchDevicePath "/dev/input/event*"
    EndSection
    This way, tapping with one finger is normal click, with 2 fingers is right-click and with 3 fingers is the third click. Seemed more natural to me. Although I set it, I dont know what the palmdetect option does?! Another section I modified in 60-synaptics.conf is the touchpad areas. Alala, what a nightmare in the begining when I couldnt click or eveytime I tapped the cursor would slip a few pixels from my target!! Now, the top 5% of the touchpad is inactive so I can rest my thumb beyond the touchpad red lines when using the track point. Same with the bottom edge, I deactivated the last 7% so the cursor doesnt slip when I try to do a right or middle click.
    Code:
    # This option enables the bottom right 40% to be a right button, the middle 20% a middle click and the rest of the clickpad a normal left click.
    # This option is only interpreted by clickpads.
    Section "InputClass"
            Identifier "Default clickpad buttons"
            MatchDriver "synaptics"
            Option "SoftButtonAreas" "60% 0 82% 0 40% 59% 82% 0"
    #       To disable the bottom edge area so the buttons only work as buttons,
    #       not for movement, set the AreaBottomEdge
        Option "AreaTopEdge" "5%"
        Option "AreaBottomEdge" "93%"
    EndSection
    With these basic modifications, my Manjaro setup is highly functional, with Xfce it is snappy, and with kwin it is beautiful!

    At last, a few things arent working still. "xinput list" says I have an eraser...is that the red end of the pen? I haven't managed to get it working so far. Also, what are the STMicro and Acer devices here? :
    Code:
    [gman@ThinkManjaro ~]$ lsusb
    Bus 003 Device 004: ID 056a:00ec Wacom Co., Ltd 
    Bus 003 Device 003: ID 0483:91d1 STMicroelectronics 
    Bus 003 Device 002: ID 8087:8000 Intel Corp. 
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 004: ID 5986:029d Acer, Inc 
    Bus 001 Device 003: ID 04f3:0254 Elan Microelectronics Corp. 
    Bus 001 Device 002: ID 8087:07dc Intel Corp. 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    I strongly suspect STMicro to be the sensor hub that includes the accelerometer. Getting it working would mean automatic rotation of the screen...I'd like that! The Acer device must be doing something too but I havent found out yet. On another command I remember 2 devices where not recognised and I believe it was these 2; I just forgot what command I typed. Finally the screen hinges are supposed to send some signal past the 180degree as we enter tent mode and tablet mode; only I couldnt find out the way to get this signal.
    Any help to get further hardware working would be greatly appreciated!

    But even as is, with the scripts in place, this machine is great! I love the way it feels, I love to touch it, I love its look and is mat finish, I love its performance. Last thing I want to say is, coming from a 13.3inch Dell XPS 13 laptop from 2008 with a resolution of 12xx*7xx, this 12.5inch screen with its great resolution feels large, bigger than my physically-bigger previous screen!
    Last edited by djahma; January 1st, 2014 at 02:30 PM.

  7. #7
    Join Date
    Mar 2011
    Beans
    45

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Inspired by djahma, I have put together a small, rough utility called spin that may be of use. I have tested it on my ThinkPad S1 Yoga with active digitiser.

    https://github.com/wdbm/spin

  8. #8
    Join Date
    Jun 2005
    Beans
    3

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    First of all, fantastic thread! Helped me already tremendously to get my laptop working well!

    Quote Originally Posted by djahma View Post
    Finally the screen hinges are supposed to send some signal past the 180degree as we enter tent mode and tablet mode; only I couldnt find out the way to get this signal.
    Any help to get further hardware working would be greatly appreciated!
    I think I can help with this issue: I figured out that there is an ACPI event triggered when the screen is completely folded to tablet mode (only when folded completely 360 degrees, unfortunately not after 180 degrees).
    Also, note that the same event is triggered when the laptop is folded to tablet mode, as well when it's folded back to laptop mode

    One can use this ACPI event to run some script like. For this, one needs to put an event script into /etc/acpi/events:

    Code:
    # /etc/acpi/events/ibm-tabletmode
    # This is called when the user completely flips the display and calls
    # /etc/acpi/ibm-tabletmode.sh for further processing.
    
    event=ibm/hotkey LEN0068:00 00000080 000060c0
    action=/etc/acpi/ibm-tabletmode.sh
    I wanted something simple, deactivate touchpad and touchscreen (I only want to use the pen in tablet mode), which I achieved with
    this script as /etc/acpi/ibm-tabletmode.sh:

    Code:
    #! /bin/bash
    # When converted to tablet, switch off touchpad and touchscreen
    # Since opening and closing tabletmode is signaled by the same ACPI event,
    # the script toggles the touchpad/touchscreen.
    
    touchscreen=$(xinput list-props "ELAN Touchscreen" | grep "Device Enabled" | awk -F ":" '{print $2}')
    touchpad=$(xinput list-props "SynPS/2 Synaptics TouchPad" | grep "Device Enabled" | awk -F ":" '{print $2}')
    
    if [ $touchscreen -eq 1 ]; then
        xinput --set-prop "ELAN Touchscreen" "Device Enabled" 0;
    else
        xinput --set-prop "ELAN Touchscreen" "Device Enabled" 1;
    fi
    
    if [ $touchpad -eq 1 ]; then
        xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0;
    else
        xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1;
    fi
    This script toggles touchpad/touchscreen (toggling is necessary as the folding/unfolding gives the same ACPI event.

    Now, this is very simple, in principle it is also possible with a little more effort to trigger one of the more complicated scripts shown above.

    I haven't made any progress with the accelerometer: older thinkpads cold use a kernel module named hdaps, but this does not seem to work on this machine.

    One problem that I still have is that with the brightness keys, I can only change the brightness in 4 discrete steps, although the brightness bar shows more intermediate steps! Any ideas?

  9. #9
    Join Date
    Jun 2011
    Beans
    42

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    Quote Originally Posted by mikewimmer View Post
    One can use this ACPI event to run some script like. For this, one needs to put an event script into /etc/acpi/events:

    Code:
    # /etc/acpi/events/ibm-tabletmode
    # This is called when the user completely flips the display and calls
    # /etc/acpi/ibm-tabletmode.sh for further processing.
    
    event=ibm/hotkey LEN0068:00 00000080 000060c0
    action=/etc/acpi/ibm-tabletmode.sh
    Thank you Mike! This trick is superb!
    How have you found out the correct hotkey to watch? Is there a way to see/read these hotkeys as they occur? We could go a lot further in integrating our hardware in our OS if we could discover them. Googling for a way to read them, some guy said to do "cat /proc/acpi/events"; unfortunately there is no such file in my system.

    One problem that I still have is that with the brightness keys, I can only change the brightness in 4 discrete steps, although the brightness bar shows more intermediate steps! Any ideas?
    I've assigned a command in "application shortcuts" under xfce, in the keyboard settings: "xbacklight -dec 5%" for the XF86MonBrightnessDown key; and "xbacklight -inc 5%" for the XF86MonBrightnessUp key. I don't have the nice desktop visual anymore as I press these keys, but at least brightness is finely tuned now.

  10. #10
    Join Date
    Jun 2011
    Beans
    42

    Re: Lenovo Thinkpad Yoga Kubuntu 13.10

    hmhm... Actually, I can't manage to get the /etc/acpi/events trick to work the script by itself works fine, its path in the events/file is correct, I copied pasted your code, the online literature says it is as simple as you wrote it...but it doesn't work on my side!
    I discovered kacpimon along the way: there are many events we could plug to, expecially the 4 special keys above f9-f12 which do not work at the moment

Page 1 of 7 123 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •