Re: How to Rotate the Screen for a TX2000 Tablet PC
OK, this might be a bug, it might be my own model being wonky, so I'll try and be as detailed as I can.
Lenovo X61 Tablet (7764-CTO)
Jaunty 9.04 amd64
Used Tom's deb from Method #3
4 out of 5 times, everything works fine! That 5th time, however, calibration is suddenly lost after rotating. When this happens, half the time the tablet thinks it's still in Landscape mode, the other half it goes to portrait but my input is about an inch off.
Opening wacomcpl and recalibrating fixes everything, and it holds its calibration through rotations for the next 4 out of 5 times.
Just seems to be a random glitch.
Re: How to Rotate the Screen for a TX2000 Tablet PC
Hi Zuke24,
Rather than redoing wacomcpl you could set up a launcher to rerun the "/home/username/.xinitrc" of wacomcpl.
I think the problem is probably your Intel graphics, which is why I wanted to identify it. You should be able to pull it out of "lspci". Or it's interaction with Compiz.
You could try turning off Compiz and just using Metacity.
Or you could look into the Intel issue. Some links:
http://ubuntuforums.org/showthread.php?t=1130582
http://www.ubuntugeek.com/intel-grap...nty-users.html
http://www.linuxpromagazine.com/Onli...aphics-Drivers
https://wiki.ubuntu.com/X/Troublesho...20the%20driver
Re: How to Rotate the Screen for a TX2000 Tablet PC
Hello,
I myself am using the HP Touchsmart tx2z and I went straight to the Appendix 2 and did some reading. I understand you have to edit the xorg.conf file which I have already done but I have gotten really confused on the rest of it. I tried installing the kernels on another thread which wouldn't install. Another thread led me to install all the source files for custom kernels which I ended up in a dead end. in Is there no thread which explains the steps more thoroughly without sending me from thread to thread because I have been trying to get this for over an hour unsuccessfully. If I can get any help it would be greatly appreciated. Thank you very much.
Re: How to Rotate the Screen for a TX2000 Tablet PC
Hi akand074,
Welcome to Ubuntu forums!
No, Ayuthia hasn't done a HOW TO. You should just need the xorg.conf and install the deb.s. Just download them and dbl-click them. Did you choose the correct ones for your cpu architecture? There's probably a little more information on his first post with the older deb.s You're better off posting on the thread where the deb.s are. What error message did you get?
Another thread where folks got things going: http://ubuntuforums.org/showthread.php?t=1206355&page=2 But you'll have to skim through a bit and no one has had problems installing the deb.s I'm aware of.
1 Attachment(s)
Re: How to Rotate the Screen for a TX2000 Tablet PC
Auto-magic Rotation HOW TO: for Intrepid, Jaunty, Karmic, and Lucid brought to us courtesy of Red_Lion post #576 in the "Re: Info and help for HP TX2500 Series" thread.
Red_Lion supplied the "hp-wmi.c" source code and his custom Makefile. The makefile was for 2.6.30 (in Jaunty) but works fine in 2.6.27 (Intrepid). Actually as far as I can tell the "hp-wmi.c" source code is the same from 2.6.27 to 2.6.30. If you want to verify this or get the source code directly use the links below.
The following assumes you have your video set up for rotation. See Appendix 1 in the Rotation HOW TO on the first page, first post of this thread.
First check to see if you already have HP-WMI installed:
Code:
modprobe -l | grep hp-wmi
If it is there, and it should be in Jaunty, Karmic, and Lucid, no need to compile it (thank you Red_Lion for pointing this out).
Next check 'lsmod' in a terminal:
In Intrepid you should see wmi. You should also see hp-wmi after you compile and install it, and then add it to the 'modules' file in "/etc/" as described below. In Jaunty, Karmic, and Lucid you should see only hp-wmi. If you don't you'll need to add it to 'modules' as below. The difference is due to the Ubuntu kernel team adding wmi to the kernel starting with Jaunty. So it's now wmi.h in "linux-headers" rather than wmi.ko in "linux-images".
For Intrepid download the hp_wmi.tar.gz onto your desktop. Extract it. In a terminal enter:
Code:
cd ./Desktop
cd hp_wmi
make
sudo make install
The "hp-wmi.ko" will be installed in "/lib/modules/`uname -r`/extra/".
To make hp-wmi active (i.e. present in lsmod) add "hp-wmi" (without the quotes) to the end of the "modules" file using:
Code:
gksudo gedit /etc/modules
Save and close.
Using Text Editor (gedit) open and place in an empty file the following script:
Code:
#!/bin/bash
# From Red_Lion post #576: http://ubuntuforums.org/showthread.php?t=845911&page=58
old="0"
while true; do
if [[ -e /sys/devices/platform/hp-wmi/dock ]]; then
new=`cat /sys/devices/platform/hp-wmi/dock`
if [[ $new != $old ]]; then
# -Close and restart Cairo Dock so it resizes on rotation.
# killall -9 cairo-dock &
# sleep 2s
if [[ $new == "0" ]]; then
echo "Rotate to landscape, hide cellwriter."
xrandr -o normal
xsetwacom set stylus rotate NONE
xsetwacom set eraser rotate NONE
xsetwacom set touch rotate NONE
# cellwriter --hide-window
elif [[ $new == "4" ]]; then
echo "Rotate to portrait, show cellwriter."
xrandr -o right
xsetwacom set stylus rotate CW
xsetwacom set eraser rotate CW
xsetwacom set touch rotate CW
# cellwriter --show-window
fi
# cairo-dock -o &
fi
old=$new
sleep 1s
fi
done
Note: In Lucid there has been a change to the device naming convention (actually true in Jaunty and Karmic also, but you can ignore it if using one of the modified wacom.fdi's). To get your devices to rotate enter 'xinput --list' in a terminal. Find the device names that correspond to stylus, eraser (if you have one), and touch. Then substitute the longer more descriptive device names (with the quotes) in for stylus, eraser, and touch in the script's xsetwacom commands. You can also use the ID numbers. There is a bug using the Lucid default wacom.ko (from linuxwacom version 0.8.4-4(?)). Stylus and touch are called the same, namely "Wacom ISDv4 93", for TX2500 & TX2000's. So for at least touch use the ID number. If you've compiled and installed linuxwacom 0.8.5-12 or 0.8.6-2 (or up) wacom.ko this bug was fixed.
Save it in "/home/yourusername/" as ".automagic_rotation.sh" (without the quotes), or whatever you want to name it. Close Text Editor. Back in the terminal:
Code:
cd ~/
chmod +x ~/.automagic_rotation.sh
Then in Intrepid go to System->Preferences->Sessions and click on Add and for the command enter "/home/yourusername/.automagic_rotation.sh" (without the quotes). And title it “Auto-magic Rotation” or whatever you like. Remember ".automagic_rotation.sh" will be a hidden file and to view it you'll have to check Show Hidden Files in View.
In Jaunty, Karmic, & Lucid go to System->Preferences->Startup Applications and click on Add and for the command enter "/home/yourusername/.automagic_rotation.sh" (without the quotes). And title it “Auto-magic Rotation” or whatever you like.
As you can see from the commented out lines Red_Lion likes to have CellWriter show itself when in portrait/tablet orientation. I have Cairo Dock which needs to be restarted on rotation so that it correctly resizes. I left the lines in to demonstrate what you can do. For example you could integrate the Compiz_off_Rotation script into it if you have ATI video but want Compiz in landscape as I do in post #284.
Reboot. You should now have auto-magic rotation when you rotate your screen on the swivel hinge!
If you have used, or are planning on using, the patch Matthew Garrett (HP-WMI module maintainer) supplied to MisteR2 first you need to change 'dock' to 'tablet' on the "trigger line" according to Ayuthia. The patch separates out the swivel hinge signal from the "dock event" and calls it 'tablet'. This is obviously more technically correct and probably necessary for those of you with docks. Otherwise docking may trigger rotation. The patch, called "hp-wmi.diff", is attached to MisteR2's post #106 in this thread. The patch is included in the HP-WMI for kernel 2.6.31. So in Karmic you will also need to make these changes.
So in the script change:
Code:
/sys/devices/platform/hp-wmi/dock
to
Code:
/sys/devices/platform/hp-wmi/tablet
Which is how MisteR2 has the line in his "rotate_screen_inotify_v2.sh" script in post #206 in this thread.
Additionally the '4' needs to be changed to a '1' in the 'elif' portrait rotation line (per Ayuthia). So:
Code:
elif [[ $new == "1" ]]; then
Note: In Karmic cak3 has another take on automatic rotation. He wrote a little bash "daemon" and uses Tom Jaeger's WacomRotate daemon (method 3). See post #374.
Appendix 1: hp-wmi.c source code blobs in the kernel git trees
kernel 2.6.27: http://git.kernel.org/?p=linux/kerne...712ccd2da1b220
kernel 2.6.30: http://git.kernel.org/?p=linux/kerne...712ccd2da1b220
Appendix 2: Explanation of WMI
For those who are curious about the WMI BIOS interface here is a brief explanation:
Quote:
This driver adds support for the ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) found on some systems.
NOTE: You will need another driver or userspace application on top of this to actually use anything defined in the ACPI-WMI mapper. ACPI-WMI is a proprietary extension to ACPI to expose parts of the ACPI firmware to userspace - this is done through various vendor defined methods and data blocks in a PNP0C14 device, which are then made available for userspace to call.
The implementation of this in Linux currently only exposes this to other kernel space drivers.
This driver is a required dependency to build the firmware specific drivers needed on many machines, including Acer and HP laptops. [i.e. HP-WMI]
It is safe to enable this driver even if your DSDT doesn't define any ACPI-WMI devices.
From: http://www.mail-archive.com/linux-ac.../msg11962.html
Re: How to Rotate the Screen for a TX2000 Tablet PC
Favux, tnx for post information here.
BEFORE you make hp_wmi compile - check what it not present in you system:
Code:
modprobe -l | grep hp_wmi
If resulf of command is empty - need to compile hp_wmi module.
Re: How to Rotate the Screen for a TX2000 Tablet PC
Hi Red_Lion and Favux
I have been away from this list for a loooong time, but today I suddenly got an email from another list, that I should take look on this rotationlist.....and I must say you guys have been WORKING!!! :-D
WAUW....the guide in #225 from Favux worked out-the-box first time. Thanks!!!
When I rotate my screen I usually wants the screen to rotate 180 degrees, so I just changed the xrandr command from "right" to "inverted".
Code:
elif [[ $new == "4" ]]; then
echo "Rotate to portrait, show cellwriter."
xrandr -o right
to
Code:
elif [[ $new == "4" ]]; then
echo "Rotate to portrait, show cellwriter."
xrandr -o inverted
...if somebody else wants to rotate 180 degrees?!
And by the way I have a tx2510eo with Ubuntu 9.04 and kernel 2.6.28-15-generic
Martin :-)
EDIT:
..too fast! I now have to work on the calibration. When the screen is rotated the mouse is off by at least 10 cm. I probably will come back soon! :-)
EDIT:
...and when the screen is rotated only 90 degrees (xrandr right) calibration works fine!
Re: How to Rotate the Screen for a TX2000 Tablet PC
For normal calibration need to rotate aslo stilys, eraser and touch.
Code:
xrandr -o inverted
xsetwacom set stylus rotate HALF
xsetwacom set eraser rotate HALF
xsetwacom set touch rotate HALF
Re: How to Rotate the Screen for a TX2000 Tablet PC
to Red_Lion
Code:
xrandr -o inverted
xsetwacom set stylus rotate HALF
xsetwacom set eraser rotate HALF
xsetwacom set touch rotate HALF
Works perfect. Thanks!
Martin :-)
Re: How to Rotate the Screen for a TX2000 Tablet PC
This makes me wish that I still had my tx2000z! :(