ES Gamelist Scroll Bug - Black boxes appear when rapidly scrolling through the game list
-
@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?
-
@TMNTturtlguy I imagine you can, but I'm not the expert in that area. I've seen that change being applied in other out of memory occasions, so I assumed it'd help.
I believe this thread has probably already gone quite off topic and others who may have more to add or help won't see it.
I'd suggest either creating a new topic and/or filling a bug in RetroPie-Setup, both stating the error, when it works, and the steps you've taken so far to test and troubleshoot. I'll sure someone who actually knows their business will help, rather than me sending you on wild goose chases. :)
I'll still send you on those, though, but the odds of someone sorting it out are higher :D
-
@pjft Thanks! You identified the solution, just update with another theme or from command line, we are good for now, others will start having problems in the future as we continue to have more complex themes. I will start a new thread and open a case.
-
@TMNTturtlguy thanks. Just confirming, this happens with the main ES branch as well? If so, I'm fairly sure others will be running into this as well, just haven't updated ES in a while, so definitely submit it.
If it's only on my merged version, it's a trickier case as it may be dismissed (potentially correctly so) as being related to something on my end.
Best.
-
@pjft it is on the main branch as well. I just successfully updated from source after changing rpswap to 1024! will open a new thread and submit. This solution will only work for RPI3 :(
-
@TMNTturtlguy great that you found that.
Well, I'm not sure that's the case. I don't know what that particular setting does, but a swap file is usually something you'd write on disk, and not as much related to the physical memory. In fact, you're doing it so that the system does have enough memory to compile, by resorting to a larger swap file.
Also, a pi 2 also has 1gb of RAM, I believe. :)
Well done in tracking it down.
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.