Re: Android-x86 4.0-RC2 tx2500 on a HP Touchsmart TX2

2,271 views
Skip to first unread message

fuzzy7k

unread,
Oct 3, 2012, 9:51:17 AM10/3/12
to andro...@googlegroups.com
Yeah, basically, what you are seeing is power savings, specifically, the cpu governor. At full tilt, 100% clock speed, the interface is smooth. However, as I am sure you are aware, the device can get hot when running at 100%. To combat this, we use a governor to control the clock speed. From the tests I ran, powersave and conservative were the two that caused the not so smooth interface. Some of the older builds were using conservative before I discovered this. Ondemand or interactive seemed to be good choices. I chose interactive because it was not in the vanilla kernel so I believed it to be one designed for Android.

So I scratch my head, with RC2 you should not be seeing this. You can check what governor you are using with the following:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Let me know what the default is for the livecd and after install. You can edit /etc/tx2500.sh to set the desired governor for cpu0 and cpu1.


On Tuesday, October 2, 2012 4:47:47 PM UTC-4, Nuno Inacio wrote:
Hi there!

First of all: WHAT A GREAT JOB!!!!
Only after 3 years with this machine I can see software to take full advantage of this machine (both android-x86 and windows 8).
So, congratulations for all involved!

PS: I'm going to describe some steps so that people with TX2 (and others) can take advantage of my "research".

The background:
As in the title, I've rune android-x86-4.0-RC2-tx2500.iso livecd on my HP Touchsmart TX2 1050ep and it works almost perfectly for a RC2.
Wifi worked on WEP (not on WPA), apps run smoothly and interface is quite nice.
Even tried the N-trig drivers as described in here by blackhawk and it became something of a dream.

So I've installed and the problem begun...

The problem:
After installed there is this option to either reboot or run the installation and I used this last. I was smooth, lite, and easy to use.
After rebooting I understood that dual booting with android-x86 and grub2 is not has described in many pages.
I end fixing it with the following lines on /etc/grub.d/40_custom of my kubuntu:

menuentry "Android-x86" {
    set root='(hd0,msdos2)'
    linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=tx2500 acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC2
    initrd /android-4.0-RC2/initrd.img

The "set root" was the deal has many describe '(hd0,2)' instead of '(hd0,msdos2)'.
With this the boot started but android-x86 didn't. The graphical interface wouldn't go.
Further reading I got to the boot options and added "nomodeset vga=791 DPI=160".

"nomodeset fixed the boot interface
"vga=791" fixed the resolution 
"DPI=160" fixed the way the interface displayed the icons on landscape (portrait gets a little squeezed)
"video=-16" and "xforcevesa" don't make any difference.

I finally got it working but... it drags the user interface (not nearly as smooth as on the livecd or after installed before first reboot).
I started then getting a error on the boot 
"pci_root PNP0A08:00: address space collision: host bridge window [mem 0x000cc000-0x000cffff] conflicts with Video ROM [mem 0x000c0000-0x000cedff]"
and thought that was the problem.
It was not, just a common bug of this kernel solvable with "pci=nocrs" as a boot option: link

So the /etc/grub.d/40_custom end up something like this:

menuentry "Android-x86" {
    set root='(hd0,msdos2)'
    linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=tx2500 acpi_sleep=s3_bios,s3_mode nomodeset pci=nocrs vga=791 DPI=160 SRC=/android-4.0-RC2
    initrd /android-4.0-RC2/initrd.img

After the #sudo update-grub2 I finally got to the end of my knowledge and I come to you

Either someone can tell me what options are used on LIVECD to start the installed android before the first reboot or I would appreciate some ideas on how to tweak the boot options because I've seen it work like a charm :P

Hope this will help anyone and thx for any imput.  ;)

Ralf ranfyy

unread,
Oct 4, 2012, 2:58:25 AM10/4/12
to andro...@googlegroups.com


On Wednesday, October 3, 2012 3:51:17 PM UTC+2, fuzzy7k wrote:
Yeah, basically, what you are seeing is power savings, specifically, the cpu governor. At full tilt, 100% clock speed, the interface is smooth. However, as I am sure you are aware, the device can get hot when running at 100%. To combat this, we use a governor to control the clock speed. From the tests I ran, powersave and conservative were the two that caused the not so smooth interface. Some of the older builds were using conservative before I discovered this. Ondemand or interactive seemed to be good choices. I chose interactive because it was not in the vanilla kernel so I believed it to be one designed for Android.

So I scratch my head, with RC2 you should not be seeing this. You can check what governor you are using with the following:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Let me know what the default is for the livecd and after install. You can edit /etc/tx2500.sh to set the desired governor for cpu0 and cpu1.


You can also use "OS Monitor" (4th tab) root required of course:
https://play.google.com/store/apps/details?id=com.eolwral.osmonitor

Nuno Inacio

unread,
Oct 9, 2012, 1:19:50 PM10/9/12
to andro...@googlegroups.com
Hi there guys, thx for your prompt response.
I have been trying to troubleshooting this these past few days. I'm not a programmer but I'm pretty accustomed to linux and finding my way on the internet for making things work on my TX2 and other computers.
So here it goes:

Both LiveCD and the installed version use "INTERACTIVE" as governor and so I haven't even tried LiveCD after install as you will agree it would be just a waste of time.
In my point of view, very basically, there are 3 differences between both versions:

the boot - grub legacy vs grub2 as I use my kubuntu install
the use of hard disk - obviously
ntrig drivers - they give some errors (that I will post bellow) but are out of the equation as before install them the lag was already there.

So that lead me to believe that it would be some conflict between HD and the graphic card (ATI Radeon HD 3200 )

I dumped both dmesg logs for comparison (I wont fully post them here as they are nearly 1000 lines each) and I learned some interesting things and got some pointers.
It starts with the boot. Curiously on Live CD the command line is simpler but on the hard disk I already have to add some extra lines for it so start the graphic interface. The only basic difference here that I know of is Grub Legacy vs Grub2 

dmesg comparison:

HD - instalation on hard disk
CD - Live CD 

HD: Kernel command line: BOOT_IMAGE=/android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=tx2500 acpi_sleep=s3_bios,s3_mode nomodeset pci=nocrs vga=791 DPI=160 SRC=/android-4.0-RC2
 
CD: Kernel command line: initrd=/initrd.img root=/dev/ram0 androidboot.hardware=tx2500 acpi_sleep=s3_bios,s3_mode quiet SRC= DATA= BOOT_IMAGE=/kernel

here us this  "spurious 8259A interrupt: IRQ7" on HD that doesn't exist on CD and as I could understand it relates to APIC and possible bugs


HD: CPU 0 irqstacks, hard=f5808000 soft=f580a000
spurious 8259A interrupt: IRQ7.
Console: colour dummy device 80x25
console [tty0] enabled
 
CD: CPU 0 irqstacks, hard=f5808000 soft=f580a000
Console: colour VGA+ 80x25
console [tty0] enabled

Below is where the big difference begins. On HD the "VGACON" disables radeon kernel modesetting and on CD it defaults to kernel modesetting".
After that, the HD has 9 lines about the graphics and the CD has around 50 meaning for sure that the video is configured.
As I could understand this apears wen using at least "nomodeset" but probably also "vga=791 DPI=160".
How can I troubleshoot more if the installation will hangs without this lines and why is it so smooth after install from CD.
So I'm going to try to boot with grub legacy and see if it's different (with very little faith in it) and will post after it.
Anyway, if someone is interested in the full dmesg of both runs I cab post it somewhere and in the end are the last lines of HD with ntrig and binder errors.


HD: [drm] Initialized drm 1.1.0 20060810
[drm] VGACON disable radeon kernel modesetting.
pci 0000:01:05.0: power state changed by ACPI to D0
pci 0000:01:05.0: power state changed by ACPI to D0
pci 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
pci 0000:01:05.0: setting latency timer to 64
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] No driver support for vblank timestamp query.
[drm] Initialized radeon 1.33.0 20080528 for 0000:01:05.0 on minor 0

CD: [drm] Initialized drm 1.1.0 20060810
[drm] radeon defaulting to kernel modesetting.
[drm] radeon kernel modesetting enabled.
radeon 0000:01:05.0: power state changed by ACPI to D0
radeon 0000:01:05.0: power state changed by ACPI to D0
radeon 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
radeon 0000:01:05.0: setting latency timer to 64
[drm] initializing kernel modesetting (RS780 0x1002:0x9612 0x103C:0x3045).
[drm] register mmio base: 0xD2300000
[drm] register mmio size: 65536
ATOM BIOS: HP_Soyuz30
radeon 0000:01:05.0: VRAM: 320M 0x00000000C0000000 - 0x00000000D3FFFFFF (320M used)
radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
Detected VRAM RAM=320M, BAR=256M
RAM width 32bits DDR
[TTM] Zone  kernel: Available graphics memory: 439286 kiB.
[TTM] Zone highmem: Available graphics memory: 1425158 kiB.
[TTM] Initializing pool allocator.
[drm] radeon: 320M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready.
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] Driver supports precise vblank timestamp query.
[drm] radeon: irq initialized.
[drm] GART: num cpu pages 131072, num gpu pages 131072
[drm] Loading RS780 Microcode
radeon 0000:01:05.0: WB enabled
[drm] ring test succeeded in 0 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm]   VGA
[drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[drm]   Encoders:
[drm]     CRT1: INTERNAL_KLDSCP_DAC1
[drm] Connector 1:
[drm]   DIN
[drm]   Encoders:
[drm]     TV1: INTERNAL_KLDSCP_DAC1
[drm] Connector 2:
[drm]   LVDS
[drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[drm]   Encoders:
[drm]     LCD1: INTERNAL_KLDSCP_LVTMA
[drm] Radeon display connector VGA-1: No monitor connected or invalid EDID
[drm] Radeon display connector LVDS-1: Found valid EDID
[drm] radeon: power management initialized
[drm] fb mappable at 0xC0141000
[drm] vram apper at 0xC0000000
[drm] size 4096000
[drm] fb depth is 24
[drm]    pitch is 5120
fbcon: radeondrmfb (fb0) is primary device
Console: switching to colour frame buffer device 160x50
fb0: radeondrmfb frame buffer device
drm: registered panic notifier
[drm] Initialized radeon 2.10.0 20080528 for 0000:01:05.0 on minor 0

ntrig and last lines (touchscreen works)

HD:
<3>[   27.206163] ntrig 0003:1B96:0001.0002: claimed by neither input, hiddev nor hidraw
<3>[   27.206170] ntrig 0003:1B96:0001.0002: hw start failed
<6>[   27.216328] input: N-trig DuoSense as /devices/pci0000:00/0000:00:14.5/usb7/7-2/7-2:1.1/input/input13
<6>[   27.216568] cpufreq_interactive_input_connect: connect to N-trig DuoSense
<6>[   27.216806] input: N-trig DuoSense as /devices/pci0000:00/0000:00:14.5/usb7/7-2/7-2:1.1/input/input14
<6>[   27.217009] cpufreq_interactive_input_connect: connect to N-trig DuoSense
<6>[   27.217174] input: N-trig DuoSense as /devices/pci0000:00/0000:00:14.5/usb7/7-2/7-2:1.1/input/input15
<6>[   27.217318] cpufreq_interactive_input_connect: connect to N-trig DuoSense
<6>[   27.217328] ntrig 0003:1B96:0001.0003: input: USB HID v1.10 Device [N-trig DuoSense] on usb-0000:00:14.5-2/input1
<6>[   27.218181] ntrig 0003:1B96:0001.0003: Firmware version: 4.6.5.8.5 (1808 05a1)
<3>[   27.881037] init: no such service 'hciattach'
<3>[   29.281639] init: no such service 'hciattach'
<3>[   30.682257] init: no such service 'hciattach'
<3>[   32.082862] init: no such service 'hciattach'
<3>[   33.486831] init: no such service 'hciattach'
<3>[   34.887387] init: no such service 'hciattach'
<3>[   36.288001] init: no such service 'hciattach'
<3>[   37.688437] init: no such service 'hciattach'
<7>[   37.776722] eth0: no IPv6 routers present
<3>[   39.091264] init: no such service 'hciattach'
<3>[   40.491834] init: no such service 'hciattach'
<3>[   40.491966] init: no such service 'hciattach'
<6>[   57.519677] binder: 2584:2593 refcount change on invalid ref 9
<6>[   58.915605] binder: 1019:1332 transaction failed 29189, size 256-0
<3>[   60.239044] init: untracked pid 2071 exited
<6>[   60.669951] binder: 2919:2928 refcount change on invalid ref 9
<6>[   62.060171] binder: 1019:1030 transaction failed 29189, size 372-0
<6>[   69.918654] binder: 2919:2928 refcount change on invalid ref 12
<6>[   69.918686] binder: 2919:2928 refcount change on invalid ref 13
<6>[   69.918715] binder: 2919:2928 refcount change on invalid ref 14
<6>[   69.918739] binder: 2919:2928 refcount change on invalid ref 15

Thx again for any input ;)

Nuno Inacio

unread,
Oct 9, 2012, 2:05:24 PM10/9/12
to andro...@googlegroups.com
Here are the dmesg files for debugging:


or see the attachments ;)
tx2_hd_20121009.txt
tx2_lc_20121009.txt

Nuno Inacio

unread,
Oct 11, 2012, 12:35:29 PM10/11/12
to andro...@googlegroups.com
Problem detected but I'm no programmer so I will open a new thread as this seems to me like a broader thing that affects not only me and my hw and iso image.

for further details check on GRUB2 CONFLICTING WITH GRAPHICS DRIVER thread.

thx for all that helped ;)

fuzzy7k

unread,
Oct 12, 2012, 11:33:16 AM10/12/12
to andro...@googlegroups.com
You're kernel command line looks suspect to me.


HD: Kernel command line: BOOT_IMAGE=/android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=tx2500 acpi_sleep=s3_bios,s3_mode nomodeset pci=nocrs vga=791 DPI=160 SRC=/android-4.0-RC2
 
try ...

linux /android-4.0-RC2/kernel quiet root=/dev/ram0 androidboot_hardware=tx2500 acpi_sleep=s3_bios,s3_mode pci=nocrs SRC=/android-4.0-RC2
initrd /android-4.0-RC2/initrd.img

Nuno Inacio

unread,
Oct 12, 2012, 4:19:10 PM10/12/12
to andro...@googlegroups.com
Thx for the input, fuzzy7k.

But that's exactly what I have in my grub2.

The "BOOT_IMAGE" thing is the dmesg output.
I'm now running happily my android-x86, praising for the people that build it and trying to learn how to chainload from grub2 to grub legacy and/or making it work with Neogrub because with Windows 8 I'm able to have a touchscreen boot menu (and I don't even mind that it takes longer to boot because once I rotate my screen over the keyboard I loose access to it).

I'm telling you that there is some funky going on with the way grub2 is sending commands to the kernel, and I imagine it's not simple matter to solve.

Chih-Wei Huang

unread,
Oct 15, 2012, 10:41:12 AM10/15/12
to andro...@googlegroups.com
First, thank you for investigating the issue and
providing detailed information for debugging.

I don't believe any bootloader will affect the
graphic driver of linux or android,
except the cmdline passed to the kernel.
But it's independent of bootloader.

After reviewing your info, I suddenly found the problem.
Just change androidboot_hardware=tx2500 to
androidboot.hardware=tx2500
in your grub2 cmdline.

I don't know from where you copied the grub2
cmdline. Apparently that's old information.
To be honest, this is my bad.
Before ics-x86 I made a workaround to set
androidboot_hardware to be equivalent to
androidboot.hardware to avoid some boot warnings.
But since ics-x86 this is not necessary and
the workaround is removed.
In short, androidboot_hardware is NOT
a correct kernel cmdline now.
I think some documents are not updated
to reflect this change yet.

Remember remove any
nomodeset or vga=xxx in your cmdline.
They are definitely not suitable for your hardware.


2012/10/10 Nuno Inacio <arq.nun...@gmail.com>:
--
Chih-Wei
Android-x86 project
http://www.android-x86.org

Nuno Inacio

unread,
Oct 15, 2012, 11:01:48 AM10/15/12
to andro...@googlegroups.com
Just tested it and it works!!!
Thank you very much Chih-Wei Huang, for this small help (nice eye for debugging), and for your contribution to android-x86.

CASE SOLVED!
Reply all
Reply to author
Forward
Message has been deleted
0 new messages