UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. Tonoxis
    3. Best
    T
    Offline
    • Profile
    • Following 0
    • Followers 1
    • Topics 2
    • Posts 46
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Porting Halium to Nexus 7 deb

      @doniks I managed to figure out a workaround, I had to pull the jessie version of libssl1.0.0 so I could force ADBd to run instead, for whatever reason, my debian rootfs never gets USB tethering up unless it's the debug bootmode option. I am actually working with a running debian root now, however I screwed up while building my system image and didn't have any vendor blobs for libhybris to work with 😕 I'm rebuilding my system image now and then I'm going to reinstall the halium rootfs with the new system image.

      Before-posting Edit: Looks like I'm running into an issue where the build system isn't picking up my vendor tree 😕 even after popping MOB30X's binaries down in there as laid out in the LineageOS guides for setting this folder up, every system image I build continues to not contain the proprietary blobs... I can't tell if I'm doing something wrong, or if it's something else that I'm not doing first.

      EDIT EDIT: WOO! Had to do some linking around libhybris-egl, but I was able to finally get test_hwcomposer to show the spiral! Working on getting wayland to start up (working on getting some VTs up so I can launch weston as a test)

      EDIT: Weston starts as long as I specify fbdev-backend and use msm_fb_refresher to get it up and running, but it runs and it's snappy. I just can't get anything else wayland to work (gnome-shell --display-server, kwin_wayland, etc)

      posted in Porting
      T
      Tonoxis
    • Libertine installation broken on Vivid

      Due to some changes on ports.ubuntu.com (namely, the move of the vivid repository to old-releases), future users may find that creating containers in Libertine is broken (until Xenial comes along, then this fix isn't needed any longer).

      The fix is trivial for the chroot backend, simply open /usr/lib/python3/dist-packages/libertine/ChrootContainer.py and replace all mention of ports.ubuntu.com/ubuntu-ports with old-releases.ubuntu.com/ubuntu and add old-releases.ubuntu.com/ubuntu to the end of the debootstrap command in the same file (after the {}s)

      This will patch libertine until UBports forks it and commits the fix to their repository. You will need your system image mounted read-write to make the change, to do this non-permanently, simply do sudo mount -o remount,rw / it will remount as read-only after a reboot with the changes intact.

      Edit: I have added the general gist of the information (minus the exact fixes) to issue #302 of the ubports/ubuntu-touch issue tracker.

      posted in Support
      T
      Tonoxis
    • RE: Development testers for Anbox

      @mariogrip any information on what we Flo users would need to do to get it running, or do we still need the mainline kernel to be up and running under Halium properly first (I'm down to experiment!!)? I can attempt to whip up a custom kernel as long as I know what patches I'm applying to it! Kinda hoping it would be similar to arale and need the anbox drivers compiled in.

      posted in OS
      T
      Tonoxis
    • Nexus 7 LTE General Bugs/Problems & Workarounds

      Nexus 7 LTE General Issues, Fixes and Workarounds

      HUGE UPDATE, Please see the issue list for update

      Why?

      Because I have recently picked up a 'deb' and after using the Nexus 7 WiFi (flo) I was expecting a very similar experience, seeing as they're effectively the exact same device with a cellular modem and a sim slot added (all the way down to the baseband and bootloader, the deb uses Flo images and is even just an add-on to the flo device tree when compiling Android).

      Unfortunately, that was not meant to be, immediately after installing ubPorts, I noticed the following issues and set out to either workaround them or fix them. It's been a very long process and I am a newbie to compiling an Android system image (i've done many a kernel, and application, but never the full Android), so progress is slow. This post will serve as a chronicle of the issues found, and any applicable fixes.

      Issues:

      1. Bluetooth doesn't function on the 'deb' image

      UPDATE: This is indeed caused by the kernel image in use.
      This issue is caused by two things, the kernel image that's shipped with the 'deb' installation, and a missing upstart unit in /etc/init for our device. This is easily fixed by compiling a kernel (or using a pre-built kernel) image for the 'flo' (Nexus 7 WiFi). Doing so actually appears to improve the stability and functionality of the device as a nice addition.

      4. Camera is completely non-functional

      UPDATE: I have finally been able to get logs, I'll upload them when I get a chance!

      When I say non-functional, I mean anything that even requests access to the Camera crashes. I created a Nextcloud webapp on my device and it would only open if I deselected the Camera permission. This issue is the most perplexing out of all of these, second only to the external pointer rotation issue, as there are absolutely NO logs generated regarding the camera, or any application that attempts to access it.

      5. Device does not power down or otherwise appear to reboot.

      [NOTE]: I have invalidated this issue as it appears there are some slight minute differences between the Flo and Deb defconfigs that aren't represented in the current kernel trees, as building with the kernel configuration found in the ubPorts deb image's android rootfs yielded a kernel in which auto-rotation, slimport and reboot/power-down appear to function properly.

      Observations

      1. Both me and @doniks feel that it's extremely bizarre that the Flo runs perfectly, but it's sister device the Deb (LTE) runs so poorly. As they're the exact same device and system image with an added RIL, it should run exactly the same right?!
        • [4/27/2021]: so there are some differences between the Flo and Deb in terms of kernel configuration, I am still attempting to figure out what the difference exactly is though. For now I have patched my own deb/flo configs with the config that I found, and things are working almost as great as on the Flo (no camera though :crying_face: )

      Now, onto the fixes and good stuff!

      Kernel Modifications

      NOTE: Please note that you can use this kernel image in both a Flo and a Deb, however it may not boot on the Flo due to initramfs differences. If you install the kernel image on a Flo, I recommend extracting the kernel itself using abootimg and using the initramfs you already have.

      What works
      • Bluetooth
      • WiFi
      • Mobile Connectivity (I do not have a SIM to test voice with, only data)
      • Auto-Rotation
      • Anbox (needs some extra work to get networking working properly on each reboot at this stage though)
      What's been added
      • Anbox backported drivers
      • zRAM Kernel Module for creating a compressed swap space (this requires some extra effort to enable at this time)
      • Linux 4.2 Backports repository (Bluetooth Driver, Anbox)
      Download

      Download Link: https://1drv.ms/u/s!AqACoL07fxpWp8gGGF_GTmO8f-tCKw?e=xe4VUt
      Kernel Source Tree: https://tonoxisisle.services/git/TononixOS/ubports_kernel_google_msm
      (don't mind the repository convention, I was working on making my own personal distribution using ubPorts as a base)
      Please pardon my git mess, more android repositories will appear as I attempt to work through these device trees and the compilation process.

      Information

      This kernel is a fork of ameyagokhale's lovely Anbox enabled kernel source tree and contains a couple extra additions:

      • Working zRAM module. In my own experience, zRAM has helped make the system more reliable as I have experienced less application crashing due to low memory than previously. It also removes some strain on our NAND chips by moving swap into a compressed space in RAM instead of a swapfile on the data partition. As our device does not use zRAM under Android, this driver remains uninitialized at startup. You can either create an upstart unit to set up zRAM which then triggers the zram-touch unit, or you can do the following in a terminal:

        1. sudo zramctl -s <size> [Personally, I use 2G as the size]
        2. sudo start zram-touch which sets up ubPorts to use zRAM as it's swap, and dumps the SWAP.img image in /userdata, saving our NAND some write cycles.
      • OverlayFS v13, this module is disabled and not compiled into my kernel images by default, if you want to play with this module, compile it yourself. I had originally pulled it in to provide rootfs overlay support for Anbox (allowing the installation of Google Apps and other System utilities), however Anbox crashed when creating the overlay. I find this extremely odd as I could create the same overlay by hand as root.

      • Obviously Anbox support! YES! We have Anbox support now (courtesy of ameyagokhale)! To use it, install the kernel image and then open terminal, then run the following commands:

        • anbox-tool install
        • anbox-tool enable

        Anbox should start running and you should start seeing Android applications in the app drawer. Do note that applications do not rotate their orientation and thus must be used in their portrait orientation (as I understand it from reading issue tickets and the like, that is currently a limitation on the Mir port of Anbox that ubPorts is using). This is all very experimental.

      FAQ and Notes

      1. Anbox support on the Flo/Deb is still very experimental, you may run into the following:

        1. Applications do not rotate, and appear stretched and distorted when forced
        2. No networking on startup, this is due to anbox-bridge failing to create the bridge and enable it via iptables inside the container.
        3. Sometimes the container just plain out refuses to start.
      2. We have Anbox which uses LXC, does this mean we can use the LXC-type Libertine Containers?

        No. For whatever reason, despite running Anbox's LXC container, and the Halium Android LXC container, Libertine runs into a namespace issue while creating it's container. Unfortunately, we are still very much a chroot-only device for the sake of Libertine.

      3. I've downloaded your TonoKernel before for ubPorts 15.04, where are all the extra features like DoubleTap2Wake?

        I opted to leave those out of this kernel tree, as I'm working to stabilize and improve the device support as much as possible, I'd prefer to keep extra features out of it while that work progresses. I have given thought to re-introducing those features in the future as a separate download, but I hope to eventually get this modified kernel adopted by ubPorts for the deb as it fixes a couple issues (mainly bluetooth).

      Wanna Help?

      I'm not so great with the actual Android development side of things, it would be an immense help to try to get a Halium 7.1 system image (that boots into ubPorts mind you) made for the Deb/Flo devices. My efforts keep ending up with a broken system that refuses to boot.

      Lastly! Keep an eye on this post, I will be updating it as I continue my research and development!

      Changelog:

      4/24/2021: Reformatted entire post to clean up the issue list and observations. As well as provide a clear structure for keeping this information on track.
      4/27/2021: Removed kernel download link, it's getting replaced here in a couple hours.

      Current Status

      4/24/2021: Attempting to build Halium-7.1 based system image for the Flo as research, my Deb image refused to boot the container. I'm curious if the Flo image will fare the same.
      4/25/2021: Installed a easily compiled deb image, Halium got to starting the init process and then... nothing, no screen change, no logs, just nothing.
      4/27/2021: I didn't even NEED to recompile Android, I just needed a good kernel configuration file for the deb. Turns out the flo_defconfig is missing some options, merging /system/boot/config-3.4.0-4-flo with my normal defconfig file has yielded a kernel with a vastly superior experience to the previous one in use (either by ubPorts installer or my own link here). I am recompiling the kernel using the new kernel configuration and it should be available soon after I test it.
      4/27/2021: Kernel problem fixed! Bluetooth works, Auto-rotation works, Slimport works properly! Updated post with new download link and removed old invalid issues.

      posted in Google Nexus 7 2013 LTE/WiFi
      T
      Tonoxis
    • RE: Bluetooth and Camera on N7 LTE (deb) not working

      Bluetooth can be done by remounting as rw and copying /etc/init/bluetooth-touch-flo.conf to /etc/init/bluetooth-touch-deb.conf after updating the kernel to a "flo"-based one, unfortunately copying the upstart unit alone isn't enough to make bluetooth start. (It might be worth me continuing my custom kernel project just for the deb)

      I haven't tested Camera yet, I'll check that here in a little bit after I get my setup back up (I had flashed it as a Flo to see if that corrected the external display scaling, spoiler, it didn't.)

      Edit: Camera doesn't work for me even with a Flo kernel, something deeper is involved in that issue, but I am attempting to compile an issue list and workaround/observation list over in https://forums.ubports.com/topic/6056/nexus-7-lte-general-bugs-problems

      I think what's needed is to go through the entire codebase, find quirks and hacks for the Flo and make them also run for the Deb, as 99% of the hardware is exactly the same (the Flo only misses the LTE modem and Sim Slot) and even run the same bootloader/baseband images.

      posted in Support
      T
      Tonoxis
    • RE: Nexus 7 LTE General Bugs/Problems & Workarounds

      @joao-0 Ah, if you've already done the Flo installation, then open a terminal and do sudo start bluetooth-touch-flo

      If you want this working on every boot:
      sudo mount -o remount,rw /
      sudo cp /etc/init/bluetooth-touch-flo.conf /etc/init/bluetooth-touch-deb.conf

      This is because despite running a Flo kernel, the hardware still reports it's a deb, and the ubPorts image appears to be missing the upstart item for the deb, and is missing a redirect from bluetooth-touch to just use the flo version regardless.

      posted in Google Nexus 7 2013 LTE/WiFi
      T
      Tonoxis
    • RE: Libertine installation broken on Vivid

      Wonderful! @DanChapman Thank you very much for doing the pull request. I see that it was merged with the ubports libertine repo, so that's great!

      posted in Support
      T
      Tonoxis