Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
display_issues [2022/09/30 09:00] – no longer need manual action ataridisplay_issues [2025/07/26 14:05] (current) – [My screen shows tearing in both EmulationStation and games] hankerde
Line 1: Line 1:
 ====== Display Troubleshooting ====== ====== 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 "connect" that first before connecting its internal display, causing the internal display to be connected "last").
 +
 +If that still isn't working, try [[:access_the_batocera_via_ssh|SSH'ing in]] and run the following:
 +
 +<code>
 +export DISPLAY=:0.0
 +batocera-resolution listOutputs
 +batocera-resolution setOutput <your intended output here>
 +</code>
 +
 +If that //still// isn't working, then it's recommended to skip straight to the [[#my_edid_is_not_working_on_my_raspberry_pi_specifically|advanced display debugging]].
 +
 +==== 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 "bleeding-edge" hardware released in the last year). If that's the case, [[:supported_pc_hardware|they can be manually activated]] by editing the ''batocera-boot.conf'' file.
 +
 +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, [[:supported_pc_hardware#hybrid_optimus_nvidia_laptops|you can manually activate the prime switching]] by editing the ''batocera-boot.conf'' file.
 +
 +It can also be the case of a dead USB flash disk. The USB flash drive isn't "dead enough" to prevent from booting, but some there are missing parts in the boot sequence and it just hangs at some point, and we've seen this happening after the splash screen. In doubt, try with another USB flash drive.
 +
 +If using a HP EliteDesk specifically, [[:usff_nuc_mini_pcs#hp_mini_micro_small_form_factor_pcs|it may require certain BIOS settings]] or else the GPU might be disabled by the motherboard.
 +
 +As a general rule, when you face a black screen during the boot sequence, it can be helpful to [[troubleshooting#verbose_boot|enable verbose boot mode]] for troubleshooting.
  
 ===== The edges of my screen are cut off! ===== ===== The edges of my screen are cut off! =====
Line 17: Line 43:
 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 ones. However, when you have an ultra-wide monitor, the display may be stretched. +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 **v31** to FIXME will limit the resolution by default to HD 1920x1080. In Batocera FIXME and higher, you must edit the resolution used in **SYSTEM SETTINGS** -> FIXME to the display's compatible 1920x1080 mode. It's more than enough to render emulators, even the most recent ones. However, when you have an ultra-wide monitor, the display may be stretched. 
  
 For 4K monitors, because the resolution is by default resized to 1920x1080, you might see a screen that looks like this one (actually it's what 1:1 pixel scaled 1920x1080 is, centered in a 3840x2160 screen): For 4K monitors, because the resolution is by default resized to 1920x1080, you might see a screen that looks like this one (actually it's what 1:1 pixel scaled 1920x1080 is, centered in a 3840x2160 screen):
Line 36: Line 62:
 Setting the resolution to force 4K has an impact on the emulation performance. Setting the resolution to force 4K has an impact on the emulation performance.
 </WRAP> </WRAP>
 +
 +==== Everything is appearing too small in the file manager! ====
 +
 +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 (''[F1]'' on the system list on PC) or the configuration screens of a few emulators. You can change the default DPI settings by editing ''batocera.conf'' and look for the section: 
 +
 +  ## DPI
 +  ## Workaround when correct DPI setting is not detected
 +  ## if fonts are too small, uncomment next line
 +  #global.dpi=96
  
 ===== When EmulationStation feels sluggish on a 4K TV ===== ===== When EmulationStation feels sluggish on a 4K TV =====
Line 43: Line 78:
 </WRAP> </WRAP>
  
-There are some SBC + TV combinations where EmulationStation feels sluggish (default theme seems to be lagging behind, with a refresh rate like 10 FPS). It's really depending on your own configuration, but we have reproduced this with a Raspberry Pi 4 and a couple 4K TV models. By default, ES should negotiate with your TV to fix its resolution to 1080p, but sometimes your TV brand doesn't accept it and stays at 4K/2160p resolution. You can force a particular resolution by [[:edit_boot_partition|editing]] it into ''/boot/batocera-boot.conf''.+There are some SBC + TV combinations where EmulationStation feels sluggish (default theme seems to be lagging behind, with a refresh rate like 10 FPS). It's really depending on your own configuration, but we have reproduced this with a Raspberry Pi 4 and a couple 4K TV models. By default, ES should negotiate with your TV to fix its resolution to your specified resolution in FIXME, but sometimes your TV brand doesn't accept it and stays at 4K/2160p resolution. You can force a particular resolution by [[:edit_boot_partition|editing]] it into ''/boot/batocera-boot.conf''.
  
 ==== Force 1080p as the maximum resolution despite what the EDID may report ==== ==== Force 1080p as the maximum resolution despite what the EDID may report ====
Line 80: Line 115:
 For example: For example:
  
-<code> +{{:new_video_listoutputs.png|SSH session showing a large list of video modes reported by the display's EDID.}}
-[root@BATOCERA /userdata/system]# export DISPLAY=:0.+
-[root@BATOCERA /userdata/system]# batocera-resolution listModes +
-max-1920x1080:maximum 1920x1080 +
-max-640x480:maximum 640x480 +
-3840x2160:3840x2160 +
-4096x2160:4096x2160 +
-1920x1080:1920x1080 +
-1360x768:1360x768 +
-1280x1024:1280x1024 +
-1280x720:1280x720 +
-1152x864:1152x864 +
-1024x768:1024x768 +
-800x600:800x600 +
-720x576:720x576 +
-720x480:720x480 +
-640x480:640x480 +
-</code>+
  
-Any resolution listed here can be used in the ''es.resolution'' line in ''/boot/batocera-boot.conf''. For example, [[:edit_boot_partition|open the batocera-boot.conf file]] and add ''es.resolution=1280x720'' to force ES to run at a resolution of 1280x720.+Any resolution listed here can be used in the ''es.resolution'' line in ''/boot/batocera-boot.conf''. For example, [[:edit_boot_partition|open the batocera-boot.conf file]] and add ''es.resolution=1280x720.59.94'' to force ES to run at a resolution of 1280x720.
  
 ===== My EDID is not working on my Raspberry Pi specifically ===== ===== My EDID is not working on my Raspberry Pi specifically =====
Line 114: Line 132:
 Then any HDMI mode can be used (even ones that your display won't work with, be careful!). Refer to [[https://www.raspberrypi.com/documentation/computers/config_txt.html#video-options|Raspberry Pi's official documentation]] for more information. Then any HDMI mode can be used (even ones that your display won't work with, be careful!). Refer to [[https://www.raspberrypi.com/documentation/computers/config_txt.html#video-options|Raspberry Pi's official documentation]] for more information.
  
 +===== I cannot get the 7" official Raspberry Pi screen working =====
 +
 +As reported by a user using the official 7-inch touchscreen on a Raspberry Pi 3B+, if you screen fails with the following message in your ''dmesg'':
 +
 +<code>
 + rpi_touchscreen_attiny 10-0045: Unknown Atmel firmware revision: 0xe1
 +</code>
 +
 +You might be able to fix it by adding ''dtparam=i2c_vc_baudrate=50000'' to your ''config.txt'' file.
 +
 +More information on the [[https://www.reddit.com/r/raspberry_pi/comments/18rdnj0/raspberry_pi_os_lite_official_7_touchscreen/|Reddit post]].
 +
 +===== My screen shows tearing in both EmulationStation and games =====
 +
 +<WRAP center round important>
 +This issue occurs at least with the ITX motherboard //ITX-N100-2L V1.31//. A special feature of this board is that, in addition to a VGA output (reported as "DP-1") and an HDMI output ("HDMI-1"), it also includes an internal display connector (LVDS, reported as "eDP-1"). There is also a variant with a DisplayPort instead of VGA, which explains why Batocera refers to the VGA output as "DP-1".
 +
 +It is likely that similar motherboards are also affected. Some mini PCs on the Asian market use the //ITX-N100-2L// or similar boards with such an internal LVDS connector.</WRAP>
 +
 +A typical symptom of this issue is screen tearing in games as well as in EmulationStation, even when VSYNC is enabled (which is the default setting). This is particularly noticeable in the intro/attract mode of //Marvel vs. Capcom 2//, but it should also be clearly visible in other fast side-scrolling games.
 +
 +To fix the problem, go to EmulationStation’s **SYSTEM SETTINGS**, then under **MULTISCREENS**, set the video output to **NONE**.
 +
 +If graphical issues still occur afterward, check whether **PERFORMANCE** or similar is enabled under **DECORATIONS** / **HUD** and disable it.
 +
 +<WRAP center round tip>
 +Disabling eDP-1 at least on the ITX-N100-2L causes graphical glitches during game start animations (e.g., **GAME LAUNCH TRANSITIONS** like **FADE**). The only known workaround as of version v41 is to go to **USER INTERFACE SETTINGS** → **GAME LAUNCH TRANSITION** and set it to **INSTANT**.</WRAP>
 ===== Display issues, when xrandr is your friend ===== ===== Display issues, when xrandr is your friend =====
  
Line 151: Line 196:
 </WRAP> </WRAP>
  
-If you'd like to edit the display output, you can copy the current display configuration file at ''/usr/bin/emulationstation/'' to your userdata partition at ''/userdata/system/custom-es-config'' and use that instead. On PC, you can use the file manager (''[F1]'' on the system list) for this.+If you'd like to edit the display output, you can add your modification in a script ''/userdata/system/custom-es-config'' that will be automatically invoked by ''/usr/bin/emulationstation-standalone''
  
-You can do so from SSH instead by running the following:+You can edit the file from SSH by running the following:
  
 <code> <code>
-cp /usr/bin/emulationstation-standalone /userdata/system/custom-es-config +nano /userdata/system/custom-es-config
-</code> +
- +
-<WRAP center round important> +
-In Batocera **v31** and lower, the original file was at ''/etc/X11/xinit/xinitrc'' and the userdata copy was at ''/userdata/system/.xinitrc'' instead, so the command would instead be: +
- +
-<code> +
-cp /etc/X11/xinit/xinitrc /userdata/system/.xinitrc +
-</code> +
-</WRAP> +
- +
-You can also edit the file from SSH by running the following: +
- +
-<code> +
-nano /usr/bin/emulationstation-standalone+
 </code> </code>
  
Line 179: Line 210:
 </WRAP> </WRAP>
  
-Scroll down (using the arrow keys) to the following section:+The most usual customisations are already described in ''/usr/bin/emulationstation-standalone''. If you browse the file and scroll down (using the arrow keys) to the following section:
  
 <code> <code>
Line 201: Line 232:
 </code> </code>
  
-Just uncomment (remove the hash character from the start of the line) the corresponding line with the option you want (changing it if something else is desired). For example, to just force a resolution of 640x480:+You can just copy and paste the relevant part (without the first ''#'' character that indicates it is a comment). For example, to just force a resolution of 640x480, create a ''/userdata/system/custom-es-config'' file with:
  
 <code> <code>
-[...]+#!/bin/bash 
 # change the resolution # change the resolution
 xrandr -s 640x480 xrandr -s 640x480
- 
-# change the resolution and the Hz 
-# xrandr -s 640x480 -r 60 
-[...] 
 </code> </code>
  
Line 216: Line 243:
  
 <code> <code>
-[...] +#!/bin/bash
-change the resolution +
-# xrandr -s 640x480 +
 # change the resolution and the Hz # change the resolution and the Hz
 xrandr -s 1280x720 -r 120 xrandr -s 1280x720 -r 120
- 
-##################### 
-[...] 
 </code> </code>
  
 Save the file with ''[Ctrl]'' + ''[S]'' and quit with ''[Ctrl]'' + ''[Q]''. Save the file with ''[Ctrl]'' + ''[S]'' and quit with ''[Ctrl]'' + ''[Q]''.
 +
 +
 +
 +<WRAP center round important>
 +In Batocera **v31** and lower, the original file was at ''/etc/X11/xinit/xinitrc'' and the userdata copy was at ''/userdata/system/.xinitrc'' instead. There was not such a call from ''emulationstation-standalone'' so you would need to copy the file first with a command like:
 +
 +<code>
 +cp /etc/X11/xinit/xinitrc /userdata/system/.xinitrc
 +</code>
 +</WRAP>
 +
  
 EmulationStation by default runs in full-screen, and may use the old full-screen resolution even through restarts, cutting off a part of its display. For testing purposes, you can temporarily use windowed mode for the current session with: EmulationStation by default runs in full-screen, and may use the old full-screen resolution even through restarts, cutting off a part of its display. For testing purposes, you can temporarily use windowed mode for the current session with:
Line 273: Line 305:
  
 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. 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 /var/log/Xorg.0.log | grep "X.Org X Server"
 +</code>
  
  • display_issues.1664528456.txt.gz
  • Last modified: 4 years ago
  • by atari