[Verizon Samsung Galaxy S 4] Jon8RFC:
If I'm not posting in a good place, please let me know. I don't want to clutter things up.

So, I finally got my linux VM working and a build compiling my own build with some swapped files after many hours of figuring out the outdated guides for setup. It's been going at it for a solid 3 hours, but then it kind of locked up at ~25% host cpu usage, the VM is unresponsive as was the VirtualBox Manager. I guess VBox just went kaput, or is my attached screenshot some type of CRC checksum on some enormous file that somehow taxed VBox into a lockup? I let it sit for about 40 minutes after I noticed it had stalled (so maybe it was stalled much longer), then killed it. I guess I'll have to start over. I gave it plenty of resources, so I thought...4 cpus (it's an old system, just a Q9550 12meg cache overclocked to 3.6ghz) with 99 percent usage capability, 5gigs of ram, 120gigs of storage, 96megs video memory, set the ccache size to 75gigs, with some to spare. Is this issue common at this point in the process, producing a checksum, is VBox not the right route to take, or what?

It took way too long, and I don't know how much of that had to do with it being on a platter drive (it's just my storage drive, so not even OS-shared) or if my cpu is really that awfully underpowered. I'll move the snapshot/image over to my SSD and hope that the next compile goes a little more quickly. It sure seemed like the limitation was cpu resources since it was usually between 80 and 90 percent utilization on the host system, but I wasn't watching any data activity on the drive.

I thought I had found a clean GPE ROM of KitKat 4.4.4, and I don't know if it was CM-free or not, but the compass was borked on that, too. Judging by the downloads, it looked like Google also took a "unified architecture" approach, so maybe that was the core cause. Maybe they didn't also unify, but maybe Cyanogenmod was forced to do so since they were going off of the GPE ROMs and one of them has access to the source?

Regardless, I'm hoping to pick apart this thing one build at a time, swapping in files to see what happens, and hopefully someone more knowledgeable than me, and/or Invisiblek, can step in with some "you should try doing this". I'm finding more and more strangeness that I don't understand about how the hierarchy is setup and things to the tune of "black is now considered orange and blue is now considered red, and there's no rhyme or reason for it" types of changes in what files are where, even in the OEM ROMs once KitKat (the later iterations, I think are where major changes happened) came around, so that makes an amateur pretty damn confused. I had to try really hard to remember basic linux stuff I used at my old job to figure out why my build environment wouldn't work when following the instructions.

Some of you mentioned the gyroscope, and I thought the data looked pretty normal, but maybe I'll have to take another look. On that note, the accelerometer was perfectly normal in the GPE 4.4.4 ROM. I've researched so many model numbers of internal parts in the last week that I'm confused about them at the moment and I once thought the gyroscope was tied in with the magnetometer (it makes more sense to take precedence over the accelerometer), but I forgot why, when looking at the code changes, something made me think that chasing the gyroscope wouldn't be effective. I'll reconsider that since you've made me second-guess myself.

I had some pretty significant plans recently, but this has become a personal vendetta and taken priority that I want fixed because even if I get an S6 Edge, my OCD will still think of my s4 as a picture hanging crooked on the wall. I'm too stupid and uneducated for this, but I like a good challenge. If only Invisiblek lived nearby :/ Maybe he and I can talk on the phone sometime and I can get some direction and questions answered, and he can just let me deal with it.

Anyway, if this isn't the right venue, please let me know. There's a whole thread about "if we are serious about unlocking the bootloader" for recent VZW s4 bootloaders, so maybe we need an "if we...compass" thread somewhere to collaborate. The OP for that thread went in not knowing much at all about it, and he sounds like a near expert at this point and made lots of progress without source code and a lot more complexities than I can imagine. We should be able to figure this one out.

I'm hoping to get my other s4 from my ex ASAP so I can see what that latest OTA does with the magnetometer. Even if it's borked, I don't see why we couldn't find a way to frankenstein in some older, known-working code, and have Invisiblek and the other CM guys look it over and implement it cleanly. It really seems like a kernel/driver issue and something is wrong or missing, so the yas532 internal firmware is defaulting to limp-mode possibly and we just don't have the right way for the kernel to say "the chip is installed in THIS orientation, contrary to your intended installation orientation". Sound plausible, or am I trying too hard to fit a square peg into a round hole with too much industrial lubricant?