Hardware/HTC Dream

From freesmartphone.org
Jump to: navigation, search
Htcdream.JPG

Contents

Presentation

The Htc Dream, also known as G1 or ADP1 was the first Android phone: It runs a Linux kernel, which doesn't have standard kernel<->userland interfaces, which makes the port difficult and problematic, not to count that some drivers only work only under certain conditions, lacks some standard Linux features. Most of the hardware now work but some rough edges remains(wifi PSM, and bad alsa driver(some applications work fine, some other don't), refer to the HardwareComparison for more details.

Status updates

Here is a brief table about the status of the project that we will try to keep update. Here is a video showing SHR on the HTC Dream: part 1 part 2 part 3

TODO

Here is a TODO list

Free the HTC Dream (G1)

This page is to document efforts to liberate the HTC Dream from nonfree software.

We would prefer a standard GNU/Linux distribution rather than an Android/Linux.

Most of Android is licensed freely under the Apache License 2.0. The Linux core is mostly Free Software under the GPLv2. However, there are numerous components of the default software stack on the HTC Dream that are proprietary software. Most notably, nearly any component that touches the hardware directly is proprietary software.

We believe that freedom is an important end in itself -- that software developers should respect the rights of users to share and modify the software they use. But the importance of freedom is made particularly evident by the example of Google G1/ADP1 (the first commercial Android phone). While most of the software running on the phone is free, and can be distributed by anyone, some components are proprietary. In addition to the dispensable "Google Experience" applications, such as GMail and Google Maps, these components include several libraries and drivers necessary for interfacing with the phone's hardware. Since these components are not free software, the user community cannot redistribute them. And since some of them are necessary to make the phone work, the user community can't share working firmwares.


HTC Dream preinstalled non free software components

This is a list of proprietary components essential to some functionality of the HTC Dream device. Descriptions are our best guess -- please let us know if yours is better.

Components essential to basic phone functionality:

   * libhtc_ril (the GSM radio interface library)
   * libhtc_acoustic.so (the basic audio library)
   * libaudioeq.so (presumably a library related to audio levels) 

Components necessary to make non-phone hardware work:

   * libgps.so (the GPS library)
   * lights.goldfish.so (screen & keyboard backlights and other LEDs)
   * sensors.trout.so (accelerometer & compass)
   * system/bin/akmd (sensor daemon?) (also stores settings in /data/misc/akmd_set.txt)
   * brf6300.bin (bluetooth firmware)
   * libqcamera.so (camera) 

Media encoding & decoding:

   * libOmxCore.so
   * libOmxVidEnc.so
   * libOmxH264Dec.so
   * libOmxMpeg4Dec.so
   * libmm-adspsvc.so
   * libopencorehw.so 

Other:

   * libhgl.so (3D rendering)
   * libjni_pinyinime.so (Pinyin character entry)
   * libspeech.so (Speech recognition)
   * libpvasf.so (Streaming Pocket Video Windows Media Decoder Library)
   * libpvasfreg.so (ASF parser for libpvasf) 


Building SHR for the HTC Dream

Here are the instructions about how to build SHR
And here's how to how to build The kernel(and compat wireless)

Communications

You can find us on IRC:

Server: irc.freenode.net Channel: #lp-it

people: gnutoo, graziano

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox