stuckonretro / CRTPi-Project

A Vanilla+ experience for CRT gamers utilizing Retropie!
GNU General Public License v3.0
70 stars 3 forks source link

Question Regarding Box Art #1

Closed SamuelBanya closed 1 month ago

SamuelBanya commented 1 month ago

Hey there,

I have tried many many many different approaches to getting box art onto your CRT build of Retropie for a Raspberry Pi 3B+.

However even when scraping images on the Pi itself with the built in scraper, it takes a very long time and doesn't even show up on the main theme menu.

I realized after digging on the file system that there is the .emulationstation dot file directory as well, which also houses the game list xml files as well.

I have the entire room sets with box art taken care of on Batocera but if I try using the same images on this CRT image you have for the Pi 3B+, they simply don't show up.

What is the best approach for this as well as the required folder permissions and ownership permissions to force it to play nicely and just display cover art as intended?

Thanks

stuckonretro commented 1 month ago

I haven't supported this repo in a long time, but I'll do my best to help. First and foremost, you'll want to enter these commands at the CLI to ensure you've restored read/write permissions. This is typically the culprit when you can't scrape or update games:

sudo chmod a+rw -R /opt/retropie/configs/ sudo chmod a+x -R /opt/retropie/configs/all/*.sh && sudo chmod a+x -R /home/pi/RetroPie/retropiemenu/*.sh

If you are trying to use room/box sets from another distro, if it uses Emulationstation, they should be compatible, but I cannot promise anything. The gamelist XML files are stored here:

\\retropie\configs\all\emulationstation\gamelists

Some times there's server issues or downtimes with the built in scraper, so you can try other methods like installing SkyScraper either on your Windows PC or through the retropie app catalog.

Please let me know if this helps so I can close the issue. Otherwise, let me know what further issues you have and I'll do my best to help you troubleshoot.

SamuelBanya commented 1 month ago

Awesome man I will give this a shot.

Do you know the preferred gamelist.xml format that would be good for this?

As in, just an example game listing from an actual working setup of yours so that I can compare the two files?

I was debating using 'Skraper' site's tool to scrape the images on my Linux Mint computer and somehow point it to the correct mounted sd card I was using for your CRT build of Retropie.

Either way I appreciate this so much. It is such a badass project to have a 240p output capable build for a Pi 3B+ so I have been so stoked to use it on an older CRT I got earlier this year along with a corresponding 3.5 mm composite cable.

I also ask this because I might just take the existing game lists from my Batocera build from my Steam deck, and place the images and game lists in those specific locations and modify the game lists to fit the exact file path locations that it wants by just replacing the initial part of the file paths with a text editor like Emacs or Vim.

SamuelBanya commented 1 month ago

I think I found the game list xml format on the retropie site, I will see if it can just work with the Batocera based one

https://retropie.org.uk/docs/Scraper/

I also found a video on Skyscraper too:

https://m.youtube.com/watch?v=CF8BaAU-Wds

Gonna give this a shot and report back later

stuckonretro commented 1 month ago

This is a direct dump from one of my XML files, and it is how all the games are structured:

<?xml version="1.0"?>
<gameList>
    <game>
        <path>./Chrono Trigger (U) [!].zip</path>
        <name>Chrono Trigger</name>
        <desc>The millennium. A portal is opened. The chain of time is broken. A young man is transported into the past, altering the course of history and the outcome of the future. He has to find his way home, but first he must travel to the outer edges of time to repair the world's chronology. On the way he encounters strange friends and foes, utilizes incredible devices and vehicles, and penetrates and neutralizes the fortresses of the past, present, and future. A paradox has been created. If he does not restore the order of time, nothing will ever be the same. He is the one who will become a hero. He is Crono.</desc>
        <image>/home/pi/.emulationstation/downloaded_images/snes/Chrono Trigger (U) [!]-image.jpg</image>
        <video>/home/pi/.emulationstation/downloaded_images/snes/Chrono Trigger (U) [!]-video.mp4</video>
        <rating>0.8</rating>
        <releasedate>19950311T000000</releasedate>
        <developer>Squaresoft</developer>
        <publisher>Squaresoft</publisher>
        <genre>Role-Playing</genre>
        <favorite>true</favorite>
        <playcount>3</playcount>
        <lastplayed>20171106T052451</lastplayed>
    </game>
</gameList>
SamuelBanya commented 1 month ago

I tried to use that Skyscraper program within the 'retropie-config' menu option on the Pi itself.

More specifically I found out how to run it while in terminal with F4.

I let it scrape the images of what it could before it ran out of the daily allotted image queue from Skraper or wherever it pulls from.

I then forced it to create the game list XML files.

I restarted, and I still see no cover art. The game xml files point to using ./images, that's what I noticed, and doesn't make sense because I thought it should at least look at .emulationstation/downloaded_images, and not within the retropie/roms/(system)/images folder.

The interesting thing is that I noticed for the 240p suites on some of the systems, I DO see cover art for them.

More interesting than that, the images for those test programs are in the retropie/roms/(system). This makes absolutely no sense and is driving me crazy in some respect.

I kind of just wish the box art just worked. To limit the hell I'm going through, I am just going to keep it to NES, SNES, Turbo (PC engine), and Genesis for sanity purposes.

But yeah idk dude, this is kind of making no sense, even when I am actually using it the built in scraper...

SamuelBanya commented 1 month ago

Wow, phew!

A great update on my end, I got it to work! :)

Anyone coming from Batocera that has an entire scraped images folder for roms can follow along:

Steps For Copying Over Box Art From Batocera Into This CRT Specific Image Of Retropie For Raspberry Pi 3B+: Open the Raspberry Pi 3B+ with this CRT image of Retropie, and go to the file manager in the Retropie settings aka it will open up Midnight Commander.

Plug in the external USB or hard drive or in my case, the USB adapter that reads micro SD cards, specifically the micro sdard for Batocera that I made for my Steam Deck.

While still in Midnight Commander, hit 'C-o' aka Control + 'o' (o key as in 'orange').

This will allow you to run a related terminal command.

Use 'lsblk' to list the drives connected to the Pi. It will probably be /dev/sda or /dev/sdb, but pay attention the actual partitions. In my case it was /dev/sda2, so I used the following command:

mount /dev/sda2 /media/usb3

This mounted that Batocera drive to the /media/usb3 folder.

Hit 'C-o' to get back to the Midnight Commander interface.

Go to each system folder on the mounted Batocera drive on the left pane, and navigate to each system folder and look for the images folder. Highlight that images folder and hit tab.

On the right pane, navigate to /home/pi/RetroPie/roms, and navigate to the same system folder.

Hit tab to go back to the left pane, and copy over the 'images' folder by hitting the F5 key and hitting enter.

For example, I copied the /media/usb3/rons/nes/images folder on the left, to the /home/pi/RetroPie/roms/nes folder on the right.

Do this for every system.

Tip: If you need to select 'all files' in a given directory for whatever reason, you can hit Shift + '-' (minus key) and hit enter after you confirmed '*' (asterisk) is being used as the file glob pattern. Control + 't' (as in tomato) key also allows you to select and deselect files before copying.

Then, exit Midnight Commander by typing 'exit' and hit enter.

Then, when you're back in the main Emulation Station, hit F4 to enter terminal.

Then, run the following command: Sudo RetroPie-Setup/retropie_setup.sh

Then, go to Manage Packages > opt: Manage Optional Packages > Skyscraper (usually at the bottom) > Configuration/ Options > Generate game lists.

Pick the systems you need and hit ok.

This will regenerate the game lists accordingly. Restart the Pi with the 'sudo reboot' command, and you should now see cover art.

Thanks for bearing with me on this! Badass image my dude!

SamuelBanya commented 1 month ago

Closing issue