[Q] Gee vs Ls970

Search This thread

elvyrorie

Senior Member
Oct 19, 2010
51
4
This may be a dumb question bit I can't seen to find the answer. I've seen gee roms and ls970 roms. What's the difference between the two? Why should I choose one over the other?

Sent from my LG-LS970 using Tapatalk
 

PartimusPrime

Senior Member
Apr 30, 2012
2,483
2,302
San Antonio
www.youtube.com
I can try ...k so the ls970 is official cm sources shelnutt2 put together based off the gproj is usable only on the sprint lgog

The geehrc (international lgog) and the geespr (sprint lgog) are based in the mako and put together by xboxfanj... currently x has combined the two sources (geehrc and geespr) into one source (gee) for both making the one zip built with gee flashable on both variants...

The whole cwm twrp issues are the differences n each sources and or ROMs way to build the updater script...

And yes some roms play nicer with cm sources than they do aosp sources and vice cersa.. so saying that cm is well obviously cm based sources where as xboxfanj sources are closer to or are aosp

Hope I'm at least somewhat making sense

Sent from my LG-LS970 using XDA Premium 4 mobile app


LS970 ROMs are built from CM's Nexus 4 4.2.2 hybrid with stock 4.1.2.

GEE/SPR/HRC are built from the Nexus 4 4.4.2 source (more up to date and optimized) with only changes for our hardware such as NFC.

geespr is sprint only, geehrc is international only, and gee combines the two so both devices can run the same build. Gee is the future of mako-based ROMs and eventually, there won't be any geespr or geehrc roms. Those are being phased out.

Hope this helps...its from the Liquid Smooth thread.

Sent from my Optimus G using xda app-developers app
 
Last edited:
  • Like
Reactions: A-L31

MikeEx

Senior Member
Nov 28, 2008
471
344
This may be a dumb question bit I can't seen to find the answer. I've seen gee roms and ls970 roms. What's the difference between the two? Why should I choose one over the other?

Sent from my LG-LS970 using Tapatalk
let's see If I can get this right...

Our phone is a bit confusing because the developers couldn't agree on one name.

The official names from the stock ROM build.prop:
Code:
ro.product.model=LG-LS970
ro.product.name=geehrc4g_spr_us
ro.product.device=geehrc4g

Just before Team CodeFire unlocked the many Optimus G variants, the first new name the they came up with for our device was "geebus".
And then many names followed...

Example from CM11 updater script:
Code:
assert(getprop("ro.product.device") == "geebus" || getprop("ro.build.product") == "geebus" || 
       getprop("ro.product.device") == "geebusc" || getprop("ro.build.product") == "geebusc" || 
       getprop("ro.product.device") == "geehrc" || getprop("ro.build.product") == "geehrc" || 
       getprop("ro.product.device") == "geehrc4g" || getprop("ro.build.product") == "geehrc4g" || 
       getprop("ro.product.device") == "gee_sp" || getprop("ro.build.product") == "gee_sp" || 
       getprop("ro.product.device") == "geehrc_sp" || getprop("ro.build.product") == "geehrc_sp" || 
       getprop("ro.product.device") == "geehrc4g_spr_us" || getprop("ro.build.product") == "geehrc4g_spr_us" || 
       getprop("ro.product.device") == "ls970" || getprop("ro.build.product") == "ls970" || 
       getprop("ro.product.device") == "jeebus" || getprop("ro.build.product") == "jeebus" || 
       getprop("ro.product.device") == "jeebusc" || getprop("ro.build.product") == "jeebusc"


The confusion behind "gee" and "ls970" is because there are two main ANDROID bases for us and they are incompatible with each other.


<History>

While Team CodeFire were rolling with the "geebus" name, early attempts to port AOSP and CyanogenMOD to the many Optimus G variants used the Nexus 4 (Mako) ROM & kernel as a base with optimus g stuff mixed in.
Since we were the odd man out with the 13MP camera, our name had to change to be more specific; back to "geehrc4g" and then "geespr".
The "hybrid Mako" base was a little unstable and camera auto-focus was not working for us.

CyanogenMOD requires that everything works to become OFFICIALLY supported.
The "gproj" team working on OFFICIAL CyanogenMOD status for the international variant (e975) used their own device as a base and was the first to become officially supported by several months.

Team CodeFire followed suit and scratched (but not abandoned) the hybrid mako base and used our own device (ls970) as a starting point for the remaining variants.
We also changed name from "geespr" to "ls970" because CyanogenMOD requires you to use your device's model name (or because the code base change, IDK).
While things became rock stable we were still having the camera auto-focus problem (but was not a stopping issue).
ls970 and e970 became officially supported by CyanogenMOD with the "ls970-common" base.

The e975 variant has the same camera as we do and their auto-focus works.
We moved to the "gproj" base while still keeping a few device specific things separated for the other variants (like camera drivers).

Some developers use the CM/gproj base to port ROMs to our device and usually refer to "ls970"
Some developers also used the hybrid Mako base to port ROMs to our device and and usually refer to "geespr" (and now "gee")

The hybrid Mako base (still not abandoned) has become rock stable and has the auto-focus problem fixed.
More recently the hybrid Mako base developers have unified the code for some of the variants and now we are "gee".

</history>
 
Last edited:

elvyrorie

Senior Member
Oct 19, 2010
51
4
So which is generally the more stable of the two?

Sent from my LG-LS970 using Tapatalk
 

xboxfanj

Recognized Developer
Apr 24, 2011
7,313
7,797
St. Louis
let's see If I can get this right...

Our phone is a bit confusing because the developers couldn't agree on one name.

The official names from the stock ROM build.prop:
Code:
ro.product.model=LG-LS970
ro.product.name=geehrc4g_spr_us
ro.product.device=geehrc4g

Just before Team CodeFire unlocked the many Optimus G variants, the first new name the they came up with for our device was "geebus".
And then many names followed...

Example from CM11 updater script:
Code:
assert(getprop("ro.product.device") == "geebus" || getprop("ro.build.product") == "geebus" || 
       getprop("ro.product.device") == "geebusc" || getprop("ro.build.product") == "geebusc" || 
       getprop("ro.product.device") == "geehrc" || getprop("ro.build.product") == "geehrc" || 
       getprop("ro.product.device") == "geehrc4g" || getprop("ro.build.product") == "geehrc4g" || 
       getprop("ro.product.device") == "gee_sp" || getprop("ro.build.product") == "gee_sp" || 
       getprop("ro.product.device") == "geehrc_sp" || getprop("ro.build.product") == "geehrc_sp" || 
       getprop("ro.product.device") == "geehrc4g_spr_us" || getprop("ro.build.product") == "geehrc4g_spr_us" || 
       getprop("ro.product.device") == "ls970" || getprop("ro.build.product") == "ls970" || 
       getprop("ro.product.device") == "jeebus" || getprop("ro.build.product") == "jeebus" || 
       getprop("ro.product.device") == "jeebusc" || getprop("ro.build.product") == "jeebusc"


The confusion behind "gee" and "ls970" is because there are two main ANDROID bases for us and they are incompatible with each other.


<History>

While Team CodeFire were rolling with the "geebus" name, early attempts to port AOSP and CyanogenMOD to the many Optimus G variants used the Nexus 4 (Mako) ROM & kernel as a base with optimus g stuff mixed in.
Since we were the odd man out with the 13MP camera, our name had to change to be more specific; back to "geehrc4g" and then "geespr".
The "hybrid Mako" base was a little unstable and camera auto-focus was not working for us.

CyanogenMOD requires that everything works to become OFFICIALLY supported.
The "gproj" team working on OFFICIAL CyanogenMOD status for the international variant (e975) used their own device as a base and was the first to become officially supported by several months.

Team CodeFire followed suit and scratched (but not abandoned) the hybrid mako base and used our own device (ls970) as a starting point for the remaining variants.
We also changed name from "geespr" to "ls970" because CyanogenMOD requires you to use your device's model name (or because the code base change, IDK).
While things became rock stable we were still having the camera auto-focus problem (but was not a stopping issue).
ls970 and e970 became officially supported by CyanogenMOD with the "ls970-common" base.

The e975 variant has the same camera as we do and their auto-focus works.
We moved to the "gproj" base while still keeping a few device specific things separated for the other variants (like camera drivers).

Some developers use the CM/gproj base to port ROMs to our device and usually refer to "ls970"
Some developers also used the hybrid Mako base to port ROMs to our device and and usually refer to "geespr" (and now "gee")

The hybrid Mako base (still not abandoned) has become rock stable and has the auto-focus problem fixed.
More recently the hybrid Mako base developers have unified the code for some of the variants and now we are "gee".

</history>

Mostly correct, but there's a couple things I'd like to point out. #1: Geebus was not used on ROMs; it was only used by Tyler on the first recoveries. Also, Team Codefire is really only relevant for the recovery and bootloader unlock; Device sources were made primarily by synergy, Shelnutt2, rlasalle15, houst0nn, chadouming, and I. The first ROMs based on the stock kernel were geehrc_sp or geehrc4g_spr_us. Soon after this, the Canadians (chadouming, Houst0nn, and Thracky) found that mako kernels booted and worked fairly well on their phones, but along with dvhexer, they had to change some things for our device, such as NFC. Unfortunately for the US variants, our firmware was too different for this to work. Using Canadian firmware did work, but flashing partitions isn't always the safest. Luckily, LG's JB firmware fixed this issue and allowed us to use mako-based kernels. Everything was going well, until we found that people had EFS issues. Seth made a script that would backup EFS and allow you to restore and also created a workaround telephony framework. After that, the only major issue was autofocus. At this point, there were four device repos: Canada, Sprint, AT&T, and International). Meanwhile, Ricardo at CM created a hybrid of stock and the current mako sources (4.2) for the International variant (e975). A couple months later, Seth rebased to his sources, still 4 device sources, but this time named based on model numbers (e973, e970, e975, and ls970) Around this time, I created TeamPlaceholder, with houst0nn, chadouming, and bbelos to create a kernel and device sources based on the latest Qualcomm CodeAurora jb_2.5 sources. Performance was awesome, however, we never got 13MP camera to work, so none of these builds were widely released, however, this is where I created the names for geeb and geespr, mainly out of laziness because having to type geehrc4g_spr_us every time I wanted to build was a pain. As a team, we were also able to merge the AT&T and Canadian variants by enabling SD support for both, since it doesn't negatively impact anything and is the only difference, is just less general maintenance. and meant we only needed to make 3 builds. Eventually, Google also rebased to jb_2.5 for their 4.3 mako kernel, so we scrapped TPH and worked on that, adding only the necessary hardware specific changes from stock (as opposed to all of LG's stock changes, which GPROJ did). Performance was just as good as TPH, everything worked (except autofocus, which was fixed a few months ago by faust93), all was well. Throughout this time, we have updated to the most recent AOSP, since it is fairly easy because we did not deviate much from it, however, gproj did not rebase to jb_2.5 or the AOSP 4.3 kernel, so they are a bit behind us in terms of optimizations. Google did a much better job on the 4.3 kernel than 4.2, so as such, mako-based ROMs should have a bit better performance and are generally more up to date. KitKat was fairly easy to merge into our sources, so we did so fairly quickly. At this point, Chadouming, houst0nn, and I maintained mako based sources, however, both of them jumped ship, leaving me in charge of most source maintenance. In this time, I became the official Vanir maintainer and have made some kernels. Eventually, I noticed that if the Nexus 5 could run GSM or CDMA on the same sources, we could too, so a month ago, I decided to merge our device and the International variant (geehrc) into one device: gee, using the Nexus 5 sources as reference, meaning that there are only two device sources now on our device: gee and geeb, so all variants can run one of two builds :) This means that it takes no extra work for someone on AT&T to maintain a ROM for the Canadian variant and vice-versa, same goes for the International and Sprint variants. It has led to great collaboration between the variants and all of you have benefited.

TL;DR: There are two different paths you can take: One closer to stock, but based on an older Nexus 4 4.2 kernel (Gproj) or one with the latest and greatest Nexus 4 4.4.2 sources with only the bare essentials of stock (camera, NFC, etc.)

If you choose stock and Nexus 4 4.2 based, you pick the ls970 ROM.

If you choose Nexus 4 4.4.2 based, you pick the gee ROM.

EDIT: One thing to note: This is the history of the Sprint variant; there are other great devs for the AT&T and International variants, such as arcardinal and dvhexer, but they did not work across all variants, so it's not quite as relevant to us.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    let's see If I can get this right...

    Our phone is a bit confusing because the developers couldn't agree on one name.

    The official names from the stock ROM build.prop:
    Code:
    ro.product.model=LG-LS970
    ro.product.name=geehrc4g_spr_us
    ro.product.device=geehrc4g

    Just before Team CodeFire unlocked the many Optimus G variants, the first new name the they came up with for our device was "geebus".
    And then many names followed...

    Example from CM11 updater script:
    Code:
    assert(getprop("ro.product.device") == "geebus" || getprop("ro.build.product") == "geebus" || 
           getprop("ro.product.device") == "geebusc" || getprop("ro.build.product") == "geebusc" || 
           getprop("ro.product.device") == "geehrc" || getprop("ro.build.product") == "geehrc" || 
           getprop("ro.product.device") == "geehrc4g" || getprop("ro.build.product") == "geehrc4g" || 
           getprop("ro.product.device") == "gee_sp" || getprop("ro.build.product") == "gee_sp" || 
           getprop("ro.product.device") == "geehrc_sp" || getprop("ro.build.product") == "geehrc_sp" || 
           getprop("ro.product.device") == "geehrc4g_spr_us" || getprop("ro.build.product") == "geehrc4g_spr_us" || 
           getprop("ro.product.device") == "ls970" || getprop("ro.build.product") == "ls970" || 
           getprop("ro.product.device") == "jeebus" || getprop("ro.build.product") == "jeebus" || 
           getprop("ro.product.device") == "jeebusc" || getprop("ro.build.product") == "jeebusc"


    The confusion behind "gee" and "ls970" is because there are two main ANDROID bases for us and they are incompatible with each other.


    <History>

    While Team CodeFire were rolling with the "geebus" name, early attempts to port AOSP and CyanogenMOD to the many Optimus G variants used the Nexus 4 (Mako) ROM & kernel as a base with optimus g stuff mixed in.
    Since we were the odd man out with the 13MP camera, our name had to change to be more specific; back to "geehrc4g" and then "geespr".
    The "hybrid Mako" base was a little unstable and camera auto-focus was not working for us.

    CyanogenMOD requires that everything works to become OFFICIALLY supported.
    The "gproj" team working on OFFICIAL CyanogenMOD status for the international variant (e975) used their own device as a base and was the first to become officially supported by several months.

    Team CodeFire followed suit and scratched (but not abandoned) the hybrid mako base and used our own device (ls970) as a starting point for the remaining variants.
    We also changed name from "geespr" to "ls970" because CyanogenMOD requires you to use your device's model name (or because the code base change, IDK).
    While things became rock stable we were still having the camera auto-focus problem (but was not a stopping issue).
    ls970 and e970 became officially supported by CyanogenMOD with the "ls970-common" base.

    The e975 variant has the same camera as we do and their auto-focus works.
    We moved to the "gproj" base while still keeping a few device specific things separated for the other variants (like camera drivers).

    Some developers use the CM/gproj base to port ROMs to our device and usually refer to "ls970"
    Some developers also used the hybrid Mako base to port ROMs to our device and and usually refer to "geespr" (and now "gee")

    The hybrid Mako base (still not abandoned) has become rock stable and has the auto-focus problem fixed.
    More recently the hybrid Mako base developers have unified the code for some of the variants and now we are "gee".

    </history>

    Mostly correct, but there's a couple things I'd like to point out. #1: Geebus was not used on ROMs; it was only used by Tyler on the first recoveries. Also, Team Codefire is really only relevant for the recovery and bootloader unlock; Device sources were made primarily by synergy, Shelnutt2, rlasalle15, houst0nn, chadouming, and I. The first ROMs based on the stock kernel were geehrc_sp or geehrc4g_spr_us. Soon after this, the Canadians (chadouming, Houst0nn, and Thracky) found that mako kernels booted and worked fairly well on their phones, but along with dvhexer, they had to change some things for our device, such as NFC. Unfortunately for the US variants, our firmware was too different for this to work. Using Canadian firmware did work, but flashing partitions isn't always the safest. Luckily, LG's JB firmware fixed this issue and allowed us to use mako-based kernels. Everything was going well, until we found that people had EFS issues. Seth made a script that would backup EFS and allow you to restore and also created a workaround telephony framework. After that, the only major issue was autofocus. At this point, there were four device repos: Canada, Sprint, AT&T, and International). Meanwhile, Ricardo at CM created a hybrid of stock and the current mako sources (4.2) for the International variant (e975). A couple months later, Seth rebased to his sources, still 4 device sources, but this time named based on model numbers (e973, e970, e975, and ls970) Around this time, I created TeamPlaceholder, with houst0nn, chadouming, and bbelos to create a kernel and device sources based on the latest Qualcomm CodeAurora jb_2.5 sources. Performance was awesome, however, we never got 13MP camera to work, so none of these builds were widely released, however, this is where I created the names for geeb and geespr, mainly out of laziness because having to type geehrc4g_spr_us every time I wanted to build was a pain. As a team, we were also able to merge the AT&T and Canadian variants by enabling SD support for both, since it doesn't negatively impact anything and is the only difference, is just less general maintenance. and meant we only needed to make 3 builds. Eventually, Google also rebased to jb_2.5 for their 4.3 mako kernel, so we scrapped TPH and worked on that, adding only the necessary hardware specific changes from stock (as opposed to all of LG's stock changes, which GPROJ did). Performance was just as good as TPH, everything worked (except autofocus, which was fixed a few months ago by faust93), all was well. Throughout this time, we have updated to the most recent AOSP, since it is fairly easy because we did not deviate much from it, however, gproj did not rebase to jb_2.5 or the AOSP 4.3 kernel, so they are a bit behind us in terms of optimizations. Google did a much better job on the 4.3 kernel than 4.2, so as such, mako-based ROMs should have a bit better performance and are generally more up to date. KitKat was fairly easy to merge into our sources, so we did so fairly quickly. At this point, Chadouming, houst0nn, and I maintained mako based sources, however, both of them jumped ship, leaving me in charge of most source maintenance. In this time, I became the official Vanir maintainer and have made some kernels. Eventually, I noticed that if the Nexus 5 could run GSM or CDMA on the same sources, we could too, so a month ago, I decided to merge our device and the International variant (geehrc) into one device: gee, using the Nexus 5 sources as reference, meaning that there are only two device sources now on our device: gee and geeb, so all variants can run one of two builds :) This means that it takes no extra work for someone on AT&T to maintain a ROM for the Canadian variant and vice-versa, same goes for the International and Sprint variants. It has led to great collaboration between the variants and all of you have benefited.

    TL;DR: There are two different paths you can take: One closer to stock, but based on an older Nexus 4 4.2 kernel (Gproj) or one with the latest and greatest Nexus 4 4.4.2 sources with only the bare essentials of stock (camera, NFC, etc.)

    If you choose stock and Nexus 4 4.2 based, you pick the ls970 ROM.

    If you choose Nexus 4 4.4.2 based, you pick the gee ROM.

    EDIT: One thing to note: This is the history of the Sprint variant; there are other great devs for the AT&T and International variants, such as arcardinal and dvhexer, but they did not work across all variants, so it's not quite as relevant to us.
    3
    This may be a dumb question bit I can't seen to find the answer. I've seen gee roms and ls970 roms. What's the difference between the two? Why should I choose one over the other?

    Sent from my LG-LS970 using Tapatalk
    let's see If I can get this right...

    Our phone is a bit confusing because the developers couldn't agree on one name.

    The official names from the stock ROM build.prop:
    Code:
    ro.product.model=LG-LS970
    ro.product.name=geehrc4g_spr_us
    ro.product.device=geehrc4g

    Just before Team CodeFire unlocked the many Optimus G variants, the first new name the they came up with for our device was "geebus".
    And then many names followed...

    Example from CM11 updater script:
    Code:
    assert(getprop("ro.product.device") == "geebus" || getprop("ro.build.product") == "geebus" || 
           getprop("ro.product.device") == "geebusc" || getprop("ro.build.product") == "geebusc" || 
           getprop("ro.product.device") == "geehrc" || getprop("ro.build.product") == "geehrc" || 
           getprop("ro.product.device") == "geehrc4g" || getprop("ro.build.product") == "geehrc4g" || 
           getprop("ro.product.device") == "gee_sp" || getprop("ro.build.product") == "gee_sp" || 
           getprop("ro.product.device") == "geehrc_sp" || getprop("ro.build.product") == "geehrc_sp" || 
           getprop("ro.product.device") == "geehrc4g_spr_us" || getprop("ro.build.product") == "geehrc4g_spr_us" || 
           getprop("ro.product.device") == "ls970" || getprop("ro.build.product") == "ls970" || 
           getprop("ro.product.device") == "jeebus" || getprop("ro.build.product") == "jeebus" || 
           getprop("ro.product.device") == "jeebusc" || getprop("ro.build.product") == "jeebusc"


    The confusion behind "gee" and "ls970" is because there are two main ANDROID bases for us and they are incompatible with each other.


    <History>

    While Team CodeFire were rolling with the "geebus" name, early attempts to port AOSP and CyanogenMOD to the many Optimus G variants used the Nexus 4 (Mako) ROM & kernel as a base with optimus g stuff mixed in.
    Since we were the odd man out with the 13MP camera, our name had to change to be more specific; back to "geehrc4g" and then "geespr".
    The "hybrid Mako" base was a little unstable and camera auto-focus was not working for us.

    CyanogenMOD requires that everything works to become OFFICIALLY supported.
    The "gproj" team working on OFFICIAL CyanogenMOD status for the international variant (e975) used their own device as a base and was the first to become officially supported by several months.

    Team CodeFire followed suit and scratched (but not abandoned) the hybrid mako base and used our own device (ls970) as a starting point for the remaining variants.
    We also changed name from "geespr" to "ls970" because CyanogenMOD requires you to use your device's model name (or because the code base change, IDK).
    While things became rock stable we were still having the camera auto-focus problem (but was not a stopping issue).
    ls970 and e970 became officially supported by CyanogenMOD with the "ls970-common" base.

    The e975 variant has the same camera as we do and their auto-focus works.
    We moved to the "gproj" base while still keeping a few device specific things separated for the other variants (like camera drivers).

    Some developers use the CM/gproj base to port ROMs to our device and usually refer to "ls970"
    Some developers also used the hybrid Mako base to port ROMs to our device and and usually refer to "geespr" (and now "gee")

    The hybrid Mako base (still not abandoned) has become rock stable and has the auto-focus problem fixed.
    More recently the hybrid Mako base developers have unified the code for some of the variants and now we are "gee".

    </history>
    1
    I can try ...k so the ls970 is official cm sources shelnutt2 put together based off the gproj is usable only on the sprint lgog

    The geehrc (international lgog) and the geespr (sprint lgog) are based in the mako and put together by xboxfanj... currently x has combined the two sources (geehrc and geespr) into one source (gee) for both making the one zip built with gee flashable on both variants...

    The whole cwm twrp issues are the differences n each sources and or ROMs way to build the updater script...

    And yes some roms play nicer with cm sources than they do aosp sources and vice cersa.. so saying that cm is well obviously cm based sources where as xboxfanj sources are closer to or are aosp

    Hope I'm at least somewhat making sense

    Sent from my LG-LS970 using XDA Premium 4 mobile app


    LS970 ROMs are built from CM's Nexus 4 4.2.2 hybrid with stock 4.1.2.

    GEE/SPR/HRC are built from the Nexus 4 4.4.2 source (more up to date and optimized) with only changes for our hardware such as NFC.

    geespr is sprint only, geehrc is international only, and gee combines the two so both devices can run the same build. Gee is the future of mako-based ROMs and eventually, there won't be any geespr or geehrc roms. Those are being phased out.

    Hope this helps...its from the Liquid Smooth thread.

    Sent from my Optimus G using xda app-developers app