Blog log - 2023/2
Last update : 8/3/2024
24/12/2023
Welp, it's the eve of $VARIOUS_EVENTS here, so merry $VARIOUS_EVENTS because 25/12/2023 has much going on... including this being the last blogpost of the year. Bob got me & Lukas into a "gaming holiday", which is ironic considering I expected Lukas to drag us both there. But alas, we learn new things every day.
18/11/2023
So I was about to post this on Saturday (11/11/2023), but Lukas crashed back on my workspace at 10/11/2023, interrupting my otherwise (relatively) peaceful day at work. X3N in hand, he came up to me, grabbed my left shoulder (while I was on the T470's keyboard), and as I turned to him & detached my left earphone...
Yo homie, got something for you to test out. It's slash e slash - I think you'll like it.
Suffice to say... I groaned in mental pain as he mentioned /e/. However, knowing that reaction...
Hmm... maybe you're a bit harsh on that one. Look, just test them out - maybe you'll like the fact they still support A12 - heck they did for your - I mean Bob's - MY... new box.
And thus, I went to work & slammed /e/ A12 on his "new" box (a.k.a. the X3N I thought I gave Bob). Little did I know it would be the time I regret boycotting /e/ (I'll take some "citations needed"). Side note - there's the little "deep dive" that changed my mind on /e/ from "sudo call deer; I'm outta here" to "guess I can work with it...".
However, enough about Lukas & /e/ - below is THE original blogpost I was supposed to post... after some inevitable fixes on the OP6.
OnePlus 6 & Jaguar ROM
Welp, shit's official. Finally got the OnePlus 6 & got to testing around Jaguar (the custom ROM, not animal or car brand). Here's some steps I took for the ordeal :
- Noting out some hardware issues on my device since I got them secondhand (and ended up with these)
- Display has typical burn-in on statusbar section (as expected of OLED displays), though definitely minor. However, on the physical side, the glass is noticeably scratched up & its oleophobic coating has worn off.
- It might be dropped somewhere in its life with its previous owner, since the back glass is shattered (though not to a degree I have to tape up the back or risk cutting my hands), metal sides dented, questionable button feel, and 2/3 working alert slider with top position not working at all.
- In addition to those, headphone jack doesn't feel snug when plugged in all the way. I thought about getting a replacement jack, but... more on that in the repair section.
- Since I'm going to refresh the hardware anyway (by using new spare parts like Hugh Jeffreys), I might as well mention the battery - its health is rated at 50% in Accubattery; but then again secondhand, so there's that.
- One last niggle - I wanted to complain about OnePlus 6's lack of microSD (as is common on all OnePlus phones except for some of those Nord phones), but USB OTG is universal & faster to use than microSD (which involves attaching microSD to reader & back), so there's that. One legit issue is on charging port wear (because OTG drives plug into the same port used for charging), but then again convenience & speed makes up for it.
Another good debate for microSD is as an additional semi-permanent storage (where it spends most of its time on the device, sometimes detached for updating files). Valid debate, though I'm using the OnePlus 6 to replace my Poco F1 as my FGO machine, so the lack of microSD won't matter much (not that I play emulator games on either which should demand microSD).
- Noting out OxygenOS 11 as I slowly crawl to developer settings, toggle OEM unlocking, and unlock bootloader
- There's per-app data restriction, which is neat (marked as Disable Wi-fi, found in the same place you'd expect per-app data restriction would). Though as much as I wanted to test this, I couldn't be bothered to as I never plan on testing stock ROMs, let alone daily driving (only sealed bootloader can force me to do this).
- USB OTG functionality is actually locked to a toggle (Settings > System > OTG Storage) & disables itself after 10 minutes of inactivity. Fortunately this "feature" is absent on custom ROMs.
- It's allergic to background music, just like Xiaomi. Guess Bob's anecdote didn't last after all... by the way, this behavior is also present on custom ROMs. 29/11/2023 Update : This issue is actually not as consistent as Xiaomi's, but take whatever I said on this one with a mug of salt, since it's anecdotal & all.
- Unlock bootloader : toggle OEM unlocking & USB debugging in Developer settings, plug phone to PC (with adb setup obviously), open terminal in aforementioned PC, adb reboot bootloader, fastboot oem unlock. No internet whatsoever (aside from setting up ADB on computer but that's long done for me).
- Flashing OOS10 because my OP6 came with OOS11 & Jaguar ROM needs OOS10 vendor & bootloader
- Download latest Jaguar ROM (vanilla one - full contains GApps), TWRP 3.5.2 installer (and image if needed), TWRP 3.6.1 image, and OOS10. Copy Jaguar ROM, TWRP 3.5.2 installer, and OOS10 zips to USB OTG flashdisk.
8/3/2024 Update : Jaguar ROM deletes older releases each time it's released in either Go-ogle Drive or mega.nz.
- Boot to fastboot & fastboot boot TWRP 3.6.1 image. Afterwards, disconnect the phone from the PC, since we'll need the USB-C port.
- In TWRP, take note of active slot in Reboot section (but don't actually reboot / switch slots yet)
- Attach USB OTG flashdisk to the phone & mount it in TWRP
- Flash OOS10 & TWRP 3.5.2 installer to inactive slot (usually TWRP flashes ROMs to inactive slot)
- Reboot to recovery (you should boot to TWRP 3.5.2), remount USB OTG if unmounted, & reflash OOS10 & TWRP 3.5.2 installer, this time to former active slot.
- Format data & reboot to recovery. You should be back in the first slot, which is now marked as active.
- Actually flashing Jaguar ROM
- Wipe dalvik & system
- Remount USB OTG flashdisk if it's unmounted.
- Flash Jaguar ROM & TWRP 3.5.2 installer to inactive slot
- Format data
- Reboot to recovery (and by extension the slot flashed with Jaguar ROM), ignoring TWRP's no OS warning (remember, system's wiped here).
- Actually boot to system. And detach the flashdisk still plugged up the device's USB-C port unless it's still needed - just in case you have to charge.
- Taking notes of Jaguar ROM's features
- Per-app data restriction present - it's not network permission, but it's fine. Oh yeah - there's a convenient shortcut for it in Settings > Network & internet > Internet firewall.
- Applock's here (Settings > Security), usable if screen lock is set up (as expected). It's nice to see this again, even if I've long since stopped using it.
- Sensor block per-package (Settings > Privacy) in lieu of sensors permission - not as intuitive. 8/3/2024 Update : In addition to these, there's also the "Sensors off" toggle from v39 (December 2023 build), which disables camera & mic in addition to the sensors for the entire device.
- Theming option's in Settings > Display. I expected to see it in Styles & Wallpapers considering we're on A11 here, but I digress. But then again, there's one for Settings icons too (dashboard icons theming), so... I'd personally prefer this to ≥A12. Especially since there's no overscroll wobble & Settings font remain white in dark theme.
- Notch can be hidden as time & battery indicator (not just "disabling" it & moving the indicators below the notch) in Settings > Display > Display cutout by setting Cutout style to "Small". Now here's hoping for this in hole punch displays...
1/12/2023 Update : Notch hiding via "Small" cutout style only works for portrait; come landscape & the notch will be un-hidden.
- Jaguar also implements burn-in protection (which is nice considering all of its supported devices run OLED screens) which causes the navbar and/or statusbar to randomly shift. The option's in Settings > Rom control > Statusbar > Burnin protection switch & will need a reboot after changing its toggle.
- In terms of emulation gaming (at least PPSSPP because that's the only one I'm willing to test on OP6 - and also the easiest & fastest), Jaguar doesn't provide Vulkan (I don't really know if this is just Jaguar or something commonly done on OP6 TBH) even though there's a driver for it within the ROM (at least according to DeviceInfoHW). In addition, I couldn't flash Adreno drivers (with updated OpenGL drivers) onto Jaguar. In the long run, it shoudn't matter since the OP6 isn't as geared towards emulation gaming as the Poco F1 (mostly thanks to missing microSD), but still.
- v38 introduces enforced lockscreen shortcuts - bottom-left corner for recorder, bottom-right for camera. I say enforced because those shortcuts can't be modified at all, let alone disabled (short of completely deleting the apps). It should be toggleable in ≥v39 (not that I tried it myself).
- Provides Vanilla/GApps builds - "Full" build contains "minimal" GApps.
- Also provides microG support, with toggle in Settings > Privacy > MicroG support.
- Supports relocking bootloader, though the required files are in the developer's hands.
- When it comes to security hardening, Jaguar ROM comes with hardened bionic, art, framework, and Oneplus 6's kernel allegedly had security features ported from 4.14 (though its actual tag is 4.9.301 which is curious considering Pixel 3 reached 4.9.337 in official LineageOS 12/9/2023). Telephony is also modified to disable Type Zero ("silently acknowledged") SMS (not sure about class 0 SMS though, not that I'd want to test it anyway, if I somehow could...), which sounds neat for those who'd use the OP6 as a phone (though considering the OP6's allegedly unstable wifi/modem subsystem that might not be a good idea). Also tightened security, whatever it meant...
- No toggle for disabling camera and/or microphone. While alright considering Jaguar ROM is based off A11, since the developer allegedly took commits (archive.org) from Google gerrit master branch (which contains commits from newer Android versions); how about backporting them? Anyway, I'll just dab some Mr. Color C2 Black on the frontcam lens...
7/12/2023 Update : Jaguar v39 (December 2023 release) added a toggle (archive.org) for camera, microphone, & sensor. 4/3/2024 Update : Tried out the February 2024 build (which has these applied), but the toggle turns out to be the "Sensors off" toggle - you can only disable everything at once instead of individually disabling camera, mic, & other sensors. Not cool, since I don't want camera & mic unless I need them; while I do also need the gyroscope, if only to occasionally play in reverse landscape or something.
- Jaguar ROM is closed source, which is also a red flag for any custom ROMs, let alone security-focused ones. Heck, the developer (optimumpro / SecureOS) himself also said (archive.org) these : (in point 3 of the linked Telegram post where GrapheneOS is compared to Jaguar ROM)
Trusting developer is the most important thing when choosing the rom.
I'd probably agree to that, but GrapheneOS is open source, at least. Sure, some of its people (particularly strcat / Daniel Micay) harrasses & raids random people & has a weird stance on their own MIT licensed apps, but at least their source codes are on GitHub for all to see (and/or fork, even if upstream GrapheneOS might raid you?). Whereas Jaguar ROM? Sure, the developer might not get you blackmailed to a "counseling session" with McUgly & his pals (archive.org) at least, but being closed source means you better hope you can trust the developer to not add any unwanted stuff (this issue also applies to open source, but at least there's always the option to fork & maintain if you can). Oh yeah - the dev ignored all questions for reasoning behind lack of source code (and also claims GPL doesn't require authorship), which sounds really questionable (though I'm not well versed in laws so I'm not sure how that goes).
- Jaguar ROM claims to have disabled APEX (archive.org), but there's still /system/apex (and whatever .capex folders (or files according to TWRP) they contain). I'm not exactly sure how that worked, so... how does that work? Or, to be more exact, explain it in layman English?
- Here's another questionable claim I found on JaguarOS' settings (Settings > About phone) : "Rom is NOT to be used for commercial purposes". Wait... does this mean the developer's not cool with me abusing it for Fate/GO? Sorry, but whatever I put on my device, I'll use it for whatever I want it to do. By the way, since he doesn't seem to put any telemetry in (at least any I'm aware of for now), he probably won't know what his users are abusing his ROM for (aside from this one anecdote), so let's just say it doesn't matter anyway, at least for now.
- Personally documenting Jaguar ROM's connections because there was none - a red flag considering other security-focused ROMs like DivestOS & GrapheneOS (and even the "privacy-focused" CalyxOS) has them
- Additional minor notes : Aside from Magisk, offed Private DNS, and UI modifications (navbar & statusbar); no other modifications are made to the system at the moment of documenting Jaguar ROM's connections. Gotta note that out beforehand. Also, while Jaguar v38 is already released at the time of this post (18/11/2023), there's nothing in the changelog that suggests any changes in default connections.
- Flash Magisk 25.2 apk in TWRP to gain root access & install it in system as user-app
I could've used 26.3 but since 25.2's still viable for me (especially for A11) so...
- Install PCAPdroid & set it to root mode. Now there's something to explain PCAPdroid's debut.
- Turn on PCAPdroid's capture mode (and grant root access because just setting it to root mode doesn't check for root access at that point).
- Connect to internet while PCAPdroid's capturing everything & find out that it's all stock Google connections. Focused on privacy & security? Sure, Jaguar ROM really doesn't collect stuff (and/or force you into McUgly's "counseling session")... though everything else sounded like CalyxOS... which isn't ideal at all; but they can speak for themselves, they knew who they are & what they did.
Results for Jaguar ROM v37.1 here : (Part 1) (Part 2)
- The big repairs
- First off - the display, because I'm harvesting the earpiece grill. Removing it felt surprisingly easy (I expected a brawl that ends with the display destroyed - that's how it should've been), as if I removed a service center replaced display (a bit of heating, slap on & pull up suction cup, and pop goes the display, without a single crack). The earpiece grill's obviously glued behind the display like Poco F1's & it has some dirt on it, supporting my claim of it being dropped (though I'm more certain of this being a back alley repair done by those service center people).
- Replacement display came with 2 of those crappy warranty stickers that broke in >9001 pieces when tenderly touched by even a finger - one wrapping the glass to OLED back, other on the back. You can guess how "fun" peeling those get, especially on the display's soft backside. But still - no defects (let alone burn-ins), so I'll gladly take it.
- The ports were a bit dirty, though it further supports my previous claim of my OP6 dropped by its previous user. USB-C's minor enough that I'm done with it in less than a minute (it's just a minor amount of loose dust - nothing major enough to warrant a charging port replacement despite me buying one), but the headphone jack's where it gets kinda juicy. At first, I thought the jack needs replacing, but a bit of toothpick poking revealed a single bit of gravel stuck in the jack - and the jack's snug again (and works more reliably) afterwards.
- Extracting the components felt a bit intimidating (at least for the 1st time), though at worst I'm dealing with those fucking coaxial cables, which are far too happy to detach & refuses to reattach without some brain surgeon levels of precision. I even broke the white one's connection point on the daughterboard, which felt annoying but could've been helped with a better design. At least I didn't have to manually extract & reattach the alert slider & buttons - the frame came with those (as well as a bunch of adhesives, of which I removed all on the bottom area).
Personal note : when attaching motherboard to frame with alert slider, make sure to match the slider pin's notch with the inbuilt switch on the motherboard. Also, buttons & alert slider felt right again & the latter's even fully working after the frame replacement.
- Reattaching the antenna cables back is a bitch - the white one snaps finely (except for the daughterboard - which led to its complete removal), but the black? Easily the worst - on top of stacking it on the white cable (which is trivial TBH), you also have to route it through 2 separate grooves. First one's (counting from daughterboard - top mounted) easy (all things considered), but the second one isn't - it refuses to attach to the SIDE-MOUNTED groove. In frustration, I filed that groove to high hell & now it couldn't really stay there without some glue... though at least now it stays out of the battery.
Personal notes on attaching daughterboard without adhesive : Don't apply them directly from top, instead back up from where it's supposed to be & gently push it down diagonally, letting its protrusions compress. Also make sure charging port's attached before doing this. I almost broke the daughterboard trying to separate (and un-adhere) it from its old frame.
- As for the battery, it's the last point since it arrived the latest. For this one, I got one from an aftermarket brand called rakkipanda. It's somewhat bigger than the original (3800mAh compared to stock 3300mAh) - just enough that it couldn't fit into the OP6's battery slot with the wrapping & pull tab attached. In addition, connecting (and disconnecting) the battery to the board felt somewhat harder as the battery's Lego-like BTB is somewhat larger. Not quite ideal, but considering the questionable state of original batteries for older phones (especially with batteries being glued & stuff - also take note that I only tolerated glued-in batteries, not accepted them), we can only place our hope in the hands of these aftermarket makers & hope they are a viable long-term option moving forward for keeping our older devices running.
1/12/2023 Update (more on rakkipanda battery for OP6) : On one hand, more battery is a nice bonus (at least if correctly implemented). On the other hand, it gets (particularly) iffy at ≤23%, staying there for a while until it suddenly drops down to 10% and to 0% in seconds. In conclusion - once the battery reaches 23%, start charging. It won't be fast unless you have a [Dash / VOOC] charger set, but the idea of investing in a charger that works really well for one brand while barely charging everything else (if said everything else can interact with the charger - in [Dash / VOOC]'s case they could) is an ancient trend (especially in the year OnePlus 3 were released) we should have already moved from. Oh yeah, battery's also sticking to 80% (usually the highest level I'll charge to) for a bit after I charged it. But still, at the end of the day, it's one anecdote from one user, so take that as you will.
17/1/2024 Update on battery again : Battery has stabilized & now works like it's a "brand-new" battery, without all those wacky percentage issues mentioned above.
Conclusion :
- Jaguar ROM : On one hand, I'm glad to see a well-maintained custom ROM that doesn't just "RUSH B NO STOP!" straight to latest Android. On the other hand, that ROM's got enough red flags to make its claims questionable. I don't mind the lack of source code (not that I can even try to fully audit it anyway), but I do mind the misleading claims. Therefore... sudo call deer.
17/1/2024 Update : I might as well clarify why I keep daily driving Jaguar on my OP6 despite my disdain for it & its developer. It's because it works to my liking, in the same vein crDroid & LineageOS (and ArrowOS A11) did.
- OnePlus 6 : First impression's questionable, though it coming in that form is a consequence of buying secondhand. Though it's nothing some repairs couldn't fix.
Additional note regarding removal of white antenna cable (I see no reason to keep it around since it couldn't connect to daughterboard) : So far, wi-fi's tolerable enough for me. Couldn't test mobile data because of obvious reasons, so there's that. I'd say this isn't recommended, but then again there's someone out there that might be in the same situation as mine, so who knows if it's helpful - I'm just throwing words at a wall for this one.
21/3/2024 Update : Apparently optimumpro / SecureOS discovered some anti-features Goolag introduced directly on Android ≥A12 : 'Known signers permission' & 'lease or credit' (reddit | archive.org (reddit) | telegram). Usually I'm wary of anything from a fake privacy custom ROM developer, but as his evidence came straight off Goolag's mouths, I recommend reading into this. I'm probably going to slowly (but surely) move my devices back to A11, in light of this news.
20/10/2023
Linking some debatably funny nutshell videos because Neocities (and DivestOS?) apparently got blocked in Indonesia (in truth, I can't really verify this as it's an anecdote from Lukas) :
And announcing some things I'd like to tackle in the foreseeable future :
- Testing out Jaguar ROM (which involves getting an actual OnePlus 6 - because it's the only supported device that still has a headphone jack) [resolved done]
- Testing out & commenting on TheAnonymouseJoker's privacy guides; both on >phone & computer. I'd probably have more to say on the phone though. (17/1/2024 Update : Ragequit thanks to bloated brand review. Important bits stored at latest blog log entry for now.)
19/9/2023
Welp, after roughly 4 months of hiatus, I'm fucking back. No thanks to Bob, who has since swapped jobs with Lukas & just so happened to drag me into his wacky experiments with his Pixel 3 - which used to be mine. Of course, I did took some opportunities to update the Pixel 3 reviews & such, so there's that. Guess I can't really stay out of this forever...
Main Page