Mini m8s S905X - black screen

Hello. Meanwhile, I wanted to thank those who work on this beautiful distro that makes us entertain so much by reusing old boxes. then I wanted to ask for help. on my box I currently have version 4.3 not ng. i tried to install version 4.5 and also 4.4 ng, but after installation the screen stays black. if I try to connect the joystick it gives me correctly connected. what am I doing wrong?

Are your SoC supported by the -ng kernel?

If your SoC is supported but you can’t see the bootup screen, that means the kernel is not correctly loaded, most probably due to outdated u-boot. You need to make sure your Android installation is at least version 7 for the -ng kernel to be loaded. This is due to Amlogic’s 4.9 kernel has some major changes that can’t be supported by older u-boot included in <Android 7 firmwares.

Edit: sorry I didn’t see your title, so your SoC is definitely supported, this is most likely due to a outdated u-boot

thank you so much for your help.
I installed android 9 on my machine so I could install kernel 4.91 and then I tried 4.5 again and everything went perfectly. only difficulty I have for now is to install in the internal memory. with the command ce or ceemmc from putty I don’t get any result.

Edit: I have read that it is not possible in the latest version to install on mmc. I solved it by installing 4.3 and upgrading to 4.5

ceemmc was removed since it does not support the new 3-parrtitions layout. And it’s proprietary code from Team CoreELEC so it can’t be modified, either.

I’ve re-implemented that via an open-source alternative ampart + aminstall. But the tool ampart is still far from perfect since I can only test it on my only -ng compatible S905L box. I’m curious about the behaviour of ceemmc on your box, so could you share the Android 9 firmware of your box, or tell me whether it reports it moved something like dtbo partition?

how can i make the report to send you?

If you’ve used ceemmc to install in dual-boot mode then there’s no need to send me any log, I’ve reverse-engineerd its behaviour thoroughly in this mode.

If you’ve used ceemmc to install in single-boot mode (wipe Android), then a complete log from when you run the command ceemmc to it ends will help a lot (from first EmuELEC ~ # ceemmc to last EmuELEC ~ #). This will help me to understand whether some potential partitons (dtbo, dtbo_a, dtbo_b) should be migrated, so I can replica this in ampart.

If you don’t want to lose your current installation, you can just send me the link of the Android v9 firmware you’re using so I can check if there’s dtbo partitions.

Either way, your help is appreciated and I thank you for your contribution to the upcoming installation to internal method aminstall currently only available in dev branch of EmuELEC

as I said at the beginning, thanks to you for all this system. I have emuelec as the only system and I used the atvxperience android 9 based beta rom. how do i send you the link or the iso? however for now I find only one defect. in the exit section, nothing works, whether it is the restart or shutdown command, it remains stuck on the screen. I don’t understand if it is due to the kernel or to having installed it on nand

Edit: trying to restart the 4.3 system from sd card, the system works correctly. i try to reinstall it on mmc and see if version 4.3 on mmc works fine.

also version 4.3 on mmc from that problem. could it be a kernel problem? or incompatibility of the installation on mmc?

I’m not the developer of EmuELEC, just a common user like you except I contribute some of my knowledge to help fix some problems in EE and a little what I improve in my own fork project HybridELEC (dual-bootable CE+EE) back to upstream . The main development of EE is done by shantigilbert and you should thank him for the awesome OS.

The new kernel does not play too well with S905X/Y/W/L SoCs and we’re trying to introduce a new (or should I say old? ) Amlogic-old device that’ll use the older Amlogic-3.14 kernel used in <=4.3 non-ng devices. Sure it is insecure but dor emulation it does very well. But there’s just too many bugs to fix especially we’re mixing old kernel with new toolchain, software, emulators, etc. All of this becomes even slower if you consider most of the contributors to EE are just volunteers and have other full-time job to do.

BTW, I’ve found the firmware using Google so you do not need to send me the link

there is a similar error regarding restart and shutdown to whoever puts the rom on mmc? research has brought me nowhere

A potential reason is your emmc is too slow (yes it’s possible). Before EmulationStation closes it must flush all configs onto underlying disk, during which it feels like it’s stuck.

Maybe you can ssh into the box and run poweroff, and the dmesg once in a while to check if ther kernel prints something new? If you SSH connection is interrupted during this then the userspace of EmuELEC is properly stopped. Then the problem can only be resolved by checking the uart log

I can’t explain why it worked perfectly with the non-NG version.
however giving the command with putty in ssh, the box turns off. may i ask you where to find the uart log?

So there’s an issue where EmulationStation can’t be properly stopped, not a kernel issue. UART log is not needed.
Running poweroff will force the box to poweroff, all units are terminated in a not-that-elegant way. So EmulationStation is killed without flushing its configs.

For further debug, you can try systemctl stop emustation, usually this command should not block and properly close EmulationStation. But if it blocks, then there’s some wierd thing stopping it to be properly closed. Ctrl+C to cancel the command, and systemctl status emustation to get its latest log (or journalctl -u emustation to get full log). You’ll know why it’s blocked

then, the system is blocked without the possibility of doing anything at least with the joystick. sending the commands I get this:

○ emustation.service - EmulationStation emulator frontend
Loaded: loaded (/usr/lib/systemd/system/emustation.service; disabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2022-06-06 10:43:19 CEST; 6min ago
Process: 3674 ExecStartPre=emustation-config (code=exited, status=0/SUCCESS)
Process: 3941 ExecStartPre=/usr/bin/killes.sh (code=exited, status=0/SUCCESS)
Process: 3943 ExecStart=emulationstation --log-path /storage/.config/emuelec/logs (code=exited, status=0/SUCCESS)
Main PID: 3943 (code=exited, status=0/SUCCESS)

Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR Resource path not found: :/splash.xml
Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR System “wii” is missing name, path, extension, or command!
Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR System “gamecube” is missing name, path, extension, or command!
Jun 06 10:27:55 EMUELEC emulationstation[3943]: 2022-06-06 10:27:55 ERROR System “megadrivemsu” is missing name, path, extension, or command!
Jun 06 10:27:55 EMUELEC emulationstation[3943]: 2022-06-06 10:27:55 ERROR System “karaoke” is missing name, path, extension, or command!
Jun 06 10:28:01 EMUELEC emustation-config[3911]: Connection failed. Give up. (b’Wireless Controller’)
Jun 06 10:43:19 EMUELEC systemd[1]: Stopping EmulationStation emulator frontend…
Jun 06 10:43:19 EMUELEC emulationstation[4259]: setterm: $TERM is not defined.
Jun 06 10:43:19 EMUELEC systemd[1]: emustation.service: Deactivated successfully.
Jun 06 10:43:19 EMUELEC systemd[1]: Stopped EmulationStation emulator frontend.

and

Mar 11 08:33:36 EMUELEC systemd[1]: EmulationStation emulator frontend was skipped because of a failed condition check (ConditionPathExists=/var/lock/start.games).
Jun 06 10:27:27 EMUELEC systemd[1]: emustation.service: Failed to get cgroup ID on cgroup /sys/fs/cgroup/unified/system.slice/emustation.service, ignoring: Function not implemented
Jun 06 10:27:27 EMUELEC systemd[1]: Starting EmulationStation emulator frontend…
Jun 06 10:27:27 EMUELEC emustation-config[3703]: Set-Audio: Using audio device hw:
Jun 06 10:27:27 EMUELEC emustation-config[3703]: Set-Audio: neither the PulseAudio module module-alsa-card or module-alsa-sink was found. Nothing to unload
Jun 06 10:27:28 EMUELEC emustation-config[3703]: Set-Audio: PulseAudio will enable timer-based audio scheduling
Jun 06 10:27:28 EMUELEC emustation-config[3703]: Set-Audio: PulseAudio module-udev-detect loaded, setting a volume of 100%
Jun 06 10:27:28 EMUELEC emustation-config[3703]: Set-Audio: PulseAudio will use sink 1 alsa_output.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
Jun 06 10:27:28 EMUELEC emustation-config[3703]: Set-Audio: SDL2 set environment variable SDL_AUDIODRIVER=pulseaudio
Jun 06 10:27:53 EMUELEC systemd[1]: emustation.service: Found left-over process 3911 (batocera-blueto) in control group while starting unit. Ignoring.
Jun 06 10:27:53 EMUELEC systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 06 10:27:53 EMUELEC systemd[1]: emustation.service: Found left-over process 3930 (sleep) in control group while starting unit. Ignoring.
Jun 06 10:27:53 EMUELEC systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Jun 06 10:27:53 EMUELEC systemd[1]: Started EmulationStation emulator frontend.
Jun 06 10:27:54 EMUELEC emulationstation[3950]: setterm: $TERM is not defined.
Jun 06 10:27:54 EMUELEC emulationstation[3954]: The framebuffer device was opened successfully.
Jun 06 10:27:54 EMUELEC emulationstation[3954]: vinfo.yoffset=1080
Jun 06 10:27:54 EMUELEC emulationstation[3954]: FIX: setting vinfo.yoffset=0.
Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR Resource path not found: :/splash.xml
Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR System “wii” is missing name, path, extension, or command!
Jun 06 10:27:54 EMUELEC emulationstation[3943]: 2022-06-06 10:27:54 ERROR System “gamecube” is missing name, path, extension, or command!
Jun 06 10:27:55 EMUELEC emulationstation[3943]: 2022-06-06 10:27:55 ERROR System “megadrivemsu” is missing name, path, extension, or command!
Jun 06 10:27:55 EMUELEC emulationstation[3943]: 2022-06-06 10:27:55 ERROR System “karaoke” is missing name, path, extension, or command!
Jun 06 10:28:01 EMUELEC emustation-config[3911]: Connection failed. Give up. (b’Wireless Controller’)
Jun 06 10:43:19 EMUELEC systemd[1]: Stopping EmulationStation emulator frontend…
Jun 06 10:43:19 EMUELEC emulationstation[4259]: setterm: $TERM is not defined.
Jun 06 10:43:19 EMUELEC systemd[1]: emustation.service: Deactivated successfully.
Jun 06 10:43:19 EMUELEC systemd[1]: Stopped EmulationStation emulator frontend.

do you detect anything abnormal?

EmulationStation exited normally

The image is frozen because nothing new is updated. Embedded devices usually use framebuffer as the video output device. The framebuffer will always display the last frame it buffers hence the name, and since EmulationStation exited and does not update it anymore, the frame is always the last frame ES has updated, thus seeming frozen. This does not mean the system is frozen. As long as a new process updates the framebuffer, image will unfrozen.

The you can try any of the following in the {ES stopped, system running, image seemed frozen} state (one at a time, reboot&/stop ES to enter this state again)

  1. systemctl start emustation This should bring ES back, image will be unfrozen
  2. poweroff This should poweroff the box even it seems frozen in this state
  3. reboot This should reboot the box even it seems frozen in this state

however I do not solve the shutdown or reboot problem. i try to reinstall version 4.3 non ng and see how it goes