[ROM][JB][02/28/2019] aospSX 1.0.9

Search This thread

unqualified

Senior Member
Nov 14, 2013
141
60
Denver
Really liking this ROM. Battery lasts all day and it seems very responsive and lightweight, however, I'm having a few minor problems.

Every once in awhile all text (in menus, in apps, everywhere) will get all garbled up and look corrupted, almost like memory from one location bled over to another or something. Everything still *works* fine, it's all just illegible until I reboot. Only seems to happen once a week or less, so not a huge issue, but still there.

My other problem is that the camera seems to take corrupt images when used within any app other than the actual camera app. So if I take a picture with the camera it comes out just fine and there are no problems, but if I use a different app to take a picture, like my bank's app so I can deposit a check, the resulting image is either corrupt looking or will have parts of the *previous* image taken overlaid into it.

Has anyone else had any issues like this? They haven't stopped me from using this ROM as my new DD, but I'd like to fix them if possible.

Yep, I have both those issues. Never really noticed the third party camera issue until you mentioned it. As far as the garbled text, it doesn't happen that often, but the workaround I use is to enable the "Kill App Back Button" in Developer options, then just long press the back button if it happens. It works on any app, including the launcher, so you don't have to reboot the whole phone.
 
  • Like
Reactions: Kline

Kline

Senior Member
Mar 5, 2009
250
14
Illinois
Yep, I have both those issues. Never really noticed the third party camera issue until you mentioned it. As far as the garbled text, it doesn't happen that often, but the workaround I use is to enable the "Kill App Back Button" in Developer options, then just long press the back button if it happens. It works on any app, including the launcher, so you don't have to reboot the whole phone.

Well hey, glad to know it's not just my phone and thanks for the tip with the "Kill App Back Button"! Haven't had the garbled up text problem for about two weeks now (woo woo!) but I've turned that on and will give it a go next time I run into that.

I think the times when I wake the phone and immediately try to do a lot of actions are when that text issue seems to happen most often, so I've been giving the phone a second or two to fully wake up before doing things and it's been going swell.
 

hview

Senior Member
Dec 31, 2012
134
20
Karachi
Firstly I am not responsible for anything you do to your device.

Current Android Version: 4.2.2
Current Kernel: 2.6.35.14(Synthetic's mint_chocolate)

Bugs:
Browser - freeze/ANR. (Use Firefox or Chrome for workaround)
Occasional glitching of graphics


Anyone else I may have forgotten

what about headphone overheated bug?
 

eximido

Member
Feb 13, 2012
26
7
erinome.net
Excuse me, do those issues with the camera mentioned in the first post mean that main camera doesn't work at all in any app in the latest 1.0.1 build?
 

ibuddler

Senior Member
Jul 9, 2012
305
127
Excuse me, do those issues with the camera mentioned in the first post mean that main camera doesn't work at all in any app in the latest 1.0.1 build?

This is due to the kernel. I don't think camera works on jb with 2.6 kernel. The best and most solid combine will be ics with 2.6. The support for mt4g is far less even than the 1st gen desire. On that device, I'm on 4.4 without any bugs.

Tbo, there's no real developers working on this device any more. Anyone looking for a DD should stay on ics. If you don't mind the flicker screen, you can upgrade to any jb roms with early 3.0 kernel. This is a great device but I think it's the time for everybody to move on. Next time, just don't buy an HTC device.
 

Steppnasty

Senior Member
Oct 11, 2012
77
99
Washington D.C.
That is correct. I am currently trying to rewrite the camera driver to work with the open source version of libcamera. The libcamera blob that I was originally using used pmem which is deprecated in newer versions of android.

Sent from my SPH-L720 using XDA Free mobile app
 

Steppnasty

Senior Member
Oct 11, 2012
77
99
Washington D.C.
Excuse me, do those issues with the camera mentioned in the first post mean that main camera doesn't work at all in any app in the latest 1.0.1 build?

That is correct. The libcamera blob that I was using in the previous builds do not support the ION memory manager. I am currently trying to rewrite the camera driver to work with the open-source libcamera.
 

Steppnasty

Senior Member
Oct 11, 2012
77
99
Washington D.C.
Since the last update I have been working on getting the camera operational. I could have taken the easy route and just brought up PMEM just for the camera but that would have been messy and it would make any future updates I do a PITA. So I dove into the code and learned a few things that I thought I would share here since it is difficult to find any documentation online. First of all I originally thought that libcamera was made open source for jellybean. This is actually only partially correct. When I was trying to make the libcamera code work I kept running into issues where it felt like the code was not finished. For instance, libcamera would send an IOCTL to the kernel and expect a response from a second non-existant thread. After writing in a substantial amount of "missing" code into libcamera in an effort to "complete" it, I decided to google one of the IOCTLs that were missing from libcamera. I managed to find something on a chinese website that wasn't much help except for the title of the page which was "mm_qcamera_daemon". After doing some research on this I came to the conclusion that the "missing thread" from libcamera was actually a separate program that communicates with libcamera and the kernel driver. So prior to Jellybean the camera was structured like this:

Camera App->android frameworks->libcameraservice->camera HAL->libcamera->liboemcamera->kernel driver

As of Android 4.2.2 it was reworked to look something like this:

camera App->android frameworks->libcameraservice->camera.msm7x30->libmmcamera_interface->kernel driver
mm_qcamera_daemon->kernel driver

Basically the proprietary imaging functions were moved out of the main thread and into a separate executable that runs at boot. There were significant changes made to the kernel drivers that are similar to the changes made to the framebuffer drivers. The camera sensor drivers have had most of their functions moved to a sort of shared sensor driver with the actual sensor drivers mostly holding specific register settings. A lot of the changes were made to tie the camera sensors into Video For Linux 2 (V4L2). Userspace functions in libmmcamera & mm_qcamera_daemon then talk to the camera drivers through V4L2.

So I managed to write a Jellybean camera sensor driver for the main rear camera that works with this new format. I have also made progress writing a program that will act as the daemon. Currently I have a camera preview on the rear facing camera. I still have clean up to do on my local code before I commit as everything is a mess right now. I am trying to get everything close to the jb_mr1.1-release branch AOSP with as few modifications as possible. If everything goes smoothly I should be able to post the next release in a couple of weeks.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 28
    I am not responsible for anything you do to your device.

    Current Android Version: 4.2.2
    Current Kernel: 2.6.36

    Features

    Project Butter (ION Memory Management, Improved VSYNC & Triple Framebuffer)
    Open source camera daemon

    Downloads
    aospSX:

    ROM: aospSX 1.0.9
    GAPPS: JB 20130812
    Stepp_aospX:
    ROM: code.google.com Final md5sum - 714b512470643e582ea75c08f65b2a40
    GAPPS: ICS 20120317

    Installation
    Make sure you have S-OFF
    I recommend backing up all data
    Wipe data and cache (Recommended but optional if updating from aospX or aospSX)
    Flash ROM
    Reboot

    Notes
    OTA Updating

    As of 2/19/18, OTA is functional. Currently hosting OTA ROM on DropBox. Previously used XDA's devDB for OTA but they removed the ability to link directly to the ROM.
    Tested on CWM recovery. Let me know of any issues.
    If update fails in recovery, download is located in /sdcard/OTA-Updater/download/ folder.

    Issues
    Known Bugs

    none
    Known App Incompatibilities
    none

    Changelog - The short version
    Code:
    [B]1.0.9[/B]
    - Fixed boot crash for Glacier phones with "M4G2DE" model internal flash.
    - Fixed issue where headphones were not recognized.
    - Added hardware key custom rebinding from CM.
    - Allow camera button (long press) to select different camera app.
    - Camera Updates
      - Fixed issue where using the camera button to focus would not turn off LED when button is released.
      - Fixed issue where using the camera button to focus would break the next call to focus.
      - Fixed occasional freeze when taking a picture.
    
    [B]1.0.8[/B]
    - Switched to JB sound package.
    - Fixed bug where incorrect signal strength was being reported.
    - Camera Updates
      - Added Auto-Focus
      - Auto exposure improvements
      - Added WVGA camcorder mode
    
    [B]1.0.7[/B]
    - Added blue notification led
    - Fixed display auto-brightness
    - Fixed physical button lights
    - Fixed issue where SetupWizard would not finish properly
    - Fixed YouTube video playback.
    - Fixed issue where copying to phone with USB Mass Storage would be 3 times slower.
    - Camera Updates
      - Added flash for camera.  This also fixes Torch.
      - Tweaked auto exposure to adjust faster.
    - Kernel Updates
      - Tweaked power management idle and sleep modes.
      - Fixed trackball wake when sleeping.
      - Fixed issue where CPU frequency was stuck at 768Mhz.
      - Fixed issue where user-configured max CPU frequency not being restored at boot.
      - Added overclocking support.
      - Allow CPU frequency to be underclocked at 192Mhz. Originally set at 256Mhz.
    
    [B]1.0.6[/B]
    - Lots of kernel updates:
        - USB driver updated to JB 4.2.2 from CAF
        - Kernel version updated to 2.6.36
        - Clocks, power management, etc updated to 2.6.38/CAF.
    - Improvements made to camera daemon
    - GPS Fixed
    - Added current CPU speed in Performance settings.
    
    [B]1.0.5[/B]
    - Fixed SIM card not being recognized
    - OTA Tweaks
    
    [B]1.0.4[/B]
    [U]Android updates[/U]
    - All but four ICS packages updated to JB MR1
    - OTA Updater fixed
    - Performance settings, Advanced reboot and Kill app back button options re-added from aospX
    - Root access settings added
    - Complete rewrite of mm-open-daemon:
        - Added support for front facing camera
        - Improved auto exposure algorithm
        - Wrote formulas to calculate several VFE settings instead of hard coding them, allowing different camera modes to be utilized
        - Added different modes/resolutions for both camera sensors
        - Various other fixes/improvements
    - Updated to CAF Camera App
    - Adreno Blobs Updated to JB MR1
    - Fixed bug where animations would not render the last frame
    - Fixed audio not recording for camcorder
    
    
    [U]kernel updates[/U]
    - Framebuffer driver updated
    - GPU driver updated
    - New Camera2 driver for MT9V113 (FFC)

    Thanks/Credits
    Synthetic.Nightmare - big thanks for his guidance/support and for providing the base for which I am using for this rom.
    The aospX team
    The CyanogenMod Team
    XDA developers
    Code Aurora Forums
    Other devs still keeping this phone alive
    Anyone else I may have forgotten

    XDA:DevDB Information
    aospSX, ROM for the HTC Glacier: myTouch 4G

    Contributors
    Steppnasty
    Source Code: http://github.com/steppnasty

    ROM OS Version: 4.2.x Jelly Bean
    ROM Kernel: Linux 2.6.x
    Based On: AOSP

    Version Information
    Status:
    Stable
    Current Stable Version: 1.0.9
    Stable Release Date: 2019-02-28

    Created 2014-08-17
    Last Updated 2019-03-01
    7
    Since the last update I have been working on getting the camera operational. I could have taken the easy route and just brought up PMEM just for the camera but that would have been messy and it would make any future updates I do a PITA. So I dove into the code and learned a few things that I thought I would share here since it is difficult to find any documentation online. First of all I originally thought that libcamera was made open source for jellybean. This is actually only partially correct. When I was trying to make the libcamera code work I kept running into issues where it felt like the code was not finished. For instance, libcamera would send an IOCTL to the kernel and expect a response from a second non-existant thread. After writing in a substantial amount of "missing" code into libcamera in an effort to "complete" it, I decided to google one of the IOCTLs that were missing from libcamera. I managed to find something on a chinese website that wasn't much help except for the title of the page which was "mm_qcamera_daemon". After doing some research on this I came to the conclusion that the "missing thread" from libcamera was actually a separate program that communicates with libcamera and the kernel driver. So prior to Jellybean the camera was structured like this:

    Camera App->android frameworks->libcameraservice->camera HAL->libcamera->liboemcamera->kernel driver

    As of Android 4.2.2 it was reworked to look something like this:

    camera App->android frameworks->libcameraservice->camera.msm7x30->libmmcamera_interface->kernel driver
    mm_qcamera_daemon->kernel driver

    Basically the proprietary imaging functions were moved out of the main thread and into a separate executable that runs at boot. There were significant changes made to the kernel drivers that are similar to the changes made to the framebuffer drivers. The camera sensor drivers have had most of their functions moved to a sort of shared sensor driver with the actual sensor drivers mostly holding specific register settings. A lot of the changes were made to tie the camera sensors into Video For Linux 2 (V4L2). Userspace functions in libmmcamera & mm_qcamera_daemon then talk to the camera drivers through V4L2.

    So I managed to write a Jellybean camera sensor driver for the main rear camera that works with this new format. I have also made progress writing a program that will act as the daemon. Currently I have a camera preview on the rear facing camera. I still have clean up to do on my local code before I commit as everything is a mess right now. I am trying to get everything close to the jb_mr1.1-release branch AOSP with as few modifications as possible. If everything goes smoothly I should be able to post the next release in a couple of weeks.
    6
    Just posted new version (4.2.2). This is still a work in progress so expect a few bugs that I don't know about.
    5
    1.0.3 is up. Lots of bug fixes, camera fixes, etc. Let me know if you dirty flash and are unable to find the Camera app. Or any issues that is.
    4
    1.0.2 is up! Lots of updates. Rear camera works. Sort of. Still a work in progress but I figured I would add the theme manager as a distraction. So enjoy!