Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
display_issues [2020/09/22 22:45] – lbrpdx | display_issues [2024/02/23 02:17] (current) – [I see the Batocera splash screen, but then it turns black/no input] lbrpdx | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~NOTOC~~ | + | ====== Display Troubleshooting ====== |
+ | |||
+ | ===== I have no display ===== | ||
+ | |||
+ | If you know Batocera is booting (the network share is available, you can SSH in, you hear some music, etc.) but you have no display, it could be that Batocera is using a different display than intended. The simple solution to this is to unplug and replug the display, Batocera should automatically switch over to the newest display that was plugged in (sometimes, a laptop that is plugged in to its external port will " | ||
+ | |||
+ | If that still isn't working, try [[: | ||
+ | |||
+ | < | ||
+ | export DISPLAY=: | ||
+ | batocera-resolution listOutputs | ||
+ | batocera-resolution setOutput <your intended output here> | ||
+ | </ | ||
+ | |||
+ | If that //still// isn't working, then it's recommended to skip straight to the [[# | ||
+ | |||
+ | ==== I see the Batocera splash screen, but then it turns black/no input ==== | ||
+ | |||
+ | It is possible that the official graphics drivers have not been automatically detected and used, and the fallback open-source alternative driver is not able to provide the display output (typical if on " | ||
+ | |||
+ | If the correct drivers are being used and it's still not working, it's possible that the prime switcher also needs to be toggled (common on modern laptops connected to external displays). In case Batocera hasn't been able to automatically detect this for you, [[: | ||
+ | |||
+ | It can also be the case of a dead USB flash disk. The USB flash drive isn't "dead enough" | ||
+ | |||
+ | If using a HP EliteDesk specifically, | ||
+ | |||
+ | As a general rule, when you face a black screen during the boot sequence, it can be helpful to [[troubleshooting# | ||
+ | |||
+ | ===== The edges of my screen are cut off! ===== | ||
+ | |||
+ | Most modern TVs come with some sort of setting that slightly zooms in the image. This is normally done to prevent garbage pixels from displaying in broadcasts (remnant of a bygone era). Normally, the TV is meant to turn this off when using an input device like a PlayStation or a computer, but sometimes it fails to recognize this and keeps it on. Usually you can turn it off manually in that case. | ||
+ | |||
+ | This setting does not have a consistent name between manufacturers. Names to look out for while scouring through your option menus: "Just scan", "Pixel ratio", | ||
+ | |||
+ | ===== My screen keeps blinking ===== | ||
+ | |||
+ | It could be that the TV reports as supporting a refresh rate it isn't actually tuned for, occasionally slipping outside of the expected range (which cuts off the signal momentarily). In this case, try different " | ||
+ | |||
+ | If on a device that uses the DRM service specifically (such as [[: | ||
===== Emulation with 4K and ultrawide monitors, or problems when your screen is not fully displayed ===== | ===== Emulation with 4K and ultrawide monitors, or problems when your screen is not fully displayed ===== | ||
Older 8-bit and 16bit systems, or arcade systems from the 80s and 90s were using 4:3 CRT screens. Modern displays are now 16:9 or wider, and can go up to 4K, i.e. 2160 pixels high (compared to 480 or 546 at the time!). | Older 8-bit and 16bit systems, or arcade systems from the 80s and 90s were using 4:3 CRT screens. Modern displays are now 16:9 or wider, and can go up to 4K, i.e. 2160 pixels high (compared to 480 or 546 at the time!). | ||
- | Having so many pixels to render on the screen is impactful on the system performance. When you have a 4K screen or an ultra-wide screen, Batocera will limit the resolution by default to HD 1920x1080. It's more than enough to render emulators, even the most recent | + | Having so many pixels to render on the screen is impactful on the system performance. When you have a 4K screen or an ultra-wide screen, Batocera will limit the resolution by default to HD 1920x1080. It's more than enough to render emulators, even the most recent |
- | Another use case is when you have a 1280x720 TV, for example, and you want to use bezels | + | For 4K monitors, because the resolution |
- | Tip: you can tweak your system with '' | + | {{ :minihd_in_4k.png? |
- | 1. Know what are the resolutions available on your system + TV combination by entering the command | + | First, check your TV's scaling settings to ensure that it is currently set to " |
- | # batocera-resolution | + | If you've checked for that and the image is still tiny, the best solution is to manually set the resolution |
- | | + | |
- | | + | |
- | 2:1920x1080 | + | |
- | 3:1920x1080 | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | 2. Then, choose the mode from the list that is the one you want to force to RetroArch. For example, if I want to force '' | + | {{ : |
- | | + | |
- | Emulators will then all select mode 1 = 2560x1080 from the list above as their screen resolution. If I want to select | + | Another use case is when you have a 1280x720 TV, for example, and you want to use bezels |
- | Batocera 5.27 and later will automatically resize 1920x1080 bezels to ultrawide by adding black borders on the sides. It will also resize full HD 1080 bezels to HD-ready 720p. | + | If you absolutely want to use the 4K resolution for whatever reason (shaders looking better, you have a non-standard wide format on your TV/ |
- | 3. EmulationStation ignores this parameter. If you want to put ES in a specific | + | <WRAP center round important> |
+ | Setting the resolution to force 4K has an impact on the emulation performance. | ||
+ | </WRAP> | ||
- | HOME=/ | + | ==== Everything is appearing too small in the file manager! ==== |
- | Don't forget to '' | + | If you use Batocera with a display that provides a high resolution like a 4K monitor, you might have trouble reading the text on the file manager ('' |
- | 4. If you ask for a 4K 3840x2160 resolution, but with a bezel that is HD 1920x1080, by default Batocera will add black borders around the bezel. If you want your display to be full screen, you can either: | + | ## DPI |
+ | ## Workaround when correct DPI setting | ||
+ | ## if fonts are too small, uncomment next line | ||
+ | #global.dpi=96 | ||
- | - switch to a lower resolution | + | ===== When EmulationStation feels sluggish on a 4K TV ===== |
- | - add a line '' | + | |
+ | <WRAP center round info> | ||
+ | This shouldn' | ||
+ | </ | ||
+ | |||
+ | There are some SBC + TV combinations where EmulationStation feels sluggish | ||
+ | |||
+ | ==== Force 1080p as the maximum resolution despite what the EDID may report ==== | ||
+ | |||
+ | In Batocera **v31** and higher, the '' | ||
+ | |||
+ | < | ||
+ | es.resolution=max-1920x1080 | ||
+ | </ | ||
+ | |||
+ | You can also force a maximum resolution of 640x480 instead for really slow devices: | ||
+ | |||
+ | < | ||
+ | es.resolution=max-640x480 | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | For earlier versions of Batocera (**v29** and **v30**), this option cannot be selected in '' | ||
+ | |||
+ | < | ||
+ | system.es.maxresolution=1920x1080 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | After this, Batocera will take the most suitable refresh rate for the maximum resolution specified and use that. | ||
+ | |||
+ | ==== Force any specific supported resolution in ES instead of the default maximum one ==== | ||
+ | |||
+ | You can get the list of all supported resolution modes by running the following commands [[: | ||
+ | |||
+ | < | ||
+ | export DISPLAY=: | ||
+ | batocera-resolution listModes | ||
+ | </ | ||
+ | |||
+ | For example: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Any resolution listed here can be used in the ''es.resolution'' | ||
+ | |||
+ | ===== My EDID is not working | ||
+ | |||
+ | Certain Raspberry Pis seem to have a hard time parsing | ||
+ | |||
+ | Navigate to '' | ||
+ | |||
+ | <code ini> | ||
+ | hdmi_ignore_edid=0xa5000080 | ||
+ | hdmi_group=1 | ||
+ | </ | ||
+ | |||
+ | Then any HDMI mode can be used (even ones that your display won't work with, be careful!). Refer to [[https:// | ||
===== Display issues, when xrandr is your friend ===== | ===== Display issues, when xrandr is your friend ===== | ||
- | **This section is for PC x86 and x86_64, not for SBCs like Raspberry Pi or Odroid.** | + | **This section is for PC x86 and x86_64, not for SBCs like Raspberry Pi or Odroid, and mostly outdated as most cases should be handled with the section above.** |
- | This tutorial is useful if you have display issues, for instance if you need to rotate your screen, or anything else.\\ | + | This tutorial is useful if you have display issues, for instance if you need to rotate your screen, or use a lower refresh rate. |
- | \\ | + | |
- | For example, I have a 4k UHD TV, Batocera | + | <WRAP center round important> |
- | \\ | + | On Batocera **v30** and lower, Batocera |
- | First of all, you need to connect on your Batocera through SSH. You can find a "How to" by following [[access_the_batocera_via_ssh |this link]]. | + | |
+ | Fortunately, | ||
+ | </ | ||
+ | |||
+ | First of all, you need to [[: | ||
- | Okay, now you're connected on your Batocera, let's begin.\\ | ||
< | < | ||
- | # cp / | + | export DISPLAY=: |
- | # export DISPLAY=: | + | xrandr |
- | # xrandr | + | |
</ | </ | ||
- | If you have an error message telling you "can't open display :0.0", you need to physically log onto your Batocera system | + | This will output your display's reported |
- | Search this section on xrandr :\\ | ||
< | < | ||
Screen 0: minimum 8 x 8, current 1366 x 768, maximum 32767 x 32767 | Screen 0: minimum 8 x 8, current 1366 x 768, maximum 32767 x 32767 | ||
Line 95: | Line 164: | ||
640x480 59.94 | 640x480 59.94 | ||
</ | </ | ||
- | Here's the available | + | |
- | The current resolution is marked with a " | + | <WRAP center round help> |
+ | If you have an error message telling you "can't open display | ||
+ | </ | ||
+ | |||
+ | If you'd like to edit the display output, you can add your modification in a script ''/userdata/system/custom-es-config'' | ||
+ | |||
+ | You can edit the file from SSH by running the following: | ||
< | < | ||
- | # vi ~/.xinitrc | + | nano /userdata/ |
</ | </ | ||
- | You'll see a section | + | |
+ | and then saving that file to ''/ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | For Batocera **v31** and lower, this would be '' | ||
+ | </ | ||
+ | |||
+ | The most usual customisations are already described in ''/ | ||
< | < | ||
##################### | ##################### | ||
## CUSTOMISATIONS ### | ## CUSTOMISATIONS ### | ||
- | # to customize your display, you can copy this file to ~/.xinitrc and then modify it | + | # to customize your display, you can create the file /userdata/ |
+ | # including this kind of commands | ||
# rotate the screen | # rotate the screen | ||
# xrandr -o left | # xrandr -o left | ||
Line 121: | Line 205: | ||
</ | </ | ||
- | Just uncomment | + | You can just copy and paste the relevant part (without the first ''#'' |
< | < | ||
- | ... | + | # |
# change the resolution | # change the resolution | ||
xrandr -s 640x480 | xrandr -s 640x480 | ||
+ | </ | ||
+ | To instead change the resolution to 1280x720 at 120Hz: | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
# change the resolution and the Hz | # change the resolution and the Hz | ||
- | ... | + | xrandr -s 1280x720 -r 120 |
</ | </ | ||
- | Let's save and quit ([Esc]:wq for //vi//).\\ | + | |
- | Actually, your Batocera's display isn't in full screen yet. You must see it only partially, | + | Save the file with '' |
+ | |||
+ | |||
+ | |||
+ | <WRAP center round important> | ||
+ | In Batocera **v31** and lower, the original file was at '' | ||
< | < | ||
- | # exec emulationstation --windowed | + | cp / |
</ | </ | ||
- | Then restart Emulstation | + | </ |
+ | |||
+ | |||
+ | EmulationStation by default runs in full-screen, | ||
< | < | ||
- | # / | + | exec emulationstation --windowed |
- | # / | + | |
</ | </ | ||
- | Batocera should be in full screen | + | |
- | **__/!\__ BUT __/!\__** if you reboot the Batocera system, you'll have to do this again, the resolution | + | Then restart EmulationStation |
- | We need to force it for every boot.\\ | + | |
- | As you can see at the beginning of this tutorial, we copied the xinitrc file to a temporary folder.\\ | + | |
- | We need to erase the current xinitrc file with our modified version. It is the same as the first code block, but reversed:\\ | + | |
< | < | ||
- | # cp ~/.xinitrc | + | /etc/init.d/ |
- | # batocera-save-overlay | + | /etc/init.d/S31emulationstation start |
</ | </ | ||
- | Now, reboot | + | |
- | Also, '' | + | If you were to reboot Batocera |
- | \\ | + | |
- | Hope this was easy for all.\\ | + | < |
+ | batocera-save-overlay | ||
+ | </ | ||
+ | |||
+ | <WRAP center round tip> | ||
+ | '' | ||
+ | </ | ||
+ | |||
+ | Hope this was easy for all. | ||
+ | |||
+ | ==== My TV isn't respecting that! ==== | ||
+ | |||
+ | Another method to manually set your output resolution is by utilizing a custom boot script. Replace ''< | ||
+ | |||
+ | <file bash custom.sh> | ||
+ | # | ||
+ | |||
+ | if test -z " | ||
+ | then | ||
+ | export DISPLAY=: | ||
+ | fi | ||
+ | |||
+ | ## Manually set resolution | ||
+ | xrandr --output < | ||
+ | </ | ||
+ | |||
+ | For example: '' | ||
+ | |||
+ | Just make sure you remember that you've done this in the future, as it will override any other settings you may have set via any of the above methods. | ||
+ | |||
+ | |||
+ | ===== What's the current X.Org X Server version installed? ===== | ||
+ | |||
+ | The current version of Xorg Batocera is using can be checked by running the following: | ||
+ | |||
+ | <code bash> | ||
+ | head / | ||
+ | </ |
- display_issues.1600807507.txt.gz
- Last modified: 4 years ago
- by lbrpdx