-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the machinex wiki! Really just a space for older changelogs. Older Updates:
UPDATES - Mark27 - October 25, 2016 CHANGELOG:
- Further updates to the camera, it is now much more responsive and stable.
- Further updates to ion/iommu frameworks. You will notice, again, a userspace experience that is much more responsive and stable.
- Haptic feedback is sharper and more pronounced for some reason
- Built wcd9304 (sitar) drivers back in, I bet you dropping those was part of the reason for audio issues during network calling. Again, please give me LOGS if you have video calling issues. B*tching without logs is pointless and just makes you a jerk.
- Set the initial CPU BOOST value to 1134000 and Wakeup Boost to ON. The device runs better this way I've found (you can adjust the settings in Synapse). Actually a note on that, if you disable the input boost (by sliding the frequency slider to the far left), make sure you disable the wakeup and hotplug boosts as well! Otherwise they will still try to boost but at a 0Mhz level and your system will freeze. You've been warned.
- Everything is smoother and better. Enjoy.
UPDATES - Mark26 - October 23, 2016 CHANGELOG:
- Added back "uaccess with memcpy" and it seems to make the modem more stable.
- Got rid of useless power efficient workqueues because they are buggy and frustrating.
- This seems to run much better than the previous version. Camera still works ;)
UPDATES - Mark25 - October 23, 2016 CHANGELOG:
- VIDEO RECORDING IS FIXED!!!!
- I don't do any video calling, etc, but try it out, let me know, and send me logs related to internet calling please.
- Added a separate button in Synapse to allow you to apply the colour changes if you'd like. Be warned though, it's been well established over the years that this method is far from stable in the driver code.
- A little touch up work here, there and everywhere.
UPDATES - Mark24 - October 22, 2016 CHANGELOG:
- This is the same as the previous version, but with hotfixes for video and camera issues that have been reported.
- Synapse -> changed KCAL back to requiring the screen being turned off and on again. The driver code is buggy so using the method I was would increase an unchecked counter to overflow. Until I fix the driver, all you have to do after setting the values is turn the screen off and on.
UPDATES - Mark23 - October 21, 2016 CHANGELOG:
- MASSIVE UPDATE
- No new fancy features yet, but I FINALLY fixed the RR (kernel panic) that came with hsic. Turns out it was in the power management core, and 3 lines of code fixed the whole bloody thing. No more "hsic failed to suspend" panics in the logs. No more instability there.
- Graphics Update - Made 1080p way smoother, and I'm guessing this, combined with the memory management and scheduling updates will have fixed gaming for the most part. If not, we will figure it out soon as I'm overhauling the scheduling core.
- Some touch/input updates that make the screen super responsive.
- A little more refactoring in the ramdisk to make it faster and less cluttered.
- KCAL in Synapse now updates the screen immediately, you no longer have to turn the screen on and off to apply it.
- Using High Res timers for audio makes it super smooth and nice.
- That's pretty much it. This has all the features from before but should be a step closer to fixing any and all video problems that people have had.
- Next release might take a while as I have a lot of bring up to do in order to add some cool surprise features I've been planning.
UPDATES - Mark22 - October 19, 2016 CHANGELOG:
- Well it's been a week of my banging my head against the wall, adding and subtracting features, and a few hundred commits of bringup work, but Mark22 is here.
- NO GPU OC. I'm afraid every single clock speed, and every single bandwidth speed, no matter how in sync I made it, still resulted in some artifacts on the screen. However, I DID add a GPU Touchboost receiver, and updated our CPU BOOST driver to a much more enhanced version made by Neobuddy89. So the touchscreen interaction remains snappy and frankly doesn't need the overclocked gpu values.
- Due to the updated CPU Boost driver, I have removed the touchboost and wakeup kick functions in CPU HARDLIMIT. The dedicated CPU BOOST seems to perform these tasks much more efficiently, so let's leave it at that. There is a whole section in Synapse available for you to play with.
- Updated a TON of backend Power Management and HSIC/EHCI code, which puts us in a better position we've ever been as far as the literally one significant cause of sporadic RR's (kernel panics). That is an ongoing bringup project that I'm sure will continue until the day we turn this into a DT COMPAT-based 3.10 kernel.
- Added FPS control to Synapse
- Added Blu Plug and Mako Hotplug drivers. Blu Plug is speedy, Mako is Conservative.
- Added Outdoor Mode buttons in Synapse. Essentially a mix of autobrightness and HBM. It kinda works.
- WAKEUP is now pretty much instantaneous because a)CPU BOOST's wakeup boost actually works well and more importantly b) I added hardware wakeup event indication to the hardware keys. So now they send out a literal hardware interrupt that says "WAKEUP" when they are pushed and you won't have to worry about sleeps that are too deep anymore.
- CPU affinity updates, BLUETOOTH Blusleep driver added (suspends better), a lot of back end bringup as per usual.
- Try it out, see how it goes, enjoy!
UPDATES - Mark21 - October 12, 2016 CHANGELOG:
- I badgered Samsung to release the sources for PI1 and they did (they're pretty good for that I've found), so I've integrated their updates into this release.
- Sammy updates include buffer over run checks, new wifi driver, new mobicore driver, updated qseecom driver, small updates in sound, new sensorhub firmware (actually it's older, but more stable), updated kgsl driver (gpu), and probably more. Have a look at my commit history to see exactly what I applied.
- I updated the IRQ (interrupt request code) to make it do what it's supposed to regarding handling interrupts. Actually the big issue was that this was prerequisite bringup that I should have done a long time ago and probably meant to and then forgot. A.D.D. you know...you try and tell yourself you'll finish a subsystem tomorrow and then tommorow comes and "look! shiny new things!'
- added a few governors that i'm on the fence about...governors can make or break a kernel even when not active. So we can test these out (i did briefly and ruled out a couple already), and let me know if you have issues with any of the new ones. I believe it's Smartmax_EPS, Impulse, Ondemand_X, Darkness, Nightmare, blu_active, bioshock, and Lionheart. I wanted a decent mix of battery, balance, and performance focussed govs...so here they are I guess.
- further fixes to the msm_hsic_driver. don't mention in the bloody comments that it should sleep for 500 milliseconds then have it sleep for one microsecond, you lazy qualcomm/samsung people.
- General fixit updates all over the place, and non-blocking security code which slows the device down SO FREAKING MUCH if not applied.
- more rcu synchronization, and general stability patches. I can't report any data drops, rr's, or that sort of thing so far (except for when i was testing out some of the new govs and a hotplug driver that looked promising but was doing the same thing intelliminmax did).
- again, this is a beast. Wakeup is speedier, the whole deal. I think I've earned myself some tinkering time with the new note 3.
- Rob's taking a break...for as long as possible which is probably enough time to sleep and then continue to be obsessed with programming.
UPDATES - Mark20 - October 11, 2016 CHANGELOG:
- I couldn't find any patches that addressed the hsic_pm_runtime_suspend dereference, so I wrote the code myself. [CODE] @@ -2016,9 +2019,14 @@ static int msm_hsic_runtime_resume(struct device *dev) #ifdef CONFIG_PM static const struct dev_pm_ops msm_hsic_dev_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(msm_hsic_pm_suspend, msm_hsic_pm_resume)
- .suspend_noirq = msm_hsic_pm_suspend_noirq,
- .suspend_noirq = msm_hsic_pm_suspend_noirq, \
- .suspend = msm_hsic_pm_suspend, \
- .resume = msm_hsic_pm_resume, SET_RUNTIME_PM_OPS(msm_hsic_runtime_suspend, msm_hsic_runtime_resume, msm_hsic_runtime_idle)
- .runtime_suspend = msm_hsic_runtime_suspend, \
- .runtime_resume = msm_hsic_runtime_resume, \
- .runtime_idle = msm_hsic_runtime_idle, }; #endif [/CODE]- Updated some power stuff too, guess the wakeup_reason code was causing some kernel panics (rr's) for Dorimanx too, so I took his code's advice and reverted it to the older school style and now it doesn't bother us.
- Got rid of the PMEM allocation wherever I could, as it does nothing, which has resulted in a pretty sweet performance boost (pretty darn snappy I'd say).
- Removed RTB cpu tracing code. That combined with adding in fancy timer stuff has started causing warnings in my hellsactive gov logs but I don't care because a) it doesn't panic, b) I can just fix it next release and franky I'm exhausted, but most importantly c) I WROTE THE FREAKING CODE TO FIX OUR MAIN SOURCE OF RR!!!!! I don't even get warning messages or anything about the bloody driver in the logs anymore!!!!!!!!!!!!!!!!!! LIKE A GLOVE!!!!!!!!!!!!!!!!!!!!!!!!!!!
- So yeah...didn't get around to adding stuff that I wanted to...again...HOWEVER, my next goal is neobuddy's all-in-one hotplugging driver called State_Helper. It builds off of his state_notifier driver that is so helpful for suspend and resume functions, that I'm interested in checking it out. Apparently it's pretty all-encompassing.
- I raised the physical drive strength of the vibration driver, did some generic bug fixing and threw in some audio patches to continue my goal of perfect sound.
- Stole some code from Cyanogen for restart, subsystem and modem, and you'll see the difference.
- Changed the versioning scheme to actual numbers instead of written ones going forward. It's just easier for organization purposes, and I was dreading having to write everything out for the 20's...
- Just enjoy this one guys, I'll add new fancy stuff next round now that I can finally breathe with the hsic thing taken care of (knock on wood...but still, I DID IT!!!!)
- .... !!!!!!!!!!!!!!!!!!!!!!!!!!
UPDATES - MarkNineteen - October 8, 2016 CHANGELOG:
- Replaced a great deal more of the buggy 'while each thread' methods with 'for each thread.' This has resulted in a considerable speedup.
- Worked on hsic some more (it's never ending, it seems), including returning subsystem restart, mdm (modem), and smd (shared memory) to further work on some stability improvements. I'm doing a s*** ton of research on the subject and promise to have a 100 % consistent fix for any of the issues arising from the oops/kernel-panics coming from a page-address error in the msm_hsic_pm_suspend sequence. My goal is to have it by MarkTwenty
- Poweroff charging...well I fixed poweroff charging, it wasn't working very quickly due to a)a battery extending experiment in the kernel code and b) a ramdisk change to test the aforementioned experiment. Neither worked, reverted back to stock behaviour.
- EXPERIMENT - removed the setup for knox in the ramdisk. We will see if any issues arise from it.
- fixed up a bunch of debug code, as well as a lot of mismatched type warnings (int's that were supposed to be returning void)
- q6: adjusted playback speed buffer to be a mathematical multiple of the playback rates, sound continues to improve.
- I promise to bring more cool stuff soon, as it stands I'm a man obsessed with the hsic runtime issue.
- NOTE: on first boot you'll probably get one involuntary reboot due to some major ramdisk/battery configuration changes. It's normal.
UPDATES - MarkEighteen - October 7, 2016 CHANGELOG:
- Featurewise, this is exactly like the previous version.
- Stability-wise, I went the extra step and PERFECTED the stability issues from the past, so now not only is this stable, but you have never seen your phone operate as quickly.
- Ramdisk Streamlining, tried to shave a few seconds off of boot thanks to the bs workaround i had to make for the custom power drivers.
- Made sure that data/.machinex gets made (though it's always worked for me...shrug)
- Oh yeah, sound quality is better. I was getting sick of the distortion. More sound experiments to come in the future.
UPDATES - MarkSeventeen - October 5, 2016 CHANGELOG:
- FIXED HSIC PMRUNTIME SUSPEND FAILURE!
- Also radio is FAR MORE reliable.
- Added a "Power" section in Synapse, so you can toggle "asynchronous power management," which essentially is a way to allow things to go to sleep or wake up without confirmation. It is useful for certain things and not so much for others. Have a look in Synapse for a brief outline of the pros and cons I've noticed thus far.
- Updated State Notifier driver, has an enable/disable toggle and is way more efficient (multicore, Neobuddy89 is a genius). I only added one little condition in the driver so that both resume and suspend functions are controlled by the on/off toggle. Remind me to push that to Neobuddy.
- Speaking of which, I set powerSuspend and State Notifier as disabled on boot, and then I switch them on after the initial screen setup takes place. This way, we don't have the resource counter issue of everything dependant on those two drivers being called to resume when the system is actually booting, not coming out of sleep. There are settings for the two drivers in Synapse. DO NOT CHANGE THEM if you want your device to operate properly. Pretty much all of the hotplugs, cpugovs, and various other drivers depend on one or the other.
- Really it's a small release that packs a big punch. Next version is where I'm gonna start working on some fun features that I had to shelve while getting this pm runtime issue sorted out for the hsic driver.
- Figured out what the boosted voltage is for the Krait acpuclock boost toggle in Synapse (apparently taking a minute to read the code helps). For PVS versions 2 and up, our device ships with an overvolt of 25000 uV for the CPU. Meaning, disabling that as opposed to undervolting with drop you down two "levels" of voltage reduction in Synapse. The two settings aren't in any way linked (although I should work on that eh?), so the "boost" setting won't visually impact the manual voltage settings, and vice versa. However, know that this is happening in the system, and please account for it when calculating your voltage levels until I come up with a notifier between the two functions.
- Should be good to go, folks!
UPDATES - MarkSixteen - October 3, 2016 CHANGELOG:
- This build was the result of a witchhunt for an hsic runtime power management problem causing rr's.
- Added a toggle in Synapse for the GPU's "powernap" function. The powernap allows the gpu to "rest" between frames as opposed to running all the time. Turning it off could improve performance at the risk of stability and battery life.
- Updated Ramdisk binaries and whatnot to the latest PI1 build (I also put in a request with sammy for the updated source. so far ive have positive experiences with their development team releasing the code).
- Modem issues are pretty-well fixed. I don't even have the little symbol for radio-disconnected after turning off airplane mode anymore.
- Further improved subsystem restart, powermanager, some under the hood stuff.
- Poured through the code and changed anything by hand that was out of wack, including some previous "hacks" I tried out in the past that turned out to be failures.
- Hsic pm runtime issues are %80 fixed, but working better than MarkFifteen's. Also reverted the modem voltages, etc to stock.
- Bluetooth updates that I am unable to test at the moment because I really don't have any useful bluetooth devices around. I'll try to hunt some things down but in the meantime I'll need y'all to be my testers and report stuff to me. In the case of BLUETOOTH errors, I definitely need the log trifecta, dmesg, last kmesg (the one immediately after a random reboot, but hopefully there aren't any fingers crossed) AND logcat.
- More probably. This is definately a maintenance/stability release. Enjoy!
UPDATES - MarkFifteen - October 1, 2016 CHANGELOG:
- MAJOR BUGFIX/STABILITY BUILD
- Reverted the GPU nominal frequency back to 325 from 320 mhz. Too many media clocks rely on consistent GPU frequencies across the board.
- Set the GPU init(boot) default frequency to 450mhz, makes for faster performance.
- Further improved subsystem restart, powermanager, cpu suspend, etc.
- Pretty sure I fixed the power suspend and state notifier hooks from throwing off the suspend/resume count. I moved the hooks to a later point in the panel turning on, and I wrote in a little conditional that only runs them if the device is in a resume state. Also, I changed them from core to late start drivers, so that should help them not having effect during the initial boot sequence.
- Added an independant dmesg/kmesg sysfs toggle and a corresponding toggle in the logs and profiles section of Synapse. (just like android logger but actually for kernel level messaging, as opposed to what the descriptions said before)
- Caught up to some missing prerequisite patches from my kthread upgrades, helping stability.
- BAM Dmux reset functionality, so far helping with subsystem restarts.
- TONS of under the hood fixup. It's stable for me so far.
UPDATES - MarkFourteen - SEPTEMBER 30, 2016 CHANGELOG:
- Raised the GPU nominal frequency from 320 mhz to 325 mhz. Small increase, but the device spends so much time at that level it may as well be snappier.
- Increased GPU thermal polling to 65000 ms from 60000, should help out performance.
- Set the subsystem_restart level to 3 (restart_independant). APQ8064 code was coded as a legacy device that didn't let drivers soft-reset themselves, instead requiring the whole SoC to restart on routine error code. This should allow all of the drivers (most importantly modem) to restart whenever their is something wrong with their suspend mechanism. Longterm TODO is integrate wakeup sources and pm_notifiers into all of the drivers. Some I can simply patch, others will have to be manually coded by me.
- Set tracing to be extra configurable for battery savings
- Added an independant dmesg/kmesg sysfs toggle and a corresponding toggle in the logs and profiles section of Synapse. (just like android logger but actually for kernel level messaging, as opposed to what the descriptions said before)
- Added a toggle in the CPU VOLTAGE settings which controls a stock feature (it's in the stock sources) allowing you to turn a qcom-designed CPU VOLTAGE BOOST on and off. Interestingly enough, for higher PVS valued devices, qcom enables this by default. For example I am at PVS level 3, and it is enabled by default on my phone. Turning this off can serve as a stand in for the manual undervolting in that section, and is far more stable of an undervolt than the pre-existing method.
- more msm-sdcc suspend-resume updates
- disabled asynchronous suspend by default, far more reliable
- Removed PMEM memory allocation, as it hasn't been used since like 2011 and is replaced by ion. So really it's just wasted memory. Only a little, but every bit counts.
- This update may not be feature heavy, but it's definately functionality and bugfix heavy.
- More ramdisk improvements.
- Have fun
UPDATES - MarkThirteen - SEPTEMBER 29, 2016 CHANGELOG:
- One single step OVERCLOCK frequency of 1998 mhz that I have been running for the last few days. It seems to be stable so I'm comfortable with its release. Hardlimit is set to 1890000 by default, so keep in mind that to overclock you have to first raise your hard limit, then your max scaling frequency on the previous screen.
- Updated the mmc clocking during suspend and resume in order to bring it closer in line with the current clock-voting regulator framework. This should solve the issue where everything locks up once in a while after a long deep sleep. Let's see what happens.
- One single step OVERCLOCK frequency of 1998 mhz that I have been running for the last few days. It seems to be stable so I'm comfortable with its release. Hardlimit is set to 1890000 by default, so keep in mind that to overclock you have to first raise your hard limit, then your max scaling frequency on the previous screen.
- A couple of minor sound updates, mainly for bug killing but every little bit counts!
- highmem flushing, which is great because stale memory gets flushed more often.
- automatic memory compaction. It will run when you shut the screen off, and in intervals while the screen is on. (they say compression is faster than traditional swap, let's find out)
- Better RCU locking protection around ipv6 (mis)usage.
- mm: vmpressure: account allocstalls only on higher pressures. Added a minimum threshold for accounting vmpressure.
- Overall it's running pretty stable. This is definitely an experimental build, but no pain no gain!
- Slight Synapse tweaking, ramdisk cleaning, etc. Also I added a new 'extras' tab in Synapse that I will fill with useful little tweaks I come up with. So far there is a button to clear your youtube sdcard cache (SUPER helpful).
- Enjoy :)
UPDATES - MarkTwelve - SEPTEMBER 26, 2016 CHANGELOG:
- Major updates to cpu, scheduling, mmc (io), power, networking and timer backend.
- Colour, sound (especially clarity), touch drivers all updated and made more efficient.
- The phone now boots with all cores online, and then initializes the hotplug driver while booting.This way, all of the cores are initialized in the correct sequence
- ADB is now insecure by default (like for real insecure, no need to patch it)
- Removed Ondemandplus, it has buggy code in its task-priority function and, until I have a look at it to fix it up, it will remain out. Used to be one of my favourites, but it was designed for older cpu framework apis.
- BIG ONE - I remembered to do this finally. I successfully updated the mdm/modem driver to send a reset to the modem processor whenever coming out of sleep or booting, so all modem issues should be gone.
- Some more preparatory updates in the backend for conversion to device-tree-compat tree building, meaning even more features from newer kernel sources.
- Battery charging fixes, battery life fixes, etc. Performance and battery are in your hands once again, kiddo.
- Seriously just about everything is better. Try it out!
UPDATES - MarkEleven - SEPTEMBER 25, 2016 CHANGELOG:
- Bug fixes galore, including an issue that broke sleep counting.
- Colour is vivid again.
- Changed some default settings to help wake up when coming out of deep sleep.
- Moved some sections around in Synapse, consolidated some, moved some functions to more appropriate sections, and removed some functions that shouldn't be randomly played with.
- Some more intermediary updates from my travels down the 3.4-3.8-3.10 road.
- You'll see a significant improvement in perforfance, but not so much battery life, I encourage you to use power-efficient workqueues in Synapse if power saving is a priority for you.
- More probably but my brain is fried from working all last night.
- "Fixed" network indicator arrows...though the mechanism is not battery-friendly (its the stock qtaguid driver, nothing i hacked in). So if you guys want to take a vote on whether you need it, we could easily free up resources without. Regardless, thanks for bringing it to my attention @Superperry96
UPDATES - MarkTen - SEPTEMBER 22, 2016 CHANGELOG:
- OUT OF BETA!!! NOW IN RELEASE!!!
- Fixed HSIC-related RR for good.
- Removed IntelliMM as it causes extra cpu load even when disabled.
- HSIC side-effect, battery life is AMAZING, just make sure to RESET FUELGUAGE.
- New settings to play with in Synapse, including sleep states and time spent in each.
- Figured out screen related stuff, see below. Enjoy. UPDATES - MarkNine - SEPTEMBER 19, 2016 MarkNine CHANGELOG:
- Implemented CPU HARDLIMIT control. I put a little write up in the main post above. It's working flawlessly in Synapse. This means that, realistically, you could see some VERY LIGHT overclocking in the near/distant future. MAAAAAYBE.
- Speaking of Synapse, I added Wireless Charge Amp Control in the Battery section. I just noticed it wasn't in there tonight. I don't know if anyone uses it for this device, but what hell, right?
- Synapse: the "quick cache drop" button now drops caches the regular way, and samsung's reserved way as well, so it's that much more effective.
- Added Cyanogen's mdp4 PCC colour control as well. Controls are in Synapse, and though it may seem like overkill on top of KCAL, this gives you fine-grained control over your screen display colour from values 1000-32768. Have fun ;)
- Disabled HSIC's constant search for a suspend state it will never find, hopefully putting the modem related kernel panics (random reboots) to rest for good. Pun intended.
- Cleaned up the mid and post-init scripts a fair deal. Boot time should be faster because there is less time wasted searching for devices and properties we don't [bleeping] have.
- Personal Update: my swearing problem persists.
UPDATES - MarkEight - SEPTEMBER 15, 2016 MarkEight CHANGELOG:
- fixed deep idle powercollapse for cpus.
- better Krait cpu power regulation (updated driver). UPDATES - MarkSeven - SEPTEMBER 15, 2016 MarkSeven CHANGELOG:
- This release fixes a bug in the cpufreq driver code that was introduced in the last version, making it perfectly okay to switch governors on the fly without worry of a kernel panic. I won't get into the technical details, but let's just say that I have to be far more cautious regarding cpu/scheduling updates from here on in. What you may lose in "smooth" performance, you will gain stability, dependability, and battery life gains from this release.
- cpuidle, sleeping has faster response time
- msm BAM driver resets asyncronously, hopefully helping with mdm modem airplane mode issue (modem sleeping is my goal for next release) -dma/cma/memmap stability fixes.
- DISABLED kernel mode neon, it was a difficult decision to make given that you've all gotten used to its snappiness by now, i'm sure, but the stability is impossible to ignore. It has always been an experimental feature and I gotta make this thing more consistent. -Disabled Google "Snappy" compression, I had tested it last version and am not impressed with it compared to other compression types.
- The install script makes a cool arc reactor graphic because fun.
- new led colors
- more features to come next release, this was another bring-up build UPDATES - MarkSix - SEPTEMBER 12, 2016 MarkSix CHANGELOG:
- This release focusses mainly on stability and default settings that are balanced, so that all users can benefit from it. I don't care if you think it takes too long to boot, because that is better than a full-throttle boot sequence that some devices' binnings/hardware cannot handle.
- Removed CM gamma control, it literally stopped doing anything after KCAL went live.
- Reverted Alucard Hotplug to its original settings, they are far more stable. Also reverted default governor to ondemand.
- Thanks to those who provided logs, as I have pinpointed and eradicated the random reboot. It was due to a qualcomm modem patch that was resulting in a kernel panic. Problem is solved.
- Modem sleeping issue is closer to being fixed, but involves me having to build a custom frankenstein of a solution for suspend which will take some time. It's on my list.
- Qtaguid has been fixed. It was denying network-related userspace processes of the permissions they needed to function properly. It was a security patch, which I try to keep up with because security is important. That said, functionality is more important and with custom kernels something has to give.
- Reduced execve restrictions to avoid init failures on ported roms.
- All battery and charging code is up to scratch now.
- More scheduling, cpu and kgsl fixes so that all governors (including the ones with graphics boost hooks, elementalx and electroactive) work properly once more.
- Sound: Re-doubled the slimbus overclock value, and sound is much cripser. THIS will be the default from here on in.
- timer function improvements
- cleaned up some display code, the display looks amazing again.
- Selinux code has been combed for bugs. Despite it being permissive, it still takes up a significant amount of resources. So it' s still important to mitigate its impact on fs, memory, and cpu usage.
- Sound Volume steps now have 0 delay when changing volume.
- improved some of the log in the Synapse backend, so the app will be less buggy.
- machinex is a good kernel again.
UPDATES - MarkFive - SEPTEMBER 10, 2016 MarkFive CHANGELOG:
- returned the Saw-Regulator (responsible for regulation of like everything) to stock values, as the change that was made previously resulted in instability. That means no more stuttery boots. -speaking of stuttery boots, the system now boots using the "Performance" governor, and then midway (once initialization is mostly finished) switches to the default "Hellsactive." Hellsactive tunables have been tweaked for performance from the start as well. -Regardless, this is a significant update, and your first boot will take longer than usual. Subsystem code has been repaired and thus modem operation will much better. -The line directly above means MODEM issues are like 99.99% fixed. -Battery - I fixed some functions in the pm8921-charger driver that will improve battery efficiency and SoC recognition of battery-life remaining. As a result, for this update I would RESET FUEL GUAGE in Synapse' Battery section. You'll see a massive drop in initial battery life, but your battery stats will be much more accurate from here on in. Also, after resetting, I charged my phone for like 15 mins and (thanks to fast-charge) it went from 50% to like 90%. But now battery life is improved so it's a trade off I recommend accepting. -Speaking of Synapse...I literally changed the "max cpus online" and "max cpus online during suspsend" variable names in all of the Hotplug drivers that use those tunables. Now EVERY Hotplug with those tunables (listed in Synapse) can be operated from the same controls, eliminating clutter and making Synapse more simplistic/effective. -Other Synapse improvements, including the addition of a CPU Voltage section, GPU Voltage added to the GPU section, LIVE cpu-temperature (avg of cores for now) display in thermal, and some more I think but I forget. -Thermal! Brought back stock thermal settings so y'all can get off my back ;) . But the live temp display is at the top of the section to act as a warning, like the ones on cigarette packs. (in my country we have gross, graphic warnings of the worst kind on our cigarette packs)
- CPU will stop panicking on governors with incompatible stats collection. (two lines of code to avoid a panic, like 5 words, ain't C an amazing language?) https://github.com/robcore/machinex/commit/fb7e4a9b8d12cc151bd709d0183ee6c35cabc248 -dma mapping: if an error occurs on boot, it now flushes the allocated memory for the mapped area that failed, as opposed to keeping it stored in memory. -added the cm gamma control settings in Synapse. It was always in the kernel, just not Synapse. TBH I don't think it does anything anymore now that KCAL is live, so I'll probably replace it with a different colour mod that faux123 made. It hooks the same code so with KCAL it might actually do something interesting.
- I SUPPORT NOTHING IF YOU FIDDLE WITH VOLTAGE!!!!! IT IS USED AT YOUR OWN RISK AND WILL PROBABLY TURN YOUR DEVICE INTO A NOTE 7!!!! that will scare them off, right? UPDATES - MarkFour - SEPTEMBER 10, 2016 MarkFour CHANGELOG: -ACTUALLY removed zen decision for good -more under-the-hood cpu and scheduling improvements. This bad boy is amazing for battery and performance. -default governor is now hellsactive, and it will actually stick because this update hijacks qualcomm's post_boot script. The important stuff is left in, the garbage they use to override our preferences is out. -updated the uninstaller script to reflect the change mentioned above. -reduced slimbus overclock from twice the "golden-ratio" values to the "golden-ratio" values. Now audio/video is perfect. -minor Synapse updates, but this update has such better performance that I'm rushing to get it out in lieu of adding too much fancy stuff. -random entropy generation is even faster, as it is now contributed by individual cores going online/offline. -probably more
UPDATES - MarkThree - SEPTEMBER 8, 2016 MarkThree CHANGELOG: -Added new governors, some for performance, some for battery life, and some for balance. As a reference, check out the link in my performance and battery life post. -More low-level scheduling/cpu code to bring those areas up to scratch -Slimbus enhancements, for stability as well as something experimental. All of us S4 kernel devs have tried out the "slimbus overclock" patch here and there, which makes audio communication in the hardware faster, but this is something different. Both ROOT and CLOCK gears are tuned to levels that are optimized using "golden-ratio" logic in order to correspond to each audio frequency step. Also, 44100hz & 48000hz freqs are added to the default playback adjust frequences, given that they are the most used frequencies in audio playback for most mediums. We will try it out together and see if its performance outweighs potential battery drain.
- Alucard Hotplug is now the default. -Use MTP while fastcharging is now set by default. I turn it off when not using it because my battery seems to charge faster with a wall charger when mtp is disabled. Use at your discretion. -added FSUTILS section in Synapse, with options to trim your data/cache/system folders at the click of the button, and also with handy buttons to remount your system/rootfs as rw or ro. -added samsung samp_spcm enable/disable capability, merely as an option. Frankly, i've not done extensive enough research either way and don't plan to, but I welcome "y'all" to test the results if it's something you care about. -removed Synapse options that literally did nothing -System is even faster -modem issues don't seem to be there, but i'm sure they'll pop up on a deepsleep now and then, still haven't fixed autosleeps RAW POWER for it yet. But you're looking at like, once every 50 sleeps so whatever for now... -Installer should account for Imperium Kernel's symlink, thus be more smooth when coming from his rig. -Removed Zen_Decision. It's a genius idea when having to battle with msm mp_decision, but we don't have it running in kernel or userspace so... -RETYPED ALMOST THE WHOLE BLOODY OP BECAUSE THE INTERNET SCREWED ME. Thank goodness for google's cached webpages. I'll bring the op back to looking presentable again soon. -more maybe? I'll letcha know if i think of anything else.
UPDATES - MarkTwo - SEPTEMBER 6, 2016 MarkTwo CHANGELOG: -Interactive-based governors not only work, but they work fast -A TON of low-level scheduling/cpu code to bring those areas up to scratch -Added Alucard Hotplug, and it's working in Synapse NOTE: The seek bar will not show up at first for Alucard Tunables. To get it working, select Alucard_Hotplug, then use the CLEAR SYNAPSE DATA button in the REBOOT tab(or delete Synapse's data in settings.) Have fun kids! -MODEM is much more stable -The battery/charging code is also much more stable UPDATE:Sep 6 part 2
- purely cosmetic. Updated hotplug descriptions in Synapse to include Lazy and Alucard hotplugs, and made sure that all kernel version info clearly states MarkTwo.
BUGS: A great deal of time (pretty much a year, maybe a year and a half?) went into ironing out some of the major bugs that came with upgrading so many crucial subsystems for a barely supported SoC such as ours. (ironically, it has like full 4.6 device-tree support so...cool) A good hunk of this kernel's infrastructure is 3.10-3.18-even a little 4.0+ based, and as such, there are certain drivers that I have hacked my way into preserving functionality, all while maintaining compatibility with android/touchwiz userspace. It's a delicate tightrope act to say the least. -Synapse has a built in log collection feature that will be of much use if you'd like to help to debug this bad boy. -Synapse governor tunables have issues sticking (sometimes). In the meantime, do it manually, go with stock values (I tuned each one myself in the source), or grab Flar2's Ex Manager/Faux's Fauxclock apps or a free one (make sure to delete Synapse from priv-app if you do go down that road though, or at least disable it).
- Again, drop caches once in a while. Persistent ram and dcache code need some more work, but I will get to it. Right now I'm busy making a fancy shmancy kernel thread.:This is probably not necessary anymore, but it's useful info in case you ever are in a jam.
- IMPORTANT: Reset your fuel-guage (also made a button for it in Synapse) if you find your battery/system getting laggy or weird anywhere below 50%. I still have some power-driver updating to do and the fuelguage gets wonky. [UPDATE]: it's a little better now.
- Nothing else off the top of my head, but I'm sure I'll be editing this page tons when something pops up.