mmatyas / pegasus-frontend

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

Finds but ignores games due to collection adding issues #603

Closed ynadji closed 4 years ago

ynadji commented 4 years ago

tl;dr: Metadata config file contains a collection and one game, but it appears the game doesn't get added to the collection so it doesn't show up in Pegasus. I included the full log output as well as other info below. There are SSL errors, but they seem unrelated to me. Hoping it's just a simple syntax mistake on my end!

System info:

¡ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.10
Release:        19.10
Codename:       eoan
¡ uname -a 
Linux sif 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Config file contents:

¡ cat ~/.config/pegasus-frontend/metafiles/metadata.pegasus.txt
collection: Nintendo Entertainment System
shortname: nes
extensions: nes
command: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes "{file.path}"

game: ten
file: /tmp/10.nes
rating: 40%
description: The game is viewed in a top-down perspective and is vertical
  scrolling. The player does not select plays for either offense or defense. On
  offense, the player simply receives the ball upon the snap and either attempt
  to run with the quarterback, toss the ball to one of two running backs, or
  throw the ball to the one long distance receiver - basically the option
  offense. On defense, the player chooses one of two players to control, and
  the computer manipulates the others. The ball can also be punted or a field
  goal can be attempted.
release: 1985-10-18
developer: Nintendo
publisher: Nintendo
genre: Sports
players: 2

Tried with the following two versions:

# from ubuntu apt
¡ pegasus-fe --version
pegasus-frontend alpha13-46-gca299f4
# just compiled from master
¡ ~/src/pegasus-frontend/build/src/app/pegasus-fe --version 
pegasus-frontend alpha13-46-gca299f4-dirty
¡ pegasus-fe
[i] Program settings loaded
[i] Pegasus alpha13-46-gca299f4 (2020-02-20)
[i] Running on Ubuntu 19.10 (x86_64, xcb)
[i] Found locale `de`
[i] Found locale `en`
[i] Found locale `es`
[i] Found locale `fr`
[i] Found locale `hu`
[i] Found locale `ko`
[i] Found locale `pt-BR`
[i] Found locale `ru`
[i] Found locale `zh`
[i] Locale set to `en`
[i] Found theme `Pegasus Grid` at `:/themes/pegasus-theme-grid/`
[i] Theme set to `Pegasus Grid` (`:/themes/pegasus-theme-grid/`)
[i] SDL version 2.0.10
[i] Metafiles: found `/home/yacin/.config/pegasus-frontend/metafiles/metadata.pegasus.txt`
[w] Metafiles: No metadata file found in `/zfs/fulla/roms/gamelists`, directory ignored
[i] Metafiles: finished game searching in 0ms
[i] Steam: found data directory: `/home/yacin/.local/share/Steam/`
[i] Steam: finished game searching in 0ms
[w] No games found for collection 'Nintendo Entertainment System', ignored
[w] Game 'ten' does not belong to any collections, ignored
[i] Game list post-processing took 0ms
[i] Games found in 1ms
[i] Metafiles: finished asset searching in 0ms
[i] Steam: finished asset searching in 1ms
[i] Skraper Assets: 0 assets found
[i] Skraper Assets: finished asset searching in 0ms
[i] Assets and metadata found in 1ms
[i] 4 games found
[w] qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
[w] qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
[w] qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
[w] qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
[w] qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
[w] qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
[w] qt.network.ssl: QSslSocket: cannot resolve sk_new_null
[w] qt.network.ssl: QSslSocket: cannot resolve sk_push
[w] qt.network.ssl: QSslSocket: cannot resolve sk_free
[w] qt.network.ssl: QSslSocket: cannot resolve sk_num
[w] qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
[w] qt.network.ssl: QSslSocket: cannot resolve sk_value
[w] qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
[w] qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
[w] qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
[w] qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
[w] qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
[w] qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
[w] qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
[w] qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
[w] qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
[w] qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
[w] qt.network.ssl: QSslSocket: cannot resolve SSLeay
[w] qt.network.ssl: Incompatible version of OpenSSL
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qrc:/themes/pegasus-theme-grid/layer_gameinfo/PanelRight.qml:48:5: QML Image: TLS initialization failed
[w] qrc:/themes/pegasus-theme-grid/layer_gameinfo/PanelRight.qml:162:9: QML Image: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[w] qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
[i] Closing Pegasus, goodbye!

At this point, Pegasus loads fine and shows the four Steam games it found, but doesn't show anything from this collection.

mmatyas commented 4 years ago

Hi, thanks for the detailed report! By default collections look for matching files in the directory of the metadata file; to add additional search directories, you can use the directory/directories field, for example:

collection: Nintendo Entertainment System
shortname: nes
extensions: nes
command: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes "{file.path}"
directory: /tmp/nesgames

You can imagine collections as file filters, and game entries as metadata settings operating on the list found by all collections. In this case Pegasus found no .nes files in ~/.config/pegasus-frontend/metafiles ("No games found for collection 'Nintendo Entertainment System', ignored"), and so /tmp/10.nes wasn't found either ("Game 'ten' does not belong to any collections, ignored"). Perhaps the messages/documentation could be indeed a bit cleaner, will see if I can improve it!

(The SSL error is #590.)

ynadji commented 4 years ago

Thanks for the quick resolution! This solved the problem for me.