mmatyas / pegasus-frontend

A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
http://pegasus-frontend.org
Other
1.22k stars 111 forks source link

Missing boxart in some platform in Android 11 #989

Open angelmic opened 2 years ago

angelmic commented 2 years ago

Hi, and thanks for reporting errors! You can help us locating the bug even more by providing detailed information in the sections below:

I use LG G8X. Since I upgraded android 11, the box front art of some platforms will disappear, such as 3DS, NDS. But most platforms are normal.

Describe here what you've tried to do, what you've expected to see and what actually happens. If necessary, describe step-by-step the way to reproduce the problem.

System info

Pegasus is available for many platforms, so please describe here where exactly you're using it, eg. "Windows 10 build 1234" or "Ubuntu 12.34". If it's not a desktop computer, or you see graphical glitches, please mention your hardware too, eg. "Debian Buster on a Raspberry Pi 4 with 2GB RAM", "Android 10 on SomePhone XY7", etc.

Android 11 on LG G8X (V50) Dual Screen

When you open the main menu of Pegasus you can see it in the bottom left corner of the screen. Also, have you tried the latest version? It might already have a fix for the problem!

Pegasus frontend alpha16(2022-03-21)

You can find a log file with detailed information about the launch of Pegasus under the following locations:

If possible, please attach the file to this bug report.

lastrun (1).log metadata.pegasus.txt

mmatyas commented 2 years ago

Hi, does this happen with the default theme too? Since the images started disappearing after an Android update, and only some of them are missing, I would assume the image formats your theme is using might be no longer supported by the Android system. Android 11 also changed the way directories can be accessed by apps; maybe Pegasus has no permission to read the theme directory?

angelmic commented 2 years ago

Yes I use default theme, Pegasus Grid. Is it possible that reinstalling could help with this issue? If reinstalling, what staging directories need to be removed ?

mmatyas commented 2 years ago

Hm according to the logs, you might be using a modified version of the default theme:

2022-04-17T13:18:16 [i] Theme set to `天马1.0经典主题` (`/storage/emulated/0/pegasus-frontend/themes/pegasus-theme-grid-master-wkzlm/`)

Could you double check please that the issue happens when Pegasus Grid is selected as the theme?

If you would like to reinstall Pegasus, you can just remove or rename the directory <sdcard>/pegasus-frontend/. The latest version of Pegasus also uses <sdcard>/Android/data/org.pegasus_frontend.android/.

angelmic commented 2 years ago

I'm sorry, I give the wrong log file. The lastrun.log content

2022-04-21T10:26:42 [i] Pegasus alpha16 (2022-03-21)
2022-04-21T10:26:42 [i] Running on Android  (11.0) (arm, android)
2022-04-21T10:26:42 [i] Qt version 5.15.2
2022-04-21T10:26:42 [i] Program settings loaded (`/storage/emulated/0/pegasus-frontend/settings.txt`)
2022-04-21T10:26:42 [i] Found locale `ar`
2022-04-21T10:26:42 [i] Found locale `bs`
2022-04-21T10:26:42 [i] Found locale `de`
2022-04-21T10:26:42 [i] Found locale `en-GB`
2022-04-21T10:26:42 [i] Found locale `en`
2022-04-21T10:26:42 [i] Found locale `es`
2022-04-21T10:26:42 [i] Found locale `fr`
2022-04-21T10:26:42 [i] Found locale `hu`
2022-04-21T10:26:42 [i] Found locale `ja`
2022-04-21T10:26:42 [i] Found locale `ko`
2022-04-21T10:26:42 [i] Found locale `lt`
2022-04-21T10:26:42 [i] Found locale `nl`
2022-04-21T10:26:42 [i] Found locale `pt-BR`
2022-04-21T10:26:42 [i] Found locale `ru`
2022-04-21T10:26:42 [i] Found locale `zh-TW`
2022-04-21T10:26:42 [i] Found locale `zh`
2022-04-21T10:26:42 [i] Locale set to `zh-TW`
2022-04-21T10:26:42 [i] Found theme `Pegasus Grid` at `:/themes/pegasus-theme-grid/`
2022-04-21T10:26:42 [i] Gamepad: Connected device 0x2 (generic)
2022-04-21T10:26:43 [i] Theme set to `Pegasus Grid` (`:/themes/pegasus-theme-grid/`)
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/3DO/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/3DS/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/CPS1/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/CPS1/metadata.pegasus.txt`, line 69: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/CPS2/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/CPS3/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/DC/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/GBA/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/GBC/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/GBC/metadata.pegasus.txt`, line 173: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/GBC/metadata.pegasus.txt`, line 365: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/GG/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/LYNX/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MAME(FBA2012)/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MAME(FBA2012)/metadata.pegasus.txt`, line 139: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MAME(FBA2012)/metadata.pegasus.txt`, line 310: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MAME(FBNEO)/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MAME(MAME2003 PLUS)/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MD/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MD/metadata.pegasus.txt`, line 24: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MD/metadata.pegasus.txt`, line 421: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/MS/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/N64/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NAOMI/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NDS/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NDS/metadata.pegasus.txt`, line 268: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NDS/metadata.pegasus.txt`, line 561: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NDS/metadata.pegasus.txt`, line 567: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NDS/metadata.pegasus.txt`, line 813: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO CD/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO/metadata.pegasus.txt`
2022-04-21T10:26:44 [w] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO/metadata.pegasus.txt`, line 90: Unrecognized game property `操纵方面按键,a为小斩、b是中斩,同按为大斩;c为轻脚、d是中脚、同按则是重脚。游戏中在前冲动作时分别可以做前翻滚或者大跳跃的动作`, ignored
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO/metadata.pegasus.txt`, line 255: attribute value missing, entry ignored
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO/metadata.pegasus.txt`, line 256: line invalid, skipped
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NEOGEO/metadata.pegasus.txt`, line 337: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NES/metadata.pegasus.txt`
2022-04-21T10:26:44 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NES/metadata.pegasus.txt`, line 518: line invalid, skipped
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NGC/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/NGPC/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PC-FX/metadata.pegasus.txt`
2022-04-21T10:26:44 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PCE/metadata.pegasus.txt`
2022-04-21T10:26:45 [e] Metafiles: `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PCE/metadata.pegasus.txt`, line 184: line invalid, skipped
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PGM/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PGM2/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PS/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/PSP/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/SEGA 32X/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/SEGA CD/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/SNES/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/SS/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/WII/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/WS/metadata.pegasus.txt`
2022-04-21T10:26:45 [i] Metafiles: Found `/storage/3035-3538/Pegasus-wkzlm/Roms-v2.0/WSC/metadata.pegasus.txt`
2022-04-21T10:26:46 [i] Metafiles: Finished searching in 3661ms
2022-04-21T10:27:08 [i] Media: Finished searching in 21860ms
2022-04-21T10:27:08 [i] Android Apps: 55 apps found
2022-04-21T10:27:09 [i] Android Apps: Finished searching in 406ms
2022-04-21T10:27:11 [i] Logiqx: Finished searching in 1897ms
2022-04-21T10:27:12 [i] Skraper Assets: 0 assets found
2022-04-21T10:27:12 [i] Skraper Assets: Finished searching in 948ms
2022-04-21T10:27:12 [i] Favorites: Finished searching in 4ms
2022-04-21T10:27:12 [i] Playtime: Finished searching in 22ms
2022-04-21T10:27:12 [i] Waiting for online sources...
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.retroarch.ra32` failed: Error transferring https://play.google.com/store/apps/details?id=com.retroarch.ra32&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.rsupport.rs.activity.lge.allinone` failed: Error transferring https://play.google.com/store/apps/details?id=com.rsupport.rs.activity.lge.allinone&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `org.citra.emu` failed: Error transferring https://play.google.com/store/apps/details?id=org.citra.emu&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.qmemoplus` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.qmemoplus&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.xiaoji.gamesirnsemulator` failed: Error transferring https://play.google.com/store/apps/details?id=com.xiaoji.gamesirnsemulator&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.lgworld` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.lgworld&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.android.cellbroadcastreceiver` failed: Error transferring https://play.google.com/store/apps/details?id=com.android.cellbroadcastreceiver&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.clock` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.clock&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.fdg.flashplay.farsee` failed: Error transferring https://play.google.com/store/apps/details?id=com.fdg.flashplay.farsee&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.music` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.music&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.camera` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.camera&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.lge.hifirecorder` failed: Error transferring https://play.google.com/store/apps/details?id=com.lge.hifirecorder&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.android.settings` failed: Error transferring https://play.google.com/store/apps/details?id=com.android.settings&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.android.gallery3d` failed: Error transferring https://play.google.com/store/apps/details?id=com.android.gallery3d&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.android.contacts` failed: Error transferring https://play.google.com/store/apps/details?id=com.android.contacts&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.android.vending` failed: Error transferring https://play.google.com/store/apps/details?id=com.android.vending&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [w] Android Apps: Downloading metadata for `com.unbrokensoftware.launchbox` failed: Error transferring https://play.google.com/store/apps/details?id=com.unbrokensoftware.launchbox&hl=zh_TW - server replied: Not Found
2022-04-21T10:27:12 [i] Waiting for online sources took 336ms
2022-04-21T10:27:12 [i] Game list post-processing took 79ms
2022-04-21T10:27:12 [i] 1778 games found
2022-04-21T10:27:13 [w] qrc:/themes/pegasus-theme-grid/layer_platform/PlatformCard.qml:71:5: QML Image: Cannot open: qrc:/themes/pegasus-theme-grid/assets/logos/cps.svg
2022-04-21T10:27:13 [w] qrc:/themes/pegasus-theme-grid/layer_platform/PlatformCard.qml:71:5: QML Image: Cannot open: qrc:/themes/pegasus-theme-grid/assets/logos/lynx.svg
2022-04-21T10:27:13 [w] qrc:/themes/pegasus-theme-grid/layer_platform/PlatformCard.qml:71:5: QML Image: Cannot open: qrc:/themes/pegasus-theme-grid/assets/logos/saturn.svg
2022-04-21T10:27:13 [w] qrc:/themes/pegasus-theme-grid/layer_platform/PlatformCard.qml:71:5: QML Image: Cannot open: qrc:/themes/pegasus-theme-grid/assets/logos/pgm2.svg
2022-04-21T10:27:13 [w] qrc:/themes/pegasus-theme-grid/layer_platform/PlatformCard.qml:71:5: QML Image: Cannot open: qrc:/themes/pegasus-theme-grid/assets/logos/pgm.svg
2022-04-21T10:30:51 [i] Closing Pegasus, goodbye!
mmatyas commented 2 years ago

I see, thanks!

The metadata file attached is for 3DS games, could you show a screenshot of this in Pegasus? Do all games used to have images? Which ones are missing now? I suppose you have the game assets stored at Roms-v2.0/3DS/, could you post the list of file names there? Could it be related to special characters in the name of the games, eg. in 星之卡比:机械星球, if you have files called like that?

angelmic commented 2 years ago

Screenshot: IMG_1590

File structure in folder 3DS

▶ tree -N --sort=version ./
./
├── Kirby Robobot Planet.3ds
├── Super Mario 3D Land.3ds
├── Super Street Fighter IV 3D Edition.3ds
├── The Legend of Zelda Ocarina of Time 3D.3ds
├── media
│   ├── Kirby Robobot Planet
│   │   ├── boxFront.jpg
│   │   ├── logo.png
│   │   └── video.mp4
│   ├── Super Mario 3D Land
│   │   ├── boxFront.jpg
│   │   ├── logo.png
│   │   └── video.mp4
│   ├── Super Street Fighter IV 3D Edition
│   │   ├── boxFront.jpg
│   │   ├── logo.png
│   │   └── video.mp4
│   └── The Legend of Zelda Ocarina of Time 3D
│       ├── boxFront.jpg
│       ├── logo.png
│       └── video.mp4
└── metadata.pegasus.txt

5 directories, 17 files

I trying to replace all in metadata.pegasus.txt with -, but still have same issue

angelmic commented 2 years ago

Have any idea ?

mmatyas commented 2 years ago

Hm no idea, sorry. The filenames are correct, and they do work fine for me on desktop. I can only assume that for some reason, on your new Android version a different path is returned for the games and the assets, and so Pegasus can't match them anymore.

angelmic commented 2 years ago

I change metadata file to only one game

collection: 3DS
shortname: 3DS
extensions: 3ds, 3dsx, app, axf, cci, cxi, elf
launch: am start
 -n org.citra.emu/.ui.EmulationActivity
 -a android.intent.action.VIEW
 -e GamePath "{file.path}"

game: 星之卡比
file: A.3ds
developer: Nintendo
publisher: Nintendo
description: test msg

then change folder struct to

▶ tree -N --sort=version ./
./
├── A.3ds
├── media
│   └── A
│       ├── boxFront.jpg
│       ├── logo.png
│       └── video.mp4
└── metadata.pegasus.txt

after re-launch pegasus, I still see 4 files in 3DS grid.

image
clintonium-119 commented 2 years ago

I ran into a similar issue setting this up on my FireTV, and was able to work around it.

I had made changes to the metadata files that weren't taking. The original metadata had 'placeholder' asset paths, and the windows-compatible launch commands, since I copied them from my Windows machine. After checking what the paths should be on my FireTV, I removed the external USB, and updated the paths appropriately.

However, upon re-inserting the usb, the images weren't showing up, and I noticed that it was still trying to call the .exe launch commands from my previous (now overwritten/updated) windows metadata files. Even after uninstalling and reinstalling Pegasus, it still tried to load had the old metadata from the previous installation.

I fixed it by using a file explorer program, uninstalled pegasus, and found and deleted some 'cruft' left over from the previous installation. (Unfortunately, I didn't take note of where I found some left-over Pegasus files, but it was only in one location)

After this, everything worked on a fresh install of Pegasus. Games launch correctly, assets load. So it seems that the old metadata is cached, and persists even when deleting and reinstalling on Android (at least on FireTV)

NOTE: FireTV (perhaps all android devices - I don't know since this is the only android device I own) does offer the ability to clear an app's cache and/or delete all app data, but neither of these worked to resolve the issue.