Author Topic: [EXPERIMENTAL] Android 7.1 for GPD XD  (Read 47824 times)

phh (OP)

  • Posts: 22
[EXPERIMENTAL] Android 7.1 for GPD XD
« on: September 25, 2017, 11:06:11 am »
Hi all,

Here is an Android 7.1 for GPD XD:
- v4 https://we.tl/QZVjd1QWe8 (see #3 for older versions)
- Play Store: https://we.tl/yzZZ2mKb27 run install.sh (linux-only script, sorry)
Kernel source: https://github.com/phhusson/linux/tree/gpdxd-rk3288-7

Please note that this is HIGHLY EXPERIMENTAL.
Many things are not working, and I don't expect this ROM to be usable for day-to-day.

Things that work:
- Vulkan
- Adoptable Storage on microSD
- Audio out
- ...

Things that don't work:
- No Gamepad mapping tool
- DDR scaling

Known quirks:
- Bootloader doesn't support the screen, so you'll most probably see weird images at boot.
- WiFi doesn't survive a suspend, you need to reboot after a suspend to get Wifi back
- Sometimes the screen doesn't power up, though the backlight does. Don't worry, unplug your GPD XD, power it off for 30s, and power it back on. It should be good now.

ChangeLog:
v4:
- Enable suspend

v3:
- Fixed power button
- Fixed audio output (speaker and headphones)
- Forced permanent wake lock. No suspend, but no suspend crash either
- Fixed battery gauge

v2:
- Works on legacy flash tool
- LCD fix
- 1GB /system instead of 2GB

Have fun! And if you find this useful, tell me, so I keep working on it :)
(Also I'm curious about the usage of Vulkan, I haven't seen much except demos, so if it's useful for you, please tell!)
« Last Edit: October 17, 2017, 10:05:07 pm by phh »

tiagao_extremo

  • Posts: 748
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #1 on: September 25, 2017, 12:24:10 pm »
That was quite unexpected. I hope you will keep working on it. Congratulations!

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #2 on: September 25, 2017, 01:57:38 pm »
** Edited this post to host the mirrors:

Android Exeperimental for GPD XD:
Version 01
Version 03
Version 04

I test the versions for 3 things:
- Boots up ok
- Doesn't break/brick your GPDXD. ( not guaranteed - but i do flash the rom myself to take the same risk )
- Abilitiy to restore my old backup after I am done.
« Last Edit: October 18, 2017, 02:42:05 am by PsyOps »

phh (OP)

  • Posts: 22
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #3 on: September 25, 2017, 11:04:41 pm »
Ok, this behaviour means you need a more recent rockchip flashtool. (like one which is able to flash an rk3399 should be good)
I can make an image which works with older versions of rockchip flashtool, but it makes the image bigger, takes more time to flash, ...

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #4 on: September 25, 2017, 11:09:16 pm »
I don't know what this version is supposed to do but it just turns GPD into a brick at this point.

This person just registered and made 1 post. Very suspicious. I installed just to test it out and it doesn't load at all. It almost seems like that is the sole purpose of it. I get an image saying "erasing" with some sort of progress wheel.

I have flashed my gpd at least 200 times in the last month so this was just once more.

So until this guy elaborates on the firmware I do not suggest anyone installs. Just my opinion.

Yeah thats really fishy  :( . Still wouldn't write it off as a hoax. Take a look at his github: he forked the rk3288 branch of the linux kernel and made some significant changes/additions to it (over 1000 lines of code, 8 commits in 2 days) for XD button support, power supply driver, the XD's panel etc. some of it looks like some of it's derived from skeltons kernel. He even took the time to add a GPL2 license to the code.I'm not a kernel-dev but what i've seen of the code looks pretty legit. That seems like a metric ****-ton of work just for a hoax.

Take a look for yourself:
https://github.com/phhusson/linux/commits/gpdxd-rk3288-7

Also this github account wasn't created yesterday. He has been actively contributing to projects github since 2008 and has been a developer on the XDAndroid project back in the day ( a project aiming to port android 2.3 to phones shipped with windows mobile 6.X).

This probably is the real deal.

I'll see if I can get it to run on my XD but I first need to install a custom recovery and back up my existing rom. Took me forever to get it running exactly the way I want it and I don't wanna have to set-up everything all over again.

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #5 on: September 26, 2017, 12:04:26 am »
Quote
Yeah thats really fishy  :( . Still wouldn't write it off as a hoax.

agreed. that is why I added:

Quote
So until this guy elaborates on the firmware ..

=)

Quote
Ok, this behaviour means you need a more recent rockchip flashtool.

Ok I will try a newer tool.

Quote
I'll see if I can get it to run on my XD but I first need to install a custom recovery and back up my existing rom. Took me forever to get it running exactly the way I want it and I don't wanna have to set-up everything all over again.

Easiest way for custom recovery - I just finished it : https://youtu.be/4jzgLit4Bu0
I am sure you dont need the video but the files are here : http://sectioneight.net/gpd-xd/tutorials/gpd-xd-installing-custom-recovery-no-pc

Do CWM. Twrp doesn't work on legacy rom unless system (system.img) is partitioned using ext4. ( i just changed them yesterday )

If you want to change to ext4 version let me know. (it's easy) You can basically reinstall Legacy as an update and it will just change it with no changes to user data. Then you can flash twrp. Flashing recoveries takes like 2 seconds.

Just cause I like twrp better hehe.
« Last Edit: September 26, 2017, 12:06:10 am by PsyOps »

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #6 on: September 26, 2017, 12:16:45 am »
I used RockchipBatchTool 1.8 which I think is the latest. Maybe I can use RK3xxx to repack it and try again.

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #7 on: September 26, 2017, 12:50:42 am »
I used RockchipBatchTool 1.8 which I think is the latest. Maybe I can use RK3xxx to repack it and try again.

As soon as I'm done backing up my stuff I can try flashing it with the upgrade tool for linux maybe that works.

Quote
If you want to change to ext4 version let me know. (it's easy) You can basically reinstall Legacy as an update and it will just change it with no changes to user data. Then you can flash twrp. Flashing recoveries takes like 2 seconds.

Just cause I like twrp better hehe.

yup I too prefer TWRP and ext4 is also pretty good to have. (ext3 is pretty old and ext4 has been the standard in linux for a while)

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #8 on: September 26, 2017, 01:01:51 am »
This is just to be super safe.

1.) Install CWM and make a CWM NandBackup.
2.) Install GPD Stock Recovery ( return old recovery )
3.) Grab the file from here and update your gpd. ( Link )
4.) Install TWRP then make a TWRP backup.

** Make sure to grab the same Legacy Version you have now. 1.8, 1.6, 1.4. They are all updated to ext4.

You should have Legacy Rom in ext4. under Build info you should see the (ext4)



Quote
Ok, this behaviour means you need a more recent rockchip flashtool.

I tried AndroidTool_v2.38 and that didnt work either. Black screen

I was able to get into recovery. Tried a factory reset and nothing. I noticed the power button thing. I was able to nav with vol+ and vol- and holding them both down selects. Dunno if that is of use to you.
** nevermind I just read the recovery screen. It's the longpress that selects.
« Last Edit: September 26, 2017, 01:13:18 am by PsyOps »

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #9 on: September 26, 2017, 02:47:54 am »
This is just to be super safe.

1.) Install CWM and make a CWM NandBackup.
2.) Install GPD Stock Recovery ( return old recovery )
3.) Grab the file from here and update your gpd. ( Link )
4.) Install TWRP then make a TWRP backup.

** Make sure to grab the same Legacy Version you have now. 1.8, 1.6, 1.4. They are all updated to ext4.

You should have Legacy Rom in ext4. under Build info you should see the (ext4)



Quote
Ok, this behaviour means you need a more recent rockchip flashtool.

I tried AndroidTool_v2.38 and that didnt work either. Black screen

I was able to get into recovery. Tried a factory reset and nothing. I noticed the power button thing. I was able to nav with vol+ and vol- and holding them both down selects. Dunno if that is of use to you.
** nevermind I just read the recovery screen. It's the longpress that selects.

Too late dirty flashed the ext4 firmware and then twrp worked fine.

 After waiting for the backup I did a lowflash to wipe the nand and then an upgrade flash to install the fw with linux rockchip upgrade tool. getting the same result as PsyOps boots into black screen. Same with the recovery but after waiting 10 minutes it printed some errors, wiped data and cache and then started the recovery. After rebooting into windows to check if it will work with the batchtool, windows recognized the device and installed adb drivers but the device isn't recognized by adb.exe so no logcat for us   :(

i'll flash it again with batchtool and if that won't work I'll go back to legacy for the time being.

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #10 on: September 26, 2017, 02:49:51 am »
Using the recovery I think you can view some log files there too. I have no idea what they mean but I found them hehe.

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #11 on: September 26, 2017, 03:06:23 am »
Almost forgot, Commander flash this zip : http://www.sectioneight.net/s8files/gpd/tools/TWRP-theme.zip

It will fix the twrp resolution. It will make a folder on your sd card and save it there: /TWRP/Theme I think.

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #12 on: September 26, 2017, 03:10:09 am »
I just unpacked that update.img and it contains uboot (rockchip open source bootloader found on tvboxes for instance) and I remembered this:

The bootloader in rk3288 tablets is different from rk3288 tvboxes. If you flash the wrong bootloader from a tvbox you will brick it. Unfortunately, bootloader is close source, so nothing you can do. You would also need to make a ramdisk for linux, the one included in the xd won't work. But you don't.miss anything, i have run ubuntu in a tvbox and runs very poorly, bad performance and bad GPU Support, so cannot be used to emulate anything better than Android.

The bootloader in the xd is the allminiloader versi?n 2.2.5

So... wrong bootloader? would explain why it won't boot at all. Allthough the image also contains the miniloader.
seems I'm on the wrong track.

Almost forgot, Commander flash this zip : http://www.sectioneight.net/s8files/gpd/tools/TWRP-theme.zip

It will fix the twrp resolution. It will make a folder on your sd card and save it there: /TWRP/Theme I think.
cool I'll remember that when flashing back to legacy

UPDATE: well strike that. repacked the firmware and flashed and now the XD seems completely FUBAR. won't boot up, won't get into recovery, cannot get into flashmode - completely hardbricked. something must've gone really wrong. Maybe I can find a way do get into maskrom mode and fix it, if not I got a nice paperweight.
« Last Edit: September 26, 2017, 03:40:55 am by CommanderKitler »

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #13 on: September 26, 2017, 04:01:18 am »
What exactly did you do?

Maybe the battery drain method could save it.

At one point I got my gpd to flash the GPD Logo for a second and it just looped doing that. Took a while but I held down the power button until it stopped. I almost had to time it when I held it down it didnt work the first time.
« Last Edit: September 26, 2017, 04:09:07 am by PsyOps »

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #14 on: September 26, 2017, 04:16:05 am »
What exactly did you do?

Maybe the battery drain method could save it.


Well I unpacked the update.IMG and then repacked it using imgrepackerrk and then flashed it again with androidtool 2.3(seems i've messed something up there)  . flashed without problems and bam: green led of death. thought to myself "ok no biggie just power down, press vol+ and plug back in" and green light again. darn. kept it connected to the pc and pressed vol+ and power and got a green light again. vol- and power; green light. hooked up to the power adapter; green light. looks pretty bad, bricked a lot of android devices in my days and recovered all of them but this looks pretty bad. I doubt that draining the battery will do much in this case and that could take a while with nothing going on in the device except a green led glowing.

Also my pc doesn't recognize it at all. It's not even showing up in the device manager.

UPDATE: looks like some files got mixed up when I unpacked the legacy rom to compare it so it has probably has the wrong bootloader now. mea culpa. thats pretty much a hardbrick. the only thing that might fix it is maskrom mode but I don't even know if that works on the XD and even if it works I have to teardown the device to short the pins on the motherboard. biggest problem is finding out wich 2 pins to short to enter maskrom mode.
« Last Edit: September 26, 2017, 04:30:19 am by CommanderKitler »

PsyOps

  • Moderator
  • Posts: 917
    • Section Eight
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #15 on: September 26, 2017, 04:33:04 am »
Keep us updated. I hope you can find a way to unbrick it.

phh (OP)

  • Posts: 22
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #16 on: September 26, 2017, 11:21:24 am »
As for the brick, the device can be in three states:
- powered on/suspend ==> long press on power button for 15 seconds to power off
- powered off ====> keep pressing volume+ button and plug USB cable
- battery drained ====> well same thing, though possibly it will need some time to raise above lower battery voltage limit

As for flashing, while you're unpacking, you can do simg2img system.img, this will make it compatible with your flashtool.

skelton

  • Posts: 6894
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #17 on: September 26, 2017, 07:48:05 pm »
What exactly did you do?

Maybe the battery drain method could save it.


Well I unpacked the update.IMG and then repacked it using imgrepackerrk and then flashed it again with androidtool 2.3(seems i've messed something up there)  . flashed without problems and bam: green led of death. thought to myself "ok no biggie just power down, press vol+ and plug back in" and green light again. darn. kept it connected to the pc and pressed vol+ and power and got a green light again. vol- and power; green light. hooked up to the power adapter; green light. looks pretty bad, bricked a lot of android devices in my days and recovered all of them but this looks pretty bad. I doubt that draining the battery will do much in this case and that could take a while with nothing going on in the device except a green led glowing.

Also my pc doesn't recognize it at all. It's not even showing up in the device manager.

UPDATE: looks like some files got mixed up when I unpacked the legacy rom to compare it so it has probably has the wrong bootloader now. mea culpa. thats pretty much a hardbrick. the only thing that might fix it is maskrom mode but I don't even know if that works on the XD and even if it works I have to teardown the device to short the pins on the motherboard. biggest problem is finding out wich 2 pins to short to enter maskrom mode.

When you connect yout XD to BatchTool, do you see a blue light instead of green? If that's the case you are in mask rom mode, probably because of a bad bootloader. You would need to shortcircuit nand, generaly even if you don't know what pins, just using a paperclip through all pins should do the trick, and make the system go to loader mode to reflash stock, legacy or the firmware you use.


About the kernel, there are things different from mine, joystick driver is different (no adc.js which I use in my kernel) so no ps3/xbox/null modes I guess.

My feeling is that this ROM is made using or porting firefly RK3399 SDK to RK3288. As far as I know, RK3288 SDK for nougat is beta and full of bugs, even the RK3399 is full of bugs. But that's just my guess. The maker of this rom is the one that can explain which one is using, because I only see kernel but not a device tree, so I suppose is firefly SDK and not aosp, but no idea because I don't have an XD to test or to help with the development
« Last Edit: September 26, 2017, 07:52:02 pm by skelton »
Retired

CommanderKitler

  • Posts: 129
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #18 on: September 26, 2017, 08:14:44 pm »
What exactly did you do?

Maybe the battery drain method could save it.


Well I unpacked the update.IMG and then repacked it using imgrepackerrk and then flashed it again with androidtool 2.3(seems i've messed something up there)  . flashed without problems and bam: green led of death. thought to myself "ok no biggie just power down, press vol+ and plug back in" and green light again. darn. kept it connected to the pc and pressed vol+ and power and got a green light again. vol- and power; green light. hooked up to the power adapter; green light. looks pretty bad, bricked a lot of android devices in my days and recovered all of them but this looks pretty bad. I doubt that draining the battery will do much in this case and that could take a while with nothing going on in the device except a green led glowing.

Also my pc doesn't recognize it at all. It's not even showing up in the device manager.

UPDATE: looks like some files got mixed up when I unpacked the legacy rom to compare it so it has probably has the wrong bootloader now. mea culpa. thats pretty much a hardbrick. the only thing that might fix it is maskrom mode but I don't even know if that works on the XD and even if it works I have to teardown the device to short the pins on the motherboard. biggest problem is finding out wich 2 pins to short to enter maskrom mode.

When you connect yout XD to BatchTool, do you see a blue light instead of green? If that's the case you are in mask rom mode, probably because of a bad bootloader. You would need to shortcircuit nand, generaly even if you don't know what pins, just using a paperclip through all pins should do the trick, and make the system go to loader mode to reflash stock, legacy or the firmware you use.

nah it's basically like a normal softbrick but it will not go into flashmode when connected to the PC or ligth up red when connected to the charger.


I disassembled the XD yesterday (don't try that at home kids) the biggest problem is gonna be getting to the NAND. couldn't take a look at the front of the motherboard because it is fixed in place with tiny little screws so I need to buy a small electronics screwdriver kit. also I have taken a couple of looks at photos of the motherboard and I can't see the NAND chip on there.

https://imgur.com/kfoe93Q

If it's under the the RF shielding covering most of the board, I'll have to get some acetone and desoldering braid to desolder and re-solder the whole thing. I'll see to that next week and probably post an update. I got a friend who does a lot of electronics tinkering maybe he's got the tools to do this. Gonna open a dedicated thread for this though as this is getting offtopic and if i succeed, some in-depth documentation could be useful for people running into the same problem.

skelton

  • Posts: 6894
Re: [EXPERIMENTAL] Android 7.1 for GPD XD
« Reply #19 on: September 26, 2017, 08:52:48 pm »
Maybe it is under the heatsink. I have never opened mine so not sure. The strange thing is that it doesn't show any light in batchtool. I hope you can repair it.
Retired