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

[T110 / T111][WIP] Linux for Tab 3 Lite, PostMarketOS or Debian

Search This thread

TriDiscord

Senior Member
May 15, 2021
113
11
I don't think is possible, as we don't have access to proprietary blobs.
However, I've found that there is something called libhybris and halium which have could give us a door for future ports using proprietary binaries, but from what I've read on Sailfish OS Hardware Adaptation you also need to compile an working CM version in order to recompile some part of the Android ROM with hybris / halium implemented to make it possible for other OS-s to load them. Maybe we could port other Android versions this way, but who knows.
However, I don't think it's worth the hassle, as an used Nexus 7 it's under 50 bucks and that tablet it's a steal, as it still got Android 11 updates, Ubuntu Touch, Debian, pmOS with great support, so ..

This was a nice challenge, but I've spend already too much time to work on it alone.

The point of having working pmOS with working Anbox is that we could run newer Android apps inside it, like for Android 7+ and so on, but this require to get it work all together, including Audio and HW acceleration.
Wait.. doesn't Android have an NDK? We don't really need another CM device, I think...
 

adryyy

Senior Member
Nov 3, 2012
99
50
Looks like the HW Acceleration works apparently on the pmOS.

Seems to be software render after all. However, the Linux kernel starting from 4.19 implements Etnaviv GPU driver. Sadly we stuck with 3.4.5.

Code:
samsung-goyawifi:~$ glxgears -info
GL_RENDERER   = llvmpipe (LLVM 11.1.0, 128 bits)
GL_VERSION    = 3.1 Mesa 21.1.2 (git-53b2b224dc)
GL_VENDOR     = Mesa/X.org

glxinfo
display: :0  screen: 0
direct rendering: Yes

Looks like etnaviv was integrated into the MESA according to

This is great. Now I only need to fix Audio, which is tricky due to proprietary control library. At last it uses ALSA control code so it should be possible to write a C code for it.


1636039468768.jpg
 
Last edited:

TriDiscord

Senior Member
May 15, 2021
113
11
Looks like the HW Acceleration works apparently on the pmOS.

Code:
glxinfo
display: :0  screen: 0
direct rendering: Yes

Looks like etnaviv was integrated into the MESA according to

This is great. Now I only need to fix Audio, which is tricky due to proprietary control library. At last it uses ALSA control code so it should be possible to write a C code for it.


The audio and camera HALs are a bit tricky but we should be getting it to work if we get our hands on the actual source code.
 

TriDiscord

Senior Member
May 15, 2021
113
11
I'm still thinking that we should Treblify things, as it would be much easier to port from there.
 

adryyy

Senior Member
Nov 3, 2012
99
50
I found some patches from Marvell to Linux Kernel for PXA988 support.


If we could rebase the linux kernel to at last 4.19 we could use the open-source graphic driver Etnaviv to run Linux and Android.

Etnaviv is also part of Mesa3D for Android: https://android.googlesource.com/platform/external/mesa3d/+/refs/heads/master/Android.mk

So this is a great solution for GPU driver.

The only thing is that I find incredible hard to rebase the kernel to another version.

Here are the files that differ from the upstream 3.4.5 Linux Kernel compared to the Android Kernel for T110:

The good part is that MMP2 and MMP3 which are quite similar to PXA988 are in the mainline kernel.
Should be possible for someone with a bit of experience to port the changes needed into a newer version of kernel.

Also T230 Kernel 3.10.0 seems to integrate some or full support for PXA988:

The most recent version of kernel I've found with some or full support for PXA988 is 3.14.27:

L.E.:
This kernel with 4.10 base seems to include Etnaviv, PXA988 support and some Marvell drivers but from the commit messages I think is just a test source:

Apparently @wojtekt99 got a T110 and tried to rebase kernel in this.
 
Last edited:

TriDiscord

Senior Member
May 15, 2021
113
11
Oh god... This is ASM...
I can work with C code to some extent but Assembly is just something I cannot do unless it's a very minor change.
I'll try my best to upgrade the kernel to 4.19.
 

KingTatan

New member
Dec 27, 2021
1
0
So nice to know my old Samsung Tab 3 Lite is not dead!!! Waiting for news about the work of these awesome developers from XDA! Regards!
 

TriDiscord

Senior Member
May 15, 2021
113
11
So nice to know my old Samsung Tab 3 Lite is not dead!!! Waiting for news about the work of these awesome developers from XDA! Regards!
Hello! I'm sorry to say that I kinda messed up the sources on the Android port side of things. :p
The OS boots, but touch is flipped, audio doesn't work anymore (?) and the tablet doesn't have very good performance.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Status: 🟩Booting into the OS; 🟩Can telnet into init stage; 🟩 Can SSH to OS; 🟩 PostmarketOS Wiki;

    Getting started:
    Note: this will not wipe anything from your device. This doesn't contain any OS, just the pmOS init with stock Kernel. Read bellow to how install pmOS on MicroSD Card.

    Sources: https://github.com/T110-pmOS

    What's working:
    • 🟩Build kernel from source
    • 🟩Kernel is loaded and working
    • 🟩OS is booting
    • 🟩SSH acces to OS though USB
    • 🟩Touchscreen works
    • 🟩Battery level reads correctly
    • 🟩Mate and Wayland Demo
    • 🟩Repack stock kernel with pmOS initramfs
    • 🟩Load the pmOS on MicroSD card
    • 🟩Compile pmOS with and without UI
    • 🟩Mount and chroot pmOS manually using telnet
    • 🟩Telnet access during init
    • 🟩Read and mounts SDCard partitions correctly
    • 🟩Pass extracting initramfs-extra
    • 🟩Can read kernel logs through UART *
    What's not working:
    • 📛Boot the kernel from source
    • 📛HW Acceleration
    • 📛Boot-ing kernel build with pmbootstrap build
    • 📛Stuck at loading
    • 📛No ssh access
    • 📛Logs aren't written rc.conf
    • 📛Can't read kernel logs through UART *
    * UART Serial Debugging tested with 150Kohm, 530Kohm, 619Kohm ID to GND, 3.3V. RX/TX seem to work. See attached photos for adapter and Serial debugging:Cable schematics .

    USB Network (Telnet, SSH) from Windows 10: info in post #3.

    Alternatively to Telnet, SSH you can use a Linux machine, or to run some distribution (like Xubuntu) in VirtualBox and pass the USB SAMSUNG_Android [9999] to VirtualBox OS.

    Revert to stock:
    Start with OS from scratch:

    In order to install pmOS on SDCard:

    • Check pmOS "Installation guide"
    • After pmbootstrap init
    • Select as device Samsung -> lt023g
    • Follow guide to pmbootstrap install --sdcard=/dev/mmcblk
    I've made a tree for goyawifi also, but didn't uploaded it yet as I didn't manage to get it to work properly by compiling Kernel from source, it stuck at Samsung bootloader logo.

    Debian guide coming soon, as I've found this Medium post. I try to get it to work.

    As I've managed to boot pmOS, I don't think I'll try to run Debian, but you can try with pmOS and Debian on SDCard according to that Medium post. Should work.

    The boot-postmarketOS_s1_n12.zip contains boot.img with kernel config CONFIG_DEVTMPFS = Y that seems to boot OS as SSH is working. Get the last updated version with all configs from above.

    More info in post #3.

    1634682969036.jpg
    IMG_20211025_172754.jpg
    2
    1636649623347.png

    Will be updating posts soon.
    2
    HUGE UPDATES!!

    It seems like this package has a LOT more than what ruben15prd has provided on GitHub (INCLUDING A GENERIC DEVICE TREE AND PROPER ALSALIB)! I'll upload as soon as I can.
    1
    Great news! Managed to get it to boot.
    I've compiled the kernel with all the options asked by pmOS and it works!
    Updated zip with boot.img on OP.

    IMG_20211025_172754.jpg
    1
    Oops, they are gone now :p
    Will push them on my own GitHub soon.