cizia64 / CrossMix-OS

Enhanced OS for the TrimUI Smart Pro
GNU General Public License v3.0
61 stars 9 forks source link

Port Master apps not working #8

Open thiago-123456 opened 4 weeks ago

thiago-123456 commented 4 weeks ago

Port master seems to work, kind off...

It was able to open PM and it auto updated to 2024.05.31-1042 (beta channel selected as default in CrossMix).

All ports that I installed through PM failed to start (Super Mario War / Sonic Mania e etc.).

What am I doing wrong?

cizia64 commented 4 weeks ago

Many PostMaster games are still not well configured for the TrimUI Smart Pro. So this question is probably more for the PortMaster team ;)

I see that the Super Mario War script is not adapted to run on the TSP at all. It will not work as is. Sonic Mania should run (I have added libcairo.so.2 lib which was missing to run it directly in CrossMix-OS). Note that Sonic Mania require that your copy your own assets.

Start simple and make a try with "Alchemy Quest" from "ready to run" section, does it work ?

For information I've started this compatibility list for PortMaster help is welcome to complete the file and make some reports to the PostMaster team.

cobaltgit commented 4 weeks ago

For sonic mania, try removing the libtheora library from the libs/ directory, should work then

cpal023 commented 3 weeks ago

I saw the compatibility list for PortMaster and a few of those games you have down as FALSE actually do run with a little tweaking. For example, Axiom Verge can run if you tweak the run script file. There is a command in there "|&" that is not recognized and you need to replace with a different value. Sonic Mania works if you delete the libtheora.dll as mention by @cobaltgit and others on that list work as well with some tinkering. I am sure in future updates these will be addressed. I cannot run Sonic 1,2, CD, Duke Nukem 3D AWO, Ships of Harkinian, or Streets of Rage Remake on the TSP. I have gotten them to work on Knulli but not stock or Tomato OS. About to this OS now. Would be cool to see a txt document of the required file extensions that this OS suports like Batocera has in each of the rom folders. For example MD-MSU and SNES-MSU file extensions. Just a suggestion. Exited to try this out!

ogregorio commented 2 weeks ago

If you were able to get them to work in Knuilli, I believe we could potentially port some libraries from there to improve compatibility here. I managed to run Sonic CD successfully, though I haven't gotten the sound to work yet.

dxdatabase commented 1 week ago

Same problem with the game To The Moon, bunch of missing sound libs. It run with Knulli after linking some libs, not with CrossMix. Libs missing :

ogregorio commented 1 week ago

Hey, can you extract these libraries from Knulli and package them for me? I wanna test if they'll work well in CrossMix.

I think the more libraries we bring in, the better the overall Portmaster compatibility will be.

dxdatabase commented 1 week ago

It don't work with CrossMix, not the same libc :

/mnt/SDCARD/Data/ports/to_the_moon/gamedata/falcon_mkxp.bin: /lib64/libc.so.6: version `GLIBC_2.38' not found (required by /mnt/SDCARD/Data/ports/to_the_moon/libs/libpulsecommon-17.0.so)

If I check the glibc used by the Timui firmware : /lib64/libc.so.6 GNU C Library (GNU) release release version 2.33.

And yes, more than less is better for the libs packed with Portmaster... But I don't have a suitable build environment to compile those libs.

ogregorio commented 1 week ago

You can use your TSP for this and enable opkg to download packages and libraries (enable sunxi support with aarch64 as architecture). However, I think this libc version can be ported for specific games by adding it inside the lib folder. Can you try this?

dxdatabase commented 1 week ago

With the knulli libc inside portmaster lib folder :

current_mode 1280x720 MALI_CreateWindow:0x55628f4540 done. head: symbol lookup error: /mnt/SDCARD/Data/ports/to_the_moon/libs/libc.so.6: undefined symbol: _dl_audit_preinit, version GLIBC_PRIVATE Illegal instruction Illegal instruction /mnt/SDCARD/Data/ports/to_the_moon/gamedata/falcon_mkxp.bin: error while loading shared libraries: __kernel_gettimeofday: invalid mode for dlopen(): Invalid argument pidof: symbol lookup error: /mnt/SDCARD/Data/ports/to_the_moon/libs/libc.so.6: undefined symbol: _dl_audit_preinit, version GLIBC_PRIVATE

I think the better way is to compile the libs for the Trimui firmware. How can i "enable sunxi support with aarch64 as architecture" with opkg ? opkg update can't download packages list... I'm not familiar with opkg...

ogregorio commented 1 week ago

To update your OPKG repository list, follow these steps:

  1. Edit the distfeeds.conf file located in /ROOT/etc/opkg/.

  2. Replace the content with the following lines (using FTP is the simplest method):

    arch all 1
    arch noarch 1
    arch sunxi 10
    arch aarch64_cortex-a53 20
    
    src/gz reboot_core http://downloads.lede-project.org/snapshots/targets/sunxi/cortexa53/packages/
    src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/base
    src/gz reboot_telephony http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/telephony
    src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/packages
    src/gz reboot_routing http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/routing
    src/gz reboot_luci http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/luci
  3. Using SSH or Telnet, run the following commands:

    opkg update
    opkg install package1 package2
  4. Optionally, you can also install additional packages like make:

    opkg install make

image

Note: Do not replace the original libc as it is essential for the Trimui interface to start. If you accidentally remove libc, you will need to reinstall the system using SD Recovery.

dxdatabase commented 1 week ago

I've setup opkg, thanks. But there is something strange :

root@TinaLinux:~# opkg install nano
Installing nano (8.0-r1) to root...
Downloading http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/packages/nano_8.0-r1_aarch64_cortex-a53.ipk.
Installing libncurses6 (6.4-r2) to root...
Downloading http://downloads.lede-project.org/snapshots/packages/aarch64_cortex-a53/base/libncurses6_6.4-r2_aarch64_cortex-a53.ipk.
Configuring libncurses6.
Configuring nano.

root@TinaLinux:~# opkg files nano
Package nano (8.0-r1) is installed on root and has the following files:
/usr/bin/nano
root@TinaLinux:~# ls -l /usr/bin/nano
-rwxr-xr-x    1 root     root        196717 May  3 15:24 /usr/bin/nano
root@TinaLinux:~# /usr/bin/nano 
-ash: /usr/bin/nano: not found

Does internal storage have some kind of protection ? Same problem after rebooting my Trimui...

cizia64 commented 1 week ago

Yes may be some parts of the firmware are inn read only. These investigations are really interesting.

Now I have to learn to use opkg on the TSP 😄 (I've done that lopng time ago on some routers). Some tips for missing libs :

Use batocera 32 64bits old image for Rpi 3 pkgs.org propose a lot of binaries and libs. Choose oldest distrib to avoid problems with libc archlinuxarm.org also really helpful with the same libc as our TSP.

If you have more similar tips do not hesitate.

The PortMaster launch script should be fixed for the TSP in the upstream !

dxdatabase commented 12 hours ago

I did it ! Found libs for Easy RPG (framework used for To The Moon) on this repository : https://github.com/dokoma/kiwi/tree/main/Emus

IMG_20240703_080627987

There is a lot of interesting libs fully compatible with Crossmix's Portmaster to include in this repo !