| ROM | Sapphire | |
|---|---|---|
| Device | Droid | |
| Version | 0.8.4 | |
| Status | Release | |
| OS | Android 2.2 (Froyo) | |
| License | Android: (GPLv2 + Apache), Sapphire: (GPLv2) | |
| Download | sapphire-0.8.4-update.zip | |
| Mirrors | MyDroidWorld Sh7m | |
| MD5 | 52b608a9f7a52906717e4228a98e4d01 | |
| Download | sapphire-0.8.4-gapps-update.zip | |
|---|---|---|
| Mirrors | MyDroidWorld Sh7m | |
| MD5 | 57adbbfb74a93f271c4f66b1fbf52092 | |
The core of Android is released from AOSP under a combination of the Apache and GPLv2 licenses. Sapphire is released under the GPLv2 license, which can be found below:
Sapphire ROM - A custom Android OS built from AOSP Copyright (C) 2010 Austen Dicken (CVPCS) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Below are a list of the core features provided by Sapphire 0.8.4 (for a list of changes since 0.7.0, view the changelog at bottom of the page):
This release of sapphire updates its build.prop information to reflect the FRF84B OTA leak from Verizon. This means that so far as the market can tell, your device will be an Android 2.2 (Froyo) phone running sholes (Droid) hardware from Verizon. This generally works fine, but there is an issue on market where some paid apps do not show up on 2.2. This is most likely an issue with them being flagged as incompatible with 2.2 as they haven't been updated, or some other such thing.
In response to this, I have made a market hack that will essentially “trick” the market into thinking your device is an Android 2.1-update1 (Eclair) phone running sholes (Droid) hardware from Verizon. This essentially allows the device to browse market, but has the potential to have adverse effects, as the market no longer knows the real version of the operating system, and will make decisions based on that false information.
In the end, it is up to you to decide whether or not you wish to apply this patch or not. There is no real danger in applying, nor in not applying. I recommend making a backup anyway. Also, I have not tested what happens if this patch is applied prior to the initial boot of the system, so I cannot say whether market sync will function properly or not. My recommendation is to boot without the patch, wait for your apps to finish syncing, and then apply the patch if you wish to.
Thank you for reading my explanation, and as promised, here is the patch file:
| Download | sapphire-0.8.4-market_hack-update.zip | |
|---|---|---|
| Mirrors | MyDroidWorld Sh7m | |
| MD5 | 338111572c807f68c1fdc88408c36930 | |
All supported kernels for this release are provided by P3Droid, and are available on his site: P3Droid Kernels. Special thanks goes out to him for all his hard work on these beauties! :D
Below are the various themes that have been set up to work with Sapphire 0.8.4. For screenshots of these themes in action, click on their name in the list!
| Theme Name | Download | Mirrors | MD5 | |
|---|---|---|---|---|
| Stock (Default) | sapphire-0.8.4-stock-update.zip | MyDroidWorld Sh7m | 03e9f344840ee76b60268b57c312a76b | |
| Black Bar Mod | sapphire-0.8.4-black_bar-update.zip | MyDroidWorld Sh7m | 06ef05eb77b12e83e4d6b648f4ce9f96 | |
| NexTANG | sapphire-0.8.4-nextang-update.zip | MyDroidWorld Sh7m | c49891e28b76c5e3e01c7eba2e97bf79 | |
| Smoked Glass (blue) | sapphire-0.8.4-smoked_glass_blue-update.zip | MyDroidWorld Sh7m | aa91a19d42f8d3db2711242af3d4f89b | |
| Smoked Glass (blue) [NO FONTS] | sapphire-0.8.4-smoked_glass_blue-nofonts-update.zip | MyDroidWorld Sh7m | b932ffc8e95ccaf1e4987368a2fcb130 | |
Installation of themes is done using update.zip format. As such, simply download the desired theme file to /sdcard/update.zip and then apply it.
Installation is performed using the standard update.zip installation method. The steps of which are:
If you plan on installing a new kernel or theme, simply follow the same steps as above with those zip files.
Explanation: From this point on, unless otherwise stated, Sapphire will only provide support for devices that have performed a full data wipe (factory reset) prior to installation. The reason for this is simple. Stale data on the /data and /cache partitions often cause a large number of problems, and leads to unexpected or unintended behavior in various applications as well as the system core. This is not a problem with the ROM itself, but a problem caused by the stale data. For that reason, it is simply too difficult to try to sort out bugs that are a result of this, so unless otherwise stated, we will expect all bugs to be coming from a device that has had a full data wipe performed on it. It is also important to note, that restoring data from system apps in Titanium Backup (or another similar app) can produce the same problems. So in the end, if you wish to attempt to install without a system wipe, go for it, but there may or may not be problems.
All bug reports and feature requests will be done through Bugzilla, an issue tracker hosted on this site. It requires a valid email to register (which is only used for tracking which users have what bugs), and provides a much better interface to report and track problems or features.
You can find the Sapphire Bugzilla here: CVPCS Sapphire Bugzilla
As a starving college student, I do this on my free time simply because I love it and want to provide something great to the community. That being said, I would love to be able to devote more time to doing this as a living. If you like the work that I do, please consider making a contribution!
Below is the changelog for the system.
0.8.4:
Removed google apps by default [cvpcs]
For legal reasons, google apps have been removed from sapphire by
default and must be installed separately
0.8.3:
Switched to EliotStocker Music overhaul [eliotstocker]
Moved to ES music overhaul by default. Can switch back to stock using
switchapk
Modified scriptybox [cvpcs]
changed switchapk url definition
Changed build.prop overrides to fix Market issues [cyanogen]
Changed the build prop overrides to match that of FRF84B so that market
will believe Sapphire is a standard verizon release
Added ability to see MOD/ROM version in Settings [cvpcs]
This allows for the phone to better mimick verizon's releases, as the
Sapphire version is no longer stored in build.display.id
0.8.2:
Removed native IM app [cvpcs]
The interface that the native IM app uses has been removed from android
causing the app to force-close indefinitely. For this reason, this app
has been removed from sapphire.
Modifications to scriptybox [cvpcs]
freemem:
added warning message to be displayed when users change task killer
settings
rmapk:
added "search" to remove extra google quick search widget
added "speech" to remove speech recorder
Changed default battery % color to white [cvpcs]
White is easier to read as the background color as the battery drains
is black
Other tweaks:
Removed extra quick search app [cvpcs]
0.8.1:
Modifications to Scriptybox [cvpcs]
Renamed "original" to "stock" in switchapk music to reduce confusion
Added Notification LED always blinks setting [cvpcs]
There is now a setting in GEM Settings that enables the notification
LED to blink regardless of whether the screen is on or not. (defaults
to standard behavior of blinking only when screen is off)
Moved to new vendor setup to support multiple hardware [cvpcs]
Changed vendor setups to support multiple hardware in the future
0.8.0:
Moved FLAC scanning support to libstagefright [cyanogen]
To better conform with froyo, flac scanning was removed from opencore
and placed in libstagefright
Added GEM Settings app [cvpcs]
Removes the need to modify the development portion of AOSP. All
sapphire-specific settings will be held in this app now. All color
settings have been moved from spare parts to this app.
Added battery percentage overlay [cvpcs (minor rework)]
[cyanogen (base)]
Optional text display over the battery icon that notifies of the
percentage of battery life remaining. This display can be turned off
in spare parts. It also does not display if plugged in or at 100%.
Custom-built kernels [p3droid]
P3Droid has custom-built some kernels for sapphire! Thanks goes out
to him for all the hard work. These new kernels now provide several
missing modules such as compcache and cifs and more.
Other tweaks:
Added ability to shut off USB Debugging notification [cvpcs]
Added ability to remove status bar clock [cvpcs]
0.7.0:
Added Eliot Stocker's Music App [eliotstocker]
Overhaul of the stock Music app. Now available using switchapk.
Updated build fingerprint to 2.2 [cvpcs]
The latest build uses the fingerprint from verizon's FRF84B leak,
which is for Android 2.2 instead of android 2.1 (as was used before).
New kernel [p3droid]
This build of sapphire sports the LV125-1000-v32 kernel from P3Droid's
website natively
Modified scriptybox [cvpcs]
Modified rmapk:
added ability to remove ChromeToPhone and Tips
Added compcache:
enables and disables compcache support
Switched to FRF84B proprietaries [cvpcs]
Based the hardware/system files off of the latest FRF84B leak from
motorola. Thanks to P3Droid for the leak!
Added compcache userspace [cvpcs]
allows for in-RAM swap space, which essentially slightly increases
the amount of virtual RAM available to the system.
Added control of media based on volume/camera buttons [cvpcs (camera)]
[cyanogen (vol)]
Long-pressing the volume up/down buttons changes tracks
Long-pressing the camera button play/pauses tracks
0.6.2:
Re-added compcache executable
NOTE: compcache support is not yet enabled in the kernel, so although
the executable is there, unless you load a new kernel with compcache
support. Expect support in the next kernel.
Fixed a control race condition for bluetooth [cyanogen]
There was a race condition that would cause connections to fail for
certain bluetooth devices. Kudos to cyanogen's team for finding this
error as well as the fix.
Other tweaks:
Reduced ring delay [cvpcs]
Re-added FLAC support [cyanogen]
Re-added the droid notification sound back [cvpcs]
Updated to wpa-supplicant 0.6.x [koush]
Added ChromeToPhone app [cvpcs]
0.6.1:
Modified scriptybox [cvpcs]
updated to be relevent to froyo
added Visual VM to rmapk
Switched to bekit's kernel [bekit]
seems to provide more stability for wifi. also includes various other
modules that weren't included before
Fixed a problem with the qwerty touchscreen file not being found [cvpcs]
didn't really seem to cause any problems, but hey, i hate that it was
spitting out errors to the log...
Other tweaks:
Optipng-ed the whole system [cvpcs]
Re-added native IM app [cvpcs]
0.6.0:
Updated to AOSP source for Froyo [cvpcs]
this update was hell in and of itself to get going, so lots of thanks to
Sniffle and Koush, as well as support from anyone else! :D
0.5.2:
Modified SpareParts [cvpcs]
added ability to customize text colors for download notifications
Fixed MMS [cvpcs]
provided proper carrier file (credit to cyanogen for the file itself) to
properly connect to verizon
0.5.1:
Added Color Picker in Spare Parts [cvpcs (modifications)]
[cyanogen (base work and commit)]
provides a method to set the various text colors in the notifcation and
status bars
Modified scriptybox [cvpcs]
added commands:
help (must invoke as "scriptybox help")
provides an easy way to get information about the various commands
included in scriptybox, without actually running those commands
modified commands:
{all}
all commands were updated so that if you run them as:
[command] --help
they will be guaranteed to print out their usage information
Added command line knock executable [cvpcs]
provides low-level port knocking functionality without the need for an app
Other tweaks:
optipng'ed the entire system [cvpcs (redone with optipng)]
[cyanogen/koush (base optimizer scripts)]
0.5.0:
Modified scriptybox [cvpcs]
modified commands:
mtdinfo
added code to ensure that the proper functions actually get called
rmapk
added code to remove IM
Other tweaks:
added new Sapphire brand bootanimation [cvpcs]
0.4.6:
Added native IM app [pete? (found in one of pete's forums)]
app to connect to MSN, Yahoo!, and AOL messenger, originally natively included
with android.
Modified scriptybox [cvpcs]
added commands:
mtdinfo
displays information about all of the internal system partitions
Other tweaks:
changed default kernel to STOCK (no overclock) [cvpcs]
added basic support for ROMManager [cvpcs]
0.4.5:
Modified scriptybox
fixed sysro syncing issues [pete]
0.4.4:
Modified scriptybox [cvpcs]
finished changing scriptybox to be bash-based
fixed a minor typo in the script
fixed a problem with switchapk not getting the system to recognize the change
Other features:
added regular "Reboot" option [cvpcs]
moved "Reboot into Recovery" under "Reboot" option [cvpcs]
Other tweaks:
re-added unknown terminfo file [cvpcs]
0.4.3:
Modified scriptybox [cvpcs]
switched over to the new bash shell to make scripts more sleek and managable
0.4.2:
Added nano text editor [cvpcs]
provides a simple text editor for use in modifying text files from
the command line
provides basic syntax highlighting to common source files such as:
asm, c, css, html, java, perl, php, sh, xml, and more
Added Bourne Again SHell (bash) [cvpcs]
provides a bash shell with much more feature support than the native
system shell
is dynamically linked to reduce size, as opposed to other roms which
use a statically linked bash shell
provides basic color highlighting features
set as default shell
Modified compcache [cvpcs]
fixed a bug where the ramzswap module would not unload on stop
Modified scriptybox [cvpcs]
fixed a bug where scriptybox wouldn't mount the system read-only on some occassions
Other features:
added native FLAC support [kruton]
added "Reboot into recovery" option to power dialog [cvpcs]
Other tweaks:
moved wminput from /system/bin to /system/xbin [cvpcs]
0.4.1:
Modified scriptybox [cvpcs]
fixed several typos
fixed bug in switchapk command
changed internal structure
0.4:
Switched to default android-omap-2.6.29-bekit_sapphire kernel [cvpcs]
[bekit (base)]
provides overclocking of 250-1000mhz at low-voltage, is patched for
compcache support, and also includes the following modules:
cifs, ext2, ext3, ext4, fuse, isofs, jfs, nfsd, nfs, ntfs,
ramzswap, reiserfs, squashfs, tiwlan_drv, xfs
also supports wired and wireless tether
Replaced stock Launcher2 [sniffle]
provides more columns in the app drawer
based off helix launcher2
Added vixie-cron task scheduler [cvpcs]
ported the vixie-cron (cron) task scheduler to android. this allows for
system-level processes to be run periodically whenever the phone is on.
search google for "cron" to learn more about how this works. system
cron tab should be placed at /data/cron/systab.
Modified scriptybox [cvpcs]
fixed some typos
added new commands:
adblock [cvpcs (speed increase for blocking)]
[pete (original blocklist)]
turns ad blocking on or off
halt [cvpcs]
replacement for "shutdown" command
switch [cvpcs]
replaces certain apps with replacement versions of them (such as
2.1 music and milestone music)
modified commands:
rmapk
fixed code to remove the Amazon MP3 app
added code to remove the AlarmClock app
added code to remove the Music app
removed commands:
shutdown
removed because it is renamed to "halt"
Modified init process [cvpcs]
added script to enable ondemand overclocking upon boot
added script to start cron daemon if a systab exists
Other features:
added animated gif support to webkit [cyanogen]
0.3:
Added default android-omap-2.6.29-sapphire kernel [cvpcs]
[AdamZ (base)]
provides overclocking of 250-1000mhz at low-voltage, is patched for
unionfs support, is patched for compcache support, and also includes
the following modules:
unionfs, squashfs, cifs, xfs, ext2, ext3, ext4, reiserfs, isofs,
jfs, nfsd, nfs, ntfs, fuse, ramzswap, tiwlan_drv
also supports wired and wireless tether
Added scriptybox [cvpcs]
provides a busybox-like interface to many different command scripts that
implement a barrage of features. these commands are:
camsounds [pete]
turns the camera shutter and video sounds on and off
cpuinfo [cvpcs]
displays information about the cpu
freemem [cvpcs (added default setting)]
[pete (base)]
ensures that stale processes are killed to keep a specific
amount of RAM available
dalvikjit [cvpcs]
enables or disables JIT compiling in the Dalvik Virtual Mahcine
(requires a reboot)
meminfo [cvpcs]
displays information about memory in the system
rmapk [cvpcs (streamlined the script)]
[pete (idea for the scripts)]
removes certain applications from the system if they exist
shutdown [cvpcs]
powers off the system without reboot
sysro [cvpcs]
mounts the system partition read-only and syncs the system
sysrw [cvpcs]
mounts the system partition read-write
swapinfo [cvpcs]
displays information about swap partitions in the system
zipalign_apks [cvpcs (streamlined the process)]
[pete (base)]
zipaligns all APKs on your entire system
Added a custom init system [cvpcs (customizations)]
[cyanogen (base ideas)]
provides a series of scripts that get ran upon boot
added the following scripts:
00 - banner: prints a banner upon boot to the syslog
10 - sysrw: mounts the system partition read-write for the 1*
script block
11 - depmod: sets up the kernel module directory to ensure that
modprobe works
19 - sysro: remounts the system read-only
99 - ready: notifies the system that our init process is finished
Added some tweaks:
increased the wireless scan interval to 90 seconds [cvpcs]
increased the default video record quality [fede]
Other features:
switched to ChainsDD's Superuser [chainsdd]
added a default ringtone [cvpcs]
0.2:
Added custom init.rc [cvpcs]
provides a way to customize the boot process
Other features:
added HQ YouTube app [pete]
0.1:
Added Superuser [cyanogen]
provides root access via su
Added busybox [cvpcs (removed need for modified bionic)]
[cyanogen (base)]
provides a large set of command line executables
Added libc-ext [cvpcs]
provides syscalls not included in bionic used by busybox
Created cvpcs vendor [cvpcs (customizations for my custom build)]
[cyanogen (base vendor setup)]
[koush (base device setup)]
removed the need for koush's motorola/sholes-open device or cyanogen's
vendor/cyanogen vendor setup.
Customized build setup [cvpcs]
[cyanogen (used his ideas for build.prop overrides)]
modified the build setup from scratch to support some extra features.
Added CWiid library [cvpcs]
provides support for connecting wiimotes to the phone via bluetooth
Other features:
added custom boot animation [cvpcs]