Saturday, December 14, 2013

Android-x86 Porting My Self


So, it's been a while since I last reported something, so I will now allow people to keep track of the progress on Android-x86 on the IBM Thinkpad X41 Tablet.
Update 7th March 2012: Updated build with new Google Docs, added b43 kernel module and firmware for certain Broadcom WiFi chips, and added radeon (rv100) mesa driver, but I don't think it will work. Build is untested!
New links:

Update 5th March 2012: First try of a "universal" build for all Thinkpads (and likely many more similar devices).
This new image should not only work for the X41, but also on the X61 and maybe the x220 (WiFi doesn't seem to work on this). Changes which I can remember:
  • hdaps module from tp_smapi, so auto-rotation and tilt sensors games could work on the X61 now
  • contains drivers for most components, so if your wifi/graphics/bluetooth/whatever doesn't work it's likely that it will not be so easy to get it to work (missed b43 driver though, will update soon)
  • Pinyin IME for chinese text input
  • battery status updated continuosly
  • internal changes
  • Chih-Wei Huang added the option to never go to sleep (Settings->Display)
New links:

Update 25th Feb 2012: New build out now! Here are the changes (at least those I can remember):

  • installer should work again, I probably unintentionally broke it last time. If it still doesn't work for you, follow these steps:
    • when you boot from CD/USB and the selection is shown where you select "Installation"
    • select "Installation" with cursor keys
    • press Tab key
    • press Space key and then type vga=788
    • press Enter key
  • slightly improved performance
  • tablet mode is now detected:
    • software keyboard is shown/hidden accordingly
    • screen rotation is fixed to landscape in "laptop mode" (unless an application explicitely requests portrait)
  • suspend/resume very stable now, I advise to disable screen lock for easier access
  • suspend works also with SD card inserted, but you must not remove or change the SD card while the laptop is sleeping
  • screen bezel buttons now work as described
  • Intel WiFi cards work better now, but if no networks are detected, try:
    • switching WiFi off and on again
    • or add a Wireless Network - it doesn't have to exists, just add a useless network and it should detect existing networks
  • Youtube now works completely (except HD videos), also some Live Wallpapers work
  • added "CatLog" application for easier sending of log files
New links:

This is the old status:

  • Working:
    • Android 4.0.3 Ice Cream Sandwich (ICS)
    • WiFi (tested with Intel 2200bg and Atheros 9k mini-PCI cards)
    • Bluetooth (only enabling/disabled and discovery of other devices tested)
    • Audio (make sure the volume is switched on using the keyboard buttons)
    • Touchscreen/Pen input
    • Screen Brightness
    • Orientation Sensor (calibrated at startup, so laptop need to be level when booting)
    • Screen bezel buttons:
      • up/down = Android volume up down
      • Enter = Enter (doesn't work everywhere)
      • ESC = Android "back" key
      • "suitcase" key = Android "menu" key
      • "rotation" key = Android "home" key
      • "hidden" key = Power, to activate standby mode
      • Power key = normal power key behaviour: long-press shows "switch tablet off" dialog
    • Hardware Acceleration (may need to set "Force GPU rendering" in Settings -> Developer options
    • SD card slot
      • when using the SD card slot, sometimes suspend doesn't work properly
      • to use the SD card slot, you need to add SDCARD=/dev/mmcblk0 to the kernel command line (in Grub)
  • Not working/Planned:
    • support for 3G modems (USB dongles/PCMCIA cards)
    • debugging of SD card issues
    • allow for "SD card emulation", real SD card and USB storage at the same time
    • debugging of Intel 2200 WiFi issues
So, if you want to test it out, download it via Torrent:
You need a DHT/trackerless torrents compatible torrent client like Deluge or µTorrent.
For comments or questions, use the Google Groups discussion.
Here is a little video showing the basic features: