I have an OMAP3530 based system running ICS and Linux 2.6.37 from DevKit 3.0.0. It runs somewhat and we get the ICS screens and such on the attached LCD panel. We are using a DSI LCD panel that, by pixel layout (480x800), is natively a portrait mode panel. ICS wants to treat is as default portrait, which some Android community emails indicate is by Android's low-level design. It's default mode is always the native panel mode. I need, however, to run out system in a defaultlandscape mode.
I thought I might just be able to use some Linux bootargs parameters to rotate the frame buffer, so I added
omapfb.vrfb=y omapfb.rotate=3
to the kernel bootargs. It did make a difference, but the screen is quite corrupted. It looks like it's trying to be in landscape mode--only the top of the screen has data on it, and it's largely horizontal lines. The colors seem appropriate, but its garbled. When the "Android" logo comes up it's similar. It's white and banding in a landscape horizontal way, obviously looking like it's trying to be landscape, but perhaps with an incorrect line pitch.
Is OMAPFB rotation supported in Android? In ICS? Is there something else I need to do? Will using omapfb.rotate=3 with a portrait mode panel present a landscape mode panel to Android?
Thanks in advance,
Chris
You can try the method suggested here? http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1.1_UserGuide#Display_Rotation_Support
--------------------------------------------------------------------------------------------------------- Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
Thanks, Vishveshwar. It did rotate the orientation as needed.
However, it isn't using the entire screen's area. There is a black band on the right side of the screen, and the "Dev Tools", "Configuration" screen indicates widthPixels is 758 . It's as if it started in portrait mode and reserved the 42 pixels at the top of the screen for an Android status bar, then when it got the "setprop ro.sf.hwrotation 270" line in init.rc it didn't go back to the original 480x800 resolution, but went from the 480x758 that portrait mode had left, and took a new bar at the top of landscape's orientation. See attached photo.
Do you know why this might be occurring?
Thanks,
Vishveshwar,
I also found that when I ran the camera app it turned the screen another 270 degees--or such that it is upside down from the original portrait mode. When it exited to the Android home screen it stayed rotated upside down.
- Chris
I found that if I uncheck the "settings", "display", "Auto-rotate screen" box then after the Camera app exits the screen goes back to portrait, rather than staying in the upside-down mode.
Chris R Thanks, Vishveshwar. It did rotate the orientation as needed. However, it isn't using the entire screen's area. There is a black band on the right side of the screen, and the "Dev Tools", "Configuration" screen indicates widthPixels is 758 . It's as if it started in portrait mode and reserved the 42 pixels at the top of the screen for an Android status bar, then when it got the "setprop ro.sf.hwrotation 270" line in init.rc it didn't go back to the original 480x800 resolution, but went from the 480x758 that portrait mode had left, and took a new bar at the top of landscape's orientation. See attached photo. Do you know why this might be occurring? Thanks, Chris
We are aware of this issue. This occurs when the soft navigation keys are enabled on a landscape-mode "small" display (< 600 pixels height). You can find a patch to fix this issue at our rowboat community forum:
http://groups.google.com/group/rowboat/browse_thread/thread/ffd218c132f8cbce
I now have the softkeys in the black band at the right. Thanks!
Hi Vishveshwar,
I am finding that some of the apps I run reorient the screen to portrait mode from landscape. I believe in Android that's their prerogative, but when they exit, the screen doesn't always reorient itself to landscape. Is there a setting that is still missing that would restore my desired default landscape orientation?
This is probably because Auto-rotate is enabled in the display settings.
Disable the auto-rotate feature if your device does not support accelerometer-based rotation.
I tried the same on 4AI.1.2 ICS, on blaze omap 4430 device. By default it is a landscape device, I wish to change it to portrait by default.
I followed TI guild for GB 2.3.3, update property ro.sf.hwrotation, the screen did rotate, but there are some issues.http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1.1_UserGuide#Display_Rotation_SupportIf I set ro.sf.hwrotation to 901) Touchscreen does not align with ro.sf.hwrotation. Patch on-line for this issue is for GB but not ICS.2) When we use application, for example, browser, screen shows landscape when actually in portrait mode.How can we make Omap4 Blaze 4430 as a default landscape device?
Type, I wish to make Omap4 Blaze 4430 as a default portrait device.
Some post to try;
2 of them talks about ro.sf.hwrotation.
I tried to find some configuration file in build directory that handles this but I couldn't find it. But for what first links says it seems must work but you could need to check the sensor orientation and configuration, that could affect too but from this file code looks that handles it too.