Category: Uncategorized

  • GPU resets doesn’t crash Debian

    But both Firefox based browsers and Chrome itself will cause a GPU reset. I disabled hardware decoding in both now, forgot to after installing Chrome, and now I need to remove Chrome, as it looks like I don’t need it, cause Chrome Capture for Channels doesn’t really work in Podman. Can’t type anything in to login to DirecTV.

    Got to build it on my desktop, laptop may or may not be stable enough to run it. Hmm, guess I need Chrome on my desktop, or Chrome based. Might still have the Chrome based one that starts with a V. Just need to delete my profile data, so it’ll open, since it corrupted itself apparently.

    Is hardware decoding disabled in LibreWolf on my desktop? I should check, cause it doesn’t crash. The laptop’s eGPU is a AMD 6xxx and so is the desktop, the one is desktop is supposed to be better.

    Now if it has hardware decoding enabled, and doesn’t crash, perhaps I need a rolling release distro on my laptop. Armbian might have a rolling release version, and maybe an amd64 version. Is that based on Debian or Ubuntu as well? Depends what version the kernel is though, if that would be even worth doing. Otherwise use Arch or openSUSE. But I like Debian.

    Wouldn’t be surprised if I disabled hardware decoding. Must be a new fancy bug.

    Hmm, will that Chrome for Channels thing work on ARM if I compile it? No idea how well Chrome works on ARM Linux, that isn’t using Android crap.

    Well, the desktop isn’t doing much, might as well put it on there.

    All I need is bun to compile this Chrome thing? I already have git, probably on almost if not all my Linux stuff. No idea what bun is, don’t even know if I can easily install it in openSUSE.

    npm install -g bun

    It’s some JavaScript bundler crap.

    Or use their script.

    I guess while that’s slowly installing, I can check hardware encoding in LibreWolf. And see if the Chrome based crap browser is still on there.

    Not disabled, testing DirecTV, in LibreWolf, you have to change the user agent. Might be fine on desktop, so something in openSUSE doesn’t have the issue that laptop has with Debian.

    My desktop running openSUSE is using Kernel 6.17.7-1-default and laptop is 6.12.57+deb13-amd64. The KDE is probably newer on desktop too.

    Too bad NoMachine didn’t work as a server in openSUSE last I tried. Should try again.

    failed to start browser page: Error: Command failed: which chromium which: no chromium in

    Now to make a script called that, so it can open the other Chrome based browser crap that might be installed. Or better, use ln -s.

    failed to start browser page: TargetCloseError: Protocol error (Target.setDiscoverTargets): Target closed

    Guess I need Chromium, too lazy to mess with Vivaldi. Thought it was based on Chromium though.

    Oh I think it has to be open already. Probably didn’t need to install Chromium.

    Nope, probably need to run main.js on it not from SSH.

    Just crashes, when trying to open a stream by URL.

    No way to make NoMachine work in openSUSE? Get a connection reset by peer error.

    Got to love search engines, some of the links get a warning page in my browser.

    x2go might still be installed on desktop, I’ll just use that, instead of fucking with broken shit, like search engines that don’t work anymore.

    Oh yeah, x2go doesn’t support wayland, just use krdc.

    Nice, get to debug some puppeteer crap.

    I got farther, might need xvfb-run.

    Hmm don’t run npm install -g, you need sudo. Maybe fine for bun itself, but not everything else.

    If using Chromium, you might need the widevine package, but it says cdm, not drm, so I removed Chromium, and modified main.js to look for vivaldi-stable.

    Unhandled rejection: TargetCloseError: Protocol error (Extensions.loadUnpacked): Target closed
    

    Trying debug instead of stream now.

    Still broken. Guess I should reinstall Chromium and that Widevine crap.

    Or stop trying to use headless.

    Oh wait, think I have to use Chrome or based on it, on laptop for debug to work.

    And get non headless to work first, or good luck. You probably need chromium-ffmpeg-extra too.

    And it might be slow as fuck. Is the GPU disabled or something?

    And might have crashed my desktop, by using –enable-gpu. Looks like that AMDGPU bug is everywhere.

    Also krdc sucks compared to NoMachine.

    Hmm, looks like ethernet crapped out, nice.

    Trying Ungoogled Chromium from Flatpak on laptop now.

    Is krfb better? Nope, use some other VNC server, that thing sucks.

    One of those network keyboard mouse switcher apps would probably work the best with Wayland. I bought one long ago, forgot what it’s called though.

    There’s Rustdesk, but be careful, if you maximize the screen, your AMD GPU might crap out for a second in Debian, same GPU reset that browsers trigger.

    It’s faster but buggy.

    Maybe the non Flatpak is better.

    Why do you need the server? The direct connection works fine apparently. And I’m only allowing the direct server to connect to local IPs. And the damn thing keeps changing the config file, so it’s not using the custom server I guess, it’s using the default one.

    Well, I guess that Chrome thing doesn’t work anymore.

    I got TV Everywhere working again earlier anyways, apparently it broke somehow, had to update to a pre release.

    Wanted to record Comedy Central, so I don’t need to use their app to watch anything. Oh well. I’m too lazy to fix, or anything. And I don’t like Chrome anyways, so not worth my time.

    There’s some Windows junk, but it’s for using a USB encoder. I have one, but I’d rather use the GPU. Or no GPU, I don’t give a damn.

    There’s something for ESPN crap, that might work on other OSes besides Windows. Don’t care about ESPN.

    $HOME/.cache/puppeteer

    That folder doesn’t exist.

    Hmm the thing I have could work with Chrome, instead of Chromium. Too many Chrome versions.

    Not recommended, uses the wrong Chrome data. I should rm -fr my chrome data folder too.

    Easiest way to run actual Chrome, is by uninstalling Vivaldi, well uninstalled google-chrome-stable too, then reinstalled it.

    CHROME_BIN=/usr/bin/google-chrome-stable DOCKER=true LIBGL_ALWAYS_INDIRECT=1 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true bun main.js doesn’t seem to work either.

    Hmm they say how to run xvfb, here.

    Should have kept Remmina installed on laptop, no need to use Rustdesk, it makes a VNC for the Chrome. I will eventually put it in it’s own user or something. Just testing, then going to bed.

    Maybe it doesn’t work with DirecTV.

    Maybe just open a new tab and go to the DirecTV site yourself, and login.

    Now how the fuck do I automate that?

    You could put it in Distrobox as well. Instead of LXC.

    Either it’s broken with newest Chrome, or I’m missing something in openSUSE.

    And yes hardware encoding might work, but I’m not using a container. Isn’t that nice?

    npx @puppeteer/browsers install chrome@stable

    Might fix it.

    Wait, it works in Podman somehow? Hmm. Then I don’t need to mess with this Node BS as much. Now how do I mess with Portainer? I need one for Podman, maybe Podman Desktop. Maybe I’ll stay up till 5 AM.

    Portainer may work with Podman, but possibly not with openSUSE. And I’ll just do it manually, using Cockpit maybe.

    Almost bed time, apparently for a new user, if using Cockpit, you have to run in a terminal as user podman pull.

    And if that doesn’t work, you may need to run “usermod –add-subuids 100000-165535 –add-subgids 100000-165535“.

    Nope, I can’t remember how I setup Podman.

    Almost was working, till my outgoing firewall blocked it. Finally loaded after allowing it.

    It would work, if I could get the URL to the channel.

    Nice old version of Chrome, so insecure.

    cat .config/containers/systemd/cc4c.container 
    [Unit]
    Description=cc4c
    
    [Container]
    Image=docker.io/bnhf/cc4c
    ContainerName=cc4c
    ShmSize=1g
    Network=host
    Timezone=America/Los_Angeles
    Environment=HOST_PORT=5589
    Environment=CC4C_PORT=5589
    Environment=HOST_VNC_PORT=5900
    Environment=VIDEO_BITRATE=9500000
    Environment=AUDIO_BITRATE=256000
    Environment=FRAMERATE=60
    Environment=VIDEO_WIDTH=1920
    Environment=VIDEO_HEIGHT=1080
    Environment=VIDEO_CODEC=hevc_vaapi
    Environment=AUDIO_CODEC=aac
    Environment=TZ=US/Mountain
    Environment=HOST_VOLUME=cc4c_chromedata
    Environment=DEVICES=true
    Volume=/dev/dri:/dev/dri
    Volume=/home/cc4c/cc4c_chromedata/cookies:/home/chrome/chromedata/Default/Cookies
    Volume=/home/cc4c/cc4c_chromedata/logins:/home/chrome/chromedata/Default/Login Data
    Volume=/home/cc4c/cc4c_chromedata/localstorage:/home/chrome/chromedata/Default/Local Storage
    Volume=/home/cc4c/cc4c_chromedata/prefs:/home/chrome/chromedata/Default/Preferences
    Volume=/home/cc4c/cc4c_chromedata/secure:/home/chrome/chromedata/Default/Secure Preferences
    
    [Service]
    # Restart service when sleep finishes
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    That’s how I’m running it, those container files are nice and easy.

  • Vanilla OS not more stable then Fedora for eGPU

    And possible Gnome has issues with eGPUs, or at least on this HP laptop. But Vanilla OS probably isn’t stable for anything.

    Ended up putting Debian on the laptop, and tried Gnome first, but installed KDE, I didn’t remove Gnome though.

    Easier to debug Debian anyways, not much info on the Vanilla OS site about it. So you mostly have to figure everything out yourself. You can try searching, but you may be searching for eternity, I can get different results every time I search. Sounds like DuckDuckGo isn’t very private.

    Hmm Fedora, might have been unstable because of some bug.

    amdgpu 0000:6a:00.0: [drm] *ERROR* [CRTC:85:crtc-0] flip_done timed out

    Not sure if Fedora got that or not, was completely locking up. Good news is, Debian, you can still access a tty on the laptop display.

    There’s various workarounds that may or may not work. And may be a problem with VRR in KDE. If you have to use the KWIN things, VRR might not even work anymore. And since VRR is experimental in Gnome, the thing to disable for that, might affect VRR as well, no idea.

    But maybe I can go back to Gnome soon.

    Currently trying “amdgpu.dcdebugmask=
    0x200 amdgpu.runpm=0
    “.

    KWIN_DRM_NO_AMS=1
    KWIN_DRM_NO_DIRECT_SCANOUT=1

    Putting that in /etc/environment, might fix it as well. I put it in there, but commented it out. In case I don’t need it. For Gnome, you only need to change one thing. I’m too lazy to find the info. It was on one of the Git things for something.

    Steam hasn’t crapped it out yet, last time I tried opening a game, while doing the shader thing it crapped out. I had to go into a tty and reboot, couldn’t login to KDE, and didn’t say the password was wrong. Well not every time, I kept trying, then I typed it wrong multiple times. But I guess you’d need to rmmod amdgpu, which probably won’t work.

    Guild Wars 2 opened, and was able to get in the game, so maybe it’s fine now.

    Good luck getting into a tty in Vanilla OS, when it craps out. Pretty sure even when the laptop display was enabled in Gnome, I still couldn’t get in a tty or at least not always. All those buttons do is make it restart the Display Manager, if you are lucky, unlucky and nothing will happen. Perhaps it has no tty. Nice feature, not worth my time to fuck with it anymore.

    Well, beginners might like it, they’ll never need a tty. So if it freezes, they can just hold the power button down. And if there data gets corrupted, they can reinstall. Hopefully beginners backup any data they care. The Vanilla OS website says beginners can use it.

    I’d prefer to get into a tty, and reboot correctly myself. And check dmesg to see if it says what went wrong. Journalctl may have info, but if it just completely freezes up, maybe not. Not to mention, you might get data corrupted if you reboot or power off incorrectly. So journalctl might be useless.

  • Orange Pi 5 is good enough for encoding Channels DVR recordings

    No idea about 4k, but no 4k OTA here, and don’t think any TV Everywhere channels have 4k. Most of my shows are TV Everywhere.

    deleted
    

    There’s my script, it uses rkmppenc and ccextractor for the subtitles. Used to use handbrake on the Mac mini, and didn’t need anything else for subtitles. But ffmpeg, the one in Armbian, doesn’t like some of the recordings subtitles, so it just fails to do anything. And too lazy to mess with rkmppenc to figure out if it can or even supports the subtitles in the Channels DVR recordings.

    Had to turn the Mac mini on to get the script, not sure you can access the file easily from a Time Machine backup on a Linux computer, that it backed up to using Samba. Search engines appeared to break, as I can’t find anything anymore. Or is it because I don’t use an easy to track browser? Google sucks too, last time I used a search engine that uses Google And DuckDuckGo claims to be private, if so, I guess it just sucks. Shouldn’t need to track me. Or access anything from my browser that can be used to track me. I won’t use a different browser to search, eventually I’ll stop searching instead.

    And be careful when that scripts runs, especially if you don’t manually run it. It will move the mpg to .bak, and ln -s the mkv to the old mpg name. But if Channels DVR is recording, and it can move the file, while ffmpeg is writing to it, you might, well probably, will get a failed recording.

    Either modify the script to make it safer, or run it manually and when you know you have enough time to encode everything.

    Is it slower then the Mac mini? Probably not by much if at all. At least with the settings I’m using in the script above. The longest time might be 10 minutes or a little less. Way better then using a CPU. And all the commercials I keep, because it isn’t exactly accurate by default, and might remove some of the show. Too lazy to make the commercial detection better, and don’t care.

    File sizes are small enough for me, it’s using hevc. That can be changed as well.

    I won’t use the Mac mini anymore, don’t trust Apple anymore. You get to pay more, and soon get screwed by Apple and US government. Unless you’re into mass surveillance. At least you have nothing to hide.

    And I might need to remove the Motorola Installer, it’s getting blocked by my firewall. Might be hard to install the new update, that became available shortly after updating finally. The amount of work needed to get root back from a non full OTA, might not be worth it, so I may never update again.

    Update

    If you used the old script, you probably got some broken recordings. Apparently you should just copy the audio, not encode it, unless you know what you’re doing. Easier to copy the audio anyways.

    Updated script using ffmpeg, still extracts the subtitles, since I can’t copy the subtitles from all recordings using ffmpeg directly.

    #!/bin/bash
    
    SUBBIN=ccextractor
    CONVERTERBIN=ffmpeg
    
    get_mpgs () {
            cd "$1"
            #echo "$1/*"
            for FILE in "$1"/*
            do
                    filename=$(basename "$FILE")
                    extension=${filename##*.}
                    filename=${filename%.*}
                    if [ "$extension" = "mpg" ]
                    then
                            if [ ! -e "$1"/"$filename".mkv ]
                            then
                              echo "$1/$filename.mkv doesn't exist"
                              #$HANDBRAKE_CLI -s "1,2,3,4,5,6,7,8,9,10" --preset-import-file "$PRESET_FILE" -Z "$PRESET" -i "$FILE" -o "$1"/"$filename".mkv
                              if [ ! -e "$1"/"$filename".srt ]
                              then
                                    $SUBBIN "$FILE" -o  "$1"/"$filename".srt
                              fi
                              if [ -e "$1"/"$filename".srt ]
                              then
                                    $CONVERTERBIN -hwaccel rkmpp -hwaccel_output_format drm_prime -i "$FILE" -sub_charenc 'UTF-8' -f srt -i "$1"/"$filename".srt -map 0:v? -c:v hevc_rkmpp -rc_mode VBR -b:v 1.5M -minrate 1.5M -maxrate 2M -map 0:a? -c:a copy -map 1:s:0 -c:s:0 copy "$1"/"$filename".mkv
                              fi
                              if [ -e "$1"/"$filename".mkv ]
                              then
                                    actualsize=$(du -m "$1"/"$filename".mkv | cut -f 1)
                                            if [ $actualsize -ge 30 ]; then
                                            mv "$FILE" "$FILE".bak
                                                    ln -s "$filename".mkv "$filename".mpg
                                            else
                                                    echo "$1/$filename.mkv is only $actualsize mb."
                                            fi
                              fi
                             fi
                    elif [ -d "$1/$filename" ]
    
                    then
                            get_mpgs "$1/$filename"
                    fi
            done
    }
    get_mpgs "$1"
    

    And if you need to re encode everything from this month:

    #!/bin/bash
    
    CONVERTERBIN=ffmpeg
    
    get_mpgs () {
            cd "$1"
            #echo "$1/*"
            for FILE in "$1"/*
            do
                    filename=$(basename "$FILE")
                    extension=${filename##*.}
                    filename=${filename%.*}
                    filename="${filename//.mpg}"
                    file_mod_date=$(ls -l --time-style=+%Y-%m "$FILE" | awk '{print $6}')
                    if [ "$extension" = "bak" ];
                    then
                            if [ ! -e "$1"/"$filename".fix.mkv ] && [ -e "$1"/"$filename".srt ] && [ "$file_mod_date" = "2025-11" ];
                            then
                              echo "$1/$filename.fix.mkv doesn't exist"
                              if [ -e "$1"/"$filename".srt ];
                              then
                                    $CONVERTERBIN -hwaccel rkmpp -hwaccel_output_format drm_prime -i "$FILE" -sub_charenc 'UTF-8' -f srt -i "$1"/"$filename".srt -map 0:v? -c:v hevc_rkmpp -rc_mode VBR -b:v 1.5M -minrate 1.5M -maxrate 2M -map 0:a? -c:a copy -map 1:s:0 -c:s:0 copy "$1"/"$filename".fix.mkv
                              fi
                              if [ -e "$1"/"$filename".fix.mkv ];
                              then
                                    actualsize=$(du -m "$1"/"$filename".fix.mkv | cut -f 1)
                                            if [ $actualsize -ge 30 ];
                                            then
                                            mv "$1"/"$filename".fix.mkv "$1"/"$filename".mkv
                                            else
                                                    echo "$1/$filename.fix.mkv is only $actualsize mb."
                                            fi
                              fi
                             fi
                    elif [ -d "$1/$filename" ]
    
                    then
                            get_mpgs "$1/$filename"
                    fi
            done
    }
    get_mpgs "$1"
    

    That’s why the script makes a backup of the original file, now if you ran the first script and deleted the .bak files, without testing, well then I guess you’ll have to rerecord the show(s).

  • Home Assistant is private?

    If you want the full Android app, you apparently have to use the Google Play Store version.

    No idea what the “full” version on their Github is, the location stuff doesn’t seem to work with it, and it’s smaller then the minimal version.

    If there’s no third party Home Assistant app, I may need to look for an alternative to Home Assistant.

    I obtained the Play Store version before, but it wasn’t working, might work now. But I shouldn’t need to get the Play Store version for an open source private app to get all features working.

    Technically, the Play Store version of Home Assistant app, should be in my Work Profile. Mostly have microG crap for the work apps anyways.

    Might not be an alternative to Home Assistant with as good of hardware support.

    I did add my HomeKit surge protector to Home Assistant, just needed the pin code, don’t bother scanning the QR code, the pin is on the sticker, you may need to rotate it to see that it has numbers. I took a picture of it.

    Well I found a companion app that’s even worse, no APK for download, only from Google Play Store or iOS App store.

    Is there a fork of Home Assistant, that is truly private? There shouldn’t even be an app on the App Stores for it.

    openHAB might be better, but you may have to read a lot, if you want to customize it. I don’t customize Home Assistant, but I’m used to the interface.

    But the location crap might work in the F-Droid version, but no push notifications, they get pulled. Still better then Home Assistant.

    But I’m far too lazy to switch.

    Hmm, “Geocoded” works in F-Droid version? Well, maybe I can get that work now. Might just need to disable the BS optimization battery.

    Don’t know if there’s an easy pay for service for openHAB, that lets you access it remotely without opening ports. No I won’t use CloudFlare, or any free VPN thing. And I don’t want to manage a VPS, might be cheaper in money, but not time. To manage a server correctly, you need to monitor logs somehow, ether manually or automated, if you don’t, well it may get hacked.

    And F-Droid version works now for Geocoded. Well, it shows in the app the location, maybe not in Home Assistant elsewhere though yet. Probably need to change minimum accuracy setting.

    Also, no minimum accuracy setting in full Github version.

    Might just need to wait, was taking a dump, and it shows my location now. Doesn’t say I’m home, probably need the Google Play Store version for that. Don’t care anyways, just want to track my location. Also changed minimum accuracy to 400, might not have been needed.

    And the bathroom is more accurate on where I am.

    The camera can wait till some other day, to integrate it properly, don’t need Scrypted, the camera saves all recordings to FTP, from itself. Just want to view it, and get motion notifications. Hmm, might have to turn notifications on and off. Don’t even need GPS to do that, just use the Automation app, and when connecting to your WiFi, run the web hook. Already have Rules for that anyways.

    You could do it with Home Assistant to, more then one way. If you can look at the Geocoded value, you can use that. Or send it the WiFi you are connected to.

    One downside to VPN firewalls, since it’s VPN, and doesn’t use root, the work profile would need the app to filter it too. Well, the easiest way, might be able to setup a proxy and make the work profile use the main profile’s connection. But I’m lazy, so the work profile probably won’t get filtered for a while, if ever. Most if not all the apps I installed need internet anyways, in the work profile. But could be a system app I don’t want connecting to the internet.

    But if the app has root, it can bypass any Android firewall, according to the Afwall+ Github. You need a custom ROM, and no incoming calls for me, with a custom ROM.

  • Afwall+ not for me

    Phone is way faster after removing Afwall+ and messing with battery optimization BS.

    No idea if Afwall+ is responsible for the slowness, but I do know it doesn’t work. LocalSend works without it being allowed internet, therefore it doesn’t work. Unless it allows local network or VPN connections.

    Using NetGuard + WireGuard in kernel mode, you might need root to use WireGuard in kernel mode. The internet only has old information and says you need to do all this crap to use a VPN with NetGuard. I got to the Song Box or whatever app, then checked if my local WireGuard VPN is working, well it clearly is, I can even still access Home Assistant over the VPN. So the internet is a liar. You don’t need a proxy and VPN in the work profile

    I donated to NetGuard, I have two of their apps now, donated for both of them. No Google Play Store crap needed, which is nice.

    Also remove the battery care BS in Canta.

    Encore may be working correctly now, it’s for running games better, but I use it to change the CPU frequency, so the phone isn’t butt slow.

    Now I know why Android phones are so fucking slow, and apparently suck at running apps in the background.

    Go here for info on disabling the optimizing BS on Motorola.

    That has info for other brands too.

    It has a big battery, and I don’t care if I have to charge everyday. I actually prefer that, so I don’t forget, or have to charge at an odd time.

    There’s no point in using Scrypted at all, if you aren’t using HomeKit anymore. Can’t get the notifications in Home Assistant easily for free. You can pay for their NVR or whatever, no thanks. There is a Rockchip ffmpeg build plugin, need to see if it’s statically compiled, so I can use it in Home Assistant. Orange Pi 5 uses Rockchip I think

    And apparently getting your location in Home Assistant is a pain in the ass, if using a Motorola phone and/or a rooted phone with most Google shit removed.

    Maybe I need to reboot phone yet again.

    I reinstalled multiple times the app, then I cleared the storage and reset it up. Don’t think I rebooted after doing that, and fucking with battery optimization BS.

    And iOS is bloated, iOS has some features, for good battery life and performance, and doesn’t require as much RAM as Android. If I liked Apple still, or I could Jailbreak, I’d use my iPhone. But this phone is good enough for me, so I’d rather have money for the iPhone now.

    Apple charges a shit ton of money, and bows down to Trump.

  • Armbian separate boot partition

    Apparently whatever version of Armbian I started with on my Orange Pi 5 is ancient now.

    I updated the bootloader, thought I should. Then it wouldn’t boot from NVMe, and read you only need one ext4 partition now. When I installed it, it created a small FAT boot partition.

    I checked the SD card, and sure enough, it only has one partition.

    Instead of updating the bootloader again from the SD card, delete the FAT partition and use sfdisk /dev/nvme –reorder. You may or may not need to resize it first, if you do, use cfdisk for that, or sfdisk might be able to do that too. Didn’t know how to do that from the terminal, so had to look it up, I usually use Gparted for that stuff.

    Expect the IP address to change again, as the MAC address will most likely be different.

    Well, I no longer have to manually fix the /boot partition after updating the kernel now. Before, I’d have to delete and copy stuff, and remake the boot.scr file. That’ll be nice, I can just reboot now. Should have looked into it sooner.

    And to get hardware encoding working again, this might work. Jellyfin won’t even start, cause /dev/mali0 doesn’t exist, it’s running in a container using Podman.

    Still no /dev/mali0. Do I have to reboot? Well, can’t urbackupsrv is removing unknown, cause I kept rebooting while it was backing up, and now the drive only has around 1 TB of free space.

    I only need to use hardware encoding from a terminal, it’s a headless server.

    How long does it take to “modprobe panthor”? I did rmmod first.

    Guess I might be rebooting anyways, as I may have froze it.

    Destination Host Unreachable

    Well, that was a bad idea, guess you do have to reboot.

    Still no mali0 or any other ones. And you have to use the libMali route most likely. But they say to use Gnome. I don’t use any desktop environment or window manager.

    Which file do you install if not using GDM or Wayland? The dummy one? Or does the dummy do nothing? Guess I’ll find out.

    Rebooting yet again. Hmm, maybe I should uninstall all the crap from the repo with mesa-vulkan-drivers. Including the old crap I probably don’t need, from some other repo.

    And /dev/mali0 exists now. But the permissions are root:root. Guess it doesn’t matter, Jellyfin is running.

    Download the dummy file if it’s a headless server.

    Now to logout on laptop and back in, just ran “gsettings set org.gnome.mutter experimental-features “[‘variable-refresh-rate’]””. VanillaOS uses Gnome. Not sure that’ll solve the weird problem I’m having, of the screen like losing the connection or something for a second. Didn’t see anything in dmesg. So no idea what’s the problem. The AI thing is useless, just says to run that, not to log out and back in.

  • Upgrading Armbian Ubuntu based a real pain in the ass

    Tried running do-release-upgrade, probably should have just manually modified the apt sources.list files. And then run apt update then apt dist-upgrade.

    Instead of rolling back the modified sources, I messed up libc, and had to boot from a SD card on my Orange Pi 5, and am fixing it using chroot.

    Basically copy bash and it’s libraries from the SD card. I used linuxdeploy, and put it in /bash on the SD card, then copied everything over to the internal drive mount.

    do-release-upgrade broke bash, if you restore the modified sources, you might be able to run apt update and then apt dist-upgrade to go back, not sure that would have worked though.

    Then I had to manually download the libs I needed to fix bash, so apt –reinstall install bash would work. Apparently apt is too fucking stupid to fix it.

    You’ll have to figure out how to fix it yourself, because search engines are completely useless now. Mostly finds old shit, that isn’t the problem.

    But apt dist-upgrade is working now.

    I’ll never use do-release-upgrade again. It will just break your system.

    Immutable distros are way better. They say for some distros, to reinstall. Yeah, I’m not manually figuring out what I changed, so I can restore my backup. Too much fucking work. I’ll switch to a distro that can upgrade, if it comes down to it.

    I’d reinstall an immutable distro, easy to restore data. If you back everything up you modify.

    You can probably recover from anything if you mess up Armbian. As long as you have a SD card. Even if you delete everything in /usr/bin. Just copy over everything from the SD card. But don’t copy over everything in /etc.

    And it booted finally. But the MAC address changed, so had to change the router, so it can have the old IP. Rebooting the Orange Pi 5 so it gets the right IP.

    Looks like Bluetooth isn’t working in Podman anymore, probably the device path changed.

    Or I guess it’s not supported anymore, lsusb doesn’t list it.

    Kernel is missing AppArmor DBus support.

    LOL. Not even installed though.

    Might need linux-firmware, it’s downloading now. Wtf did this upgrade do? Remove a ton of shit apparently.

    And it removed one of the armbian-firmware packages. Installing armbian-firmware-full, looks like both aren’t installed.

    The USB HD dock works though. Hmm, the zst files are gone, guess it extracted them. Now to reboot, too lazy to replug it.

    Invalid overlay_prefix panthor-gpu rockchip-rk3588

    Another problem, guess it didn’t update the txt file, good job.

    Going to get the correct armbianEnv.txt from the img file, after it extracts.

    verbosity=1
    bootlogo=false
    console=both
    extraargs=cma=256M
    overlay_prefix=rockchip-rk3588
    overlays=panthor-gpu
    fdtfile=rockchip/rk3588s-orangepi-5.dtb
    rootdev=UUID=75904e79-3e31-4c89-9b69-d92faa17fce7
    rootfstype=ext4

    If you need to update your armbianEnv.txt file for the Orange Pi 5.

    It uninstalled armbian-bsp-cli-orangepi5, so I installed armbian-bsp-cli-orangepi5-vendor.

    Bus 007 Device 002: ID 2357:0604 TP-Link TP-Link Bluetooth USB Adapter

    Finally. Also edited boot.cmd, different md5sum then the one in the img file, didn’t look at it that closely, so might be exactly the same.

    Don’t run dpkg –force-depends -r libc6 or whatever libc it was.

    Was trying to reinstall it, would have been better to use dpkg -i libc6*.deb. Since apt doesn’t work right. No I wasn’t thinking about anything. But it looks like if you uninstall that, you can’t even reboot.

  • Phone is updated and rooted again

    What a pain in the ass. Need a GSI image, no full OTA updates from Motorola, clearly Motorola is a dick. Incremental updates, tools don’t support it, to patch it so you can flash with fastboot.

    And only patch the boot.img, don’t mess with vbmeta, I learned that the hard way, but was able to restore it, and get it working without formatting userdata, hold the volume down button while booting.

    I used the GSI and then adb to get the boot partition, so I can patch it. /e/OS has a adb root mode you can enable, the unofficial GSI image.

    microG services keeps crashing, because the debloater thing was broken.

    If you want to speed up your phone, use Encore. Change the CPU scheduler.

    Removed Noogle, or whatever it’s called, got to reinstall it.

    I added Neo Backup to Encore. Probably still slightly slower then using it on a GSI ROM.

    I just used the built in updater, cause I don’t know what to name the OTA zip or where to put it. I flashed boot.img and vbmeta.img, from the full stock firmware, never updated it since I flashed the full firmware I could download.

    I downloaded the update with a custom script on my computer. With curl and the json captured from my phone, requires a mitm method to get, and it’s encrypted.

    Android is a real pain in the ass.

    And this popup of keeps stopping in Android is annoying as fuck, clearly I need to disable that shit.

    Also need to disable the OTA update crap, don’t want Android 16, but the moto g power 5G 2024 probably won’t get it.

    Not sure how to fix Noogle. Maybe there’s a new version, I made a custom new version, so I could get work profiles.

    Removing Noogle again, then making sure the user apps are uninstalled for microG. Then reinstalling Noogle. If that doesn’t work, then I guess I’ll disable the Google crap, and have no microG, there goes my notifications for Litter Robot.

    And that force closing popup, slows the phone way down.

    microG works finally, had to reinstall again, and F-Droid decided to work, or not take forever to download updates.

    Make sure you backup everything you care about before updating, in case you have to format userdata.

    Here is my disabled bloat for a moto g power 5G 2024, for Canta.

    There’s a txt file in it, that is json, you have to open it on phone, and select all, and copy and paste into Canta.

    You can probably disable more stuff, but be careful.

    Was the OTA security update worth it? Probably not, you can get newer security updates with a GSI ROM. Will require lots of work to root it again. And get it fast, and possibly rebooting will take longer for everything to load. Maybe more bloat needs disabling. Also, iOS has better memory management. An iPhone is fast, without doing shit.

    No incoming calls on Mediatek, I should have searched for “incoming calls GSI ROM Mediatek” before buying this phone, and I’d probably pay more for the non Mediatek phone. Too late now.

    Update

    Canta apparently can’t disable all the PAKs crap anymore, it can disable the overlay, but if you reboot, it comes back. Probably one reason for rebooting being slower.

    I had to use Magisk Overlayfs to manually disable or “remove” it.

    You can disable the PAKs thing, if you run “su” then su – userID” and then whatever the pm command was. You can get the userID it’s running as with an app like App Manager.

    But the paksnotification can’t be disabled, says nondisabled.

    So if you’re lazy, just use the Magisk Overlayfs, and look for the PAKs folders in /system_ext/priv-app. Go into the folder(s), and then move the apk file to .bak, and then mount it read only, and reboot. No idea why you need to disable and then do that, the instructions were for removing or disabling the OTA crap on Motorola phones.

    No I didn’t check the processes to see if any PAKs crap is running now.

    Perhaps if you format userdata, Canta will work again. Or reinstall Canta. Or delete all it’s data, and then rerun the preset.

    I tried multiple things, but decided to try the Magisk Overlayfs, instead of messing with it anymore. And that’s useful for other things as well, like installing the F-Droid Privileged extension. If you don’t want to use the Magisk module that does it for you. I might have been having issues with F-Droid because I was using the Magisk module + had F-Droid installed as a user, no I didn’t read anything on the module, just installed it, and thought it would work. If I have any issues with it now, I’ll just remove the Magisk module, and use the overlay thing to install it manually.

  • VanillaOS works again

    Spent probably over a week trying to fix it.

    Turns out, I should have realized thin_repair was a symlink to pdata_tools Need thin_dump and thin_restore to fix it.

    LVM is very unstable, or is with VanillaOS. If you break both A and B, well good luck. I couldn’t use abroot upgrade, as then the A would just ask for password over and over again. After fixing the meta of the LVM crap.

    I fixed abroot upgrade, by deleting root-a, remaking, and cloning root-b to it, then changing the label.

    Their FAQ says it’s beginner friendly, no it isn’t. And their Git, says it’s experimental.

    Still beats agreeing to any terms to use Endless OS.

    I want Debian and immutable. I was trying to get a more stable eGPU experience. I may have found the fix though, thunderbolt.host_reset=0 and pcie_aspm=off works if you use that.

    Apparently the bios on this laptop, configures thunderbolt, and Linux fucks it up, if you don’t tell it not to reset anything.

    Bad news is, Guild Wars 2 just freezes computer, possibly the Proton version, or the new add on. Will try changing after I finish this post, but changing Proton version probably won’t fix it. Somebody on Proton DB has same issue, and tried different Proton versions. Bummer.

    Well, I learned more then I wanted to about LVM. And modified two initrd files, one from the live ISO, and the broken one I made with mkinitramfs.

    Not sure the initrd was the problem though, it said it needed repairing. I wonder what lvm options the live ISO is using, as it can access all the data. My /var partition was fine, could mount and see all data.

    Didn’t want to reinstall again, and restore data again. Didn’t even finish restoring all data, I have to restore some stuff slowly, because it can fuck everything up. Like my Flatpak data.

    Wonder what I last restored anyways, it’s been probably a week or longer, trying to fix it, and turns out, I only needed to make a symlink from lvm_dump and lvm_restore to pdata_tools.

    I put it in my modified initrd file too. Should make a script with the commands, so I don’t have to keep looking up how to do it. No I can’t remember shit anymore. I mostly don’t remember the third command.

    It’s possible all-ways-egpu works correctly now as well. Maybe that’ll fix Guild Wars 2. I’ll try a different Proton version first. And don’t ask me how I installed all-ways-egpu in Vanilla OS, I forgot. Basically all the files are in my ~ folder, and I added ~/bin to my host-shell pkexec.

    Using regular Debian is probably more stable then VanillaOS, but not immutable. I fixed VanillaOS, and know how to fix it’s main issue now. And the meta broke at least once after fixing it as well. But I fixed it yet again.

    I even was able to fully boot A from my USB flash drive, with the custom initrd on it. I have Grub on it. I can boot Endless OS img file from it too, didn’t write it to a partition, probably the img file in the squash file. But I won’t use it, not agreeing to their terms, and probably has crap installed I don’t need.

  • Microsoft fixed their OneDrive shit finally

    Update
    That Github link doesn’t work anymore, find the download link here. Also, no need to compile it apparently. They have two different GSIs now, one or the other might work. The last one I tried didn’t work. May or may not try again. Phone is mostly working, stock ROM sucks though.

    I was able to download this finally. Was flashing the stock ROM, and tried one more time to download that.

    Well, it’s the worst one yet, it doesn’t boot, just gets stuck at the boot logo. I also flashed the stock in fastboot, forgot you need to be in bootloader. So I reflashed it in bootloader, then flashed the GSI ROM in fastboot, and it still doesn’t work.

    So back to stock I go. Not going to see if that other ROM I was trying works now that I reflashed the stock ROM, I’ll just disable crap instead. Not worth my time to keep trying to get a GSI ROM to work right. Some people want incoming calls. And they all probably use the same or similar ims apk anyways.

    Maybe the img file is corrupt. If it doesn’t mount, it definitely is.

    Well it mounts, so might not be corrupt.

    Guess adb install did work, for the magisk apk. Clicked ctrl + c, it seemed to be stuck. But then magisk showed up on the phone. That’s lucky, thought I might not be able to install it. That means I’d have to compile TWRP most likely.

    And you might want to install FakeGapps before flashing noogle-magisk. Luckily it still boots, even though it removed some Google stuff.

    Lots and lots of rebooting.

    Damn mobile data, it already connected to internet. Guess I could just connect to WiFi before disabling a bunch of crap.

    What happens if you disable stuff that says “replace with alternative” or whatever in App Manager? I’m too lazy to look for replacements, so I just disabled everything safe and replaceable.

    And how do I disable a protected app?

    Well, can’t setup a work profile. Bummer.

    Debloating will make the stock ROM way faster. No wonder I wanted a custom ROM. But maybe they would work now, maybe the eSIM wasn’t fully setup or something stupid.

    Cool, adb root is working now. Used this.

    Nice it just rebooted for some reason. Just rebooted it with adb reboot, unlocked screen, still plugged in by USB, verified it’s me, so I can enable file transfer, then rebooted. Oh yeah also tried restoring the data that might have my text messages. Guess that didn’t work. No texts or call logs.

    Just read the info when opening Shelter, you might need a AOSP non vendor ROM.

    Well, the custom ROMs are way better. You don’t have to disable crap, and wonder what you need to enable to attempt to use Shelter.

    Maybe this will fix it. AI crap on search engine said I need a MDM. Good job Motorola. Why do I need that? I don’t need any remote crap. And if you use it, it’ll have access to erase all data.

    Somebody said you need Google’s device policy, looking for an alternative. Might be the same thing as MDM.

    Only use that root adb enabler when you need root, might break adb install. Rather run adb install on computer. After disabling it, and rebooting, adb install works again.

    Not sure multiple users is the same thing, enabled it and rebooted. First time, I didn’t reboot.

    But it isn’t going to work, if I can’t use Shelter, or something like it.

    When searching for work in settings, it finds a work profile thing now, wasn’t there before, but crashes if you try accessing it.

    Apparently you need this, to fully debloat. If you have protected crap. App Manager can’t disable or remove it. Well, that suspicious PAKS crap might be disabled now. It didn’t actually have permission to do the things it can.

    How do I install security updates? The latest one is from August, if you use a custom ROM, you can get a newer update.

    Can malicious system services or drivers bypass Afwall+? If so, you need a custom ROM, and not a GSI ROM.

    Shelter might need the GApps the phone comes with to enable the work profile, unless you use a custom ROM.

    Nice Shelter might be working now. I installed the microG updates from F-Droid, different signature, so had to click install only. Says it’s downloading something. That took a long ass time. Not sure you are supposed to do that, if using noogle-magisk.

    And it failed. Said Downloading, then failed. Maybe you aren’t supposed to update the microG apps if using the “LSPosed + FakeGapps” method. Or maybe I needed to run their script, or click action in magisk by the module. Or disable multi user option in settings.

    I think my noogle-magisk install is broken anyways. So I removed it, and will reinstall. I installed it before FakeGapps. And I don’t think the action button fixed it.

    Must have reinstalled the Google crap it removed, phone is super slow now. Well, that would explain why cheap Android phones can be slow. Thank Google for that.

    And I might need to reinstall again. There should be two microG updates, so one thing is still the newer version. Well, I installed the other update anyways. And I need to debloat again, cause Google Play Store. is trying to run.

    And that might be a fake Google Play Store or something.

    There’s also this for debloating, can use computer instead, using adb.

    Lots of rebooting to reinstall noogle-magisk and remove the newer versions of microG apks.

    Hmm, maybe I need to erase the cache. F-Droid says there’s an update for something, that I can’t find. Not in settings under apps, and not with that debloater for the computer. Might have to manually delete from the folder, which will require root.

    Why is Neo Backup so slow on the stock ROM?

    Maybe to update it, you need the Gms whatever file, and F-Droid didn’t say anything about that. So just manually install the apks.

    If I can’t make it work, I should look for some other magisk solution. Or just compile TWRP and hope it works.

    Hmm, maybe those are the ones on F-Droid. They just call is GmsCore. Well, installed manually, from their GitHub apks.

    I enabled the permission to interact with the work profile, that option wasn’t there before. Should have checked that before reinstalling and crap.

    Now to lookup how to manually grant the permission, says it has no permission. Oh wait, I think you click action button on the module in magisk. Another reboot.

    But if it’s installed as a user, it won’t work anyways.

    LOL one of the microG apps got frozen. Didn’t realize I did that.

    I’m trying to install using this method. But does that work with stock ROMs?

    Used the Universal System App Installer. Well it’s booting.

    And it’s finally working possibly. Didn’t just say Downloading and then failed when setting up Shelter. Nice.

    If using Universal System App Installer, place com.android.vending-84022614.apk and com.google.android.gms-250932014.apk in system/app/priv-app/GmsCore/, just make the folders that don’t exist, inside the Universal System App Installer folder.

    I might use it for other stuff too.

    Well debloat, and install microG at your own risk. I’m reflashing the stock ROM, says no SIM card. Can’t access network settings. WiFi works, but can’t connect to anything else. And I forgot to look at that debloater computer program, to see if maybe it can fix it.

    com.android.bluetoothmidiservice
    com.android.egg
    com.android.role.notes.enabled
    com.bluetooth.aptxmode
    com.google.android.apps.nbu.files
    com.google.android.apps.restore
    com.google.android.marvin.talkback
    com.google.android.projection.gearhead
    com.google.android.safetycenter.resources
    com.motorola.bach.modemstats
    com.oem.euiccpartnerapp

    Hmm, it removed something for euicc.

    I think what may have happened, is magisk crashed. Well, it did crash at least once.

    Thought maybe the Universal System App installer thing did it. But it might have just been magisk crashing for some reason. magisk didn’t even show that module either, I tried removing all modules in Termux, and that didn’t work either. I then installed that module again, and it showed up that time. Didn’t fix anything though.

    Removing all modules didn’t remove microG either. I guess that permanently installs stuff.

    Going to flash it after I install magisk, and see if the same thing happens, so I know if I need a new method of installing it.

    The Google thing in stock ROM looks what I thought was microG, so I doubt it was installed.

    Disabling the RAM boost first. Then debloating with that computer program, so I can remove the Google crap before trying to install microG.

    Got to reboot for magisk now as well, forgot about that.

    All the RAM boost is, is like swap in Linux. It’s using disk space. A total of 8 GB should be plenty for me.

    android.autoinstalls.config.motorola.layout
    com.android.bluetoothmidiservice
    com.android.calllogbackup
    com.android.cameraextensions
    com.android.cellbroadcast.overlay
    com.android.cellbroadcastservice.overlay
    com.android.egg
    com.android.hotwordenrollment.okgoogle
    com.android.hotwordenrollment.xgoogle
    com.android.providers.partnerbookmarks
    com.android.providers.settings.auto_generated_rro_product__
    com.android.rkpdapp
    com.android.role.notes.enabled
    com.android.systemui.accessibility.accessibilitymenu
    com.android.systemui.plugin.globalactions.wallet
    com.android.theme.font.Exo2Regular
    com.android.theme.font.RobotoSlabRegular
    com.android.theme.font.RookeryRegular
    com.android.theme.icon.pebble
    com.android.theme.icon.round
    com.android.traceur
    com.android.virtualmachine.res
    com.aura.oobe.motorola
    com.bluetooth.aptxmode
    com.dti.motorola
    com.facebook.appmanager
    com.facebook.services
    com.facebook.system
    com.google.ambient.streaming
    com.google.android.accessibility.switchaccess
    com.google.android.adservices.api
    com.google.android.apps.docs
    com.google.android.apps.googleassistant
    com.google.android.apps.maps
    com.google.android.apps.nbu.files
    com.google.android.apps.photos
    com.google.android.apps.restore
    com.google.android.apps.safetyhub
    com.google.android.apps.tachyon
    com.google.android.apps.wallpaper
    com.google.android.apps.youtube.music
    com.google.android.as
    com.google.android.as.oss
    com.google.android.calculator
    com.google.android.calendar
    com.google.android.federatedcompute
    com.google.android.feedback
    com.google.android.gm
    com.google.android.gms.location.history
    com.google.android.marvin.talkback
    com.google.android.ondevicepersonalization.services
    com.google.android.onetimeinitializer
    com.google.android.overlay.gmsconfig.asi
    com.google.android.overlay.gmsconfig.photos
    com.google.android.overlay.modules.captiveportallogin.forframework
    com.google.android.overlay.modules.documentsui
    com.google.android.overlay.modules.permissioncontroller
    com.google.android.projection.gearhead
    com.google.android.safetycenter.resources
    com.google.android.tag
    com.google.android.videos
    com.google.android.youtube
    com.google.ar.core
    com.google.mainline.adservices
    com.inmobi.installer
    com.mediatek.apmonitor
    com.mediatek.carrierexpress
    com.mediatek.gbaservice
    com.mediatek.MtkSettingsResOverlay
    com.mediatek.SettingsProviderResOverlay
    com.motorola.actions
    com.motorola.actions.overlay
    com.motorola.aiservices
    com.motorola.android.coresettingsext.overlay.doubletap
    com.motorola.android.fmradio
    com.motorola.android.nativedropboxagent
    com.motorola.android.overlay.crystaltalkai
    com.motorola.android.providers.chromehomepage
    com.motorola.android.systemui.overlay.sprint
    com.motorola.android.systemui.overlay.tmo
    com.motorola.android.systemui.overlay.usc
    com.motorola.android.systemui.overlay.vzw
    com.motorola.appdirectedsmsproxy
    com.motorola.appforecast
    com.motorola.attvowifi
    com.motorola.bach.modemstats
    com.motorola.bug2go
    com.motorola.callredirectionservice
    com.motorola.ccc.devicemanagement
    com.motorola.ccc.notification
    com.motorola.comcast.settings.extensions
    com.motorola.contacts.preloadcontacts
    com.motorola.demo
    com.motorola.dynamicvolume
    com.motorola.enterprise.adapter.service
    com.motorola.enterprise.service
    com.motorola.fmplayer
    com.motorola.gamemode
    com.motorola.genie
    com.motorola.gesture
    com.motorola.help
    com.motorola.help.extlog
    com.motorola.hiddenmenuapp
    com.motorola.lifetimedata
    com.motorola.livewallpaper3
    com.motorola.mobiledesktop.core
    com.motorola.moto
    com.motorola.motocare
    com.motorola.motocit
    com.motorola.nfwlocationattribution
    com.motorola.omadm.service
    com.motorola.overlay.launcher3
    com.motorola.paks
    com.motorola.paks.notification
    com.motorola.revoker.services
    com.motorola.safetycenter.resources.overlay
    com.motorola.securevault
    com.motorola.securityhub
    com.motorola.setup
    com.motorola.slpc_sys
    com.motorola.spaces
    com.motorola.systemserver
    com.motorola.systemui.desk
    com.motorola.timeweatherwidget
    com.motorola.vzw.pco.extensions.pcoreceiver
    com.motorola.wifi.motowifimetrics
    com.oem.euiccpartnerapp
    com.verizon.loginengine.unbranded

    That’s what it wants to remove, in the recommended section.

    I doubt the paks thing caused my issue, I restored it, and it was still broken.

    Couldn’t remove three things.

    And you can change that program to disable instead of uninstall. Oh well, too late now.

    Google is still in settings.

    com.google.android.contacts
    com.google.android.gms
    com.google.android.gsf
    com.google.android.overlay.gmsconfig.common
    com.google.android.overlay.gmsconfig.comms
    com.google.android.overlay.gmsconfig.geotz
    com.google.android.overlay.gmsconfig.personalsafety
    com.google.android.overlay.modules.permissioncontroller.forframework
    com.google.android.partnersetup
    com.google.android.printservice.recommendation
    com.google.android.tts
    com.google.mainline.telemetry

    I removed all that too.

    Will need that debloater thing to disable paks, or find another way to disable it.

    That magisk debloater could have broke it too maybe. Probably not though.

    Says “Phone is starting”. Might test my luck with the OneDrive ROM again. Cause debloating is a pain in the ass.

    After root, maybe backup system. And it might be rebooting, nice. Nope, screen was off. But I don’t think it’s going to start.

    Stupid key combo didn’t boot the bootloader. But might be booting correctly this time. Nope.

    Is VN the right one for my phone? If not, I should just compile it myself.

    Maybe I’m just too impatient, maybe it takes an hour or longer to boot.

    Oh wait, did I reflash the stock ROM after it was taking forever to start? Maybe not. Guess I should do that, then flash that other ROM.

    But I can possibly make a build for just my phone, won’t work for any other phones though, not many people seem to run custom ROMs on the moto g power 5G 2024. Probably because GSI kind of sucks.

    Nope, still doing nothing.

    Well, the stock ROM is basically clean now. So I could try other GSI ROMs on system.

    Hmm the XDA post says “A/AB ROMS”, I think mine is A/B.

    Would just a treble build be 64bit?

    Seeing how much a pain debloating is, compiling a ROM seems like the better option now. Except, I have to manually compile every update.

    What is A/AB? Should lookup how to tell. Or does that mean it’s for both? Ones with just A and AB? According to the AI, that’s the case. No idea why it won’t boot then.

    I already tried not being rooted, or at least flashing original boot.img. Guess I’ll flash stock fully, including boot.img, and not change vbmeta this time.

    A old post says to do the vbmeta thing though.

    You can also use TWRP, but I’d have to compile it, and it’s more complicated if it’s encrypted.

    Looking for a script to flash GSI, maybe somebody else knows what they are doing.

    LOL, AI thinks a .bat file is a Linux script. Sure it is.

    Here is a Linux script.

    Looking at the script, it flashes everything in the folder, so I probably need to move a file out of there. And then move vbmeta out of there.

    Hmm don’t think it’s working. Maybe I should read the instructions, and maybe I shouldn’t have deleted the file that was in there, some txt file. Maybe you put in the text file what you want it to do. I didn’t look that closely at script.

    Nope, it’s looking for “vbmeta”, just search script for img, or vbmeta.

    flash_image "${partition}${active_suffix}" $file

    So it’s flashing whatever the file name is, and the slot. Cause partition is the filename without .img or .bin.

    So you probably don’t want more then one system.img file in there.

    You can uncomment something to see if it’s even finding the vbmeta file.

    vbmeta_files:  

    Guess not. Yes, I’m restarting the script, over and over again, just like my phone. Not sure this script is easier. Might need to enhance it. But I’m lazy. Instead I’ll figure out why it’s finding nothing.

    ls image_files/
    vbmeta.img

    There’s an image in there. I have sed and basename. Don’t tell me I have to run it in Distrobox.

    I added “echo “$flash_files”” and it’s finding it.

    But is it supposed to be “./image_files/vbmeta.img”?

    Need to look at $img_files.

    Hmm “${img_files[@]}”, not sure how for works in bash.

    Either I’m blind, or it’s an empty array, because img_files isn’t declared anywhere. Might work for fastbootd, because it’s in another for loop. But that one isn’t.

    Might be an easy fix, put the flash_files array, in the img_files.

    Is this an incomplete script or something? Cause I can’t figure out how it’s supposed to get any vbmeta.img files.

    vbmeta_files: ./image_files/vbmeta.img
    Flashing vbmeta_a with ./image_files/vbmeta.img...
    Rewriting vbmeta struct at offset: 0
    Sending 'vbmeta_a' (8 KB)                          OKAY [  0.000s]
    Writing 'vbmeta_a'                                 OKAY [  0.001s]
    Finished. Total time: 0.004s
    vbmeta_a flashed successfully!
    

    Fixed it.

    Add “img_files=$flash_files” to the right place, since they insist on using that variable, and I’m too lazy to change it to the right one, even with search and replace, I put it after the if that checks if there’s any img files. But I think I should have put quotes around it. And don’t use KWrite, it is annoying as fuck what it does, adds a bunch of unwanted quotes. Now to add quotes, but with nano.

    Still works with quotes.

    And if you’re lazy, and want to keep a shit ton of images in there, just add an extension to the end, like .bak, or .fuck, or .no.

    You really do have to run 5 before 6, just look at script. But I only want to flash system. Or does the img file have more then system? In that case, I’ve been flashing wrong.

    First I’ll see what it’s going to do though.

    partition=$(basename "$file" | sed -E 's/\.(img|bin)$//')
    
    

    Damn it, it needs system in the file. There’s an easy way to make the folder, use an ln -s, put every ROM in it’s own folder, with system.img and vbmeta.img, well vbmeta.img can be an ln -s too. Write a script to do all the work for you, just put the name of the folder in it, and it can rm the current ln, and make a new one.

    But I’m lazy. And doubt this will boot anyways.

    ln -s /run/media/external_ssd/gsi/lineage-22.2-20251015-UNOFFICIAL-gsi_arm64_vN.img /run/media/external_ssd/gsi/Android-Image-Flasher-main/image_files/system.img
    

    That’s what I did.

    If making a script, you just need “$1” and then pass the folder name to it.

    And it isn’t working again, guess too many files, or you might need to use @ to get the entire array.

    img_files=("${flash_files[@]}")

    That should work, don’t copy what they use in the for loop. It’ll just be a string of everything in it, not an array. No I don’t know about bash arrays. I looked it up. Let’s see if the AI was right, too lazy to click every link to find the right answer.

    And the vbmeta part works now.

    Script doesn’t delete the product crap, so it has enough room.

    Doubt the script does much more then I was doing, but I’m lazy, so I might make another script so I can be even more lazy. Or add it to that script.

    Maybe make it reload the img files too. A menu option to do so.

    Don’t think it erased userdata. It still doesn’t boot either.

    Oops, you’re supposed to flash an empty vbmeta.img file..

    Will touch vbmeta.img be good enough? Probably not, LOL.

    But it might be empty, it’s only 8 Kb. But the one in the firmware folder, might work with other ROMs. No idea why though.

    You can get a vbmeta.img from here. Even smaller then the one in the firmware.

    Pretty sure that’s what I did with /e/OS, and it worked, but maybe magisk patched it or something. Do I have to reflash after doing that? Also I don’t think userdata got erased.

    I think I’m going to modify the script to erase system before flashing it. And then flash it again, well it’ll do every img file, except for vbmeta.

    Haha, haven’t seen that screen before, bootloader said it failed to boot.

    Oh nice, it can’t boot at all, not even into fastbootd. Does that vbmeta.img kill fastbootd?

    Well, time to reflash stock yet again.

    Said to hook up to computer and run their software, that’s probably Windows only. I ran an old script that still works, you just need the firmware files. That’s how I updated it, without connecting it to internet.

    fastboot erase "${partition}${active_suffix}" 
    

    In the script works. But I forgot to delete the product and product_a, maybe I only need to delete product_a.

    Only need to delete a or b, whatever you are flashing to.

    Damn, no official version of OrangeFox Recovery for moto g power 5G 2024. Trying to find a recovery, that I don’t have to compile.

    Well, that ROM still won’t boot. And I flashed userdata before rebooting too.

    Might just look at that other installer for microG. Maybe I don’t have to manually remove anything. And I don’t know what I’m doing. Don’t follow the above instructions for Universal App Installer, it probably won’t work.

    Might just use Noogle microG again, if I go stock. Maybe try the crDroid or whatever.

    Well, I finally took a dump, didn’t take one yesterday.

    And that script doesn’t need a reload function, just delete system.img and make a new link.

    Flashing crDroid now.

    If I had a backup of the stock system, I could just flash that, instead of everything. Well, it might be in super. So either find a way to get it from that, or just flash super.

    LOL this might not boot either. There it goes.

    Where the fuck are these ROMs getting the IMS apk from? Cause it ain’t working. Going to install it manually, since wherever these ROMs are downloading IMS from doesn’t work anymore. Probably Amazon, they had a big outage. And Amazon sucks too.

    And microG doesn’t have all permissions, was able to enable one, but apparently you have to tap in the exact right spot to get the popup. The permission to find accounts needs to be enabled.

    I think the ims-mtk-r apk is wrong for the moto g power 5G 2024, not working in this either. Where’s the R+ vendor one? Or is it the same one?