Magick Rotation on Acer W500
So I'm anxious to begin using Magick Rotation but I can't seem to figure out why its not working. I run the MAGICK-INSTALL and everything installs fine but thats as far as this story goes. I have tried both the automatic and manual installs and get the same results....NOTHING. I have read about the success stories people have with the W500 and Magick Rotation so I figure I must be overlooking something simple. I know after the install there should be a green arrow in the panel bar but like I said. I get nothing. A little help would be great.
Question information
Revision history for this message
![]() |
#1 |
Hi hoboscience,
I'm glad you asked. I've been curious ever since I saw the video by Kathleenhenri as to how Magick Rotation worked on the Acer Iconia W500. I should rewatch it I suppose.
It sounds like the install went OK as far as that goes. Assuming you still have Magick installed open a terminal and change directory to it:
cd /usr/share/
I suspect the new install check in magick-rotation is the problem. Since there isn't a udev rule for Acer's I suspect it will complain about not finding 62-magick.rules. Let's confirm that. In the terminal what is the output of?
python2 magick-rotation
Flying a little blind because you haven't told me what release of Ubuntu or other Distro you are using or what version of Magick.
Revision history for this message
![]() |
#2 |
Hi Favux,
Thanks for the response.
Well after running "python2 magick-rotation" I am prompted
"Please install 62-magick.rules in /etc/udev/rules.d.
I have confirmed that 62-magick.rules is in the folder and so it did copy during the installation.
I have been toying with this program for a few weeks now off and on. I have attempted magick-rotation on Ubuntu versions 11.10, 12.04, 12.10 and fedora versions 16 and 17. All leading to the same results. The program installs but doesn't work. I have tested with Magick versions 6.2 and 6.1.
I have only been testing on 32 bit distros and currently running Ubuntu 12.10 / Magick 6.2
Thanks
Revision history for this message
![]() |
#3 |
Without Magick running does the Acer tablet change screen orientation when you rotate the tablet? But touch doesn't rotate to follow the screen orientation? Oh, and it is a slate, correct?
Let's modify the install check.
gksudo gedit /usr/share/
First at the bottom of the magick-rotation file comment it out.:
# if os.path.
# if os.path.
# magick = engine()
# magick.run()
# elif os.path.exists(path + "/" + checkmagick_
# magick = engine()
# magick.run()
# else:
# print "Please compile checkmagick."
# print "See INSTALLER.txt in the unpacked magick-rotation folder."
# else:
# print "Please install 62-magick.rules in /etc/udev/rules.d."
# print "See INSTALLER.txt in the unpacked magick-rotation folder."
Then add below it just a checkmagick check:
if os.path.
magick = engine()
Make sure the indentations are the same.
The Magick Rotation icon should be in the system tray after a restart. What happens when you rotate now?
Revision history for this message
![]() |
#4 |
Thanks! Were getting closer....the MagickRotation Arrow is now appearing in the system tray. Unfortunately nothing happens when I rotate the slate..(yes it is a slate). So where should we go from here?
Revision history for this message
![]() |
#5 |
So the screen orientation doesn't change when you rotate the slate whether or not Magick is running?
Open a terminal and to rotate to right portrait try:
xrandr -o right
Back to normal would be:
xrandr -o normal
Does touch rotate with screen orientation? If not use:
/usr/
and for normal:
/usr/
Described in Magick-README.txt under XROTATE.PY. Does touch rotate now?
Revision history for this message
![]() |
#6 |
Well unforturnately yes, the slate screen does not rotate when Magick is running. I would be okay with that and only use the launchers but again unfortunately.
Revision history for this message
![]() |
#7 |
I can't follow what you are telling me. Could you unpack it a little?
What works when?
What is the output of 'xinput list' in a terminal? Have you
installed a driver for the touchscreen? If so what driver?
Revision history for this message
![]() |
#8 |
Sorry, I'll be more clear.
xinputlist:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SONiX USB Keyboard id=12 [slave pointer (2)]
⎜ ↳ eGalaxTouch Virtual Device for Single id=15 [slave pointer (2)]
⎜ ↳ eGalaxTouch Virtual Device for Multi id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ 1.3M Rear id=9 [slave keyboard (3)]
↳ 1.3M Front id=10 [slave keyboard (3)]
↳ SONiX USB Keyboard id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Acer WMI hotkeys id=14 [slave keyboard (3)]
So these are the symptoms
Slate does not rotate automatically when it's rotated.
Using "xrandr -o right" and " xrotate.py right" rotates the screen but the touch points on the screen do not calibrate properly. EX. if I click on the bottom right of the screen it's registered in the top right. If I click in the bottom left its registered on the bottom right. Top right registers on the top left. and the top left registers on the bottom left. Switching back to normal mode the calibrations are not corrected.
I have not installed any video drivers on this machine. The only driver I'm using is the one ubuntu must have assigned when I installed.
Hope that helps
Revision history for this message
![]() |
#9 |
Okay, thanks.
I'm guessing the others had touch on evdev and maybe you don't. Let's find out. What's the output of?
xinput list-props 15
and also use 16. Do you have single or multi finger touch.
Revision history for this message
![]() |
#10 |
xinput list-props 15:
Device 'eGalaxTouch Virtual Device for Single':
Device Enabled (136): 1
Coordinate Transformation Matrix (138): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (260): 0
Device Accel Constant Deceleration (261): 1.000000
Device Accel Adaptive Deceleration (262): 1.000000
Device Accel Velocity Scaling (263): 10.000000
Device Product ID (253): 3823, 16
Device Node (254): "/dev/input/
Evdev Axis Inversion (264): 0, 0
Evdev Axis Calibration (265): <no items>
Evdev Axes Swap (266): 0
Axis Labels (267): "Abs X" (325), "Abs Y" (326)
Button Labels (268): "Button Left" (139), "Button Unknown" (256), "Button Right" (141), "Button Wheel Up" (142), "Button Wheel Down" (143)
Evdev Middle Button Emulation (269): 0
Evdev Middle Button Timeout (270): 50
Evdev Third Button Emulation (271): 0
Evdev Third Button Emulation Timeout (272): 1000
Evdev Third Button Emulation Button (273): 3
Evdev Third Button Emulation Threshold (274): 20
Evdev Wheel Emulation (275): 0
Evdev Wheel Emulation Axes (276): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (277): 10
Evdev Wheel Emulation Timeout (278): 200
Evdev Wheel Emulation Button (279): 4
Evdev Drag Lock Buttons (280): 0
xinput list-props 16:
Revision history for this message
![]() |
#11 |
xinput list-props 16:
Device 'eGalaxTouch Virtual Device for Multi':
Device Enabled (136): 1
Coordinate Transformation Matrix (138): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (260): 0
Device Accel Constant Deceleration (261): 1.000000
Device Accel Adaptive Deceleration (262): 1.000000
Device Accel Velocity Scaling (263): 10.000000
Device Product ID (253): 3823, 32
Device Node (254): "/dev/input/
Evdev Axis Inversion (264): 0, 0
Evdev Axis Calibration (265): <no items>
Evdev Axes Swap (266): 0
Axis Labels (267): "Abs MT Position X" (337), "Abs MT Position Y" (338), "Abs MT Pressure" (339), "None" (0), "None" (0), "None" (0)
Button Labels (268): "Button Unknown" (256), "Button Unknown" (256), "Button Unknown" (256), "Button Wheel Up" (142), "Button Wheel Down" (143)
Evdev Middle Button Emulation (269): 0
Evdev Middle Button Timeout (270): 50
Evdev Third Button Emulation (271): 0
Evdev Third Button Emulation Timeout (272): 1000
Evdev Third Button Emulation Button (273): 3
Evdev Third Button Emulation Threshold (274): 20
Evdev Wheel Emulation (275): 0
Evdev Wheel Emulation Axes (276): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (277): 10
Evdev Wheel Emulation Timeout (278): 200
Evdev Wheel Emulation Button (279): 4
Evdev Drag Lock Buttons (280): 0
I am using multitouch. You should also know I am using EGalax's "eGtouch" multitouch drivers
Revision history for this message
![]() |
#12 |
Let's see if I can explain this clearly enough.
When you first posted I checked the kernel source code looking at acer-wmi.c. That's in /drivers/
But if they were essentially using xrotate.py as a stand alone script why didn't they say so? Depending on what kernel they had and so which eGalax kernel driver they may have only had single finger touch. And that may be why xrotate.py worked for them but doesn't work for you. Because with eGTouch_
Quickly scanning eGTouch_
The PDF in eGTouch_
The reason I ask is you want rotation based on the slate's accelerometer, which I assume the Iconia has. I notice that the driver includes an .ini setting for rotation that is apparently off by default:
DetectRotation 0
To turn it on you would change it to:
DetectRotation 1
Maybe the driver contains a daemon to monitor the accelerometer? Does anything change if you turn it on?
Bottom line is if you can find whether or not the accelerometer reports rotation state and where, you should be able to use that for a rotation script. Two of the four convertible tablet PC brands Magick supports report tablet hinge state in a file at /sys/devices/
There is someone looking at adding accelerometer support code to Magick.
https:/
Revision history for this message
![]() |
#13 |
Thanks for explaining all this too me. Reading that was helpful in understanding exactly why this isn't working. So the culprit must be my eGalax driver. Well dangit, but that explains a lot.
I did what you suggested and turned on DetectRotation. Doing this fails the touch driver and I get an error when trying to open the eGalax config tool. "Get info fail! Please check the eGTouch daemon is loaded".
So i'll do as you recommended and research into whether the accelerometer reports any rotation and I'll keep you posted. Thanks for your patience with this. It was very helpful.
Can you help with this problem?
Provide an answer of your own, or ask hoboscience for more information if necessary.