Solution for " White Screen of Death "
-
Which raspberry pi model do you have?
Please consider merging some systems together to reduce the overall burden.
-
I have the Raspberry PI 3. This ist my config.txt:
# For more options and information see # http://www.raspberrypi.org/documentation/configuration/config-txt.md # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. arm_freq=1300 core_freq=500 over_voltage=2 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=256 overscan_scale=1 gpu_mem=256
I tried it by gpu_mem= with: 256, 384, 512, 640
-
@Cybermen said in Solution for " White Screen of Death ":
I tried it by gpu_mem= with: 256, 384, 512, 640
ahhh, but if you read the wiki page, that setting will do nothing for you:
https://github.com/RetroPie/RetroPie-Setup/wiki/Memory-SplitAlso note that in order to ensure sensible memory splits across Pi models, RetroPie utilises the gpu_mem_256, gpu_mem_512 and gpu_mem_1024 overrides, which apply to Pis with that amount of memory (for example, the Pi 2 has 1024MB memory, so will use the gpu_mem_1024 setting). This setting overrides the gpu_mem setting that is described below, so if you still want to adjust the memory split, you will have to manually edit /boot/config.txt and adjust the relevant value, or delete the lines entirely.
ie, for a raspberry pi 3, you want to edit
gpu_mem_1024 = 256
keep raising it till it works for you :) 384 should be safe and fix it.
-
@Cybermen please format code blocks properly as described on the read this first page on my signature
-
Wow , many thanks dankcushions . it works beautifully ! I have the Wiki read but unfortunately misunderstood , you have brought me only on the right way , many thanks . problem solved , so it works .
-
I added formatting to his post.
-
@dankcushions said in Solution for " White Screen of Death ":
@Cybermen said in Solution for " White Screen of Death ":
I tried it by gpu_mem= with: 256, 384, 512, 640
ahhh, but if you read the wiki page, that setting will do nothing for you:
https://github.com/RetroPie/RetroPie-Setup/wiki/Memory-SplitAlso note that in order to ensure sensible memory splits across Pi models, RetroPie utilises the gpu_mem_256, gpu_mem_512 and gpu_mem_1024 overrides, which apply to Pis with that amount of memory (for example, the Pi 2 has 1024MB memory, so will use the gpu_mem_1024 setting). This setting overrides the gpu_mem setting that is described below, so if you still want to adjust the memory split, you will have to manually edit /boot/config.txt and adjust the relevant value, or delete the lines entirely.
ie, for a raspberry pi 3, you want to edit
gpu_mem_1024 = 256
keep raising it till it works for you :) 384 should be safe and fix it.
So i use the carbon theme but i have custom made themes on the gamelist for 11 systems. If i add 1 or two more i end up with it locking up scrolling through the games. If i add 3 i get a white screen. On my pi 3 if i change the 1024 to 384 it still white screens on the same amount of themes as on 256. Any clue why that change wont fix it. I can post my config.txt if i need.
-
There's a minimum amount of VRAM required to display certain size wallpapers. If you have just 1, 1920x0180 wallpaper, you MUST have 256 meg RAM split. But that 256 RAM split will take you up to 10 or so wallpapers. The next jump is probably 512 split. Which should still be just fine with most of the emulators that the Pi can handle.
You can make sure your theme wallpapers are 720p and that will help you with the RAM issues. ES was not designed for the Pi, but it works.
The Carbon theme was designed for the Pi's limited video RAM just for the white screen problems. If you're going to make some custom themes, try thinking in 'parts' instead of 'wallpapers.' Several 512x512 images take less VRAM than a 1920x1080 wallpaper. Try to re-use elements so ES doesn't have to fill VRAM with a massive picture.
-
Thread moved - help questions should go to the help & support area.
-
@Rookervik said in Solution for " White Screen of Death ":
There's a minimum amount of VRAM required to display certain size wallpapers. If you have just 1, 1920x0180 wallpaper, you MUST have 256 meg RAM split. But that 256 RAM split will take you up to 10 or so wallpapers. The next jump is probably 512 split. Which should still be just fine with most of the emulators that the Pi can handle.
You can make sure your theme wallpapers are 720p and that will help you with the RAM issues. ES was not designed for the Pi, but it works.
The Carbon theme was designed for the Pi's limited video RAM just for the white screen problems. If you're going to make some custom themes, try thinking in 'parts' instead of 'wallpapers.' Several 512x512 images take less VRAM than a 1920x1080 wallpaper. Try to re-use elements so ES doesn't have to fill VRAM with a massive picture.
On the system select screen it is still carbon on the inside its custom. the pics are really really tiny because i made them previously on the simple theme and it uses the stretching. Most of the pics are around 10x10 pixels. They have different fonts in each console though. The fact that i can have eleven of them on 256 megs but cant have 14 of them on 384 makes no sense.
-
That is very strange. A 10x10 pixel image will take the VRAM of a 16x16 image. Everything unwraps to a power of 2. As long as these images are not SVGs. An SVG stretched to full screen takes a canvas to display, and that canvas takes the full VRAM of that area. So even if the SVG has a single line in it, and the file size is 0.5kb, it will take the same VRAM as a 1080p PNG uncompressed. Fonts shouldn't take too much RAM, and they are regular RAM. Try 512 RAM split. 384 hasn't ever made any difference for me before.
If you're still bothered by things, you can try zipping up the theme and sending it to me. I can look at it and figure out what you problem is.
-
@Rookervik said in Solution for " White Screen of Death ":
That is very strange. A 10x10 pixel image will take the VRAM of a 16x16 image. Everything unwraps to a power of 2. As long as these images are not SVGs. An SVG stretched to full screen takes a canvas to display, and that canvas takes the full VRAM of that area. So even if the SVG has a single line in it, and the file size is 0.5kb, it will take the same VRAM as a 1080p PNG uncompressed. Fonts shouldn't take too much RAM, and they are regular RAM. Try 512 RAM split. 384 hasn't ever made any difference for me before.
If you're still bothered by things, you can try zipping up the theme and sending it to me. I can look at it and figure out what you problem is.
So changing the
gpu_mem_1024=500
made absolutely no difference. Most of my themes have an 8x8 solid color block. Maybe 2 of them. If they need a stripe on the top it might have a 1x343 pic. A few of the ones i have working have a pic of woodgrain or metal for the top or bottom less than 350x350. None of the 3 / 4 themes i am trying to add use more than 2 8x8 pics. None of the ones i am trying to add have a pic bigger than 8x8.EDIT: is there a way to verify how much ram is being used for the gpu? I have a whole extensive overclocking list of stuff that i got from someone online for running n64 games and when i had it all set in the config.txt it made absolutely no improvements. And that had my cpu overclocked at 1450 and i saw no improvement. So im not sure if the themes my problem now or if overclocking and ram split is a problem. I have to have force_edid_audio for the sound to work on my tv but i wouldnt think that would affect this. It tells me it cant be overclocked in raspi-config on both 3.7 and 4.0 beta 2. I will start a new thread on the config.txt problems if that is my issue
-
So tell me, is this white screen a completely white screen, so you can't see anything, or is it a white theme with none of your theming elements? From what you're saying, you are actually using less assets than Carbon itself. Which can load 60 systems without RAM issues. Does your theme look like this when you load it? If so, the theme xml files have errors in them.
Also, keep in mind that the RAM splits should stay in powers of 2. Just like any images you use in the theme. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096... Your 1x343 image uses the same RAM a 512x512 image would take, as does the 350x350 image. They all unfold to a power of 2 in VRAM.
-
@Rookervik said in Solution for " White Screen of Death ":
So tell me, is this white screen a completely white screen, so you can't see anything, or is it a white theme with none of your theming elements? From what you're saying, you are actually using less assets than Carbon itself. Which can load 60 systems without RAM issues. Does your theme look like this when you load it? If so, the theme xml files have errors in them.
Also, keep in mind that the RAM splits should stay in powers of 2. Just like any images you use in the theme. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096... Your 1x343 image uses the same RAM a 512x512 image would take, as does the 350x350 image. They all unfold to a power of 2 in VRAM.
No my theme stuff is not blank. All the themes i have added and are trying to add all work. I just boot to a pure white screen when i have too many of them.
-
Welp, I've suggested everything I can think of. I've made 3 or 4 themes and if you keep the assets small in size then you don't run into memory issues. You say your assets are small, so I can't really figure out what the problem is. Sorry. :(
-
Even though this white screen of death has been addressed on the official emulationststion website, has anyone come up with a fix? I am on testing some theories this weekend.
-
@KillerQ unless these theories include recoding the source code of emulationstation, all attempts will just be a band-aid that will barely address the symptoms rather than a cure. I know @fieldofcows had talked about some stuff he was working on with SQLite and the metadata and I'm sure he's been working on the wsod as well, but it's a pretty massive change
-
Where's this "Zoid Theme" hiding? I need to look at it.
-
@KillerQ And as Herb mentioned, there is no cure for the Raspberry Pi version of ES. There simply isn't enough RAM to use themes with large graphical assets.
EmulationStation renders the ENTIRE THEME onto a massive canvas. The viewing area is then slid around viewing this canvas. Changing systems, moving back to the system select. It's because of this massive canvas with all of the art pasted that the Raspberry Pi runs out of Video RAM. Desktop PCs tend to have gigabytes of RAM available for graphics. Not the Pi. So while the Pi can handle a couple systems with 1080p art... when you start adding more and more systems... the ES canvas gets gigantic and the pi just flat can't load all that art and keep it in RAM. There is no cure or fix for it. Just a reduction in the size of assets. That's all you can do because of how ES displays themes.
-
You mentioned above that Carbon can load 60 systems before reaching the WSOD issue. Are there any factors that would compound the problem and lower that number, such as the addition of video previews or even an excess of scraped cover art?
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.