Straconis Posted March 16, 2023 Posted March 16, 2023 I've been trying to configure the HDMI screen I purchased for the orange pi 5. It's listed to work with the raspberry pi so I figured it should work with the orange pi 5 as well. When I connect the screen, the screen just turns white. These instructions were included in the manual to configure the usage of the screen with the raspberry pi, but I am not familiar with how to translate the configuration into armbian. Write the image to the TF card, then modify the following configuration in config.txt: # uncomment to force a specific HDMI mode (this will force VGA) hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes hdmi_drive=1 as I've been trying to troubleshoot I see that it does get information from the screen cat /sys/class/drm/card0-HDMI-A-1/status = connected cat /sys/class/drm/card0-HDMI-A-1/enabled = enabled cat /sys/class/drm/card0-HDMI-A-1/modes 1024x600 1024x600 640x480 640x480 640x480 0 Quote
connychri Posted March 19, 2023 Posted March 19, 2023 Hy Straconis did you find any solutions for your problem, stuck with the same issue 0 Quote
Straconis Posted March 20, 2023 Author Posted March 20, 2023 @connychri no, I revised my search string and discovered there is a large number of people with this exact same problem and nobody seems to have any answers. I reached out to elecrow support since they have the exact same setup instructions and was advised that they do not have an orange pi to test with so they cannot provide any assistance. I have yet to hear back from BTT as I contacted them as well. It would appear anyone trying to use a 7" HDMI screen that requires this configuration change is dead in the water. 0 Quote
connychri Posted March 20, 2023 Posted March 20, 2023 Hy i figured out it’s not a armbian problem it’s more a problem with the hdmi!! it also don’t work with other distributions ! But I used a 10 bucks usb-c to hdmi converter and the screen did work ! 0 Quote
cotonec Posted March 24, 2023 Posted March 24, 2023 (edited) - Edited March 24, 2023 by cotonec 0 Quote
cotonec Posted March 24, 2023 Posted March 24, 2023 21.03.2023 в 01:07, connychri сказал: But I used a 10 bucks usb-c to hdmi converter and the screen did work ! Can you give a link to this adapter? 0 Quote
passworder Posted March 31, 2023 Posted March 31, 2023 I'm having the same issue. I'm using a Waveshare 7HP-CAPQLED 7" HDMI screen and when plugged into my Orange Pi 5 I have no signal/output. However, if I plug my PC monitor in it works. I have a USB-C to HDMI converter and it will only work if I plug my PC monitor into the HDMI port first, which I thought was odd. Does anyone have any solutions for this? 0 Quote
royk Posted April 6, 2023 Posted April 6, 2023 @passworder I think you need to force it to load the correct edid. You could try to copy the edid at the moment it's working to /lib/firmware/edid/ then add the boot arg and hope it works. So that should look something like: sudo cp /sys/class/graphics/fb0/device/drm/card0/card0-HDMI-A-1/edid /lib/firmware/waveshare.bin sudo nano /boot/armbianEnv.txt Then add a new line: extraargs="drm_kms_helper.edid_firmware=edid/waveshare.bin" 0 Quote
Straconis Posted April 8, 2023 Author Posted April 8, 2023 I took the advice and purchased a usb c to hdmi, didn't work I tried hooking up another monitor that works normally and then swap them, didn't work I tried hooking up the other working monitor into the usb c to hdmi and then swapping it, also didn't work 0 Quote
royk Posted April 8, 2023 Posted April 8, 2023 (edited) @Straconis what passworder wrote is that if he first plugged his monitor into the HDMI (not the usb-c adapter) then the lcd into the usb-c adapter. If @passworder will compare the edid when it's working with the edid when it's not working you might gonna see what's going wrong. A way to do this: sudo apt install edid-decode cat /sys/class/graphics/fb0/device/drm/card0/card0-HDMI-A-1/edid | edid-decode > edid-working.log cat /sys/class/graphics/fb0/device/drm/card0/card0-HDMI-A-1/edid | edid-decode > edid-not-working.log With the usb-c adapter it will probably be cat /sys/class/graphics/fb0/device/drm/card0/card0-DP-1/edid | edid-decode > edid-working.log cat /sys/class/graphics/fb0/device/drm/card0/card0-DP-1/edid | edid-decode > edid-not-working.log To make loading the edid work, you'll need to add the edid file to your initramfs, to do this: sudo cp /sys/class/graphics/fb0/device/drm/card0/card0-DP-1/edid /usr/lib/firmware/edid/waveshare.bin sudo nano /etc/initramfs-tools/hooks/edid.sh #!/bin/sh # Copy local EDID monitor description data # mkdir -p "${DESTDIR}"/lib/firmware/edid EDID_DATA=/usr/lib/firmware/edid/waveshare.bin if [ -f "${EDID_DATA}" ]; then cp "${EDID_DATA}" "${DESTDIR}"/lib/firmware/edid/ fi exit 0 sudo chmod +x /etc/initramfs-tools/hooks/edid.sh sudo update-initramfs -u sudo nano /boot/armbianEnv.txt extraargs="drm_kms_helper.edid_firmware=edid/waveshare.bin" Edited April 8, 2023 by royk 0 Quote
Straconis Posted April 9, 2023 Author Posted April 9, 2023 Does armbian support 1024x600 resolution? The monitor that works is a 1080 monitor, and the research I did on the 7" waveshare screen it may also be a 1080 screen. 0 Quote
Straconis Posted April 9, 2023 Author Posted April 9, 2023 @royk I was able to do this utilizing my working monitor and the 7" monitor on the usb-c to HDMI adapter. When booted with them both plugged in at the same time the 7 inch monitor is operational. I followed the instructions above only called it btt7.bin When booting up in the HDMI slot it just still goes to a white screen, and plugged into the usb c to HDMi adapter the screen stays black Plugging them both in at the same time still appears to be the only way to get the 7 inch screen to function 0 Quote
royk Posted April 9, 2023 Posted April 9, 2023 (edited) @Straconis To be sure, do you get a result with: lsinitramfs /boot/initrd.img-5.10.110-rockchip-rk3588 | grep btt7.bin Edited April 9, 2023 by royk 0 Quote
Straconis Posted April 9, 2023 Author Posted April 9, 2023 @royk yes usr/lib/firmware/edid/btt7.bin with btt7.bin highlighted in red 0 Quote
Straconis Posted April 9, 2023 Author Posted April 9, 2023 I've also tried the extraargs command with and without the quotes extraargs="drm_kms_helper.edid_firmware=edid/btt7.bin" extraargs=drm_kms_helper.edid_firmware=edid/btt7.bin 0 Quote
royk Posted April 9, 2023 Posted April 9, 2023 The experience I had was that the quotes were needed to make it even boot. But it seems you did it right, perhaps the issue isn't edid related. You could compare the edid with the one when it's working and the one when it doesn't. I thought I saw somewhere in the orange pi os there was a script hdmi/dp related. You could try that image to see if that works, if it does you could copy that script. Another thing you could try as workaround is to use a hdmi dummy, you might need one that imitates a 1080p monitor. 0 Quote
Computerizor Posted April 10, 2023 Posted April 10, 2023 I purchased the Lesown 7" touch screen with the built in speakers its says to configure the SBC same way i was looking in the armbian-config menu and in the hardware there is a place to enable hdmi 4k after enable this i could get it to work by booting it plugged in to my hdmi port on the tv after it has booted to the desk top i can unplug my tv and plug in the touch screen and it functions fine touch and display but if i plug the touchscreen in on boot i get "No Signal" display on the touchscreen and if i try to unplug it for the pi 5 and plug it into the tv i also get no signal it will only work if it plug in to the tv untill i get to the desktop then i can unplug the tv from the hdmi and plug the touchscreen into the hdmi port i didnt need to use a usb-c to hdmi converter im trying to build a laptop and i thought this screen would be plug and play the screen and audio will work if i plug it into my win10 desktop i haven't tried the audio on the orange pi5 yet 0 Quote
Willzen Posted April 29, 2023 Posted April 29, 2023 I know the reason for this problem, Waveshare manufacturers of this type of 7" 1024x600 resolution screen, the screen interface is HDMI, but the internal conversion protocol is DVI to LCD, so the actual signal in HDMI needs to be DVI, here you need to open the HDMI YUV format output to be compatible with this kind of screen. This is a special screen and I have not found a way to turn on the yuv output in the drm display-subsystem driver for the rk3588. 0 Quote
ej0rge Posted May 2, 2023 Posted May 2, 2023 (edited) On 4/28/2023 at 10:33 PM, Willzen said: I know the reason for this problem, Waveshare manufacturers of this type of 7" 1024x600 resolution screen, the screen interface is HDMI, but the internal conversion protocol is DVI to LCD, so the actual signal in HDMI needs to be DVI, here you need to open the HDMI YUV format output to be compatible with this kind of screen. What the heck are you talking about? HDMI And DVI are both TMDS, the difference is that HDMI supports both RGB and YUV colorspaces and DVI supports only RGB. I am pretty sure the default on computers is RGB anyway. YUV would be for video players. Are you trying to say that the display supports only YUV signals? Edited May 2, 2023 by ej0rge 0 Quote
anon14658 Posted May 10, 2023 Posted May 10, 2023 I think I found a solution at least for my case, this worked for me on debian bullseye running Klipper and KlipperScreen for 3d printer controls. What's strange is the terminal doesn't show on the display on initial boot and shutdown but once it boots to the KlipperScreen everything works as normal. Hopefully someone can build upon this to get full functionality. I noticed when I ran xrandr two resolutions were listed for the BTT screen, 1024x600 and 640x480 Screen 0: minimum 320 x 200, current 1024 x 600, maximum 16384 x 16384 HDMI-1 connected primary 1024x600+0+0 (normal left inverted right x axis y axis) 800mm x 450mm 1024x600 59.99*+ 59.99 640x480 60.00 59.94 I then tried switching to the lower resolution xrandr --output HDMI-1 --mode 640x480 The display worked but was offset and touch wasn't aligned I found this post to add custom resolutions https://unix.stackexchange.com/questions/227876/how-to-set-custom-resolution-using-xrandr-when-the-resolution-is-not-available-i I then tried to add a custom resolution, first getting the parameters of the screen gtf 1024 600 60 this returned the parameters # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync create the new mode xrandr --newmode "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync add the new mode xrandr --addmode HDMI-1 "1024x600_60.00" change the output to the new mode xrandr --output HDMI-1 --mode "1024x600_60.00" this got the display up and working with touch enabled too. these settings are reverted upon reboot so to set these to default you'll need to create a monitor.conf using a text editor, using nano in the example below sudo nano /usr/share/X11/xorg.conf.d/10-monitor.conf then enter the code below, replace any details for Device or Modeline Section "Monitor" Identifier "Monitor0" Modeline "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSy> EndSection Section "Screen" Identifier "Screen0" Device "HDMI-1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x600_60.00" EndSubSection EndSection Save and reboot and it should be up and running. 0 Quote
Colton Daiber Posted May 21, 2023 Posted May 21, 2023 Hello, I have had a similar problem with a waveshare 5" knockoff display on my orange pi 5. I started to build the kernel so I could make changes to the hdmi driver in an attempt to make the display work. I make a clean build without any changes just to make sure that the pi would be able to install the kernel and everything. To my surprise, when I rebooted after installing that build of the kernel the display just started working. I am assuming that the kernel that was compiled is a newer version than the one armbian has released and someone else made a change to the hdmi driver to fix this issue. (I was very surprised and happy when it started working) You can look into building the kernel yourself, but I will also supply the .deb (links below) that I installed that fixed this issue for me! to install this .deb file, first download it and then run the command: sudo dpkg -i FILENAME Google Drive: https://drive.google.com/file/d/1RFAC6DlSqPcIHc4bpZtY6kB_k9sXl-Ho/view?usp=share_link Media Fire: https://www.mediafire.com/file/79nctsr6e8dbyeh/linux-image-legacy-rockchip-rk3588_23.05.0-trunk--5.10.110-S6547-D3037-P0000-C6cddHfe66-HK01ba-Vc222-B1666_arm64.deb/file Hopefully this helps some of you guys out! 2 Quote
acdpsn Posted May 20 Posted May 20 I was having the same issue and used Colton's solution. Worked like a charm, thank you. 0 Quote
acdpsn Posted June 3 Posted June 3 I feel like I should mention I'm using an older version of Armbian because Colton's fix doesn't work on the last version. I'm using 24.2.1 Bookworm. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.