ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list
-
This post is deleted! -
@TMNTturtlguy could you check if in the latest, updated from source, main ES the lower ribbon in system view is showing up (the background of the "xxx games available" text)?
It's not showing for me in your theme at the moment, after I merged the latest ES changes, so wanted to check if it's my merged version that's broken or the main one.
Just checked on the updated ES V2.1.8RP and i experience the same results as you do, no bar behind the games available. There is something new in the update between 2.1.6 and 2.1.8 which changes the the way ES works and breaks my current code.
I updated my comic_book.xml with the code i posted earlier and it corrected the issue:
<text name="systemInfo"> <backgroundColor>eeeeee99</backgroundColor> <color>000000</color> <fontPath>./art/Shaka_Pow.ttf</fontPath> <fontSize>0.035</fontSize> </text>
I will try to update the code over the weekend and add the <feature> coding so that it will function on both the udpated ES as well as non carousel ES. Thanks for the heads up. As ES evolves, it appears that sometimes our old theme codes are breaking!
-
@pjft said in ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list:
Anyway, if you do want to download this emulationstation-omx.sh file and copy it to ~/RetroPie-Setup/scriptmodules/supplementary, it should show up in your experimental packages as an option.
Can i bother you to resend the link to the .sh file? When i click on the link you posted it opens the code in a web browser and does not download the file. Alternatively, I suppose i could copy the code into a .xml and save as a .sh? Thank you!
-
@TMNTturtlguy Yeah, we're going through potty training as well right now, though it's going alright-ish. :) What a coincidence.
I tried taking the Pi to work and having it there, though I don't have a lot of time during the day as I wanted to. I might take it with me if I want to compile something, or back it up as those take more time, but are fairly hands off activities.
Definitely if it makes it to the main ES it will be as an option, just like it's in the current OMX build. I would not dare to force it on people, given its limitations, but it also has quite a lot of benefits, especially in regards to performance on the Pi.
In regards to switching easily back and forth, there are two.
One is to re-install the main ES from RetroPie-Setup.
The other is to edit the file at
/usr/bin/emulationstation
(for instance, viasudo nano /usr/bin/emulationstation
) and you'll see one mention to the/opt/retropie/supplementary/emulationstation-omx
folder. Just remove the "-omx" part, and it should point to your original ES folder. Add "-omx" back to point to the new folder.Might be the easiest.
If it's only for one-off tests, though, you can always just straight up run the right executable file in the respective folder. :)
-
@TMNTturtlguy Sure. Either way works, but you can use this link and right-click "Raw" and save as!
-
@pjft got it! With this installed in the experimental packages, will your updates to the project be able to be updated from the setup menu/experimental packages?
-
@jdrassa it looks like it's traced to this. Is this an intended consequence of the change in here, or is it an omission?
Will this change cause unintended issues in other themes? Carbon seemed to work well, so I wonder what causes it here, or whether it was the theme's omission.
@TMNTturtlguy correct. I take it you were able to compile things in the end, then?
-
@pjft haven't had a chance to compile, had to shut the pi down and work! I have a conference call coming up!
Will this change cause unintended issues in other themes? Carbon seemed to work well, so I wonder what causes it here, or whether it was the theme's omission.
I think it is a little of both, might have actually been a bug in the old ES code. I found with testing through @modmaster who was running an old ES that if i intentionally omitted the <backgroundcolor> from the theme code, the ES v2.1.6RP was able to see the correct comic text style and older versions were able to still see the text, but in the standard font type. Basically older versions that v2.1.6RP just ignored the code lines. If however, i had the <backgroundcolor> in the theme, it broke the theme for old versions. I was having trouble with the <feature> tag, so this was my fix.
This explains why it is not an issue with carbon, carbon does not try to modify the text from the standard out of the box ES text for games available.
-
@pjft It is not an intended consequence. I believe the cause is actually this line. Here I am resetting the render flag to false, because I was concerned about what would happen when switching themes. The problem is that the backroundColor theme element can be used on any text element, not just systemInfo. If a user switches from a theme that uses a background color to one that does not, without this, the backgroundColor set by the previous theme would still be rendered.
-
@jdrassa got it. I'm not quite familiar with that code, but it's good that at least you narrowed it down to what the cause might be.
I don't know enough about the themes landscape - are there many themes without background color set, or is it pretty much standard?
If it's quite standard and expected, then I won't worry about changing it. If on the other hand it's a more recent change, I'd be concerned about the compatibility of the older themes, so I might suggest we think about an alternative there. Happy to take a look at the code if it helps - though, admittedly, given that nobody really noticed it yet (whether because of lack of updating, lack of noticing or actually using themes that specify the color) I wouldn't suggest this is in any way a high priority.
Thanks, and have a great weekend!
-
@pjft I ability to theme the background color of a TextComponent is a new feature that was added as part of the carousel changes. Previously, themes did not have the ability to change the system info text. I believe this issue only presents itself for a theme that is making theme changes to the
systemInfo
element, but doesn't set a background color. As such it should not effect any older existing themes that have not been updated. -
@jdrassa @pjft Correct, i did a poor job of trying to explain that above.
Basically older versions that v2.1.6RP just ignored the code lines. If however, i had the <backgroundcolor> in the theme, it broke the theme for old versions. I was having trouble with the <feature> tag, so this was my fix.
This explains why it is not an issue with carbon, carbon does not try to modify the text from the standard out of the box ES text for games available. -
@pjft said in ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list:
@jdrassa it looks like it's traced to this. Is this an intended consequence of the change in here, or is it an omission?
Will this change cause unintended issues in other themes? Carbon seemed to work well, so I wonder what causes it here, or whether it was the theme's omission.
@TMNTturtlguy correct. I take it you were able to compile things in the end, then?
I was able to add it to my experimental packages and run it from there, however once again i got to 81% building CXX objetct es-app/CMakeFiles/emulationstation.dir/src/gamelist.cpp.o and it froze up. This time after about 10 minutes i go the following error.
[1094.865873] Write-error on swap-device (179:0 :3925616)
I wonder what the deal is. I was able to update the entire retropie update all packages. That must be from binary? It appears whenever i try to update from source i have an issue.
I ended up running the setup.sh from putty as you recommended and it ran just fine. Is the surprise me on the options menu new? i don't remember that being there last time!
Another thing that i have been meaning to ask you, this is low priority for sure and may not be possible, but when i am in screensaver mode with my keyboard plugged in, i can press left or right on the arrows and skip videos. When i am using my controller (ps4 wireless with USB dongle) pressing the left or right dpad exits me from the screensaver. 1. is there something on my end i can do to my end with my controller setup to allow the dpad to scroll through screensaver videos? 2. is there code that you can change to make the dpad = the computer arrows?
Thanks!
-
@TMNTturtlguy said in ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list:
I was able to add it to my experimental packages and run it from there, however once again i got to 81% building CXX objetct es-app/CMakeFiles/emulationstation.dir/src/gamelist.cpp.o and it froze up. This time after about 10 minutes i go the following error.
[1094.865873] Write-error on swap-device (179:0 :3925616)
I wonder what the deal is. I was able to update the entire retropie update all packages. That must be from binary? It appears whenever i try to update from source i have an issue.I don't know. It might be that the theme we're now using takes up more memory than ideal, and that changes the memory available for compilation? I know some modules specify a larger swap for compilation - I can edit my script and you can then test it again. If it solves it, I'll bring it to the main ES module as well.
I ended up running the setup.sh from putty as you recommended and it ran just fine. Is the surprise me on the options menu new? i don't remember that being there last time!
@Zigurana added it, for random game selection! You can also press triangle on the PS4 pad to randomly go to a new game :) He deserves all the credit - it was originally in his ES-Kids version, and has recently made it to the main ES branch. That's why it's there now.
Another thing that i have been meaning to ask you, this is low priority for sure and may not be possible, but when i am in screensaver mode with my keyboard plugged in, i can press left or right on the arrows and skip videos. When i am using my controller (ps4 wireless with USB dongle) pressing the left or right dpad exits me from the screensaver. 1. is there something on my end i can do to my end with my controller setup to allow the dpad to scroll through screensaver videos? 2. is there code that you can change to make the dpad = the computer arrows?
Pressing "right" should select a new video. "Left" should exit the screensaver. That should be independent of the device - as long as ES reads that input as "right" it should work. In fact, both "right" and "select" should do the same, though now that we have "triangle" from the "Surprise Me" menu, I might exchange "select" for "triangle" during the screensaver to keep it consistent.
Anyway, if that's not happening for you, I'd suggest maybe trying to remap the DS4 controls in ES? I imagine it only works with the actual D-Pad, not with the analog stick.
Thanks!
-
@TMNTturtlguy Ok. Can you edit the
emulationstation.sh
file in the same supplementary scripts, and where it saysrpSwap on 512
change to a higher value,
rpSwap on 750
and see if it makes a difference? That's my best bet, and since you can consistently replicate it on your end, might be easier to validate if that change helps or not.
When you have the chance, this is not critical. Enjoy your weekend please!
Thanks!
-
@pjft thanks! I will try this today and report back! We are going to the Zoo today! The girls are super excited, so I will report later.
It's interesting about the fact that it may be the theme causing the issue, I am running the same #of systems as before and have optimized the theme so it is now smaller than before. I did not have this issue until this update attempt (updates after ES v2.1.6RP). Another test I might run is changing to carbon theme and then attempting to update from source.
Last thought, well more of a question, I noticed in the docs that instructions for overclocking have changed a bit. For the record I am not oberclocked on any of my builds at the moment, however I do see that the overclock snow suggest setting the total mem to 1024. My question is, why would setting this be negative for anyone? The overclock in this case would simply allow you to use a total mem of 1024 if needed. If the mem is not needed, it should run at whatever is needed, however if more is needed it will allow it to use up to the max at 1024. Should alleviate the issues of the themes right? I also read your post on the flashing of the theme and completely running out of memory, this should help with that as well? Just a question I had since I saw this update to the docs.
You Have a great weekend as well!
-
@TMNTturtlguy Hope the zoo visit went well! :)
Yeah, I mean - I'm just speculating on the cause. It might be completely unrelated to the theme, and it might be just that ES has grown more demanding to compile. I don't know.
I was not aware of that recommendation on the 1024 memory on the overclocking page. From a general standpoint, I wouldn't know why it would be included in that section, given that it does not necessarily relate to overclocking but rather getting more available memory to the system. But I'm not that picky.
From what I was able to read about that, that memory is usually allocated for the gpu to access peripherals - a touch screen, a led or lcd panel plugged to it, etc. It will likely not matter to the majority of users who plug it to a TV via HDMI (I think), but for those who have their RPis connected to such screens or peripherals (like those who build their RPi-based RetroPie on a GameBoy or portable device of sorts), it might not be good to enable.
Also, RPi models who don't have that amount of memory would not want to have that setting enabled (i.e. if they only have 512MB, that setting used to cause some crashes on boot, but seems to have been fixed recently).
That being said, it's just increasing memory by a paltry 16MB. Sure enough, it's more than before, but I'm not sure it'd impact anything significantly.
Hope this clarifies, from what I was able to gather, but I'd love to hear from anyone more knowledgeable about this topic.
Have a great weekend!
-
@pjft Zoo was great! Thanks for your research and input regarding the total memory. I was surprised to see it show up in that doc as well, and with little explanation on why. Based on what you said, it makes perfect sense to me. Later in my day I will fire up the pi and try to reinstall the Main ES build with carbon as my theme and see what happens. I will then make the modifications to my .sh file for your script and run your script with the comic book theme installed and report back.
Side note on the comic book theme, thanks for the input on the logos. I have found that a ghost line appears at the top of several of the system logos. Not sure why as i created them all from the same template, but on several of them 1 pixel width of the dot matrix overlay did not delete from the selection. I am in the process of cleaning those up and they will be in the next release. You must have a nice TV or monitor to pick up on them!
-
@TMNTturtlguy Glad to hear it went well - it's always a hit with the kids!
I do have a large TV, but I'm actually extremely nitpicky in regards to graphical details (you could probably tell when I started picking on the comic filter, and dot sizes), so if there's anything that I feel can help improve, either by myself or by giving feedback, I usually will. :)
Best.
-
@pjft said in ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list:
rpSwap on 512
change to a higher value,
rpSwap on 750and see if it makes a difference? That's my best bet, and since you can consistently replicate it on your end, might be easier to validate if that change helps or not.
@pjft - it is definitely the theme doing it. I can verify that. When i do the update from source from both the Main ES branch and your branch with Carbon as my theme it is fine. When i do the update from source from the command line screen it is fine. When i do it from source with my theme active, stalls at 81% gamelist everytime. That does not sit well with me.....don't like that my theme breaks this process. I am assuming other themes will suffer the same fate.
As for the test above - does not work. Still stalled out at 81%. Can I up that value to 1024?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.