• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM] [marlin | Pixel XL] [7.1.2] [LOS-based] **crDroid**v3.8.4

Status
Not open for further replies.
Search This thread

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
The screen that warns you about the bootloader being unlocked, and to press power to pause boot.

Ahh. That's definitely not a crDroid thing. That's a Google thing, and impossible to get rid of. You just have to live with it if you want a custom ROM (which requires an unlocked bootloader by definition). The only way to get rid of that is to go back to stock and re-lock the bootloader**.


**DO NOT RE-LOCK THE BOOTLOADER UNLESS YOU HAVE COMPLETELY GONE BACK TO STOCK OR YOU WILL BRICK YOUR PHONE.**
 

dictionary

Senior Member
Dec 3, 2009
4,509
1,562
Ahh. That's definitely not a crDroid thing. That's a Google thing, and impossible to get rid of. You just have to live with it if you want a custom ROM (which requires an unlocked bootloader by definition). The only way to get rid of that is to go back to stock and re-lock the bootloader**.


**DO NOT RE-LOCK THE BOOTLOADER UNLESS YOU HAVE COMPLETELY GONE BACK TO STOCK OR YOU WILL BRICK YOUR PHONE.**
Yeah, knew it was a Google thing, just know on old devices you could get rid of it. Probably shouldn't expect much coming to the Pixel though, lol. I don't normally relock the bootloader. I've had accidents and clicked the toggle by accident in Dev options, but I always toggle it right back. I'm assuming this wouldn't be an issue, but rather actually issuing the fastboot OEM lock, correct?
 

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
Yeah, knew it was a Google thing, just know on old devices you could get rid of it. Probably shouldn't expect much coming to the Pixel though, lol. I don't normally relock the bootloader. I've had accidents and clicked the toggle by accident in Dev options, but I always toggle it right back. I'm assuming this wouldn't be an issue, but rather actually issuing the fastboot OEM lock, correct?

I'm not sure TBH. I don't have that switch on my Verizon variant, so I don't know what that does, sorry. I'm guessing if you toggle it, then reboot, you'd have issues. I'd try to avoid it altogether though. Hard bricks aren't anything to toy with. :good:
 

dictionary

Senior Member
Dec 3, 2009
4,509
1,562
I'm not sure TBH. I don't have that switch on my Verizon variant, so I don't know what that does, sorry. I'm guessing if you toggle it, then reboot, you'd have issues. I'd try to avoid it altogether though. Hard bricks aren't anything to toy with. :good:
Allow OEM unlocking. It's on ever since I did it on factory rom to unlock bootloader. There have been times I've gone into developer options and unchecked it by accident, then enabled it again right away. I'd never reboot, but even that shouldn't be much of an issue. Then again .. it wasn't much an issue on all my other devices, but Marlin is a bit more annoying, lol
 

Attachments

  • Screenshot_20171030-163923.png
    Screenshot_20171030-163923.png
    195 KB · Views: 93

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
Allow OEM unlocking. It's on ever since I did it on factory rom to unlock bootloader. There have been times I've gone into developer options and unchecked it by accident, then enabled it again right away. I'd never reboot, but even that shouldn't be much of an issue. Then again .. it wasn't much an issue on all my other devices, but Marlin is a bit more annoying, lol
Oh, well that just allows the unlocking. It's fastboot that actually acts on that. Just don't -ever- tell it to lock in fastboot and you're all good. :cool:
 
  • Like
Reactions: dictionary

Bryanx86

Senior Member
Apr 8, 2016
769
328
RockNRoll
Google Pixel 3 XL
Haha, that'll never ever happen, on any of my devices, unless it's a work device
I've locked twice successful, Nexus 6p RMA, and once for Android pay. You're not missing anything. The 3.1.1 TWRP works with nougat, at least with this rom. And the only thing I HAD to do to flash this rom coming from Oreo, besides the normal stuff like vendor, was flash the nougat bootloader. I was in a boot loop with this rom until I did that in fastboot. Afterwards though I did like the op did and flashed stock to both slots. What a pia this damn thing is!
 

AncientDeveloper

Senior Member
Jun 22, 2008
110
37
I keep getting Configuring your cellular network from SprintDM even though cellular data, voice, and sms are all working fine. Preferred network type is set to Global, and APN is also set correctly. This happens upon every reboot, and it stays on unless canceled manually. Any ideas? My carrier is Sprint.

Running latest stock 3.8.2 with Beans mini. No custom kernel.

Tried clearing Dalvik/cache & SprintDM app cache, but it's still happening.

Note: This does not happen with stock Google factory image.
 

Attachments

  • IMG_20171104_165517.jpg
    IMG_20171104_165517.jpg
    102 KB · Views: 111
Last edited:

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
I keep getting Configuring your cellular network from SprintDM even though cellular data, voice, and sms are all working fine. Preferred network type is set to Global, and APN is also set correctly. This happens upon every reboot, and it stays on unless canceled manually. Any ideas? My carrier is Sprint.

Running latest stock 3.8.2 with Beans mini. No custom kernel.
Don't ever reboot? ;)

Seriously though, I have no clue. I haven't ever seen that on any of the devices I build. Maybe pull a log after booting? Not sure it would show anything but it's probably the best chance we have.

It's a good thing all the connectivity works anyway though.
 

AncientDeveloper

Senior Member
Jun 22, 2008
110
37
Don't ever reboot? ;)

Seriously though, I have no clue. I haven't ever seen that on any of the devices I build. Maybe pull a log after booting? Not sure it would show anything but it's probably the best chance we have.

It's a good thing all the connectivity works anyway though.

Also forgot to mention it's running latest bootloader, radio, and vendor.

Would you happen to know if the baked-in SprintDM is the same one as the Google stock one?

Attached & pasted here for your convenience:
Code:
11-04 21:49:19.002  1032  1032 W PackageManager: Unknown permission com.qualcomm.permission.USE_QCRIL_MSG_TUNNEL in package com.android.sdm.plugins.sprintdm
11-04 21:49:19.002  1032  1032 W PackageManager: Unknown permission com.android.permission.INJECT_OMADM_SETTINGS in package com.android.sdm.plugins.sprintdm
11-04 21:49:19.002  1032  1032 W PackageManager: Unknown permission com.android.permission.WRITE_OMADM_SETTINGS in package com.android.sdm.plugins.sprintdm
11-04 21:50:27.426  1032  2329 I ActivityManager: Start proc 4348:com.android.sdm.plugins.sprintdm/1001 for broadcast com.android.sdm.plugins.sprintdm/.SprintDMReceiver
11-04 21:50:27.481  4348  4348 W System  : ClassLoader referenced unknown path: /system/priv-app/SprintDM/lib/arm64
11-04 21:50:27.510  4348  4348 D SprintDMReceiver: Received intent: android.intent.action.SIM_STATE_CHANGED
11-04 21:50:27.525  4348  4348 D SprintDMHelper: simOperator: 310120
11-04 21:50:27.526  4348  4348 D SprintDMHelper: isUICCSprint: We have a Sprint UICC
11-04 21:50:27.528  4348  4348 D SprintDMReceiver: received ACTION_SIM_STATE_CHANGED
11-04 21:50:27.528  4348  4348 D SprintDMReceiver: ss extra is: LOADED
11-04 21:50:27.537  4348  4348 D SprintDMService: SprintDMService constructed [tid=1]
11-04 21:50:27.559  1032  1087 I ActivityManager: Start proc 4366:com.android.settings/1000 for broadcast com.android.settings/.sim.SimSelectNotification
11-04 21:50:27.564  4348  4348 D SprintDMService: onStartCommand: intent="Intent { act=android.intent.action.SIM_STATE_CHANGED cmp=com.android.sdm.plugins.sprintdm/.SprintDMService (has extras) }" [tid=1]
11-04 21:50:27.564  4348  4348 D SprintDMService: onStartCommand: action="android.intent.action.SIM_STATE_CHANGED" flags=0 startId=1
11-04 21:50:27.608  4366  4366 W System  : ClassLoader referenced unknown path: /system/priv-app/Settings/lib/arm64
11-04 21:50:27.618  4348  4348 D SprintDMHelper: simOperator: 310120
11-04 21:50:27.619  4348  4348 D SprintDMHelper: isUICCSprint: We have a Sprint UICC
11-04 21:50:27.630  4348  4348 D SprintDMStateMachine: Last run due to: UICC ID changed from: to: MY_SIM_CARD_ID_HERE
11-04 21:50:27.667  4348  4348 D SprintDMStateMachine: clearing HFA flags
11-04 21:50:27.686  4348  4348 D SprintDMStateMachine: getNextHfaState: PerformDeviceConfigState
11-04 21:50:27.687  4348  4379 D SprintDMStateMachine: CIDC: start HFA session
11-04 21:50:27.688  4348  4379 D SprintDMStateMachine: startHfaDeviceConfig()
11-04 21:50:27.689  4348  4348 D SprintDMService: registering the phone state listener
11-04 21:50:27.704  4348  4348 D SprintDMService: registering the device provisioned listener
11-04 21:50:27.713  4366  4366 D SimSelectNotification:  no of slots 1 provision = true
11-04 21:50:27.715  4348  4379 D SprintDMStateMachine: starting FOTA session with alert string [Ljava.lang.String;@8baf316
11-04 21:50:27.734  1032  1088 I ActivityManager: Killing 3565:com.google.process.gapps/u0a84 (adj 906): empty #17
11-04 21:50:27.740  4348  4379 D SprintDMStateMachine: PerformDeviceConfigState: processMessage EVENT_SPRINT_UICC_LOADED
11-04 21:50:27.740  4348  4379 D SprintDMStateMachine: BaseState: ignoring EVENT_SPRINT_UICC_LOADED
11-04 21:50:27.759  4348  4348 D SprintDMHelper: simOperator: 310120
11-04 21:50:27.759  4348  4348 D SprintDMHelper: isUICCSprint: We have a Sprint UICC
11-04 21:50:27.759  4348  4348 D SprintDMService: startService SprintDMService: CONNECTIVITY_ACTION
11-04 21:50:27.759  4348  4348 D SprintDMService: networkInfo extra is: [type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "MY_WIFI_SSID_HERE", failover: false, available: true, roaming: false, metered: false]
11-04 21:50:27.760  4348  4348 D SprintDMService: networkType extra is: 1
11-04 21:50:27.760  4348  4348 D SprintDMService: isFailover extra is: false
11-04 21:50:27.760  4348  4348 D SprintDMService: noConnectivity extra is: false
11-04 21:50:27.760  4348  4348 D SprintDMService: otherNetworkInfo is: null
11-04 21:50:27.760  4348  4348 D SprintDMService: reason extra is: null
11-04 21:50:27.760  4348  4348 D SprintDMService: extraInfo extra is: "MY_WIFI_SSID_HERE"
11-04 21:50:27.760  4348  4348 D SprintDMService: inetCondition extra is: 100
11-04 21:50:27.769  4348  4348 D SprintDMStateMachine: Data network type is acceptable: 13
11-04 21:50:27.769  4348  4348 D SprintDMService: Listener.onServiceStateChanged() sending event 7
11-04 21:50:27.769  4348  4348 D SprintDMService: Listener.onCallStateChanged(0, "")
11-04 21:50:27.769  4348  4348 D SprintDMService: Listener.onCallStateChanged() sending event 14
11-04 21:50:27.769  4348  4348 D SprintDMService: Listener.onDataConnectionStateChanged(0, 13)
11-04 21:50:27.769  4348  4348 D SprintDMService: mobile data disconnected (FOTA APN may be available)
11-04 21:50:27.770  4348  4348 D SprintDMService: Listener.onOtaspChanged(3)
11-04 21:50:27.770  4348  4348 D SprintDMService: onStartCommand: intent="Intent { act=android.net.conn.CONNECTIVITY_CHANGE cmp=com.android.sdm.plugins.sprintdm/.SprintDMService (has extras) }" [tid=1]
11-04 21:50:27.770  4348  4348 D SprintDMService: onStartCommand: action="android.net.conn.CONNECTIVITY_CHANGE" flags=0 startId=2
11-04 21:50:27.770  4348  4348 D SprintDMService: got connectivity action
11-04 21:50:27.770  4348  4379 D SprintDMStateMachine: PerformDeviceConfigState: processMessage EVENT_MOBILE_DATA_CONNECTED
11-04 21:50:27.770  4348  4379 D SprintDMStateMachine: BaseState: ignoring EVENT_MOBILE_DATA_CONNECTED
11-04 21:50:27.770  4348  4379 D SprintDMStateMachine: PerformDeviceConfigState: processMessage EVENT_VOICE_CALL_ENDED
11-04 21:50:27.770  4348  4379 D SprintDMStateMachine: BaseState: received EVENT_VOICE_CALL_ENDED
11-04 21:50:27.778  1032  3671 D ActivityManager: cleanUpApplicationRecord -- 3565
11-04 21:50:27.779  4348  4348 D SprintDMHelper: simOperator: 310120
11-04 21:50:27.779  4348  4348 D SprintDMHelper: isUICCSprint: We have a Sprint UICC
11-04 21:50:27.779  4348  4348 D SprintDMService: WiFi is connected
11-04 21:50:27.779  4348  4379 D SprintDMStateMachine: PerformDeviceConfigState: processMessage EVENT_WIFI_CONNECTED
11-04 21:50:27.779  4348  4379 D SprintDMStateMachine: BaseState: ignoring EVENT_WIFI_CONNECTED

11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     a: "google/marlin/marlin:7.1.2/NJH47F/4146041:user/release-keys"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     b: "8996-012901-1702171013"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     c: "8996-012001-1704121145"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     d: "marlin"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     e: "google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     f: "android-google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     g: 1508968825
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     h: 11745440
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     i: 25
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     j: "marlin"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     k: "Pixel XL"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     l: "google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     m: "marlin"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     n: false
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     o <
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       a: 2
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       b: "ms-android-google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     >
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     o <
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       a: 1
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       b: "android-google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     >
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     o <
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       a: 6
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:       b: "am-android-google"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     >
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     q: "2017-10-05"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   >
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   b: 1509846610837
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   e: "310120"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   f: "310120"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   g: "WIFI::"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   h: true
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   i: 0
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   j: 2
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   k <
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     a: 8
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     b: 1
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     c: "unspecified"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     d: ""
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     e: false
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   >
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:   l <
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     a: "310120"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     b: "Sprint"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     c: "0"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     d: 0
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     d: 1
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     d: 2
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     e: "310120153100000"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     f: "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
11-04 21:50:32.039  2335  3633 I ProcessCheckinRequest:     g: "\346\245"
 

Attachments

  • sprintdm-logcat.txt
    9.8 KB · Views: 13

AncientDeveloper

Senior Member
Jun 22, 2008
110
37
The keyboard switcher selector icon doesn't show on the status bar even though there are more than 2 keyboards installed/enabled and it's enabled under "Lanugages & input" in Settings. This exact behavior had happened before in a different ROM few months ago, but it was magically fixed in a later build.

For now, I use the keyboard switcher under crDroid Settings -> Navigation -> Smartbar settings -> Input method and media actions as a workaround.

Is this just me or the build?

I should mention that this & the above SprintDM issues are from fresh clean install (wiped system, data, cache, even sdcard) after coming from Google factory 7.1.2 image, and didn't use TB to restore any apps/data/settings.
 
Last edited:

wgrant

Senior Member
Sep 23, 2011
1,465
456
I keep getting Configuring your cellular network from SprintDM even though cellular data, voice, and sms are all working fine. Preferred network type is set to Global, and APN is also set correctly. This happens upon every reboot, and it stays on unless canceled manually. Any ideas? My carrier is Sprint.

Running latest stock 3.8.2 with Beans mini. No custom kernel.

Tried clearing Dalvik/cache & SprintDM app cache, but it's still happening.

Note: This does not happen with stock Google factory image.
It's done this in every ROM I use. I believe it's an issue with Sprint's network not being able to verify the device. I just hit cancel and I'm good to go till next reboot. When I first got my device I installed PN before activating the device with Sprint and I had to flash back to stock, activate then flash custom ROM.

Sent from my Pixel XL using Tapatalk
 

AncientDeveloper

Senior Member
Jun 22, 2008
110
37
It's done this in every ROM I use. I believe it's an issue with Sprint's network not being able to verify the device. I just hit cancel and I'm good to go till next reboot. When I first got my device I installed PN before activating the device with Sprint and I had to flash back to stock, activate then flash custom ROM.

Sent from my Pixel XL using Tapatalk

I wonder which part of AOSP (or LOS) is causing this. According to the logs (without digging deeper), it seems to think the SIM has changed every time it boots. SprintDM seems to only need to verify once upon activation on the stock ROM.

It's just a minor annoyance and not a big deal. crDroid has always been smooth, battery-efficient, and performant on all my devices. :good:
 
  • Like
Reactions: hokiealumnus

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
crDroid v3.8.3 for marlin is live and ready to go!

Short crDroid 3.8.3 Release Notes:

Bugfix: Fix Poweramp crash bug
Other bugfixes (See changelog in Settings/crDroid Settings/About crDroid/Changelog)
Update to November security patch

Note some devices have a bug where video recording errors when it tries to save 30fps video with Google Camera. 60fps with Google Camera seems ok and the included Snap Camera isn't affected.

As always, download link & instructions are in the OP. Dirty flash should be fine, but remember to always clean flash before reporting any problems. Enjoy! :good:
 

hokiealumnus

Recognized Contributor
Nov 5, 2012
2,756
4,130
www.overclockers.com
crDroid v3.8.4 is Up!

crDroid v3.8.4 for marlin is live and ready to go!

Update to December security patch.
Whatever else LOSS added.
No crDroid changes to my knowledge.

Note some devices have a bug where video recording errors when it tries to save 30fps video with Google Camera. 60fps with Google Camera seems ok and the included Snap Camera isn't affected. This post is a copy/paste. If your device is not capable of 60 fps, then obviously 60 fps won't work for you.

Full disclosure - I am on stock 8.1 right now and haven't had time to personally install and test this. We haven't had any complaints from those that have though. :)

As always, download link & instructions are in the OP. Dirty flash should be fine, but remember to always clean flash before reporting any problems. Enjoy!
 
Last edited:

HACK3DANDR0ID

Senior Member
May 25, 2017
1,157
323
41
New Jersey
crDroid v3.8.4 for marlin is live and ready to go!



Note some devices have a bug where video recording errors when it tries to save 30fps video with Google Camera. 60fps with Google Camera seems ok and the included Snap Camera isn't affected. This post is a copy/paste. If your device is not capable of 60 fps, then obviously 60 fps won't work for you.

Full disclosure - I am on stock 8.1 right now and haven't had time to personally install and test this. We haven't had any complaints from those that have though. :)

As always, download link & instructions are in the OP. Dirty flash should be fine, but remember to always clean flash before reporting any problems. Enjoy!

I too was on 8.1.0 but my boredom caused me to flash the 7.1.2 images and everything booted fine. I'll update if i find any issues...
 
  • Like
Reactions: hokiealumnus
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 16

    This is crDroid for 5.5" Pixel XL [marlin]
    If you're looking for the 5" Pixel [sailfish], go here.

    crDroid is designed to increase performance and reliability over stock Android for your device also attempting to bringing many of the best features existent today. We're mainly based on LineageOS so use custom kernels compatible with them!


    BE3pE0l.png



    LineageOS - all mods and features
    StatusBar: Network Traffic
    StatusBar: SU icon toggle
    StatusBar: Ticker
    StatusBar: Hide/Show icons
    StatusBar: BatteryBar customization
    StatusBar: Battery styles
    StatusBar: Tap to Sleep
    StatusBar: Clock styles
    StatusBar: crDroid logo customization
    QuickSettings: Tiles customization
    QuickSettings: Brightness slider toggle
    QuickSettings: Optional brightness icon
    QuickSettings: Vibrate on Touch
    QuickSettings: WiFi easy toggle
    QuickSettings: Bluetooth easy toggle
    QuickSettings: Data easy toggle
    Navigation: Toggle navbar
    Navigation: PIE navigation
    Navigation: DUI - SmartBar / Fling Toggle
    Navigation: Pulse - smart visualization
    Notifications: Power notification controls
    Notifications: Force expanded notifications
    Notifications: Toggle immersive mode messages
    LockScreen: Screen shortcuts
    LockScreen: Toggle longpress for screen shortcuts
    LockScreen: Swipe shortcuts
    LockScreen: Toggle media cover art
    LockScreen: Toggle clock
    LockScreen: Toggle date
    LockScreen: Toggle alarm
    LockScreen: Tap to sleep
    LockScreen: Toggle longpress torch
    LockScreen: Cutomize number of notifications
    LockScreen: Toggle power menu for secure lockscreen
    Recents: Immersive Recents
    Recents: Hidden apps
    Recents: Toggle OmniSwitch as default Recents
    Sound: Toggle screenshot sound
    Sound: Live customization for number of volume steps
    Sound: Less frequent notification sounds
    Miscellaneous: Clock Widget
    Miscellaneous: Toggle suggestions on Settings dashboard
    Miscellaneous: Toggle summaries in Settings
    Miscellaneous: Toggle auto-start music player on headset detection
    Settings/Display: Expanded Desktop customization
    Settings/Sound: Increasing Ringtone
    12 New Quick Settings Tiles including Caffeine mode, Expanded Desktop and Sync.
    Settings/Security: Quick PIN/Password Unlock
    Default sounds from latest Nexus image.
    OMS support.
    Stability and performance improvements.


    Always Have a full functional Backup. Just in case!


    DOWNLOAD


    Vendor image for current build - NJH47F vendor image - DOWNLOAD HERE

    GAPPS: Beans Gapps
    -Default Packages (which replace gallery & snap camera with photos & google camera)
    -Custom Packages (which keep gallery & snap camera)

    First time installing crDroid to your PixelXL, or coming from another ROM:
    ** Make sure you're running a proper working Recovery (CWM or TWRP)
    1) Copy crDroid & gapps zips to your device
    2) Boot into Recovery
    3) Wipe cache, system, & data (or just cache & system for a dirty flash).
    4) Flash ROM
    5) Flash TWRP ***If you do not do this, you will lose TWRP!***
    6) Reboot back into TWRP
    7) Flash gapps
    8) Flash vendor image
    9) Boot up

    Upgrading from earlier version of crDroid:
    1) Copy crDroid & gapps zips to your device
    2) Boot into Recovery
    3) Wipe system and cache
    4) Install ROM.
    5) Install TWRP immediately. ***If you do not do this, you will lose TWRP!***
    6) Reboot back into TWRP
    7) Flash gapps
    8) Flash vendor image
    9) Boot up

    Instructions below are for builds before v3.7, which had gapps built in:
    First time installing crDroid to your PixelXL, or coming from another ROM:
    ** Make sure you're running a proper working Recovery (CWM or TWRP)
    1) Copy crDroid zip to your device
    2) Boot into Recovery
    3) Wipe system,data and cache
    4) Install ROM.
    5) Install TWRP immediately. ***If you do not do this, you will lose TWRP!***
    6) Reboot back into TWRP (for it to switch active slots).
    7) Flash Vendor Image
    8) Boot to the ROM, profit!

    Upgrading from earlier version of crDroid:
    1) Copy crDroid ZIP to your device
    2) Boot into Recovery
    3) Wipe system and cache
    4) Install ROM.
    5) Install TWRP immediately. ***If you do not do this, you will lose TWRP!***
    6) Reboot back into TWRP (for it to switch active slots).
    7) Flash Vendor Image
    9) Reboot


    KNOWN ISSUES
    1) Google camera doesn't save 30fps videos. Use Snap camera, or record 60fps with Google camera.
    2) On all LOS-based ROMs, while the Pixels are recognized as Pixel devices in Photos and it says you have unlimited storage, apparently backing up photos DOES take away from your Drive storage allocation. All I can say is that this is being looked into, but no solution has been found to date.

    Aside from that, as far as I can tell there are no longer any bugs! Please report any that you run into, assuming you have tested on a clean install. :good:

    NON-BUGS, BUT ITEMS OF INTEREST
    1) Pixel Launcher is included, but I haven't figured out round icons in it yet.
    2) I tried getting live wallpapers to work, but after seeing it would add almost 100 MB to the already big install zip (due to gapps inclusion), I decided against it altogether. You can download an app with them here.

    Don't expect any support if you:
    - are not running the included kernel
    - have installed any mods such as Xposed!
    - have modified system files

    Thanks to:

    - Google
    - LineageOS
    - SlimRoms
    - AOSPA (Paranoid Android)
    - OmniRom
    - NamelessROM
    - @beanstown106 for his hard work on this device, specifically the gapps without which the PixelXL wouldn't be a PixelXL in Google's eyes.
    - @flar2 for his excellent ElementalX kernel, which is used in crDroid for marlin.
    - Many others... (if you're feeling upset being out of the thanks list just send a PM )

    XDA:DevDB Information
    [ROM] [marlin | Pixel XL] [7.1.2] [LOS-based] **crDroid**v3.8.4, ROM for the Google Pixel XL

    Contributors
    hokiealumnus, firebird11, neobuddy89, The crDroid Team
    Source Code: https://github.com/crdroidandroid

    ROM OS Version: 7.x Nougat
    Based On: LineageOS

    Version Information
    Status: Stable
    Current Stable Version: crDroid v3.1
    Stable Release Date: 2017-05-09
    Current Beta Version: crDroid v2.2
    Beta Release Date: 2017-02-28

    Created 2017-03-01
    Last Updated 2017-12-13
    8
    crDroid v3.8.3 for marlin is live and ready to go!

    Short crDroid 3.8.3 Release Notes:

    Bugfix: Fix Poweramp crash bug
    Other bugfixes (See changelog in Settings/crDroid Settings/About crDroid/Changelog)
    Update to November security patch

    Note some devices have a bug where video recording errors when it tries to save 30fps video with Google Camera. 60fps with Google Camera seems ok and the included Snap Camera isn't affected.

    As always, download link & instructions are in the OP. Dirty flash should be fine, but remember to always clean flash before reporting any problems. Enjoy! :good:
    7
    crDroid v3.8.4 is Up!

    crDroid v3.8.4 for marlin is live and ready to go!

    Update to December security patch.
    Whatever else LOSS added.
    No crDroid changes to my knowledge.

    Note some devices have a bug where video recording errors when it tries to save 30fps video with Google Camera. 60fps with Google Camera seems ok and the included Snap Camera isn't affected. This post is a copy/paste. If your device is not capable of 60 fps, then obviously 60 fps won't work for you.

    Full disclosure - I am on stock 8.1 right now and haven't had time to personally install and test this. We haven't had any complaints from those that have though. :)

    As always, download link & instructions are in the OP. Dirty flash should be fine, but remember to always clean flash before reporting any problems. Enjoy!
    7
    crDroid v3.0 is Up!

    crDroid v3.0 for Pixel XL (marlin) is live and ready to go! Per our dev, neobuddy89:

    And just when you thought we are gone....

    crDroid 3.0 source is ready and roms will roll out pretty soon!

    What's new:
    * 7.1.2 upgrade (April security patched in.)
    * Entirely refreshed projects - fixed minor glitches.
    * Custom carrier label customizations.
    * New Ambient display customizations using sensors. (This is hardware dependent; works on most devices)
    * Improved weather placement in status bar.
    * AOSP recents: Membar customizations.
    * Improved PULSE in smart bar.
    * Improved AdAway - now can be launched via crDroid Settings > Misc.
    * Switched back to LOS stock root. To enable: Dev Options > Manage Root.
    * New default material wallpapers.

    That's it for now. Recommended to go for clean flash this time! We believe delivering best out there and so as it takes little more time than expected to bring you what's promised. Cheers.
    :)

    Changes specific to our device:
    * You need the N2G47E vendor image - DOWNLOAD HERE
    * With the change back to LOS stock root, if you want to use Magisk, you can download the un-SU script for Pixels in the 2nd post, then proceed with the Magisk installation as previously. Totally up to you, just don't forget to re-flash TWRP if you flash Magisk! Magisk won't be supported directly from here out, though I do plan on using it myself.

    To my knowledge, the LOS Google Camera bug is still present (where it crashes trying to save 30 FPS videos; 60 FPS works fine). Photos are as they should be.

    Gapps still have to be included for now, and I have updated them. Required updates should be few.

    As always, download link & instructions are in the OP. Clean flash is strongly recommended due to the switch to 7.1.2. If you choose to play with fire, remember to always clean flash before reporting any problems. Enjoy! :cool:
    6
    Passing SafetyNet and/or playing PokemonGO with LOS su

    This is a note to folks who play (or like me have kid(s) that play) PokemonGO (PoGo) on their devices. Since root is built-in, by default SafetyNet won't pass with crDroid, hence no PoGo. As an added bonus, since the kernel we use on this build is SELinux Enforcing, this will also allow crDroid install to completely pass SafetyNet!

    All you have to do is boot to recovery and flash the unsu-los-pixel.zip.
    If you want root back, it's as easy as flashing restoresu-los-pixel.zip.

    Download both files from AFH here: https://www.androidfilehost.com/?w=files&flid=158048

    SEE IMPORTANT NOTES BELOW!

    Note 1) Through no intentional act of my own, this will sometimes trigger TWRP to boot to the wrong slot. If your phone doesn't boot, or boots back to recovery, just go to the Reboot menu, select the opposite slot and reboot system.

    Note 2) This will -only- work on the Pixel & the Pixel XL. Pixels are weird and nest parts of the /system/ directory in /system/system/, hence the need for me to make these for Pixels only.

    Note 3) I have tested this on crDroid, but in theory it will work on any LOS-based ROM, becuase they all should implement built-in root the same way.

    What flashing this actually does

    What this mod does could not be any easier. The un-root script takes the two su files required for root - in /system/system/bin/ and /system/system/xbin/ - and renames them to "s_u". The restore root script renames both files back to "su". That's it. You can do this manually by mounting system and using the file explorer in TWRP, but that takes an annoyingly long time relative to just flashing these.

    We actually have a developer, @bhb27 , on the crDroid team that has an app that allows you to pass SafetyNet, but we are having trouble actively mounting system while the phone is booted. If we get that sorted, this won't be necessary, but in the mean time this is the quickest way I can come up with.[/hide]

    ---

    To use Magisk, just flash the remove SU file above, then flash Magisk. Magisk info below.

    Instructions for Upgrading Magisk
    The ever astute goodwin_c has kindly updated Magisk for Pixels to the new version 12.0!
    Ok fellas! Here we go!
    Fresh, still hot, update for Magisk. 12.0 this time
    https://drive.google.com/open?id=0B1xZ4VKT4JKZUFhVUlk0enhBVFk
    Here are his instructions for cleaning the old version and installing the new one. You will lose root if you don't do this.
    ...for those who installed previous 11.6, here is guide what to do:
    - boot to TWRP
    - mount DATA and SYSTEM partitions
    - using adb or embedded terminal, remove /data/magisk folder, /data/magisk.img file, /system/sbin_orig folder if exists, /system/magisk folder if exists
    - replash RR and TWRP
    - reboot TWRP (once again to recovery)
    - install updated Magisk package + TWRP
    - boot to system and enjoy properly working Magisk Root :)

    All credit for this great work goes to @goodwin_c !! :good: