There was some interest in running Retropie on this box in this thread. I've done some basic work getting one of the boxes I own to run Retropie, and have a basic patch that helps Retropie identify that the CPU is ARM. https://retropie.org.uk/forum/topic/34337/rk322x-box-armbian-build-report-collab
If there are tests / whatever folks here might find helpful, let me know. I'm not sure how long I'll be keeping this box.
Hey man. I have not tried again... Nothing I tried worked for the box I have (it is 100% the H313 chip, yes). I tried stuff for H616 too, but I may be too noob to figure out how or what to do in this case. Still really looking forward to a solution! So, thanks for quoting me and if you know anything, let me know. I can share my knowledge/attempts with you, but again, it is very basic stuff.
Did you run rk322x-config from xfce? You may need to make the terminal window larger: rk322x-config uses dialog application, which doesn't work if it can't write characters in the available window space.
sorry, you can't see what? If you mean 6051p, support for mainline kernel should "imminent", as soon as current kernel is going to be switched to 5.15 by armbian core team.
Honestly I don't know if the kernel has been compiled and upstreamed with recent patches for 5.10 kernel, that's something happening automatically.
The images I provided there use the armbian built packages to keep them aligned to official releases, so there may be the need for a bit of patience (or switch to edge kernels) for 6051p.
@ArkhanLK - i played around with an h313 x96q box - it was working as well as a h616 box, but maybe the h313 are the lower quality ones as i was not able to reach as high cpu clocks with it like with h616 and it also got hotter - so maybe h313 are the lower quality binned versions of the h616 (similar to rk3318 vs rk3328 for rockchip)
@ArkhanLKI guess for "Install" you intend "Burn image on flash", since there is no such install option in multitool.
Besides that, it could be that the board has a slightly different memory and it does not like the default settings.
If I'm right, the issue is the same 1T/2T Command Rate problem.
The latest version of the multitool is able to autodetect this setting from the existing Android, and also allows to manually change the setting from the menu.
The only issue is that, at the moment, you are stuck with the problem and the only things you can do are:
- clean the eMMC using maskrom mode and rkdeveloptool or
- use the serial and clean the first sectors of the eMMC using u-boot
and this assemption is soooo far away from the truth that you can imagine. Imagine those big factory that assemblies boxes, one factory.. many reseller !
And in a certain moment a employee says " hey boss.. we finished ddr 3 ram and we have only ddr 2 now"
And the boss answers " doesn't matter take the ddr 2 put in washing machine, erase old name and put on chip the right ddr 3 name and assembly 1000 other fuc**ng box!! "
This taht could sems just a lie or a joke I believe happenns very most often than we can even imagine
Do you know how many box i have ABSOLUTELY egual in name, brand shape, even names of chips inside.. and the uart log tells me the REAL SITUATION?
Plenty !!! And me and @jock bumping head in the wall because one box working and the other NO ?!!!!
So only solution is nice uart log or short the emmc/nand pins so you are sure you booting in maskrom and program a generic android even older that puts vesry piece in the right place of internal memory so you can start form scratch again
Those box are quite unbrickable, and NO multitool and other tools offered with great generosity from jock cannot " destroy" boxes
Ok, i read again your last message and I see that the last thing you did was (most probably) install back Android via multitool and you get that, am I right?
Debugging via serial will tell something more, but you may also try mwronglyaskrom mode and rkdeveloptool to erase the mmc and boot from sdcard.
That's bad multitool is not booting with such error, but is it possible you installed back the wrong Android image (maybe coming from another box)? If so, it could be that DDR memory is wrongly initialized and makes the system unstable; even the multitool can't cope with that and for that problem you need to erase mmc.
@ArkhanLK It's hard to say if it is an hardware failute or not. Surely if reinstalling the original android does not work, most probably there is an hardware fault.
Multitool also should always boot without issues, if it fails to boot with similar error messages, maybe your board is faulty.
Did you try the cpu-stability overlay in /boot/armbianEnv.txt?
DISCLAIMERS (PLEASE READ):
Everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware.
THIS POST explains very well the troubles with TV Boxes and why they are not suitable for everyone
Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related).
Following the recent thread on LibreElec forum about an unofficial image for rk3229 devices, I would like to make public the work made by me and @fabiobassa about bringing rk322x support to armbian.
The project is now in -> mainline Armbian <- development fork -> here <-
This first page and the last 3 or 4 pages of the thread are enough to get up to date with recent developments.
Many useful experiences are scattered through the thread, but the most important things are collected here in the first page, so please read it carefully!
Mainline kernel is fully supported and will receive most support in the future. Legacy kernel 4.4 is deprecated, but is kept around only for special purposes.
What works:
Should boot and work flawlessy on all boards with RK3228a, RK3228b and RK3229, with either DDR2 and DDR3 memories.
Mainline u-boot
Proprietary OPTEE provided as Trusted Execution Environment (needed for DRAM frequency scaling)
All 4 cores are working
Ethernet
Serial UART (configured at 115200 bps, not 1.5Mbps!)
Thermals, CPU and DRAM frequency scaling
OTG USB 2.0 port (also as boot device!)
EHCI/OHCI USB 2.0 ports
MMC subsystem (including eMMC, SD and sdio devices)
Hardware video acceleration
NAND is available only on legacy kernel. To fully boot from NAND, use the Multitool and its steP-nand installation (instructions are below)
Various WIFI over SDIO are supported (SSV6051P, SSV6256P, ESP8089, Realtek chips, etc...), ssv6256p driver is available only on legacy kernel
Full GPU acceleration
U-boot boot order priority: first the sdcard, then the USB OTG port and eventually the internal eMMC; you can install u-boot (and the whole system) in the internal eMMC and u-boot will always check for images on external sdcard/USB first.
Unbrick:
Technically, rockchip devices cannot be bricked. If the internal flash does not contain a bootable system, they will always boot from the sdcard. If, for a reason, the bootable system on the internal flash is corrupted or is unable to boot correctly, you can always force the maskrom mode shorting the eMMC clock pin on the PCB. Here there is the procedure, but you can also google around if you get stuck on a faulty bootloader, the technique is pretty simple and requires a simple screwdriver.
There are however some unfortunate cases (expecially newer boards) where shorting the eMMC clock pin is difficult or impossibile, like eMMC or eMCP BGA chips with no exposed pins. In those cases pay double attention when burning something on the internal eMMC/eMCP and always test first the image from the sdcard to be sure it works before burning anything on eMMC/eMCP.
Some useful links with pins, pads or procedures for some boards:
Generic procedure for boards with non-BGA eMMC
MXQPRO_V71 - eMCP
H20 - eMCP
ZQ01 - eMCP
NAND vs eMMC vs eMCP difference:
RK3228 and RK3229 tv boxes comes with three different flash memory chips: eMMC, NAND and eMCP.
It does not depend upon the market name of the tv box and neither the internal board; manufacturers put whatever they find cheaper when they buy the components.
NAND chip is just the non-volatile memory
eMMC chip contains both the non-volatile memory plus a controller.
eMCP chip contains the non-volatile memory, a controller for the non-volatile memory (like eMMC), but also contains a bank of DDR SDRAM memory on the same physical chip.
The difference is very important, because eMMC and eMCP are far easier to support at various levels: the controller deals with the physical characteristics of the non-volatile memory, so the software has no to deal with.
NAND chips instead are harder to support, because the software is required to deal with the physical characteristics and non-standard things that depends upon the NAND manufacturer.
If you have a NAND chips you're unlucky because mainline kernel currently cannot access it, but also because you need special care and instructions explained later.
You can discover if you have a NAND, eMMC or eMCP chip looking on the board are reading the signature on the flash memory chip.
The Multitool (see later) also can detect which chip you have onboard: the program will warn you at startup if you have a NAND chip.
NAND bootloader upgrade:
IMPORTANT: don't do this is you have an eMMC or eMCP; skip this paragraph if you are unsure too!
For very expert people who are having issues when (re)booting images, there is the chance to upgrade the bootloader on NAND.
The NAND bootloader is nothing else than a regular idbloader (see official rockchip documentation) but contains some bits to correctly access the data on your flash memory.
Upgrading requires to erase the existing flash content, in the worst case will require you to follow the Unbrick procedure above or restore an older but more compatible bootloader.
If you are not mentally ready to overcome possible further issues, don't do this!
The detailed instructions and the binaries are available at this post
Multimedia:
Mainline kernel: 3D acceleration is provided by Lima driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/
Deprecated legacy kernel: multimedia features, like OpenGL/OpenGL ES acceleration, hardware accelerated Kodi, ffmpeg and mpv you can take a look to this post
An effective tutorial from @Hai Nguyen on how to configure a box as a hi-quality music player using an USB audio card, and controlling it via remote control is available in this post
Brief explanation about kernel naming:
current kernel is the mainline LTS kernel version, most maintained and tested. This is the suggested version for production devices. If you don't know what to pick, pick this.
legacy kernel (version 4.4) is provided by manufacturer; it is deprecated, unmaintained and not suggested.
edge kernel is the development mainline kernel version, with experimental features and drivers; usually stable but perhaps suitable for production devices.
You can switch from one kernel flavour to another using armbian-config or manually via apt.
Installation (via SD card):
Building:
You can build your own image follow the common steps to build armbian for other tv boxes devices: when you are in the moment to choose the target board, switch to CSC/TVB/EOL boards and select "rk322x-box" from the list.
Download prebuilt images from the following links:
Archive builds (GPG-signed) - https://imola.armbian.com/dl/rk322x-box/archive/
SUGGESTED - Nightly built from trunk each week by Armbian servers (GPG-signed) - https://github.com/armbian/community
Old images provided by me (unsigned and outdated) - https://users.armbian.com/jock/rk322x/armbian/stable
Archived/older images:
https://armbian.hosthatch.com/archive/rk322x-box/archive/
Multitool:
The Multitool is a small but powerful tool to do quick backup/restore of internal flash, but also burn images and general system rescue and maintenance via terminal or SSH.
Compressed images will be uncompressed on fly.
Multitool - A small but powerful image for RK322x TV Box maintenance (instructions to access via network here)
Quick installation instructions on eMMC:
Build or download your preferred Armbian image and a copy of the Multitool;
Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition;
Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears;
OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option;
Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn;
Wait for the process to complete, then choose "Shutdown" from main menu;
Unplug the power cord and the SD card, then replug the power cord;
Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt.
On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user
Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, high-speed eMMC, etc...
Run sudo armbian-config to configure timezone, locales and other personal options
Congratulations, Armbian is now installed and configured!
Despite the procedure above is simple and reliable, I always recommend to first test that your device boots Armbian images from SD Card.
Due to the really large hardware variety, there is the rare chance that the images proposed here may not boot. If a bad image is burned in eMMC, the box may not boot anymore forcing you to follow the unbrick section at the top of this post.
Quick installation instructions on NAND:
Build or download your preferred Armbian image and a copy of the Multitool;
Burn the Multitool on an SD card; once done, place the Armbian legacy kernel image in images folder of the SD card NTFS partition;
Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears;
OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option;
Choose "Burn Armbian image via steP-nand" from the menu, then select the destination device (usually rknand0) and the image to burn;
Wait for the process to complete, then choose "Shutdown" from main menu;
Unplug the power cord and the SD card, then replug the power cord;
Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt.
On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user
Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, etc...
Run armbian-config to configure timezone, locales and other personal options
Congratulations, Armbian is now installed!
Alternative: you can install the bootloader in NAND and let it boot from SD Card or USB:
Download a copy of the Multitool and burn it on an SD card;
Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears;
RECOMMENDED: make a backup of the existing firmware with "Backup flash" menu option;
Choose "Install Jump Start for Armbian" menu option: the Jump Start uses the internal NAND to boot from external SD Card or external USB Stick;
Follow the general instructions to boot from SD Card below, skip the first erase eMMC step.
Quick installation instructions to boot from SD Card:
If you are already running Armbian from eMMC, skip to the next step. Instead if you are running the original firmware you need to first erase the internal eMMC; to do so download the Multitool, burn it on an SD Card, plug the SD Card and power the TV Box. Use "Backup flash" if you want to do a backup of the existing firmware, then choose "Erase flash" menu option.
Build or download your preferred Armbian image;
Uncompress and burn the Armbian image on the SD Card;
Plug the SD Card in the TV Box and power it on;
Wait for 10 seconds, then the led should start blinking and HDMI will turn on. The first time the boot process will take a couple of minutes or more because the filesystem is going to be resized, so be patient and wait for the login prompt;
On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user
Run sudo rk322x-config and select your board characteristics to enable leds, wifi chips, high-speed eMMC or NAND, etc...
Run armbian-config to configure timezone, locales and other personal options, or also to transfer the SD Card installation to internal eMMC;
Congratulations, Armbian is running from SD Card!
A note about boot device order:
With Armbian also comes mainline U-boot. If you install Armbian or just the bootloader in the eMMC or the Jump Start on internal NAND, the bootloader will look for valid bootable images in this order:
External SD Card
External USB Stick in OTG Port
Internal eMMC
Installation (without SD card, board with eMMC)
If you have no sd card slot and your board has an eMMC, you can burn the armbian image directly on the internal eMMC using rkdeveloptool and a male-to-male USB cable:
Download your preferred Armbian image from Armbian download page and decompress it.
Download the rk322x bootloader: rk322x_loader_v1.10.238_256.bin
Download a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository.
Unplug the power cord from the tv box
Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack
Plug the other end of the USB Male-to-male cable into an USB port of your computer
If everything went well, run lsusb: you should see a device with ID 2207:320b
Run sudo rkdeveloptool rd 3 (if this fails don't worry and proceed to next step)
Run sudo rkdeveloptool db rk322x_loader_v1.10.238_256.bin
Run sudo rkdeveloptool wl 0x0 image.img (change image.img this with the real Armbian image filename)
Unplug the power cord
Done!
Installation (without SD card, board with NAND)
If you are in the unfortunate case you can't use an SD card for installation and your board has a NAND chip, you still have an option to use the quick Multitool installation steps via USB.
Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository.
Unplug the power cord from the tv box
Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack
Plug the other end of the USB Male-to-male cable into an USB port of your computer
If everyting went well, using lsusb you should see a device with ID 2207:320b
Run sudo rkdeveloptool wl 0x4000 u-boot-main.img (download u-boot-main.img.xz , don't forget to decompress it!)
Unplug the power cord
Now you can follow the instructions on how to install on eMMC/NAND via SD card, just use instead an USB stick to do all the operations and plug it into the USB OTG port. Once you reboot, USB OTG port will be used as a boot device.
NOTE: NAND users without SD slot may be unhappy to know that it will be difficult to do extra maintenance with Multitool in case something breaks in the installed Armbian system: installing u-boot-main.img makes the installed system unbootable because it is missing the NAND driver.
Alternative backup, restore and erase flash for EXPERTS:
These backup, restore and erase flash procedures are for experts only. They are kept here mostly for reference, since the Multitool is perfectly able to do same from a very comfy interface and is the suggested way to do maintenance.
Backup:
Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. If you prefer, you can compile it yourself from the sources available at official rockchip repository
Unplug the power cord from the tv box
Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack
Plug the other end of the USB Male-to-male cable into an USB port of your computer
If everyting went well, using lsusb you should see a device with ID 2207:320b
change directory and move into rkbin/tools directory, run ./rkdeveloptool rfi then take note of the FLASH SIZE megabytes (my eMMC is 8Gb, rkdeveloptool reports 7393 megabytes)
run ./rkdeveloptool rl 0x0 $((FLASH_SIZE * 2048)) backup.data (change FLASH_SIZE with the value you obtained the step before)
once done, the internal eMMC is backed up to backup.data file
Restore: first we have to restore the original bootloader, then restore the original firmware.
Running rkdeveloptool with these switches will accomplish both the jobs:
./rkdeveloptool db rk322x_loader_v1.10.238_256.bin
Downloading bootloader succeeded.
./rkdeveloptool ul rk322x_loader_v1.10.238_256.bin
Upgrading loader succeeded.
./rkdeveloptool wl 0x0 backup.data
Write LBA from file (100%)
Download here:
Erase the flash memory: clearing the internal eMMC/NAND memory makes the SoC look for external SD Card as first boot option.
If there isn't any suitable SD Card, the SoC enters maskrom mode, which can then be used for full eMMC/NAND access using rkdeveloptool. This is perfectly fine if your box has an eMMC flash memory.
NOTE: In case you have a NAND flash memory this option is however discouraged. The original bootloader contains some special parameters to correctly access the data. Clearing the flash memory will probably garbage the NAND data and restoring the bootloader may require some special instructions.
Obtain a copy of rkdeveloptool: a compiled binary is available in the official rockchip-linux rkbin github repository. If you prefer, you can compile it yourself from the sources available at official rockchip repository
Unplug the power cord from the board
Plug an end of an USB Male-to-male cable into the OTG port (normally it is the lone USB port on the same side of the Ethernet, HDMI, analog AV connectors) while pressing the reset microbutton with a toothpick. You can find the reset microbutton in a hole in the back of the box, but sometimes it is hidden into the AV analog jack
Plug the other end of the USB Male-to-male cable into an USB port of your computer
If everyting went well, using lsusb you should see a device with ID 2207:320b
run ./rkdeveloptool ef and wait a few seconds
once done, the internal eMMC is erased and the device will boot from the sdcard from now on
Partecipation and debugging:
If you want to partecipate or need help debugging issues, do not hesitate to share your experience with the installation procedure of the boxes.
In case of issues and missed support, provide as many as possible of these things is very useful to try and bring support for an unsupported board:
some photos of both sides of the board. Details of the eMMC, DDR and Wifi chips are very useful!
upload the device tree binary (dtb) of your device. We can understand a lot of things of the hardware from that small piece of data; and alternative is a link to the original firmware (you can do a full backup with the Multitool);
dmesg and other logs (use armbianmonitor -u that automatically collects and uploads the logs online)
attach a serial converter to the device and provide the output of the serial port;
Critics, suggestions and contributions are welcome!
Credits:
@fabiobassa for his ideas, inspiration, great generosity in giving the boards for development and testing. The project of bringing rk322x into armbian would not have begun without his support!
Justin Swartz, for his work and research to bring mainline linux on rk3229 (repository here)
@knaerzche for his great contribution to libreelec support and mainline patches
@Alex83 for his patience in testing the NAND bootloader upgrade procedure on his board
@Jason Duhamell for his generous donation that allowed researching eMCP boards and esp8089 wifi chip
Running android from eMMC and Linux from sdcard is very possible, LibreELEC does that, but also the multitool works that way also.
Armbian images are not provided in that way for very specific reason:
support is more difficult since we can't know what kind of software (bootloader version, ddrbin, etc...) booted the box
extended boot features (like USB boot or network boot) are impossible to implement
plenty of outdated binary blobs are involved (you don't know what happens in that code)
limited speed for DDR ram memories in mainline kernel
Since Armbian is intended for general and stable usage and work is done towards the mainline kernel, the "dual boot" choice has been dropped almost instantly.
@ArkhanLK Glad you're finding the box useful and thanks for reporting!
Netflix and friends usually have other issues related to Digital Rights Management, but never really dig into. I know that on LibreELEC you need to download the Widevine plugin.
@jaum20 It should be already enabled, but honestly I never checked the coaxial SPDIF output. Will check right now
edit: just checked on both mainline and legacy kernel and it is working fine up to 192khz! Maybe you need to tell pulseaudio to use SPDIF (IEC958) from the speaker icon in the upper right corner
ad Jock already said is not a problem of the soc per se , but netflix and other need DRM and this must be enabled in some way as libreelec already did.
I am very but very happy that you found this little black box usefull, I use plenty of those for the most wide purposes
Hi everyone, I'm doing really well on the board I have! I am sure this is a really capable board!
So far I have:
. Played emulator games and some old/retro games such as quake 1, 2, and doom;
. Web-browesed on Firefox to almost any website (netflix doesn't work, some issues with google meet as well);
. Edited photos and pdf with gimp, libreoffice draw, kolourpaint... Flawlessly!;
. Draw 2d cad with librecad and will be testing leocad soon!;
. When videos work, like in YouTube or twitch, I can watch them decent at 480p, very decent at 360p;
. Watched 1080p on kodi (at least on twitch), but the other services (Amazon, Netflix, Disney, YouTube...) I wasn't able to try yet.
Overall, this makes for a REALLY good and cheap basic desktop.
But just to be sure, let me ask something: is there any way to dual boot with android + armbian? That'd be possible with, I suppose, partitioning the emmc... I am aware that there is a way to install linux in Android and then ssh into it. But that's not the same thing I'm asking about!
As always, thanks a lot for the help and support here. You guys are awesome. Much love <3
HI @jock! I tried slick-greeter with icewm and that was super fast! Very nice, but not that user friendly. But, you know, consumed 120mb ram to have it up and running, so very decent choice for limited boards!
Also, I figured out a solution for the kodi part on the media framework: hold on 3 packages only: xserver-xorg-video-armsoc, kodi, and kodi-bin. But the other packages don't need the hold. Tested on twitch, 1080p smooth!
I am now going to test kodi and lxde... Should be faster and lighter than both xfce and lxqt!
I will keep you all updated o/
Thanks for the incredible support!!!
Yeah I wanted to mention in the previous post but I forgot!
However today had access to the box and it was still not logging in. I'll check further later, but this lightdm thing is very annoying
Uh, to be honest I never tried armbianmonitor -v. Actually the packages installed by media framework are "overwriting" those from armbian/ubuntu, I don't really know how armbianmonitor -v reacts to.
rk3228b and rk3229 are enabling exactly the same overlay, which brings the cpu to 1.4ghz, nothing else.
emmc overlay enabled the ddr mode for eMMC and some other configuration bits. eMMC, sdcard and Wifi share the same subsystem since they are all controlled by mmc controllers, so it is very possibile that a malfunction/misconfiguration on eMMC reflects also over Wifi; usually badly designed boards do this.
Usually it will work fine even if the board is slightly different; you can however clone the thing and, if it boots, run rk322x-config to reconfigure the overlays for the other board
@ArkhanLK
I made some further investigation and it seems that lightdm-gtk-greeter is the great offender: the package in Ubuntu Focal seems to be broken for armhf architecture: https://bugs.launchpad.net/ubuntu/+source/lightdm-gtk-greeter/+bug/1897491
I just tried to install the lightdm-autologin-greeter and uninstall lightdm-gtk-greeter and, after a reboot, it looks like it works:
apt install lightdm-autologin-greeter && apt remove lightdm-gtk-greeter
If apt is lamenting issues about armsoc, that's because of a previous package upgrade. I don't know why, but it tries to install armsoc-exynos as a dependency of Kodi. It is unclear to me why it tries to install packaged Kodi instead of keeping the one from media-framework, but probably I made some mess with versioning.
However, to try to get back the media framework situation, first uninstall the wrong armsoc driver:
apt remove xserver-xorg-video-armsoc
The install the media framework packages manually:
apt install armsoc/*.deb
apt install kodi/*.deb
apt install ffmpeg/*.deb
And finally mark the packages as hold, so apt upgrade won't try to update them:
apt-mark hold xserver-xorg-video-armsoc
apt-mark hold kodi kodi-addon-dev kodi-bin kodi-data kodi-tools-texturepacker
apt-mark hold ffmpeg libavutil56 libpostproc55 libswscale5 libavutil-dev libpostproc-dev libswresample3 libavresample4 libswscale-dev libavcodec58 libavcodec-dev libavresample-dev libavformat-dev libavfilter7 libavfilter-dev libavdevice58 libavdevice-dev
If you start from a fresh system, just run the apt-mark hold commands after installing the media framework and you should be fine enough.
This is not exactly tested, because I'm headless right now, so if you feel comfortable enough, it may be a wise idea to start from a fresh system.
I will update the media framework in the next days to include the apt-mark commands automatically, so this further step won't be needed.
edit: ah, another thing about /etc/X11/xorg.conf.d directory... The stable image from the download page include 40-serverflags.conf file which should not be there! Curiously a freshly built image by me instead does not include that file, which should be there only on mainline images... so please delete it. I will ask the high towers what happened, maybe fix the lightdm greeter thing and ask for a stable image rebuild.
The armsoc .deb package actually installs the armsoc X.org .so driver (the same as .dll in windows) and places armsoc.conf it in /etc/X11/xorg.conf.d to enable it.
Looking at the logs you provided I now see something that actually should not be there... a reference to "Lima" driver, which is not expected in non-mainline kernel... now I'm starting to understand that maybe you got 40-serverflags.conf in /etc/X11/xorg.conf.d directory. If so, remove that file and try again. I will double check this, because the way desktop packages are assembled changed recently in armbian and maybe I did a mistake with some configuration.
I met @jock on the net quite TWO 2 years ago , when I started this adventure with 322x boxes and for some LONG time my question was always the same:
how obtain a good desktop experience and at the same time a good harware acceleration for playing videos on this boxes and infamous mali 400 driver.
The answer is not so nice : at the state of the art OR you have a decent desktop, OR you have good videos. Both is still problematic.
To have full video HW acceleration in some manner is needed switch off the desktop and go on GBM driver. And also I suspect you cannot use exynos driver on your board.
An old attempt done by rockchip itself to have a satisfactory both xorg and video experience was made on debian 9 stretch and modded gstreamer and MPV player
This is how xorg.conf looks like:
name of the file : 20-armsoc.conf
content :
Section "Device"
Identifier "Mali FBDEV"
Driver "armsoc"
Option "fbdev" "/dev/fb0"
Option "Fimg2DExa" "false"
Option "DRI2" "true"
Option "DRI2_PAGE_FLIP" "false"
Option "DRI2_WAIT_VSYNC" "true"
Option "SWcursorLCD" "false"
EndSection
Section "Screen"
Identifier "DefaultScreen"
Device "Mali FBDEV"
DefaultDepth 24
EndSection
but i repeat this worked on old debian 9 stretch rootfs and allowed play decent videos ( but losing the mouse control for a while... )
And this APART of broken dm greeter, that is another problem
@ArkhanLK
Mmh, I think you have other kind of problems, maybe storage issues, because everything you are describing right now is totally out of any experience I ever had. apt update && apt upgrade should not break anything. If apt breaks something, you must investigate why it happens and solve that problem first, because the issue is system-wide and not related to the media framework.
To be honest, there was an issue with lightdm greeter that was preventing the X.org server to start, but should be solved now in the shipped stable image and surely apt upgrade should fix it. Nonetheless you are having issues with the GUI-less system too, so there is something rotten elsewhere.
Consider also that in xorg.conf.d directory there is just one file right after the installation, and another file is installed there when the media framework installs the armsoc driver. There should be nothing else than these two files, if you follow the same steps I did.
I still can confirm that the Focal minimal image works and the media framework installation script (which does apt update as first step) never encountered a single error.
Anyway, storage issues are very subtle and they may cause any kind of unexpected troubles. I don't remember if are using the internal flash an external sdcard, but maybe it worth trying installing on a pristine sdcard to understand the source if issues.
Also you may try a mainline kernel image too, and see if apt update && apt upgrade cause the same issues, tinker around with the desktop environment and see if you have issues there too.
Hi @ArkhanLK , I don't know what you did but I just tried the Focal image I gave you some days ago + the media framework script and everything went fine.
Installation was completed in a few minutes without any error, now I'm playing h.264 movie with Kodi without any issue.
edit: tried also mpv under X.org (work fine) and quake via glrun (utterly wrong, but those are the known issues of the Mali driver)