Related
Current android versions:
CM7.2
Kernel Status:
- Kernel v3.10
- LCD
- Keyboard
- SDHC MMC
- Max1587a
- Asic3 Buttons
- Automatic screen rotation
- Touchscreen
- Bluetooth (audio and mouse tested and working)
- Usb host (supports everything USB 1.1 compliant)
- Backlight
- Adb and Usb mass storage
- M24C08 Eeprom
- Keyboard and button backlights
- RTC8564
- Led's - Red, Green, Blue
- Vibrate
- AC Charging
- USB Charging
- WIFI
- Support for EXT4 filesystems
- Modem
- Phone Support
- Audio Support - no input from mics, routing related.
- Data -3g or GPRS
- Power Management - Standby works which is a low power state, Deep sleep and suspend to mem is not working
- DOC flash chips are supported by kernel for both g3 and g4 devices
Not Working/To-do list::
- Camera's - need to add V4L driver to android and dual cam support for camera app and kernel driver.
- add video/audio decoders/encoders
- add modem sound routing to kernel or android (AT commands )
Link to files: (Link)
Link to Kernel source: (Link)
WOW i'll try it. Thanks
Thanks notime!
Not a Universal owner, but glad to see Android made it's way to this device.
Is there any software that can assist to create the 3 partitions?
is anyone working on getting the touchscreen going? if it had touchscreen working i'd jump on this in a hot second.
Now this is so cool, that somebody is actually developing android 4 our beloved Uni :-D:-D:-D
Hi
For me it's not working.
I wrote it here
Here is my LOG
EDIT: It's working. I had the phone off.
Android version
Hi,
first of all - great work!
Second - this will probably be a seen as a stupid question but why are you trying this with such an old version of Android? Are the new versions requiring so much more memory or something?
Anyhow, good luck with further work and thanks for restoring my hopes of Uni resurrection
asdafer said:
Hi,
first of all - great work!
Second - this will probably be a seen as a stupid question but why are you trying this with such an old version of Android? Are the new versions requiring so much more memory or something?
Anyhow, good luck with further work and thanks for restoring my hopes of Uni resurrection
Click to expand...
Click to collapse
That is a good question..., it was the only one i had on hand at the time. But the kernel i'm using is based off 2.6.32.9 the current android 2.1 eclair is based off 2.6.29 so theoretically that and the newer android version froyo should work. If i find or build a 2.1 rootfs that works i will post it.
id say any android functioning on the uni is a giant step in the right direction. we don't need to get picky lmfao
Hi Notimer,
is there any software which can allow me to partition my SD card?
yes. knoppix and fdisk.
Touchscreen
Does anybody know what this ts_calibrate output means or familar with it?
xres = 480, yres = 640
Took 1 samples...
Top left : X = 65492 Y = 678
Took 1 samples...
Top right : X = 65494 Y = 678
Took 1 samples...
Bot right : X = 65492 Y = 678
Took 2 samples...
Bot left : X = 65493 Y = 678
Took 2 samples...
Center : X = 65493 Y = 678
256.000000 0.002021 0.125000
256.000000 0.002694 0.250000
Calibration constants: 16777216 132 8192 16777216 176 16384 65536
If you don't feel like dealing with a full linux distro or the command line when partitioning, try the G-partd Live CD. It's a great, Partition Magic style GUI for the Linux command line partition tools.
http://gparted.sourceforge.net/livecd.php
it'd be better if we just had a 128mb dd image methinks. simpler and faster lmfao
Updates
I posted a new kernel and updated the working functions list on the first post. I know it might not be the updates some were wanting but....it's a update i thought was worth posting...but still no touch screen.
Has anyone tried or built any other android rootfs or images to test with this kernel or know how to?
Does anyone know of a device running Linux that has a phone chip similar to the one in the universal?
Can you compile a kernel image that mounts loopback image files instead of actual ext2 partitions for those that don't feel like partitioning their SD cards? I think it would encourage many more testers.
im confused here, titchy linux runs just fine on the universal. why is it we dont harvest drivers from that?
Contents:
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Pre-(R)amble
This is the time of year where people just decide to buy a new computer, for those computers that are 5-10 years old. Instead of letting that old box go to waste, just reformat and install a fresh copy of Windows XP on it and have a fantastic dev box. Most people just throw out their 'old' computer if it's that old, and with a new computer being cheap this time of year someone you know might be doing this.
Don't let it hit a landfill when it could be put to work as a machine you can do anything you want to in learning how to develop for Android... all without impacting your current expectations of use in your current computing environment.
Windows XP being about a decade old now, you probably have one or more copies of it laying around, but this guide is a Windows XP Home version. Obviously being the most basic version, any other version of Windows XP will work as well or better.
If you just want to re-install your Windows XP computer fresh what follows is one method.
This is a long read, but it's recommended to read through it before following along. If you don't have the time to read through it, you certainly don't have time to do it.
Not all of the mentioned software is freeware. Please check licensing requirements of all software before using.
Also, this guide is not quite finished, but there is enough here to get started with - i'll get the rest in when I get time.
Setting up the Windows XP environment
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
So, just got ahold of a cast-off desktop recently, you know, one that was new sometime in the last decade ... owner upgraded and had no use for it. It's a 32-bit system and doesn't have crazy specs... and that's just fine for what we will be doing with it.
Compaq Presario SR1750NX
Amd Athlon 3500+ 2.2 GHz processor
512 MB of RAM.
A lot of this stuff is pretty lightweight if you approach it the right way - both for you and the machine.
It's really easy to bog down your system if you install things in a less efficient manner. Chances are you didn't even know it was done out of order since a lot of us are self taught simply because we're curious.
This stuff is all a lot of fun, but you only learn what you come across. There may very well be gaps in knowledge that you don't even realize you have - it's a problem I run into all the time. This document hopes to fill those gaps in setting up a Windows XP system to work on, because we all just want to have fun with this.
Who wants to spend time cleaning up after a bad install that would've been fine if the order of something was just different? So here is a pretty detailed step by step on how I built a Windows XP machine up from a freshly formatted hard drive.
You would be expected to know how to install Windows XP on your computer, that is not covered, but I pick up right after a fresh install. This is not the only way to set it up, and I do focus on taking your time and doing it by the book.
If you have never installed Windows XP before, you may want to become comfortable with that before doing so. Bootdisk.com may be a good place to start looking some information up - but you can scan down and pick up changes you can make or add to an existing install as well from this guide.
----
Since I just went through setting up a dev computer from scratch on Windows XP, I figured i'd lay out the steps I took for others to refer to. I've learned so much in such a short time - thanks to XDA and helpful people here. Writing these guides is helping me summarize what i've learned and lock the knowledge in, I do this anyway as part of my learning process. Having a place to share them where other people can make use of the information is fantastic, and i'm glad to be able to conribute something to a place that has helped me so much.
Here is a link to another Windows XP setup description I wrote for MicroSD card testing in the Nook Color forums that may be worth referencing: MicroSD Test Environment
Reboot = Save
- In Windows, when you make changes to the system - such as adding or removing programs or changing system settings, those changes are not saved until you successfully write all of the data from RAM back to disk. A reboot or power off the right way accomplishes this. Given that if this operation fails, the install is questionable, it seems like rebooting after every program or every other makes sense - especially ones that add shortcut menu functions.
Do not plug the doubleshot into the computer until prompted to do so by the guide to ensure the right drivers are installed the first time.
--------
Windows XP Initial Configuration.
1 - Install Windows XP fresh.
2 - Ensure all necessary drivers for the computer are installed, rebooting as necessary.
3 - Plug in USB HDD/Flash drive, or any cds and so forth that may have Microsoft Updates or drivers for Windows XP and install these.
4 - Run disk cleanup, and disk defragmenter.
5 - Reboot the computer.
--------
Introducing the doubleshot to the desktop computer:
Done in this specific order it lets Windows XP install the correct drivers the first time you plug the doubleshot in to the desktop machine.
1 - Install the doubleshot Fastboot Drivers.
2 - Install HTC Sync. *Complete install.
3 - Reboot computer.
4 - Exit HTC Sync
5 - Plug doubleshot in to the computer through USB for the first time.
6 - Allow windows to find and install the phone completely.
7 - Safely eject the phone from the computer.
8 - Reboot the computer.
9 - Exit HTC Sync.
Then:
1 - Reboot the doubleshot.
* - Optimal performance on a fresh install of your current ROM or a factory reset on stock prior to first talking to the computer.
Not mandatory. You will have an all around better dev experience just starting fresh with a clean slate across both computer and device, from most development standpoints.
NOTE: Always make sure to always exit HTC Sync on the computer before connecting the doubleshot.
NOTE 2: If the doubleshot is the storage medium for getting the fastboot drivers and HTC Sync program on the computer, do this to make sure the drivers are installed before connecting the doubleshot the first time:
0 - Download the driver files on to the MicroSD card on the device.
1 - Power down the doubleshot.
2 - Remove the battery cover, and the battery.
3 - Eject the MicroSD card from the phone.
4 - Use your USB card reader to plug the MicroSD card in to the computer. It will load drivers for the card reader the first time you plug it in, so let that finish before proceeding.
5 - Copy the doubleshot Fastboot Drivers and HTC Sync program from the MicroSD card to the desktop of the computer.
6 - Safely eject the MicroSD card from the computer.
7 - Insert the MicroSD card back in to doubleshot, then replace the battery.
8 - Power the doubleshot back on.
9 - Install the drivers in the order listed above, making sure not to connect the doubleshot until called for.
This will ensure that Windows installs the correct drivers the first time the doubleshot is connected to the computer. You won't have to uninstall a generic driver Windows may have tried to use instead.
--------
Using the doubleshot as a local wifi access point:
NOTE: This will work on a non-rooted stock doubleshot.
You can use the doubleshot's wifi and usb cable to your desktop to connect to your wifi router. If your dev box is in an inconvenient location and you have a wifi network, the doubleshot itself provides the solution.
After introducing the doubleshot correctly to your computer, and having safely disconnected and rebooted both, do this:
1 - Enable wifi and connect the doubleshot to your wifi network.
2 - Plug the doubleshot in to your computer.
3 - Go to Settings -> "Wireless & Networks" and select "Internet Pass-through"
3A - Give it a moment to properly set up the function on your computer
3B - Un-check "Internet Pass-through", let it all close out.
4 - Select "USB tethering", give it a moment to start up.
4A - Make sure the USB tethering setting is set to Windows first.
On the computer:
5 - Right click the "My Network Places" icon and select "Properties"
5B - Alternate: Start -> Settings -> Control Panel -> "Network Connections"
6 - Right click on your HTC connection, select "Properties"
7 - Click the "Advanced tab", then click the Windows Firewall "Settings" button.
8 - Turn the firewall off, select "OK" back to the "Network Connections" window and close it.
You should now be connected to your home wifi network using the doubleshot as a local wifi access point.
NOTE: When doing updates to the computer, you will need to select "restart later" and then safely eject the doubleshot before turning off the computer.
Follow these steps:
0 - Choose "restart later"
1 - Turn off "USB tethering" on the device.
2 - Safely eject the doubleshot from the computer.
3 - Unplug the doubleshot.
4 - Then reboot the computer.
This procedure is how I got my desktop box on the internet at my house without running a cable, though I did have it plugged in to the router direct for the Windows Updates part. The rest of the guide I did through the doubleshot as the bridge between my desktop and the wifi router. Pretty cool
This will work without a SIM card, you just need a wifi home network.
--------
Updating the Windows XP computer:
Connect to Windows Update, and bring all critical updates current. Reboot as necessary.
NOTE: If you have redistributable update packages saved to cd or other media, installing them first before connecting to Windows Update will save a lot of time.
Make sure to keep checking back until it says no critical updates are remaining. Make sure all drivers are up to date.
Also get:
* - .net framework 4.0 update.
* - Recommend the other .net frameworks available for compatibility.
* - Internet Exploerer 8.
After the final updates are complete, and no new critical updates need to be installed, reboot the computer again even if it doesn't ask you to.
Then:
1 - Right click "My Computer" and select "Properties" to display the "System Properties" window.
1B - Alternate: Start -> Settings -> Control Panel -> "System"
2 - Click the "Advanced" tab.
3 - Under "Performance", click "Settings"
4 - Choose "Adjust for best performance" and click "OK", then "OK" again to acknowledge the changes in the "System Properties" window.
5 - Set any preferred display settings, choose a different background if desired.
6 - Run "Disk Cleanup" and then "Disk Defragmenter".
7 - Reboot the computer.
8 - Install Google Chrome Browser and make it default.
9 - Reboot the computer.
Final Programs: Download and Install
1 - Download and install Notepad-plus-plus. Reboot the computer when install finishes.
2 - Download and install 7-Zip. Reboot the computer when install finishes.
3 - Download and install the Bulk Rename Utility. Reboot the computer when install finishes.
4 - Download and install the Revolutionary: S-OFF & Recovery Tool 0.4pre4
5 - Run "Disk Cleanup" and then "Disk Defragmenter".
6 - Reboot the computer.
7 - Stop. Follow the directions below to wrap up the Windows XP Initial Setup.
--------
Wrapping up Part 1:
We have done all of our Windows Updates, and installed the other necessary Microsoft packages to continue. We have also set up the computer to talk to the doubleshot. Some system settings were configured and you basically have a fresh Windows XP computer waiting for you to build on it. We will use Chrome as our browser, but keep Internet Explorer for the ftp capabilities. A few necessary dev programs have been installed.
Now is a good time to plug in a USB hard drive or from other media add any graphics to your "My Pictures" folder in "My Documents".
Also add any current project files and other programs you may have downloaded previously.
Install a cd-burning program of your choice, if applicable. If not, when you see a recommendation to make a cd-backup, use some other media instead.
Now would also be the time to install a disk imaging utility of your choice, if you plan on using one. Make your first system image now.
This is also a good time to create a system restore point if you are using them.
Time to make some backups
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Time to make some backups:
This post is dedicated to a lot of the things i've backed up at this point. Let's go over that for a post and get ourselves all set up in that department.
I have laid out some recommendations for what to put on your backup cds to get started. We choose optical media as the preferred type of backup, and then try to bring it down to the most universal level.
Since Windows XP will run on machines that didn't necessarily come with even a DVD reader standard, or it may have burnt out, you should at least be able to come up with a plain-jane cd-rom drive.
This also has the benefit of not installing random USB devices to our system after a fresh Windows XP install if we don't want to.
Bootdisk.com is a good resource for some tools you may wish to include on some of these disks or others you make.
----
Remember - spaces are bad in your file and folder names.
Connect everything with either an:
Underscore _
Hyphen -
Try to refrain from using:
Period . It may trick something down the line to look for a non-existent file extension.
Any odd characters or symbols. Numbers, letters, hyphens and underscores can make your whole file and folder names. Let's make everything easy for everybody.
Windows XP users should:
Try to hold true to the 8.3 rule as much as feasable. Old DOS rule of length for filename.extension
While not often possible on bigger projects, keep this in mind in striving for the maximum range of readability and compatibility whenever you can. Simple is better.
Code:
[B]8.3 example:[/B]
BookFour.txt
12345678.123
1 through 8 = Filename
Period . = Switch telling the computer to read next the file type.
1 through 3 = File Extension - tells the computer what type of file it is and how to read it.
[B]Simple Folder ( Directory ) examples:[/B]
Idea_001
Idea-001
Stuff-01
Stuff-02
[B]Simple File examples:[/B]
Read_Me1.txt
Read-Me1.txt
Change-1.txt
Change-2.txt
----
[B]Folder ( Directory ) examples:[/B]
doubleshot_Project_001
doubleshot_Project-001
MT4GS_Backup_Stock-001
MT4GS_Backup_Stock-002
[B]File examples:[/B]
doubleshot_Mount_Points.txt
doubleshot_Mount-Points.txt
Web_Links-001.txt
Web_Links-002.txt
Empty spaces between parts of your filename may not seem like a big deal if you've always worked within a Windows environment. Try to get away from this.
If you are starting with a fresh approach, and a fresh system new and ready, try keeping it as simple as possible when you can. Make sure not to make things too generic and lose organization - hyphens and underscores become your friend.
Some other operating systems you may use or need to use will not be so forgiving of empty spaces as Windows XP.
If you share files with people on other operating systems, or one day need to switch over yourself, you will find not having a naming issue is ... a hurdle you have overcome with knowledge.
--------
Recommended Backup cds to Burn:
5 total cds at less then 700MB each.
Three tips:
1 - Recommended to copy the web link and keep it with the software for reference.
2 - Also make sure to copy any license files with the program when you download it ( PDF, txt and so forth ) as a seperate file and keep it with the software.
3 - Each software package should have it's own folder and should have at minimum the software, license and internet shortcut to the author or company web page. The internet shortcut ensures that support goes to the right place and credit goes where it should.
Drivers Disks:
2 Disks Listed.
----
Disk_D01 - PC Drivers
- All current drivers for Windows XP for the computer from the manufacturer.
- All current drivers for Windows XP from the manufacturers of any aftermarket parts or peripherals.
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
----
Disk_D02 - doubleshot Drivers
- HTC doubleshot User Manual
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
- Stock doubleshot recovery image
- Clockworkmod 5.0.2.7
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- And as much documentation as you want.
Microsoft Updates and Software:
3 Disks Listed.
----
Disk_M01 - Microsoft Redistributables 1 - Service Pack 3
- Windows XP Service Pack 3 Redistributable
- Windows XP Service Pck 3 Debug Build
- Windows Installer 4.5 Redistributable
----
Disk_M02 - Microsoft .Net Frameworks
- Microsoft .Net Framework 1.1 Redistributable
- Microsoft .Net Framework 2.0 Redistributable
- Microsoft .Net Framework 3.0 Redistributable
- Microsoft .Net Framework 3.5 Redistributable
- Microsoft .Net 4 Standalone Installer
- Microsoft .NET Framework Client Profile Offline Installer
----
Disk_M03 - Microsoft Updates
- Other Microsoft updates or software packages that are user specific.
- Includes service pack and security updates for Microsoft Office if used.
- DirectX End-User Runtimes
--------
Backup Notes:
If you took the time to read the guide through first, before following it, you will see that making these cds first if possible will save you a considerable amount of setup time. Since you will already have on hand some of what you would get through Windows Update the download time is shorter and you are less traffic on the server.
If you do this several times a week you should have whatever redistributable Microsoft Update software packages available on disk to allow others that bandwidth to connect to Microsoft Update.
You will also have on hand some of the necessary programs to get your dev station started, even if you install completely off-line.
If your computer has a burner, even just a cd burner, which is very likely... and given how cheap a cd is... the value of having these few cds containing the software they do sitting next to your computer is pretty sizable.
----
This is a development computer, one set aside and at any given time you might decide to do this process over from scratch and use different tools. You want to be able to install any drivers from a flash drive at least, but cd preferably. Installing from a cd doesn't have to contaminate the fresh Windows XP installation with device drivers for an aftermarket USB device, as they are installed on first use of one. The cd as optical media is the cleanest entry method of data to a fresh computer, and it can be done without internet or network access.
Sometimes this is desireable, the offline part speaks for itself, but your dev project may force you to be conscious of the USB card reader installing drivers like in the thread I linked to above where I was testing USB drives and MicroSD cards. That's a perfect example of how one driver installed in the wrong order could throw a whole test, and they have to be kept track of by the serial number of the device physically in front of you - I had to make sure I tested the USB Readers themselves evenly in addition to the MicroSD cards.
----
Your development computer is whatever environment you need it to be, and you should be prepared to change it from project to project.
Windows - install fresh as often as feasable for best use. The longer it's installed, the more unstable it becomes. You basically avoid all the problems people suffer who have their computer longer then a year by never having your operating system installed that long.
Windows version of the iPhone "you're holding it wrong" speech.
----
This is one method among many, but strives to reach the lowest common denominator in compatibility. These cd backups should not be your only ones.
----
Feel free to reply to this thread with links that would fit and be helpful here. I'll cycle them up as I can.
Install Android SDK on WinXP
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
How-to: Install the Android SDK on a Windows XP machine.
First, read the Android SDK Requirements.
Then go to the Android SDK download page. Download both the Installer and the Zip.
Then go to the Java JDK download page. Download the Java SE 6 Update 30 package.
Backup the three downloads (Java JDK, Android SDK installer and Zip.)
Next, install the Java JDK 6. Just follow the instructions on-screen and it'll all be great.
Reboot the computer.
Now, install the Android SDK installer package.
I like to change the default path to
Code:
C:\Android
This makes it easier to call on the tools involved, saving you from typing a longer path into the command line every time.
Once this finishes installing, you will need to update the install.
It should automatically open the Android SDK Manager, which is what you use to download your SDK packages.
You need to get the Platform-Tools package, at the very least, and also make sure to get each API all the way back to 2.3.3 to work with the doubleshot.
(unfinished - more forthcoming...)
Getting started: Using the SDK
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
All set up: What can I do with it?
First, you should familiarize yourself with the tools at your disposal.
You can find ddms in your Tools folder of the Android SDK. This is the Dalvik Debug Monitor, and will teach you a lot about your device. Double click this and it launches a terminal window, which loads a graphical user interface. Launch after the Android is connected to the computer, but it can function being open prior to plugging in the device. You should play with this and see what you can learn.
--------
adb is a command you find in the Platform-Tools folder of the Android SDK. It is the Android Debug Bridge, and is a way of interacting with your device through the computer. This is the folder you should be in when using the command.
One initial thought: The app Wifi ADB By: ttxapps is something to consider before you go plugging in your cable a hundred times a day and stressing the connection point. You can use the WifiADB app for most of your adb functions wirelessly over the same network your dev computer is attached to.
Go and read my Backup Guide for a very in-depth explanation of how to use the adb "pull" command in post 1.
You may then find learning other adb commands to be easier, having had one focused explanation.
To get you started with adb:
Code:
[LIST][*] - [B]adb help[/B]
[*] - [B]adb devices[/B]
[*] - [B]adb remount[/B]
- remounts the /system partition on the device read-write.
[*] - [B]adb push <local> <remote>[/B]
- copy to device.
[*] - [B]adb pull <remote> <local>[/B]
- copy from device.[/LIST]
--------
Here are three graphics tutorials I wrote that can make use of the Android SDK and other tools mentioned in this thread:
1 - Beginner level - Custom Sense Lockring on the MT4GS - easy step-by-step.
2 - Intermediate level - Edit .9.png files for the MT4GS - step-by-step.
3 - Advanced level - Edit Mode10 Files for the MT4GS - step-by-step
--------
Here is a link to my guide index that will have a list of how-to's and such i've written.
The MT4GS Stock App Developers Reference may be helpful at this point.
Also take a read back through the MT4G Slide Compendium to re-familiarize yourself with some terminology, and for links to things throughout the doubleshot forums.
--------
The thread Splash Image in the dev section has fastboot flashing instructions for a splash image, and references to other SDK guides.
... and the Partitions - memory address listing thread is a works in progress but may still help you to understand your device better at this point.
--------
Unfinished - more to come.
Other programs to consider
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
Links to what I already had you install:
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- Revolutionary: S-OFF & Recovery Tool 0.4pre4
- doubleshot Fastboot Drivers
- HTC Sync
--------
Here are some other programs to consider for your dev station:
- Winrar
- SD Formatter 3.1 for SD/SDHC/SDXC - Thanks! Also needs this Microsoft XP Update
- EASEUS Partition Master
- WinImage 8.1
- Win32 Disk Imager
- Seagate DiscWizard
- Acronis True Image
- Crystal Disk Mark - Thanks!
- HxD - Freeware Hex Editor - Thanks!
- Freeware Hex Editor XVI32 - Thanks!
- Image Magic - Thanks!
- Photoshop
- Font Creator
- Acrobat
- Microsoft Office
- Filezilla
----
Gotten into Portable Apps yet?
Here are some to consider:
7-Zip
Explorer++
Notepad++
DiffPDF
WinMerge
SQLite Database Browser
WinMD5Sum
CrystalDiskMark
CrystalDiskInfo
GIMP
FileZilla
Google Chrome
The portable apps, if installed on a thumb drive ( or maybe the doubleshot memory card... ) will let you work on your projects at any windows computers you come across. Some are 32 bit only, some have 64 bit versions - most are for XP, some will work on 7.
All listed portable apps will work on the Windows XP install this thread details.
More forthcoming...
doubleshot Specifics.
Post 1 - Pre(r)amble
Post 2 - Setting up the Windows XP environment
Post 3 - Time to make some backups
Post 4 - Install Android SDK on WinXP
Post 5 - Getting started: Using the SDK
Post 6 - Other programs to consider
Post 7 - doubleshot Specifics.
doubleshot Specifics.
This assumes an S-OFF device, and you just want a fresh start on your doubleshot with your dev computer.
--------
1 - Fresh (S-OFF) ** for an already S-OFF device.
What you need:
- MicroSD card.
- Stock Image
How to make it:
1 - Download the Stock Image to your computer.
2 - Rename it to PG59IMG.zip
3 - Format your MicroSD card in the computer.
4 - Transfer the image from the computer to the MicroSD card.
How to use it:
NOTE: Make sure you have a full battery!!!
1 - Power off the doubleshot. Remove the battery and MicroSD card.
2 - Insert new card from above. ( or back up current card, make, and re-insert )
3 - Replace battery and backplate.
4 - Holding the 'Volume Down' button, press the 'Power' button.
5 - Wait for the loading bar to fill.
6 - When ready, it will ask you if you want to start the update.
7 - Select yes by pressing the 'Volume Up' button. Press 'Volume Down' if you just realized you have a low battery.
8 - Allow the update time to flash to your doubleshot.
9 - Let it sit for a minute or two after it says finished, then press power to reboot.
10 - Follow on-screen instructions until finished.
Then:
1 - Reboot the doubleshot.
2 - When fully booted, open the settings menu.
3 - Go to "SD & phone storage" and choose "Factory data reset"
4 - Yes, wipe the sdcard too.
5 - Follow on-screen instructions until finished.
----
You now have the doubleshot as close to factory as you can get for testing. You will still have S-OFF but stock recovery.
--------
Replacing Stock Recovery: Clockworkmod
If you have S-OFF but stock recovery, the easiest method is to:
1 - Follow the instructions in This Thread to get temp root.
2 - Without rebooting, add your market account to the device.
3 - Install ROM Manager from the market.
4 - Flash Clockworkmod through ROM Manager.
5 - What you do next is up to you (but a clockworkmod backup isn't a bad idea.)
--------
doubleshot Drivers Disk:
Burn this information to a disk for backup:
doubleshot Drivers
- HTC doubleshot User Manual
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
- Stock doubleshot recovery image
- Clockworkmod 5.0.2.7
- Notepad-plus-plus
- 7-Zip
- Bulk Rename Utility
- And as much documentation as you want.
--------
Some Device / Documentation Links:
- HTC
- HTC doubleshot Product Page
- HTC doubleshot User Manual
- HTC Dev
----
- T-Mobile
- T-Mobile doubleshot Marketing Page
- T-Mobile product pages for the doubleshot: Black or Khaki colors.
- T-Mobile doubleshot Specifications Page where you can download the user manual.
----
- Qualcomm
- Qualcomm Snapdragon Product Page
- Qualcomm doubleshot Product Page
- Snapdragon S3 Processors Overview
- Snapdragon MSM8x60 APQ8060 Product Brief
- Snapdragon Fact Sheet
----
- PDAdb entry for the doubleshot
- PDAdb entry for Snapdragon Processors
----
- Revolutionary: S-OFF & Recovery Tool
- doubleshot Fastboot Drivers
- HTC Sync
--------
Unfinished - more to come...
Grabbed one just in case.
If anyone finds any broken links, please post below and i'll fix it.
Any suggestions, feel free to post below.
Thanks!
Thanks for this, Any other guides coming out? I'm really interested in ROM development but no idea of where to start.
OShocke said:
Thanks for this, Any other guides coming out? I'm really interested in ROM development but no idea of where to start.
Click to expand...
Click to collapse
Yea, I got a few more in various stages of finished - they take time to get typed up and posted.
I'm starting to pick up shifts again at work, and after being essentially unemployed since thanksgiving I have to jump on everything coming my way.
Takes time away from the things i'd like to be doing, like this kind of stuff, so i'll be posting and participating as much as I can.
Typing and posting these guides are my way of trying to help as my work schedule becomes ever more demanding.
The best thing you can do to get started on ROM development is just start reading all over XDA and doing whatever you can - even something as simple as changing a single graphic in some part of the ROM is a great first step.
Also, I realize I used the term "disk" instead of "disc" in a lot of places - sorry.
Disk = hard drive, or other physical disk.
Disc = CD, DVD, other optical media and the like.
Good guide, but this looks like a lot of work. I just have to unzip the SDK on Ubuntu, set permissions to rwx, and create 51-android.rules. :3
Sent via smoke signal.
blackknightavalon said:
Good guide, but this looks like a lot of work. I just have to unzip the SDK on Ubuntu, set permissions to rwx, and create 51-android.rules. :3
Sent via smoke signal.
Click to expand...
Click to collapse
Thanks but - it's not a linux guide and setting up the SDK is only a small part of what the guide covers.
It's more of dumping the knowledge gained from my time spent deploying and servicing XP workstations into a guide to teach people how to reclaim older computers.
It also covers ideal naming conventions and good habits to get into, as well as sourcing a ton of links to windows software to be used in conjunction with the installation.
As Windows XP has been around for some time now, it's likely that people have a copy of it around, and also very likely they can get their hands on an older computer - especially with the holiday season just passing where there's a chance people are tossing older computers that can make perfectly serviceable dev computers.
I use Ubuntu for dev work too, but also XP - I know at least some of the people rolling up their sleeves to start devving haven't had real-world experience or training on how to do this kind of stuff so I was hoping to bridge some of the knowledge gaps for the hobbyist.
The less people that get turned away because they are fighting with a buggy OS install, the more we can grow our small dev community around the MT4GS. A sound base to work from is necessary for a productive dev environment.
Besides, I also wanted one of my own guides to point to instead of saying "search XDA for how to do this"
You forgot step one of using a Windows XP computer: Disconnect the network cable at all times.
Blue6IX said:
Thanks but - it's not a linux guide and setting up the SDK is only a small part of what the guide covers.
It's more of dumping the knowledge gained from my time spent deploying and servicing XP workstations into a guide to teach people how to reclaim older computers.
It also covers ideal naming conventions and good habits to get into, as well as sourcing a ton of links to windows software to be used in conjunction with the installation.
As Windows XP has been around for some time now, it's likely that people have a copy of it around, and also very likely they can get their hands on an older computer - especially with the holiday season just passing where there's a chance people are tossing older computers that can make perfectly serviceable dev computers.
I use Ubuntu for dev work too, but also XP - I know at least some of the people rolling up their sleeves to start devving haven't had real-world experience or training on how to do this kind of stuff so I was hoping to bridge some of the knowledge gaps for the hobbyist.
The less people that get turned away because they are fighting with a buggy OS install, the more we can grow our small dev community around the MT4GS. A sound base to work from is necessary for a productive dev environment.
Besides, I also wanted one of my own guides to point to instead of saying "search XDA for how to do this"
Click to expand...
Click to collapse
The only reason I use Windows is to update my jailbroken iPod Touch. Ubuntu handles everything else I need.
raduque said:
You forgot step one of using a Windows XP computer: Disconnect the network cable at all times.
Click to expand...
Click to collapse
*snorts* This is true.
Blue great write up. This is an amazing guide I wish I had it when I started.
Does eclipse not run well on xp? I didn't see you mention it. What are your reasons if you didn't add it? I'm curious.
Ill be sure to add this its with some other updates.
Excellent write up.
Sent from my ICS Splashed using xda premium
Great guide. Glad I found it.
Sent from my ICS Splashed using Tapatalk
I had intended to include eclipse as part of the SDK install part, I still have to polish off a lot of the postings in this guide - especially the SDK part as they are incomplete as of yet. Eclipse runs fine on XP.
I just haven't had the chance to type out the rest of it yet, but I figured there was enough here to get people going with. I meant to add to it last night, but instead got lost in AOSP documentation and before I knew it the sun was up and I had to run.
I'll keep adding to it as I get the time, at least the way it sits someone can get a good XP install and the SDK installed, if not fully configured - for the time being referencing other guides around XDA to get the SDK configured after install will have to do.
Blue6IX said:
I had intended to include eclipse as part of the SDK install part, I still have to polish off a lot of the postings in this guide - especially the SDK part as they are incomplete as of yet. Eclipse runs fine on XP.
I just haven't had the chance to type out the rest of it yet, but I figured there was enough here to get people going with. I meant to add to it last night, but instead got lost in AOSP documentation and before I knew it the sun was up and I had to run.
I'll keep adding to it as I get the time, at least the way it sits someone can get a good XP install and the SDK installed, if not fully configured - for the time being referencing other guides around XDA to get the SDK configured after install will have to do.
Click to expand...
Click to collapse
Ah okay, was just curious. I did not see android kitchen as well. Although, it's not easy to use and is out-dated. I dont use it anymore, so I don't blame you.
I added this to the sticky, excellent write-up once again!!!! You should make a video tutorial as well and get some extra cash from you tube.
thanks, this is a VERY helpful guide! I will be putting it to good use on an old machine in the next week or so.
Hoq much of this is XP specific? I want to do this on Win 7... Should I be smart enough to figure out which parts are in different locations in Win 7?
##Im not responsible for anything that you do with my application##
##THIS APPLICATION IS IN ALPHA STATE PLEASE EXPECT BUGS!!##
##PLAYSTORE LINK COMING SOON - USE MEGA CLOUD FOR NOW##
Hi,
I'm presenting my new App CIDE - a C IDE for Android.
As I always dreamed on developing in C directly on my phone and obviously the only free Variant on the app store does not supports anything above Android 4.4.x, I decided to port a compiler directly on our devices.
Features:
- basic syntax highlighter
- full C compiler behind the GUI
- standalone shell with GCC and other tools like MAKE set in $PATH
- build errors/warnings before running
Todo:
- better UI
- better shell implementation
- smaller size in internal storage
- File chooser with saving ability
- exporting files to binary
- extract animation on startup
- download GCC on startup (also reduces APK size to 4 MB )
- you tell me
Known Bugs:
- shell hangs at displaying huge amount of lines
- when file has wrong format (NON-ASCII CHARS) app crashes on compiling
- buttons do not press
- you tell me
Download links:
https://mega.nz/#!CYUC2KzI!KnHmytu3EnTdxO16gWMC8YeiIRql2DSZYjqflwwcCC0
Source code:
- ask me in PV with a good reason (I'm always happy about helpful code and GUIs)
Reserved for Q&A
Hello everybody,
I have developed a working, native booting Ubuntu MATE 18.04 system for the T-Mobile LG V10. This device has not received enough attention in the development community, so I decided I'd go all out and get a fully open source Linux distribution to boot and run on this underestimated device. I have gotten most of the basic features working, except for Wi-Fi and audio output. I think this could be a great foundation for developing a fully functional GNU/Linux based operating system that can harness the true functionality and power the LG V10 offers.
As of now, this is what works:
- Display (fbdev , no hardware acceleration)
- Touch (Xorg natively supports it)
- Modem/ADSP/Venus subsystems brought up
- Microphones (using Alsa usecase files from LG G4)
- USB OTG ethernet
- rt2800usb wireless driver backported (connect with NetworkManager)
- Stable systemd support
- Udev detects charging/battery percentage
To do:
- Enable hardware acceleration with freedreno DRM/KMS
- WiFi working
- Get HDMI slimport output working with Xorg and freedreno
- Get audio output working
- Offset the second screen in Xorg
- Make ADSP sensors accessible to userspace
- Screen rotation
- Camera blob bringup with libhybris
- Mainline kernel support
For more information, read the README.md on my GitHub repository
If you want to contribute, or have a look at what I have done, here are the links to my GitHub repositories, and the rootfs:
Boot Images: github.com/doitaljosh/native-ubuntu-mate-pplus
Ubuntu MATE 18.04 rootfs archive: drive.google.com/open?id=1AjhBs_9HLO0KC3bFpka2ewpuJTmigimK
Kernel Source: github.com/doitaljosh/android_kernel_lge_msm8992
hey what does this do. that stock kernel don't do?
If you want an extra tester, I have another v10 laying around that could be used for stuff.
great effort. thanks for your time and contribution. i am waiting for my v10 to arrive from ebay. will test.
I'm getting an issue where when the tar is extracting it'll stop and say it was killed. I know that I didn't kill it, as I left it alone while it was extracting. Or is it just it's say of showing that it's done?
Disclaimer
Code:
/*
* I am not responsible for bricked devices, dead SD cards, thermonuclear war,
* or you getting fired because the alarm app failed.
* Please do some research if you have any concerns about features included
* in the products you find here before flashing it!
* YOU are choosing to make these modifications.
*/
- EVEN MORE IMPORTANT: This ROM only works on devices using the bootloader hack. See <<< HERE >>> to unlock your devices.
- IMPORTANT: Do not update Magisk via the Magisk Manager App, your device will enter a bootloop if you do. Instead update Magisk via TWRP only. If you do this by accident then it is recoverable by just flashing the latest version of the ROM again (with gapps etc as required). This will be fixed in a later update.
Rules
- Please search the thread before asking questions
- Please try to stay on topic, I know it's not always possible
- When reporting bugs please post a logcat and/or dmesg where possible
Lastest TWRP version
- 3.6.1-9.2
Downloads
- Google Drive
Source Code
GitHub - lineage16-suez/kernel_amazon_suez
Contribute to lineage16-suez/kernel_amazon_suez development by creating an account on GitHub.
github.com
GitHub - lineage16-suez/device_amazon_suez
Contribute to lineage16-suez/device_amazon_suez development by creating an account on GitHub.
github.com
GitHub - android-extra/twrp_device_amazon_suez: TWRP device tree for Amazon Fire HD10 (2017)
TWRP device tree for Amazon Fire HD10 (2017). Contribute to android-extra/twrp_device_amazon_suez development by creating an account on GitHub.
github.com
Thanks
- @k4y0z and @xyz` for the bootloader hack
- @k4y0z for the initial kernel
- LineageOS
⏱ Change log / Release Notes
05 July 2022
- [fixed] Backlight HAL Errors
- [fixed] LiveDisplay not working
06 May 2022
- [fixed] Voice assist MIC not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [fixed] TWRP: Fixed USB-OTG
- [info] Added android.hardware.opengles.aep.xml permissions
13 April 2022
- [fixed] Terminal input via apps and adb shell
12 April 2022
- [kernel] Up-streamed to 3.18.140
- [kernel] Enable per user storage quota
- [kernel] Optimized build flags for Cortex-a53
- [kernel] Boeffla Wakelock Blocker Driver v1.1.0
- [kernel] Enable some TCP congestion algorithms
- [kernel] Westwood Default TCP congestion algorithm
- [kernel] Sdcardfs v2.0
- [info] Remove aptX bluetooth libraries for now
- [info] Mount /system partition early-mount style
- [info] Add vendor security patch
06 April 2022
- [fixed] Fix KernelUidCpuTimeReader errors
- [info] Revert audio HIDL from 2.0 to 4.0 back to 2.0 - our drivers aren't ready for this
- [info] Put storage permissions force close on the todo list
- [info] Chrome browser works
- [info] Jelly browser works
- [info] WeDo lego app works
Show Further History
03 April 2022
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [fixed] Lego app not working (more info here)
- [fixed] Cannot switch wifi on after storage encryption enabled
- [info] Update suez defconfig in kernel to be more inline with aosp
- [info] TWRP 3.6.1-9.0 available from Google Drive (no encryption support)
- [info] Up-rev audio HIDL from 2.0 to 4.0
- [info] Disabled amazon logging functions in kernel
- [info] Disabled unused squashfs in kernel
- [info] Conditionally compile MTK_M4U in the ion kernel driver as our device doesn't use it
27 March 2022
- [reverted] WiFi changes from previous build
- [removed] 26 March Build
26 March 2022
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Disney+ crashing
- [didn't work for everyone] Slow WiFi throughtput
- [didn't work for everyone] 5GHz connectivity to AX-88U router and in general
- [didn't work for everyone] 5GHz connectivity to across all channels
- [info] Include Bromite Webview
- [request] WiFi: Can someone test connecting to hidden SSID's and report back?
- [request] Magisk: Can someone test whether updating through the application works and report back?
16 March 2022
- [fixed] MtkOmxCore crash
- [fixed] Better auto adjust on backlight
- [fixed] SIM card prompt
- [fixed] Changed battery capacity to 6300mAh
- [fixed] sdcard access for chrome and other apps
- [fixed] "There's an internal problem with your device." dialog
- [info] Explicitly enable sdcardfs
- [info] Refactor root init scripts
- [info] Remove deprecated storage_list.xml
- [info] Clean-up build.prop
01 March 2022
- [info] Re-build of 28 February version
28 February 2022
- [fixed] DRM Widevine L3 support
- [new] Signature spoofing (enable and disable via developer options)
- [fixed] Wired headphones not working
- [fixed] Backlight HAL crashing
- [fixed] Hardware OMX (MTK codecs now been used)
- [info] Disable camera completely until fully investigated to stop logcat spam
- [info] Enable OTG for ethernet in kernel
07 February 2022
- [fixed] OMX regression was breaking NewPipe and local video file playback
- [info] Clean-up amazon binaries - media playback should be better - config file mess
05 February 2022
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High idle cpu usage
- [info] Updated amazon binaries to fireos 5.6.9.0
12 February 2021
- Initial Release
🛠 Worklist / Tasks
- [fixed] Bluetooth works
- [fixed] Audio works
- [fixed] Internal storage isn't accessible from any app
- [done] Sensors working
- [fixed] Touch sounds are working
- [done] Test audio format playback - mp3 working
- [done] Tested video playback with NewPipe which is working
- [fixed] WiFi signal strength not working
- [done] Support aptX-HD encoder for bluetooth
- [fixed] No adb during boot
- [fixed] WiFi working
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High cpu usage
- [fixed] DRM not working
- [fixed] Hardware OMX (for the most part)
- [fixed] Wired headphones not working
- [done] Enable OTG USB for ethernet
- [fixed] Youtube black screen with audio
- [fixed] MtkOmxCore crash
- [fixed] Battery showing wrong capacity - reported here
- [fixed] "There's an internal problem with your device." dialog
- [fixed] SIM card prompt
- [fixed] Chrome cannot access internal storage
- [fixed] Poor WiFi throughput (potential cause of choppy video playback)
- [fixed] Disney app crashing (more info here)
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Cannot switch wifi on after storage encryption enabled
- [hold] Bluetooth not working properly - can't see issue here
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [done] Upstreamed kernel
- [todo] TWRP: USB-OTG not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [todo] Voice assist MIC not working
- [done] Added android.hardware.opengles.aep.xml permissions
- [fixed] LiveDisplay not working
- [fixed] Backlight HAL Errors
- [todo] Shutdown after entering sleep mode (suspect cpu/gpu coming up in the wrong state -> overheating)
- [todo] Gapps > pico causing not enough space error
- [todo] Youtube black screen with audio
- [todo] Mirrorcast not working
- [todo] Multi-user not working
- [todo] Navbar problem when keyboard is in horizontal mode
- [todo] Playing videos over SMB failure after 30 min (more info here)
- [todo] Can't connect to hidden WiFi networks
- [todo] Lego app not working (more info here)
- [todo] Cameras not working (more info here)
- [todo] SELinux
- [todo] Intermittent high idle cpu usage
- [todo] Investigate L1 widevine support (L3 currently)
- [todo] Pass safetynet
- [todo] Device build fingerprinting
- [todo] Enable zram?
- [todo] Device encryption (TWRP)
- [todo] Battery idle mode
- [todo] Offline charging mode
- [todo] Low speaker volume
- [todo] Thermal Shutoff, overheating
- [todo] System partition needs to be increased in size to accomodate gapps
New Build is up
12 February 2021
- Initial Release
- Post #2 contains change log
- Post #3 contains task list
- Clean installation is required
Thank you for your great work! Can´t wait to try the new rom!
Just a few questions on build 12.february.2021:
DRM not working -> So netflix, amazon prime etc. isn´t working yet?
clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?
Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?
Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?
cochonez1312 said:
Thank you for your great work! Can´t wait to try the new rom!
Just a few questions on build 12.february.2021:
DRM not working -> So netflix, amazon prime etc. isn´t working yet?
clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?
Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?
Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?
Click to expand...
Click to collapse
Try netflix and amazon and let me know if anything needs looking into, I have started a tasklist so we can add items there.
Factory reset should suffice for clean installation.
Cameras not working at all, more to come on this. I understand why they are not working and it's not great news I know. I'll do a more detailed post on this.
The headphone fix from cm-14.1 might work or be adaptable to work on this rom. I am looking into a permanent solution for this.
I have faced these issues so far
1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture
BeniS98 said:
I have faced these issues so far
1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture
Click to expand...
Click to collapse
Point 1: I forgot to mention this initial message after boot. This is due to fixing the persistent and repeated camera hal crash and the way in which I had to stop that from happening, hopefully as a temporary measure. I'll add this to the OP so everyone is aware.
Point 2 and 3: I'll add to the list
Point 4: already on the list todo
A few more issues:
1) HD videos in Youtube app are not working. The video either stops or i'm just getting a blackscreen. 480p works.
2) The graphics is not very fluent and a bit laggy, especially when opening apps and scrolling within them. It seems that there's no graphics acceleration.
@ggow is playready crashing (DRM)? If so try to debug the crash with https://github.com/douglas-developm...987d31da8cda42c03b53fb988c18d77f3e297fffd16c4
As for the graphic glitches try adding:
Code:
PRODUCT_PROPERTY_OVERRIDES += \
debug.hwui.renderer=opengl \
debug.hwui.use_partial_updates=false \
debug.sf.disable_backpressure=1 \
debug.sf.latch_unsignaled=1 \
persist.sys.display.clearMotion=1
That fixed Graphic Glitches in 16.0 for my MT8163 tablet.
*****in danks ggow
Lineage 16 = Android 9 !!
OMG, never ever expected to see this on a 7th Gen HD10
Big thanks to ggow for bringing new life to our old "crap". The tablet isn't bad at all, so definitely worth to receive an update. Have to have a drink first to celebrate this, maybe will try the update next week. (I'm still on Amazon stock version, so I'll have to unlock first)
@ggow I may have found some useful information regarding the camera. While exploring why SuperSU wasn't working, I unexpectedly came across some logs. I did not save them, but I'm still trying to fix supersu and will grab them the next time I'm attempting a fix. It might be the smoking gun I'm not sure though.
In regards to supersu, I have figured out why it will not hold root access. For some reason it fails to obtain a root user account.
Code:
Error stderr: null, stdout: null, exit_value: 1
according to root checker, that is the only issue now. I have managed, I think, to rewrite or remove the scripts or lines of script in the files that lineage superuser uses. I'm not sure why it's doing this though. Flashing in twrp just causes a neverending boot animation. @ggow that's where I came across the camera logs, because after rebooting from flashing, I still get an adb connection so I ran a logcat, but aside from the camera, I didn't find anything useful. I made sure the files have owner root:root. I do know KingoRoot doesn't have an issue rooting. So the investigation continues.
Why are we pushing SuperSU? That's been deprecated and I've used Magisk on 12.1 and 14.1 successfully.
for the 11 thousandth time dragon supersu is DEAD stop using it use magisk in core only mode if you need minimal root handling stop pinging ggow because you refuse to join us in the year 2021 and use magisk like everybody else on xda
DragonFire1024 said:
I think the lack of space for gapps has to do with mounts. It sems things are confused to an extent because technically nothing is where it should be. For example, on the lin14 rom, SuperSU won't work and that's because it can't find the boot.img (it's looking in the spot where the img was prior to the unlock hack). I don't know why it won't work as a system install though.
I got init.d to finally work (lineage uses their own so you have to write a script in /system/etc/init and modify a line in init.cm.rc (in root directory) because lineage disables androids init.d I think that's where some of the issues are and part of why SuperSU doesn't work (superuser.rc).
Click to expand...
Click to collapse
the issue for gapps is the system partition size after installing los 16, is set incorrectly, not a mounting issue. supersu dont work because its not compatible and wont be, use magisk. the camera dont work due to a lack of proper drivers not to mention the coding is completly missing from 14.1 and 16 so dont bother trying to fix it yourself unless your compiling a new rom. this is just the first release and will get better in time. it boots and thats a start.
Understanding the Camera Issue:
@daniel_hk made a good post on understanding this:
REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/
Relevant Extract of the information
III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.
Code:
11-24 21:53:55.967 490 490 F DEBUG : #08 pc 00017459 /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.
After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.
What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption.
** Those interested may read this article for detail. **
1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly.
2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer...
If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.
With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...
ggow said:
Understanding the Camera Issue:
@daniel_hk made a good post on understanding this:
REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/
Relevant Extract of the information
III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.
Code:
11-24 21:53:55.967 490 490 F DEBUG : #08 pc 00017459 /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.
After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.
What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption.
** Those interested may read this article for detail. **
1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly.
2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer...
If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.
With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...
Click to expand...
Click to collapse
Yeah after you fix that you'll get mediaserver libc fatal crashes as I do in douglas.
MOD ACTION:
Thread cleaned.
Friends, please do not lose the focus of the thread. Discussions about other issues and multiple persons posting multiple ways of solving such issues etc make the thread cluttered.
The OP is there and answering queries.
Thank you for understanding!
ggow said:
🛠 Worklist / Tasks
...
- [todo] Wired headphones not working
Click to expand...
Click to collapse
thank you, @ggow, for coming back to Fire HD 10!!! ur recent works on HDX makes me thinking about it but its still >5yo tab.
for the wired headset, there is a fix available already: https://forum.xda-developers.com/t/...4-1-26-sep-2019.3973703/page-29#post-81763775
i have used it on both HD8 and HD10. hope it saves u some work!