4K UHD HDMI setup


#1

I’m using a VIM2 Max. I recently burned the DualOS to eMMC and the Android/Ubuntu setup worked great in the GUI & command line environment.

However, now I automatically boot into the Ubuntu command line and startx doesn’t seem to work. I have not been able to go back to either Ubuntu GUI or the Android GUI.

The VIM2 Max HDMI is attached to an new HP monitor (not 4K UHD) that works fine. I have a new 4K UHD monitor that just doesn’t work on the VIM2 Max. The 4K UHD monitor does work perfectly on other computers.

I am going to use the UBUNTU 16.04 as a server but it needs to be able to display specific 4K UHD information when required.

I am unable to find the display using xrandr, read-edid and other commands. “Can’t find display”.

1st: Can you explain why I can’t find a display that is connected through HDMI and working fine?

2nd: Once the display is found, I want to setup the default HDMI to auto-connect into 4K UHD mode. Can you explain how I can do this? I can use the cvt command to get the information for the following:

xrandr --newmode “3840x2160_60.00” 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync
xrandr --addmode ??? “3840x2160_60.00”

The “???” is the required display device name that I can’t locate. Is there a default display name I can use?

3rd: Can I just enter these commands or do I need to write a pre-mount script? If so, where do I put it?

Thanks for your help and have a good day.


#2

Hi colgeocol:
Which version ROM you installed on your VIM2 Max?

Thanks!


#3

Thank you for your quick reply.

I installed the VIM2_DualOS_Nougat_Ubuntu-16.04_V171028 using the Upgrade Via an USB Cable instructions, No problems on the installation. I did the installation a few days ago.

By the way, i stopped using the startx command yesterday and started using the sudo service lightdm start and now I can get into the GUI when needed. I am now able to look at the GUI settings for the display. Not a lot of information there.

On the command line side, I still can’t find my monitor. Setup of the other monitor will need certain specific information that I can only find using the command line approach.


#4

Any progress on this problem?


#5

Hi colgeocol,

Can you switch to GUI via Ctrl+Alt+F7 ?

Thanks.


#6

Unfortunately NO.

I tried Ctrl+Alt+F7 and it didn’t work.

I tried Ctrl+Alt+Fn+F7 and it didn’t work.

I tried sudo startx and it didn’t work.

I tried sudo service lightdm start and it works.

So, access to GUI MATE isn’t a problem.

My problem is finding the display from the command line using xrandr.

Have you been able to replicate my situation using xrandr on your system?

I appreciate your help.


#7

Hi colgeocol,

For version VIM2_DualOS_Nougat_Ubuntu-16.04_V171028 has this issue, you failed to enter GUI via startx,but for current version startx works, and we will release this month. And you can use balbes150’s Armbian builds, too,

It works well, you can setup the resolution to 4K.

Thanks.


#8

Thanks. I look forward to the new DualOS release.

Regarding balbes150’s Armbian version I assume you want me to use the latest S912 version.

I will try it too.

Were you able to detect a monitor using xrandr?

Were you able to detect a monitor using the read-edid App?


#9

I can execute it on terminal, can’t on framebuffer console

khadas@Khadas:~$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 0mm x 0mm
   1920x1080      0.00* 

Executed failed, I’m not sure what’s going wrong:

khadas@Khadas:~$ sudo get-edid 
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Problem requesting slave address: Device or resource busy
No EDID on bus 1
No EDID on bus 2
Looks like no busses have an EDID. Sorry!
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.```

#10

I now run my VIM2 Max tied to a HDMI EDID monitor using VIM2_Ubuntu-server-16.04_Linux-4.9_V170922 installed in the eMMC. My framebuffer /dev/fb0 is active.

Because xrandr is for the X11 GUI, do I have to install:

VIM2_Ubuntu-xenial_Linux-3.14_mate_arm64_EMMC_2018-05-31
or
VIM2_Ubuntu-xenial_Linux-4.9_mate_arm64_EMMC_2018-05-31?

Or is there a way to enable, connect and activate HDMI using a script or by installing an apt in my current installation?

If so, could you show me how to do it?


#11

Hi colgeocol,

You can try VIM2_Ubuntu-xenial_Linux-3.14_mate_arm64_EMMC_2018-05-31 and use the following command to setup the resolution to 4K.

khadas@Khadas:~$ fw_setenv hdmimode 2160p60hz
khadas@Khadas:~$ sudo reboot

Thanks.


#12

I burned the VIM2_Ubuntu-xenial_Linux-3.14_mate_arm64_EMMC_2018-05-31 image into the eMMC.

The first thing I noticed was that /sys/class/drm only contained version while my previous image had card0 and version

After setting a static IP address, I entered your suggested commands:

 khadas@VIM2Max:~$ fw_setenv hdmimode 2160p60hz
 khadas@VIM2Max:~$ sudo reboot

After the reboot, the HDMI still didn’t show up.

Any other suggestions? A boot script that could enable the HDMI would be preferred.

Thanks.


#13

Yes, DRM is not available.

You can modify /boot/hdmi.sh to setup HDMI resolution, but the priority of u-boot command line is higher than mode you set in hdmi.sh.

By the way, your monitor doesn’t support 1080P? The 4K display is not good for Ubuntu, the menu icons and font are too small…


#14

I tried the same graphics card and display on a Raspberry Pi 3 and it works perfectly. It works perfectly on my laptop running Windows 10.

I am able to use

khadas@VIM2Max:~$ fw_setenv hdmimode 2160p60hz
khadas@VIM2Max:~$ sudo reboot

It changed the hdmimode perfectly, but still no display. I’ve also tried several different frequencies.

khadas@VIM2Max:~$ dmesg | grep edid

[ 2.676387] hdmitx: edid: find IEEEOUT
[ 2.676398] hdmitx: edid: check sum valid
[ 2.676407] hdmitx: edid: check sum valid
[ 2.676429] hdmitx: edid: check sum valid
[ 2.676438] hdmitx: edid: check sum valid
[ 2.676449] hdmitx: edid: blk0 raw data
[ 2.676546] hdmitx: edid: blk1 raw data

khadas@VIM2Max:~$ dmesg | grep error

[ 6.079725] meson-gpu-clkgen: probe of c883c000.gpu_clk failed with error -16
[ 6.187787] mmc driver version: 1.07, 2015-01-21: fix a bug in tuning which caused eMMC data CRC error
[ 7.120500] DI-di_probe: get flag_cma error.
[ 8.355476] aml_pcm_dai: aml audio pcm dai pinmux set error!
[ 11.926396] hdmitx: ddc rd8b error 0x54 0x01
[ 11.933035] hdmitx: ddc rd8b error 0x54 0x01
[ 11.971867] hdmitx: ddc w1b error 0x54 0x20 0x00
[ 11.973876] hdmitx: ddc w1b error 0x54 0x20 0x00
[ 11.975883] hdmitx: ddc rd8b error 0x54 0x21
[ 31.441844] i2c i2c-2: [aml_i2c_xfer] error ret = -110 (-ETIMEOUT)
[ 31.448421] khadas-wol: probe of 2-0018 failed with error -11

khadas@VIM2Max:~$ dmesg | grep failed

[ 0.665654] genirq: Setting trigger mode 8 for irq 241 failed (gic_set_type+0x0/0xb8)
[ 0.665685] genirq: Setting trigger mode 8 for irq 242 failed (gic_set_type+0x0/0xb8)
[ 0.665858] genirq: Setting trigger mode 8 for irq 241 failed (gic_set_type+0x0/0xb8)
[ 0.665883] genirq: Setting trigger mode 8 for irq 242 failed (gic_set_type+0x0/0xb8)
[ 6.021239] pinmux-gxl c1109880.pinmux: request() failed for pin 5
[ 6.079725] meson-gpu-clkgen: probe of c883c000.gpu_clk failed with error -16
[ 6.525308] fb: failed to init reserved memory
[ 10.251756] hub 2-0:1.0: config failed, hub doesn’t have any ports! (err -19)
[ 31.448421] khadas-wol: probe of 2-0018 failed with error -11
[ 36.164842] bcmsdh_oob_intr_register: enable_irq_wake failed with -6
[ 36.165834] Disable tdls_auto_op failed. -1
[ 36.188377] CONFIG-ERROR) dhd_conf_set_intiovar: txbf setting failed -23

khadas@VIM2Max:~$ dmesg | grep hdmi

[ 0.000000] Kernel command line: root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.repair=yes net.ifnames=0 logo=osd1,loaded,0x3d800000,2160p60hz maxcpus=8 vout=2160p60hz,enable hdmimode=2160p60hz cvbsmode=576cvbs hdmitx= ddr_size=3 cvbsdrv=0 jtag=disable fan=auto androidboot.serialno=80e4da812284 mac=80:e4:da:81:22:84 androidboot.mac=80:e4:da:81:22:84 wol_enable=0
[ 0.000000] logo: get hdmimode: 2160p60hz
[ 2.293431] hdmitx: system: amhdmitx_init
[ 2.293449] hdmitx: system: Ver: 2014May6
[ 2.293647] hdmitx: system: amhdmitx_probe
[ 2.294007] hdmitx: system: not find match init-data
[ 2.294025] hdmitx hpd irq = 89
[ 2.294648] hdmitx20: Mapped PHY: 0xc0800000
[ 2.294671] hdmitx20: Mapped PHY: 0xc1104400
[ 2.294697] hdmitx20: Mapped PHY: 0xc8100000
[ 2.294709] hdmitx20: Mapped PHY: 0xc8834000
[ 2.294719] hdmitx20: Mapped PHY: 0xc883a000
[ 2.294730] hdmitx20: Mapped PHY: 0xc883c000
[ 2.294743] hdmitx20: Mapped PHY: 0xd0100000
[ 2.294755] hdmitx20: Mapped PHY: 0xda83a000
[ 2.294772] hdmitx: alread display in uboot 0x61
[ 2.301889] hdmitx: system: irq 80000002
[ 2.619951] hdmitx: plugin
[ 2.676387] hdmitx: edid: find IEEEOUT
[ 2.676398] hdmitx: edid: check sum valid
[ 2.676407] hdmitx: edid: check sum valid
[ 2.676418] hdmitx: update RX hdr info 0
[ 2.676429] hdmitx: edid: check sum valid
[ 2.676438] hdmitx: edid: check sum valid
[ 2.676449] hdmitx: edid: blk0 raw data
[ 2.676546] hdmitx: edid: blk1 raw data
[ 2.676680] hdmitx: video: get current mode: 2160p60hz
[ 2.676691] hdmitx: update rx hdr info 0
[ 2.676700] hdmitx: update physcial size: 16 9
[ 2.676749] hdmitx: system: already init VIC = 0 Now VIC = 0
[ 2.676761] hdmitx: system: packet: can’t get vendor data
[ 2.676806] hdmitx tx_aud_src = 0
[ 2.676838] hdmitx: fs = 0, cd = 4, tmds_clk = 594000
[ 2.676849] hdmitx aud_n_para = 6144
[ 2.676873] hdmitx set channel status
[ 2.676953] hdmitx tx_aud_src = 0
[ 2.676985] hdmitx: fs = 0, cd = 4, tmds_clk = 594000
[ 2.676995] hdmitx aud_n_para = 6144
[ 2.677019] hdmitx set channel status
[ 6.087504] hdmitx: system: hdmitx_hdcp_init
[ 8.010290] [RX]-hdmirx: hdmirx_init.
[ 8.244676] cectx aocec: aml_cec_probe(): no hdmirx reg resource
[ 8.256793] cectx aocec: aml_cec_probe(): can’t find hdmirx
[ 10.385878] hdmirx_ext: [hdmiin_drv_init] ver: Jul042016.1
[ 11.893010] hdmitx: video: get current mode: 720p60hz
[ 11.898156] hdmitx: update rx hdr info 0
[ 11.909227] hdmitx: update physcial size: 16 9
[ 11.913872] hdmitx: system: already init VIC = 0 Now VIC = 4
[ 11.919634] hdmitx: rx no SCDC present indicator
[ 11.926396] hdmitx: ddc rd8b error 0x54 0x01
[ 11.931141] hdmitx: system: irq 80000001
[ 11.933035] hdmitx: ddc rd8b error 0x54 0x01
[ 11.933039] hdmirx version is 1.4 or below
[ 11.933041] hdmitx div40: 0
[ 11.959883] hdmitx: system: set mode VIC 4 (cd0,cs0,pm1,vd0,1)
[ 11.959884] hdmitx: system: set pll
[ 11.959885] hdmitx: system: param->VIC:4
[ 11.959890] hdmitx: set clk: VIC = 4 cd = 4 frac_rate = 0
[ 11.959954] hdmitx: set enc for VIC: 4
[ 11.959973] hdmitx_set_hw[4941] set VIC = 4
[ 11.971867] hdmitx: ddc w1b error 0x54 0x20 0x00
[ 11.973876] hdmitx: ddc w1b error 0x54 0x20 0x00
[ 11.975883] hdmitx: ddc rd8b error 0x54 0x21
[ 12.018605] hdmitx: system: irq 1
[ 12.091942] hdmitx: system: PHY Setting Done
[ 12.095975] hdmitx: system: packet: can’t get vendor data
[ 12.096003] hdmitx tx_aud_src = 0
[ 12.096028] hdmitx: fs = 0, cd = 4, tmds_clk = 74250
[ 12.096031] hdmitx aud_n_para = 6144
[ 12.096048] hdmitx set channel status
[ 29.293374] hdmitx: video: get current mode: 2160p60hz
[ 29.293375] hdmitx: update rx hdr info 0
[ 29.293377] hdmitx: update physcial size: 16 9
[ 29.293416] hdmitx: system: already init VIC = 0 Now VIC = 0
[ 29.293419] hdmitx: system: packet: can’t get vendor data
[ 29.293432] hdmitx tx_aud_src = 0
[ 29.293456] hdmitx: fs = 0, cd = 4, tmds_clk = 594000
[ 29.293458] hdmitx aud_n_para = 6144
[ 29.293475] hdmitx set channel status
[ 29.894052] fb: osd[0] enable: 1 (hdmi.sh)
[ 29.913599] fb: osd[1] enable: 0 (hdmi.sh)
[ 34.226918] fb: osd[0] enable: 1 (hdmi.sh)
[ 34.243538] fb: osd[1] enable: 0 (hdmi.sh)

I can supply more information from the syslog (or elsewhere) if it will help you find the problem.

Is there any method to check if the amhdmitx0, fb0 and the display devices are connected and enabled? They seem to be.

Any other options using fw_setconfig, fw_setenv, fw_printenv, and/or saveenv?


#15

Anybody there?

I am using this version of Ubuntu because I need a framebuffer that works.

Linux VIM2Max 3.14.29 #2 SMP PREEMPT Tue May 29 17:27:35 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

I can plug in any monitor (different resolutions) and in the GUI mode, the monitors works fine.

However, if I go to CLI, the monitors don’t work and go to sleep. The only way I can access the VIM2 Max is through SSH.

If I run any command requesting info about the display (xrandr, etc.), they all reply with “Can’t find display” or “Can’t open display”

I need to know why my VIM2 Max can’t find or open a display?

I need your assistance.


#16

What do you mean by framebuffer that works ? All the images the framerbuffer console is enabled.

Who did you switch to CLI? Checked Ctrl+Alt+F1 works.

You can only run xrandr under GUI terminal.

Thanks.


#17

In answer to your questions:

  1. I have to send images directly to /dev/fb0. Have not gotten any results.
  2. I don’t have any problem switching between the GUI and the CLI.
  3. I know about xrandr tied to the GUI and have been looking for command line commands to get this information.

How about this idea? I use the GUI and write a script to trigger on the display, then display an image that doesn’t show any text or the cursor, and then trigger off the display. I prefer using SSH to control the system.
Does this idea make sense?

I bought the VIM2 Max because I wanted a better SBC than the Raspberry Pi. I really want to use it.

Thank you.