Desktop Rotation in Debian7 on A20 Board with A13-LCD43TS

Started by tlhingan, August 19, 2013, 08:29:30 PM

Previous topic - Next topic

tlhingan

Hello,
I got the LCD touchscreen working as the default input system for Debian 7.
Now I need to rotate the desktop to portrait mode, but I cannot find any information about this.
Does anybody have any hints?

tlhingan

Anybody?
I am an "experienced n00b" at linux stuff.
Is there a standard way to rotate the desktop that is not driver-dependent?

tlhingan

Alright, I made some progress.
Between these instructions and this info, I was able to get the desktop rotated.
But as soon as I do, the touchscreen stops working.

Question: are the touchscreen input and the LCD output supposed to use the same fb or different fb?

tlhingan

I did a fresh reinstall of Debian 7 R2 and started over from scratch.
My major issue is that I do not seem to have the mali modules.
They're not loaded by default and my attempts at compiling them have failed.
So, following most of the instructions at linux-sunxi about installing the binary drivers have been successful in rotating the screen.
Below is the condensed version of the steps that were sufficient to get the desktop rotated.

Once the desktop is rotated, I follow the instructions I previously posted here.
I can use the mouse and keyboard, but not the touchscreen.
ts_calibrate launches but does not ask me to touch the screen.
ts_test launches and is waiting for me to touch the screen.

As soon as I touch the screen, whether in ts_test or not, X freezes (even the mouse).
I would greatly appreciate any hints or feedback about:
1) the lack of the standard mali modules
2) what's the best approach to getting the touchscreen to work after desktop rotation.
====================================================================
apt-get install build-essential libdrm-dev xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake
git clone https://github.com/ssvb/xf86-video-sunxifb.git
cd xf86-video-sunxifb
autoreconf -vi
./configure --prefix=/usr
make
make install
cp xorg.conf /usr/share/X11/xorg.conf.d/99-sunxifb.conf
/* manually add ' Option "rotate" "ccw" ' to 99-sunxifb.conf

tlhingan

I've been able to look at the x server log files (Xorg.0.log found in /var/log/) to try to determine what's wrong.
I ran the board in landscape mode, started X, then quit X and exported relevant sections out of the log file.
I then updated my config to run in portrait mode, started X, then quit X and exported the relevant sections again.

The 2 main differences I am seeing are:
-the virtual size is identical in both cases (480x272), so I do need to address that, but I don't think it's causing the freezing
-after desktop rotation, the log file reports DGA to be disabled.

I now have 3 questions:
1-what is DGA exactly? From my readings it sounds like something that allows access to the framebuffer, and I am using the framebuffer driver. I think this is what is causing the freezing.
2-why is DGA getting disabled after desktop rotation?
3-how do I manually disable DGA so that I can see if this will cause freezing in landscape orientation as well?