Display Auto Detection using EDID (Calling for Test)

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Display Auto Detection using EDID (Calling for Test)

Post by joy »

Hi all,

There are a variety of issue related to setting display mode with various monitors
and the available display modes that are provided on ODROID-C2 are limited to support all of them.
So, we are planning to release 'Display auto detection functionality using EDID on U-Boot stage'.

It's a beta test version so you need to upate u-boot binary and modify boot.ini to activate the functionality.

You can refer to the following wiki page.
http://odroid.com/dokuwiki/doku.php?id= ... ct_display

1. update u-boot

Code: Select all

$ su
# wget http://dn.odroid.com/S905/BootLoader/ODROID-C2/display_autodetection/update_c2_boot.sh
# chmod  +x  ./update_c2_boot.sh
# ./update_c2_boot.sh update
# ./update_c2_boot.sh version
    Now let's check if update has been completed...
    U-Boot 2015.01-00183-g731ba4c-dirty (Feb 01 2017 - 12:08:29)
2. modify boot.ini

Code: Select all

.....
.....
# HDMI DVI/VGA modes
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
# setenv vout "dvi"
# setenv vout "vga"

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"
....
....
###########################################
# Boot Arguments
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
....
....
3. information binary for debugging
Once display auto detection is done, the following two binary files are generated in the FAT filesystem.
- edid.bin
- display.bin

We've confirmed the normal operation with checking all of monitors we have,
but, there must be other monitors that have unique or weird display characteristics.
So, we hope you can share your test results and any opinion.

And when you have any issue and any abnormal operation,
please share the aforementioned two information binary files in FAT file system.

----------------------------------------------------------------------------------------------------------------------------

(Updated - 20170307)
We've included display auto display functionality by default on both of Ubuntu and Android
so, now you don't need to do manual update.

* Ubuntu : Version 3.14.79-108 (Feb 27, 2017) or higher version is available.
* Android : Android 5.1.1 (v3.3) / 6.0.1 (v2.2) or higher version is available.

----------------------------------------------------------------------------------------------------------------------------
Last edited by joy on Tue Mar 07, 2017 2:33 pm, edited 2 times in total.

locomot1f
Posts: 55
Joined: Sun Jan 01, 2017 1:51 am
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by locomot1f »

peace. Working with this has been great!
I can say, right off the bat, it has solved my problem with RetroArch and my xinit system going full screen!

With Kodi, I'm only getting 1024x768p resolution as an option
I have an LG Plasma 50' TV

have hooked this up to my other computer, and I have attached my xrandr --verbose
which contains my EDID

not sure how to go about attaching the files. This message board will not allow .bin files to be attached.
what's the best way to get them to you?

i'm including it inline -- having trouble attaching files atm:

Code: Select all

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
	Identifier: 0x53
	Timestamp:  86758
	Subpixel:   no subpixels
	Clones:    
	CRTCs:      0 1 2 3
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	output_csc: bypass 
		supported: bypass, tvrgb, ycbcr601, ycbcr709
	scaling mode: None 
		supported: None, Full, Center, Full aspect
	load detection: 1 
		range: (0, 1)
HDMI-0 connected primary 1024x768+0+0 (0x57) normal (normal left inverted right x axis y axis) 1200mm x 900mm
	Identifier: 0x54
	Timestamp:  86758
	Subpixel:   horizontal rgb
	Gamma:      1.0:1.0:1.0
	Brightness: 1.0
	Clones:    
	CRTC:       0
	CRTCs:      0 1 2 3
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	_MUTTER_PRESENTATION_OUTPUT: 0 
	EDID: 
		00ffffffffffff00412f000001010101
		0019010380a05a780aee91a3544c9926
		0f5054a1080031404540614001010101
		01010101010164190040410026301888
		3600b08443000018a00f200031581c20
		28801400b0844300001e000000fd003a
		3e1e4610000a202020202020000000fc
		005653582d3533300a2020202020013d
		020336f148108405020320220138097f
		070f7f071507503e06c0497f00570600
		5f7e01677e0067030c001100802de305
		0301834f0000011d007251d01e206e28
		550040846300001e023a801871382d40
		582c450040846300001e011d8018711c
		1620582c250040846300009e00000000
		00000000000000000000000000000007
	output_csc: bypass 
		supported: bypass, tvrgb, ycbcr601, ycbcr709
	audio: auto 
		supported: off, on, auto
	scaling mode: None 
		supported: None, Full, Center, Full aspect
	dither: off 
		supported: off, on
	underscan vborder: 0 
		range: (0, 128)
	underscan hborder: 0 
		range: (0, 128)
	underscan: off 
		supported: off, on, auto
	coherent: 1 
		range: (0, 1)
  1024x768 (0x57) 65.000MHz -HSync -VSync *current +preferred
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  1920x1080 (0x58) 148.500MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
  1920x1080 (0x59) 148.352MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
  1920x1080i (0x5a) 74.250MHz +HSync +VSync Interlace
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.75KHz
        v: height 1080 start 1084 end 1094 total 1125           clock  60.00Hz
  1920x1080 (0x5b) 74.250MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.75KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  30.00Hz
  1920x1080 (0x5c) 74.250MHz +HSync +VSync
        h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  27.00KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  24.00Hz
  1920x1080i (0x5d) 74.176MHz +HSync +VSync Interlace
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.72KHz
        v: height 1080 start 1084 end 1094 total 1125           clock  59.94Hz
  1920x1080 (0x5e) 74.176MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.72KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  29.97Hz
  1920x1080 (0x5f) 74.176MHz +HSync +VSync
        h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  26.97KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  23.98Hz
  1280x720 (0x60) 74.250MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
        v: height  720 start  725 end  730 total  750           clock  60.00Hz
  1280x720 (0x61) 74.176MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
        v: height  720 start  725 end  730 total  750           clock  59.94Hz
  800x600 (0x62) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  720x480 (0x63) 27.027MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
        v: height  480 start  489 end  495 total  525           clock  60.00Hz
  720x480 (0x64) 27.000MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
        v: height  480 start  489 end  495 total  525           clock  59.94Hz
  640x480 (0x65) 25.200MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
        v: height  480 start  490 end  492 total  525           clock  60.00Hz
  640x480 (0x66) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz
  720x400 (0x67) 28.320MHz -HSync +VSync
        h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
        v: height  400 start  412 end  414 total  449           clock  70.08Hz
DVI-0 disconnected (normal left inverted right x axis y axis)
	Identifier: 0x55
	Timestamp:  86758
	Subpixel:   horizontal rgb
	Clones:    
	CRTCs:      0 1 2 3
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	output_csc: bypass 
		supported: bypass, tvrgb, ycbcr601, ycbcr709
	audio: auto 
		supported: off, on, auto
	scaling mode: None 
		supported: None, Full, Center, Full aspect
	dither: off 
		supported: off, on
	underscan vborder: 0 
		range: (0, 128)
	underscan hborder: 0 
		range: (0, 128)
	underscan: off 
		supported: off, on, auto
	coherent: 1 
		range: (0, 1)

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Is this okay to use on Android?

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

rooted wrote:Is this okay to use on Android?
It's available with Android 5.1.1 Lollipop version.

For Marshmallow version, we need to check the hdmi kernel driver more,
so I will share the version once it's ready.

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

locomot1f wrote:peace. Working with this has been great!
I can say, right off the bat, it has solved my problem with RetroArch and my xinit system going full screen!

With Kodi, I'm only getting 1024x768p resolution as an option
I have an LG Plasma 50' TV

have hooked this up to my other computer, and I have attached my xrandr --verbose
which contains my EDID

not sure how to go about attaching the files. This message board will not allow .bin files to be attached.
what's the best way to get them to you?
Hi locomot1f,
Thank you for sharing your status and good to hear that it can solve the problem! :)

You can attach the binary files after 'zip' compression.
Some file formats including 'bin' are not allowed to be attached.

The information you attached is very helpful, Thanks!
And if you're available, I hope you can try to attach your binary files, 'display.bin and edid.bin',
so I can refer to information which timing the edid parse program have caught.

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

joy wrote:
rooted wrote:Is this okay to use on Android?
It's available with Android 5.1.1 Lollipop version.

For Marshmallow version, we need to check the hdmi kernel driver more,
so I will share the version once it's ready.
You mean it's already using it or it's okay for me to use the script and let it write uboot on 5.1.1?

locomot1f
Posts: 55
Joined: Sun Jan 01, 2017 1:51 am
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by locomot1f »

attaching zip file
Attachments
auto_detection.zip
display and edid files
(613 Bytes) Downloaded 125 times

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

rooted wrote: You mean it's already using it or it's okay for me to use the script and let it write uboot on 5.1.1?
My explanation is not enough.
It's not released yet officially.
So you need to update u-boot based on the instruction on 5.1.1.

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

locomot1f wrote:attaching zip file
Hi locomot1f,

Based on the edid data, your monitor may not be working with the static "1024x768p60hz" provided in boot.ini
because of lower pixel clock.
Auto detection algorithm selected 1024x768 resolution and it's the biggest one among all available sets.

Thanks a lot for sharing the binary files!
It's helpful to gather various monitors data. :)

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

joy wrote:
rooted wrote: You mean it's already using it or it's okay for me to use the script and let it write uboot on 5.1.1?
My explanation is not enough.
It's not released yet officially.
So you need to update u-boot based on the instruction on 5.1.1.
For Android, please use the following script.

Code: Select all

$ su
# mount -o rw,remount /
# wget http://dn.odroid.com/S905/BootLoader/ODROID-C2/display_autodetection/update_c2_boot_android.sh
# chmod  755  ./update_c2_boot_android.sh

# ./update_c2_boot_android.sh update
(Update Done)
# ./update_c2_boot_android.sh version
(Version Check)
Now let's check if update has been completed...
U-Boot 2015.01-00183-g731ba4c-dirty (Feb 01 2017 - 12:08:29)
And boot.ini should be modified.

Code: Select all

....
# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"
....
....
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi

setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} ${cmode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt} suspend_hdmiphy=${suspend_hdmiphy} led_onoff=${led_onoff} max_freq=${max_freq} maxcpus=${maxcpus} disable_vu7=${disable_vu7}"

Code: Select all

ODROIDC2-UBOOT-CONFIG

setenv dtbaddr 0x1000000
setenv loadaddr 0x20000000

# Resolution Configuration
# 'hdmimode' must be one of below to configure display resolution within
# supported by your TV or monitor.
#    Symbol             | Resolution
# ----------------------+-------------
#    "480p60hz"         | 720x480 Progressive 60Hz
#    "576p50hz"         | 720x576 Progressive 50Hz
#    "720p60hz"         | 1280x720 Progressive 60Hz
#    "720p50hz"         | 1280x720 Progressive 50Hz
#    "1080p60hz"        | 1920x1080 Progressive 60Hz
#    "1080p50hz"        | 1920x1080 Progressive 50Hz
#    "1080p30hz"        | 1920x1080 Progressive 30Hz
#    "1080p24hz"        | 1920x1080 Progressive 24Hz
#    "1080i60hz"        | 1920x1080 Interlaced 60Hz
#    "1080i50hz"        | 1920x1080 Interlaced 50Hz
#    "2160p60hz"        | 3840x2160 Progressive 60Hz
#    "2160p50hz"        | 3840x2160 Progressive 50Hz
#    "2160p30hz"        | 3840x2160 Progressive 30Hz
#    "2160p25hz"        | 3840x2160 Progressive 25Hz
#    "2160p24hz"        | 3840x2160 Progressive 24Hz
#    "2160p60hz420"     | 3840x2160 Progressive 60Hz YCbCr 4:2:0
#    "2160p50hz420"     | 3840x2160 Progressive 50Hz YCbCr 4:2:0
#    "640x480p60hz"     | 640x480 Progressive 60Hz
#    "800x480p60hz"     | 800x480 Progressive 60Hz
#    "800x600p60hz"     | 800x600 Progressive 60Hz
#    "1024x600p60hz"    | 1024x600 Progressive 60Hz
#    "1024x768p60hz"    | 1024x768 Progressive 60Hz
#    "1280x800p60hz"    | 1280x800 Progressive 60Hz
#    "1280x1024p60hz"   | 1280x1024 Progressive 60Hz
#    "1360x768p60hz"    | 1360x768 Progressive 60Hz
#    "1440x900p60hz"    | 1440x900 Progressive 60Hz
#    "1600x900p60hz"    | 1600x900 Progressive 60Hz
#    "1600x1200p60hz"   | 1600x1200 Progressive 60Hz
#    "1680x1050p60hz"   | 1680x1050 Progressive 60Hz
#    "1920x1200p60hz"   | 1920x1200 Progressive 60Hz
#    "2560x1080p60hz"   | 2560x1080 Progressive 60Hz
#    "2560x1440p60hz"   | 2560x1440 Progressive 60Hz
#    "2560x1600p60hz"   | 2560x1600 Progressive 60Hz
#    "3440x1440p60hz"   | 3440x1440 Progressive 60Hz
setenv hdmimode "1080p60hz"

setenv rootopt "root=/dev/mmcblk0p2 rw init=/init rootwait"
setenv consoleopt "console=ttyS0,115200"
setenv androidopt "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#}"
setenv logoopt "osd1,loaded,${fb_addr},${hdmimode}"
setenv selinuxopt "androidboot.selinux=disabled"

# HDMI/DVI Mode Configuration
# This will enforce the signal type of display
# "hdmi" - For HDMI interface
# "dvi" - For DVI interface
setenv vout_mode "hdmi"

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"

# HPD enable/disable option
setenv disablehpd "false"

# Overscan offset configuration
# All offsets are zero and can be tuned by manual or ODROID Utility
setenv overscan_top "0"
setenv overscan_left "0"
setenv overscan_bottom "0"
setenv overscan_right "0"
setenv led_onoff "on"
suspend_hdmiphy=0

# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
# setenv max_freq "1656"  # 1.656GHz
# setenv max_freq "1536"  # 1.536GHz
setenv max_freq "1536"

# max cpu-cores
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# disable vu7
setenv disable_vu7 "false"

if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi

setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} ${cmode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt} suspend_hdmiphy=${suspend_hdmiphy} led_onoff=${led_onoff} max_freq=${max_freq} maxcpus=${maxcpus} disable_vu7=${disable_vu7}"

save

showlogo ${hdmimode}
#usb pwren

movi read dtb 0 ${dtbaddr}
# load kernel from vat or boot partition.
movi read boot 0 ${loadaddr}
#fatload mmc 0:1 ${loadaddr} Image
booti ${loadaddr} - ${dtbaddr}
Sorry for the complicated instruction.
After we gather forum user's feedback, it will be released then, you wouldn't need to do this annoying process. ;)

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Thanks for the complicated instructions Joy :)

I will test it on my 4k display soon as I can and upload the results.

locomot1f
Posts: 55
Joined: Sun Jan 01, 2017 1:51 am
languages_spoken: english
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by locomot1f »

joy wrote: Hi locomot1f,

Based on the edid data, your monitor may not be working with the static "1024x768p60hz" provided in boot.ini
because of lower pixel clock.
Auto detection algorithm selected 1024x768 resolution and it's the biggest one among all available sets.

Thanks a lot for sharing the binary files!
It's helpful to gather various monitors data. :)
not quite sure what you are trying to tell me.
it sounds like you're saying that I can't use this because my TV is out of the scope that the script provides...???

is this script more for true PC Monitor's? and not actually TV Sets?

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

locomot1f wrote: not quite sure what you are trying to tell me.
it sounds like you're saying that I can't use this because my TV is out of the scope that the script provides...???

is this script more for true PC Monitor's? and not actually TV Sets?
Sorry for confusing you.
I mean you can use this auto detection option and it's available with your monitor.
To make sure... your monitor is working well with this display auto detection script, right?
I think it must be OK. No problem. :)
It doesn't matter whether it's pc monitors or tv sets. Anything is ok if it has standard edid data and hdmi interaces.

And I understood that you said it was not working before this option. Is it right?
I just explained the expected reason why it was not available with your monitor and built-in 1024x768p60hz option.

Vij007
Posts: 19
Joined: Tue Jun 28, 2016 10:09 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by Vij007 »

I have fresh installation marshmallow 2.2 version and connect Ed to Samsung LCD full HD 1080p60hz TV, after booting it is autodetecting to 1280*720p, previous versions without autodetecting it is working fine. Is there any option that to disable autodetecting or any update on this. Thanks..

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Vij007 wrote:I have fresh installation marshmallow 2.2 version and connect Ed to Samsung LCD full HD 1080p60hz TV, after booting it is autodetecting to 1280*720p, previous versions without autodetecting it is working fine. Is there any option that to disable autodetecting or any update on this. Thanks..
What is the model of your TV?

jesusrp
Posts: 99
Joined: Mon May 02, 2016 9:55 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by jesusrp »

I think this is wonderful!!

@odroid will this be added to odroid official versions in the future?

If I add this to my current installation, will it affect to the future linux/android updates?

BR

Vij007
Posts: 19
Joined: Tue Jun 28, 2016 10:09 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by Vij007 »

@rooted

TV model:Samsung LA26B450C4 LCD tv

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Vij007 wrote:@rooted

TV model:Samsung LA26B450C4 LCD tv
Your TV has a native resolution of 1366x768, selecting 1280x720 is actually correct.

See: http://www.techmagnifier.com/tv/samsung-la26b450c4

User avatar
odroid
Site Admin
Posts: 34681
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 832 times
Been thanked: 719 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by odroid »

@jesusrp
It has been merged into the latest Android released.
http://odroid.com/dokuwiki/doku.php?id= ... _note_v3.3
We will add this feature in Ubuntu update too.

@Vij007
We have a similar model and it detected/worked in 1360x768 mode.
You can manually change the resolution with ODROID-Utility probably.

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

odroid wrote:@jesusrp
It has been merged into the latest Android released.
http://odroid.com/dokuwiki/doku.php?id= ... _note_v3.3
We will add this feature in Ubuntu update too.

@Vij007
We have a similar model and it detected/worked in 1360x768 mode.
You can manually change the resolution with ODROID-Utility probably.
If that's the case then this isn't working correctly.

User avatar
odroid
Site Admin
Posts: 34681
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 832 times
Been thanked: 719 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by odroid »

1360x768 is better than 1280x720.
The detection function in EDID parser is trying to find the possible highest resolution.
So I think it working correctly.
Note that 1366x768 is not available and it can't be supported. So we had to choose 1360x768.

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

He said it automatically set it to 1280x720, I have a 1366x768 panel as well but haven't had a chance to test on it yet.

1366x768 should get set to 1360x768 as you said.

Either resolution is okay (1360 or 1280), this is just awesome to be able to plug in a C2 and at least be able to see the display and manually change the resolution if we need to.

Vij007
Posts: 19
Joined: Tue Jun 28, 2016 10:09 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by Vij007 »

Thanks for prompt reply @odroid & @rooted, but my TV works flawlessly 1080p60hz since 7 years, I tried to change manually but not success. After rebooting automatically it is going autodetecting option. Is there any option to disable autodetecting option. Plz help

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Vij007 wrote:Thanks for prompt reply @odroid & @rooted, but my TV works flawlessly 1080p60hz since 7 years, I tried to change manually but not success. After rebooting automatically it is going autodetecting option. Is there any option to disable autodetecting option. Plz help
No doubt your TV supports 1080p, but the fact is there is no benefit to running it in a higher resolution as the TV has to downscale it to the native panel resolution of 1366x768.

The extra resolutions a display supports is for compatability.

User avatar
codewalker
Posts: 974
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 35 times
Been thanked: 60 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by codewalker »

Please show your boot.ini file.
Vij007 wrote:Thanks for prompt reply @odroid & @rooted, but my TV works flawlessly 1080p60hz since 7 years, I tried to change manually but not success. After rebooting automatically it is going autodetecting option. Is there any option to disable autodetecting option. Plz help

Vij007
Posts: 19
Joined: Tue Jun 28, 2016 10:09 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by Vij007 »

ODROIDC2-UBOOT-CONFIG

setenv dtbaddr 0x1000000
setenv loadaddr 0x20000000

# Resolution Configuration
# 'hdmimode' must be one of below to configure display resolution within
# supported by your TV or monitor.
# Symbol | Resolution
# ----------------------+-------------
# "480p60hz" | 720x480 Progressive 60Hz
# "576p50hz" | 720x576 Progressive 50Hz
# "720p60hz" | 1280x720 Progressive 60Hz
# "720p50hz" | 1280x720 Progressive 50Hz
# "1080p60hz" | 1920x1080 Progressive 60Hz
# "1080p50hz" | 1920x1080 Progressive 50Hz
# "1080p30hz" | 1920x1080 Progressive 30Hz
# "1080p24hz" | 1920x1080 Progressive 24Hz
# "1080i60hz" | 1920x1080 Interlaced 60Hz
# "1080i50hz" | 1920x1080 Interlaced 50Hz
# "2160p60hz" | 3840x2160 Progressive 60Hz
# "2160p50hz" | 3840x2160 Progressive 50Hz
# "2160p30hz" | 3840x2160 Progressive 30Hz
# "2160p25hz" | 3840x2160 Progressive 25Hz
# "2160p24hz" | 3840x2160 Progressive 24Hz
# "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0
# "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0
# "640x480p60hz" | 640x480 Progressive 60Hz
# "800x480p60hz" | 800x480 Progressive 60Hz
# "800x600p60hz" | 800x600 Progressive 60Hz
# "1024x600p60hz" | 1024x600 Progressive 60Hz
# "1024x768p60hz" | 1024x768 Progressive 60Hz
# "1280x800p60hz" | 1280x800 Progressive 60Hz
# "1280x1024p60hz" | 1280x1024 Progressive 60Hz
# "1360x768p60hz" | 1360x768 Progressive 60Hz
# "1440x900p60hz" | 1440x900 Progressive 60Hz
# "1600x900p60hz" | 1600x900 Progressive 60Hz
# "1600x1200p60hz" | 1600x1200 Progressive 60Hz
# "1680x1050p60hz" | 1680x1050 Progressive 60Hz
# "1920x1200p60hz" | 1920x1200 Progressive 60Hz
# "2560x1080p60hz" | 2560x1080 Progressive 60Hz
# "2560x1440p60hz" | 2560x1440 Progressive 60Hz
# "2560x1600p60hz" | 2560x1600 Progressive 60Hz
# "3440x1440p60hz" | 3440x1440 Progressive 60Hz
setenv hdmimode "1080p60hz"

setenv rootopt "root=/dev/mmcblk0p2 rw init=/init rootwait"
setenv consoleopt "console=ttyS0,115200"
setenv androidopt "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#}"
setenv logoopt "osd1,loaded,${fb_addr},${hdmimode}"
setenv selinuxopt "androidboot.selinux=disabled"

# HDMI/DVI Mode Configuration
# This will enforce the signal type of display
# "hdmi" - For HDMI interface
# "dvi" - For DVI interface
setenv vout_mode "hdmi"

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"

# HPD enable/disable option
setenv disablehpd "false"

# Overscan offset configuration
# All offsets are zero and can be tuned by manual or ODROID Utility
setenv overscan_top "0"
setenv overscan_left "0"
setenv overscan_bottom "0"
setenv overscan_right "0"
setenv led_onoff "off"
suspend_hdmiphy=0

# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016" # 2.016GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1920" # 1.920GHz
# setenv max_freq "1896" # 1.896GHz
# setenv max_freq "1752" # 1.752GHz
# setenv max_freq "1680" # 1.680GHz
# setenv max_freq "1656" # 1.656GHz
# setenv max_freq "1536" # 1.536GHz
setenv max_freq "1536"

# max cpu-cores
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# disable vu7
setenv disable_vu7 "false"

if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi

setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} ${cmode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt} suspend_hdmiphy=${suspend_hdmiphy} led_onoff=${led_onoff} max_freq=${max_freq} maxcpus=${maxcpus} disable_vu7=${disable_vu7}"

save

showlogo ${hdmimode}
#usb pwren

movi read dtb 0 ${dtbaddr}
# load kernel from vat or boot partition.
movi read boot 0 ${loadaddr}
#fatload mmc 0:1 ${loadaddr} Image
booti ${loadaddr} - ${dtbaddr}

i have another issue hdmi overscan also. In the previous version it was not observed.

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

I've always had overscan on my 720p TV but since you say you haven't obviously there is an issue.

We will wait for @codewalker

User avatar
codewalker
Posts: 974
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 35 times
Been thanked: 60 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by codewalker »

setenv display_autodetect "true" -> false
Vij007 wrote:ODROIDC2-UBOOT-CONFIG

setenv dtbaddr 0x1000000
setenv loadaddr 0x20000000

# Resolution Configuration
# 'hdmimode' must be one of below to configure display resolution within
# supported by your TV or monitor.
# Symbol | Resolution
# ----------------------+-------------
# "480p60hz" | 720x480 Progressive 60Hz
# "576p50hz" | 720x576 Progressive 50Hz
# "720p60hz" | 1280x720 Progressive 60Hz
# "720p50hz" | 1280x720 Progressive 50Hz
# "1080p60hz" | 1920x1080 Progressive 60Hz
# "1080p50hz" | 1920x1080 Progressive 50Hz
# "1080p30hz" | 1920x1080 Progressive 30Hz
# "1080p24hz" | 1920x1080 Progressive 24Hz
# "1080i60hz" | 1920x1080 Interlaced 60Hz
# "1080i50hz" | 1920x1080 Interlaced 50Hz
# "2160p60hz" | 3840x2160 Progressive 60Hz
# "2160p50hz" | 3840x2160 Progressive 50Hz
# "2160p30hz" | 3840x2160 Progressive 30Hz
# "2160p25hz" | 3840x2160 Progressive 25Hz
# "2160p24hz" | 3840x2160 Progressive 24Hz
# "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0
# "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0
# "640x480p60hz" | 640x480 Progressive 60Hz
# "800x480p60hz" | 800x480 Progressive 60Hz
# "800x600p60hz" | 800x600 Progressive 60Hz
# "1024x600p60hz" | 1024x600 Progressive 60Hz
# "1024x768p60hz" | 1024x768 Progressive 60Hz
# "1280x800p60hz" | 1280x800 Progressive 60Hz
# "1280x1024p60hz" | 1280x1024 Progressive 60Hz
# "1360x768p60hz" | 1360x768 Progressive 60Hz
# "1440x900p60hz" | 1440x900 Progressive 60Hz
# "1600x900p60hz" | 1600x900 Progressive 60Hz
# "1600x1200p60hz" | 1600x1200 Progressive 60Hz
# "1680x1050p60hz" | 1680x1050 Progressive 60Hz
# "1920x1200p60hz" | 1920x1200 Progressive 60Hz
# "2560x1080p60hz" | 2560x1080 Progressive 60Hz
# "2560x1440p60hz" | 2560x1440 Progressive 60Hz
# "2560x1600p60hz" | 2560x1600 Progressive 60Hz
# "3440x1440p60hz" | 3440x1440 Progressive 60Hz
setenv hdmimode "1080p60hz"

setenv rootopt "root=/dev/mmcblk0p2 rw init=/init rootwait"
setenv consoleopt "console=ttyS0,115200"
setenv androidopt "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#}"
setenv logoopt "osd1,loaded,${fb_addr},${hdmimode}"
setenv selinuxopt "androidboot.selinux=disabled"

# HDMI/DVI Mode Configuration
# This will enforce the signal type of display
# "hdmi" - For HDMI interface
# "dvi" - For DVI interface
setenv vout_mode "hdmi"

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"

# HPD enable/disable option
setenv disablehpd "false"

# Overscan offset configuration
# All offsets are zero and can be tuned by manual or ODROID Utility
setenv overscan_top "0"
setenv overscan_left "0"
setenv overscan_bottom "0"
setenv overscan_right "0"
setenv led_onoff "off"
suspend_hdmiphy=0

# max cpu frequency in dvfs table / in MHz unit
# setenv max_freq "2016" # 2.016GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1920" # 1.920GHz
# setenv max_freq "1896" # 1.896GHz
# setenv max_freq "1752" # 1.752GHz
# setenv max_freq "1680" # 1.680GHz
# setenv max_freq "1656" # 1.656GHz
# setenv max_freq "1536" # 1.536GHz
setenv max_freq "1536"

# max cpu-cores
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# disable vu7
setenv disable_vu7 "false"

if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi

setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} ${cmode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt} suspend_hdmiphy=${suspend_hdmiphy} led_onoff=${led_onoff} max_freq=${max_freq} maxcpus=${maxcpus} disable_vu7=${disable_vu7}"

save

showlogo ${hdmimode}
#usb pwren

movi read dtb 0 ${dtbaddr}
# load kernel from vat or boot partition.
movi read boot 0 ${loadaddr}
#fatload mmc 0:1 ${loadaddr} Image
booti ${loadaddr} - ${dtbaddr}

i have another issue hdmi overscan also. In the previous version it was not observed.

jesusrp
Posts: 99
Joined: Mon May 02, 2016 9:55 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by jesusrp »

odroid wrote:@jesusrp
It has been merged into the latest Android released.
http://odroid.com/dokuwiki/doku.php?id= ... _note_v3.3
We will add this feature in Ubuntu update to.
But uboot has been also updated? In order to be compatible.

Vij007
Posts: 19
Joined: Tue Jun 28, 2016 10:09 pm
languages_spoken: english
ODROIDs: Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by Vij007 »

Thanks @codewalker, now it's working. HDMI overscan also resolved, thank you very much

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

If this is your work @codewalker it's very nice, makes it so much easier going forward.

If not you can tell whomever for us, good job.

User avatar
odroid
Site Admin
Posts: 34681
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 832 times
Been thanked: 719 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by odroid »

"Joy" has developed this nice feature. :)

rooted
Posts: 7758
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 721 times
Been thanked: 210 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by rooted »

Thank you @Joy, this will help so many new users going forward.

Great work, this is a much needed new feature.

onestone
Posts: 48
Joined: Tue Mar 22, 2016 12:04 am
languages_spoken: english, swedish
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by onestone »

The new auto detection is not working with my monitor (HP w2207h). See http://forum.odroid.com/viewtopic.php?f=136&t=26127

I'm attaching the edid.bin and display.bin files.
Attachments
edid and display files.zip
(511 Bytes) Downloaded 87 times

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

onestone wrote:The new auto detection is not working with my monitor (HP w2207h). See http://forum.odroid.com/viewtopic.php?f=136&t=26127

I'm attaching the edid.bin and display.bin files.
I read the post that you mentioned, and it seems it's working only with the manual setting.
- auto detection : FAIL
- manual setting : OK <- "1680x1050p60hz" and "setenv display_autodetect "false" "
Right?

If so, to make sure, could you check one?
- Change back the vout to hdmi : comment again # setenv vout "dvi"
- Keep manual setting with "1680x1050p60hz" and "setenv display_autodetect "false" "

Code: Select all

ODROIDC2-UBOOT-CONFIG

########################################################################
# Changes made to this are overwritten every time there's a new upgrade
# To make your changes permanent change it on 
# boot.ini.default
# After changing it on boot.ini.default run the bootini command to
# rewrite this file with your personal permanent settings.
# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini
########################################################################

# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.

# Custom modeline!
# To use custom modeline you need to disable all the below resolutions
# and setup your own! 
# For more information check our wiki: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting
# Example below:
# setenv m "custombuilt" 
# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1"

# Auto Detection of Monitor settings based on your Screen information
# See: http://odroid.com/dokuwiki/doku.php?id=en:c2_auto_detect_display
setenv display_autodetect "false"

# 480 Lines (720x480)
# setenv m "480i60hz" # Interlaced 60Hz
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv m "480p60hz" # 480 Progressive 60Hz
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz

# 576 Lines (720x576)
# setenv m "576i50hz" # Interlaced 50Hz
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv m "576p50hz" # Progressive 50Hz
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz

# 720 Lines (1280x720)
# setenv m "720p50hz" # 50Hz
# setenv m "720p60hz" # 60Hz

# 1080 Lines (1920x1080)
# setenv m "1080i60hz" # Interlaced 60Hz
# setenv m "1080p60hz" # Progressive 60Hz
# setenv m "1080i50hz" # Interlaced 50Hz
# setenv m "1080p50hz" # Progressive 50Hz
# setenv m "1080p24hz" # Progressive 24Hz

# 4K (3840x2160)
# setenv m "2160p30hz"    # Progressive 30Hz
# setenv m "2160p25hz"    # Progressive 25Hz
# setenv m "2160p24hz"    # Progressive 24Hz
# setenv m "smpte24hz"    # Progressive 24Hz SMPTE
# setenv m "2160p50hz"    # Progressive 50Hz
# setenv m "2160p60hz"    # Progressive 60Hz
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)

### VESA modes ###
# setenv m "640x480p60hz"
# setenv m "800x480p60hz"
# setenv m "480x800p60hz"
# setenv m "800x600p60hz"
# setenv m "1024x600p60hz"
# setenv m "1024x768p60hz"  
# setenv m "1280x800p60hz"
# setenv m "1280x1024p60hz"
# setenv m "1360x768p60hz"
# setenv m "1440x900p60hz"
# setenv m "1600x900p60hz"

setenv m "1680x1050p60hz"

# setenv m "1600x1200p60hz"
# setenv m "1920x1200p60hz"
# setenv m "2560x1080p60hz"
# setenv m "2560x1440p60hz"
# setenv m "2560x1600p60hz"
# setenv m "3440x1440p60hz"

# HDMI BPP Mode
setenv m_bpp "32"
# setenv m_bpp "24"
# setenv m_bpp "16"

# HDMI DVI/VGA modes
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
# setenv vout "dvi"
# setenv vout "vga"

# HDMI HotPlug Detection control
# Allows you to force HDMI thinking that the cable is connected.
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# setenv hpd "false"

# Monitor output
# Controls if HDMI PHY should output anything to the monitor
setenv monitor_onoff "false" # true or false

# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
setenv nographics "0"

# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer 
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
setenv mesontimer "1"

# UHS (Ultra High Speed) MicroSD mode enable/disable
setenv disableuhs "false"

# MicroSD Card Detection enable/disable
# Force the MMC controlled to believe that a card is connected.
setenv mmc_removable "true"

# USB Multi WebCam tweak
# Only enable this if you use it.
setenv usbmulticam "false"

# Disable/Enable ODROID-VU7 Touchscreen
setenv disable_vu7 "true"

# Default Console Device Setting
setenv condev "console=ttyS0,115200n8 console=tty0"   # on both

# CPU Frequency / Cores control
###########################################
### WARNING!!! WARNING!!! WARNING!!!
# Before changing anything here please read the wiki entry: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# MAX Frequency
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
# setenv max_freq "1656"  # 1.656GHz
setenv max_freq "1536"  # 1.536GHz



###########################################

# Boot Arguments
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi

setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"

# Booting

setenv loadaddr "0x11000000"
setenv dtb_loadaddr "0x1000000"
setenv initrd_loadaddr "0x13000000"

fatload mmc 0:1 ${initrd_loadaddr} uInitrd
fatload mmc 0:1 ${loadaddr} Image
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
fdt addr ${dtb_loadaddr}

if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
if test "${mesontimer}" = "1"; then fdt rm /timer; fi

if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi

booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
There are just two differences between auto detection and manual mode.
1. hsync polarity and hsync frequency
-> I think this offset is OK, no problem. but so far I'm not sure.
2. hdmi mode
-> Your monitor HP w2207h says that its vout mode is "HDMI", not "DVI".
-> If your monitor is working only with DVI mode, the EDID data from your monitor is wrong, then it means you need to use only the manual mode.
-> Let's check if it's working with HDMI mode, too.

I would appreciate you testing it.
Then let's talk about the result again.

Thanks!

onestone
Posts: 48
Joined: Tue Mar 22, 2016 12:04 am
languages_spoken: english, swedish
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by onestone »

Hi joy,

Thanks for looking into my problem.
joy wrote: If so, to make sure, could you check one?
- Change back the vout to hdmi : comment again # setenv vout "dvi"
- Keep manual setting with "1680x1050p60hz" and "setenv display_autodetect "false" "
When I do this the monitor shuts off during boot (in the same way as when display_autodetect is set to "true"). Just for clarity; I also changed the boot.ini.default file so that it wouldn't override my changes in boot.ini.
joy wrote: -> Your monitor HP w2207h says that its vout mode is "HDMI", not "DVI".
Here is some additional information: When I use "1080p60hz" and comment # setenv vout "dvi" the monitor works fine in HDMI mode except that I have overscan which I can't correct, and the image is a little stretched verticaly. I have posted about this previously:
http://forum.odroid.com/viewtopic.php?f ... 74#p137574
http://forum.odroid.com/viewtopic.php?f ... 66#p135366

So, if I could get 1680x1050 with HDMI I would be happy. Now I can only get 1080p with HDMI or 1680x1050 with DVI.
If your monitor is working only with DVI mode, the EDID data from your monitor is wrong, then it means you need to use only the manual mode.
This seems likely? :(

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

onestone wrote:Hi joy,

Thanks for looking into my problem.

Here is some additional information: When I use "1080p60hz" and comment # setenv vout "dvi" the monitor works fine in HDMI mode except that I have overscan which I can't correct, and the image is a little stretched verticaly. I have posted about this previously:
http://forum.odroid.com/viewtopic.php?f ... 74#p137574
http://forum.odroid.com/viewtopic.php?f ... 66#p135366
So, if I could get 1680x1050 with HDMI I would be happy. Now I can only get 1080p with HDMI or 1680x1050 with DVI.
onestone,
I read your old posts.
How is 1680x1050p60hz and hdmi mode?
No signal? or Green screen?

If you have green screen, hdmi out is working.
Have you tried forcergb option?

http://odroid.com/dokuwiki/doku.php?id=en:c2_forcergb
Add hdmitx=forcergb in bootargs of boot.ini.

Code: Select all

setenv bootargs ${bootargs} hdmitx=forcergb
You can try
setenv m "1680x1050p60hz"
setenv vout "hdmi"
hdmitx=forcergb.

Here is boot.ini example for your case.

Code: Select all

ODROIDC2-UBOOT-CONFIG

########################################################################
# Changes made to this are overwritten every time there's a new upgrade
# To make your changes permanent change it on 
# boot.ini.default
# After changing it on boot.ini.default run the bootini command to
# rewrite this file with your personal permanent settings.
# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini
########################################################################

# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.

# Custom modeline!
# To use custom modeline you need to disable all the below resolutions
# and setup your own! 
# For more information check our wiki: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting
# Example below:
# setenv m "custombuilt" 
# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1"

# Auto Detection of Monitor settings based on your Screen information
# See: http://odroid.com/dokuwiki/doku.php?id=en:c2_auto_detect_display
setenv display_autodetect "false"

# 480 Lines (720x480)
# setenv m "480i60hz" # Interlaced 60Hz
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv m "480p60hz" # 480 Progressive 60Hz
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz

# 576 Lines (720x576)
# setenv m "576i50hz" # Interlaced 50Hz
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv m "576p50hz" # Progressive 50Hz
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz

# 720 Lines (1280x720)
# setenv m "720p50hz" # 50Hz
# setenv m "720p60hz" # 60Hz

# 1080 Lines (1920x1080)
# setenv m "1080i60hz" # Interlaced 60Hz
# setenv m "1080p60hz" # Progressive 60Hz
# setenv m "1080i50hz" # Interlaced 50Hz
# setenv m "1080p50hz" # Progressive 50Hz
# setenv m "1080p24hz" # Progressive 24Hz

# 4K (3840x2160)
# setenv m "2160p30hz"    # Progressive 30Hz
# setenv m "2160p25hz"    # Progressive 25Hz
# setenv m "2160p24hz"    # Progressive 24Hz
# setenv m "smpte24hz"    # Progressive 24Hz SMPTE
# setenv m "2160p50hz"    # Progressive 50Hz
# setenv m "2160p60hz"    # Progressive 60Hz
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)

### VESA modes ###
# setenv m "640x480p60hz"
# setenv m "800x480p60hz"
# setenv m "480x800p60hz"
# setenv m "800x600p60hz"
# setenv m "1024x600p60hz"
# setenv m "1024x768p60hz"  
# setenv m "1280x800p60hz"
# setenv m "1280x1024p60hz"
# setenv m "1360x768p60hz"
# setenv m "1440x900p60hz"
# setenv m "1600x900p60hz"
setenv m "1680x1050p60hz"
# setenv m "1600x1200p60hz"
# setenv m "1920x1200p60hz"
# setenv m "2560x1080p60hz"
# setenv m "2560x1440p60hz"
# setenv m "2560x1600p60hz"
# setenv m "3440x1440p60hz"

# HDMI BPP Mode
setenv m_bpp "32"
# setenv m_bpp "24"
# setenv m_bpp "16"

# HDMI DVI/VGA modes
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
# setenv vout "dvi"
# setenv vout "vga"

# HDMI HotPlug Detection control
# Allows you to force HDMI thinking that the cable is connected.
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# setenv hpd "false"

# Monitor output
# Controls if HDMI PHY should output anything to the monitor
setenv monitor_onoff "false" # true or false

# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
setenv nographics "0"

# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer 
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
setenv mesontimer "1"

# UHS (Ultra High Speed) MicroSD mode enable/disable
setenv disableuhs "false"

# MicroSD Card Detection enable/disable
# Force the MMC controlled to believe that a card is connected.
setenv mmc_removable "true"

# USB Multi WebCam tweak
# Only enable this if you use it.
setenv usbmulticam "false"

# Disable/Enable ODROID-VU7 Touchscreen
setenv disable_vu7 "true"

# Default Console Device Setting
setenv condev "console=ttyS0,115200n8 console=tty0"   # on both

# CPU Frequency / Cores control
###########################################
### WARNING!!! WARNING!!! WARNING!!!
# Before changing anything here please read the wiki entry: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# MAX Frequency
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
# setenv max_freq "1656"  # 1.656GHz
setenv max_freq "1536"  # 1.536GHz



###########################################

# Boot Arguments
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi

setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} hdmitx=forcergb fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"

# Booting

setenv loadaddr "0x11000000"
setenv dtb_loadaddr "0x1000000"
setenv initrd_loadaddr "0x13000000"

fatload mmc 0:1 ${initrd_loadaddr} uInitrd
fatload mmc 0:1 ${loadaddr} Image
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
fdt addr ${dtb_loadaddr}

if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
if test "${mesontimer}" = "1"; then fdt rm /timer; fi

if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi

booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
Could you try it?
As I checked your edid data, 1680x1050p60hz should be working with hdmi mode unless the edid data written in your monitor is wrong.

onestone
Posts: 48
Joined: Tue Mar 22, 2016 12:04 am
languages_spoken: english, swedish
ODROIDs: C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by onestone »

Joy, you are a genius!! I can now get 1680x1050p60hz and hdmi mode :)

Oddly, 1680x1050 and hdmi mode alone causes the screen to shut off during boot, but when I add hdmitx=forcergb in bootargs of boot.ini everything works. Now I can finaly get sound through my monitor as well!

What should I add to the boot.ini.default file to make the change persistent during future boot.ini updates, or is it possible to make the autodetect function work for my screen now that the problem is known?

This was great, thanks again!

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

onestone wrote:Joy, you are a genius!! I can now get 1680x1050p60hz and hdmi mode :)

Oddly, 1680x1050 and hdmi mode alone causes the screen to shut off during boot, but when I add hdmitx=forcergb in bootargs of boot.ini everything works. Now I can finaly get sound through my monitor as well!

What should I add to the boot.ini.default file to make the change persistent during future boot.ini updates, or is it possible to make the autodetect function work for my screen now that the problem is known?

This was great, thanks again!
Yeah~ Working~
So good to hear that! :)

You can use the following boot.ini.default if you want to use the display options permanently regardless of updates.

1. Add "display_autodetect=false"
2. Uncomment "m" line and modify it to "1680x1050p60hz"
3. Uncomment "bootargs" line and add "hdmitx=forcergb" in bootargs options

Code: Select all

[general]
#This configuration is parsed by the bootini-persistence script
#uncomment the section you want to override in boot.ini and set the desired value

####################
# C2 configuration #
####################

#Disable Auto Detection
display_autodetect=false

#C2 resolution
m=1680x1050p60hz

#C2 BPP Mode
#m_bpp=32

#C2 HDMI/DVI/VGA mode
#vout=dvi

#C2 HDMI HotPlug Detection control
#hpd=true

#C2 Console
#condev=console=ttyS0,115200n8 console=tty0

#C2 Meson timer
#mesontimer=1

#C2 nographics
#nographics=0

#C2 monitor output
#monitor_onoff=false

#C2 maxcpus
#maxcpus=4

#C2 Max frequency
#max_freq=1536

#C2 bootargs
bootargs=root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${comde} m_bpp=${m_bpp} vout=${vout} hdmitx=forcergb fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable}

#disableuhs
#disableuhs=false

#mmc_removable
#mmc_removable=true
You can test it using "bootini" command as described in the top of boot.ini file.

substring
Posts: 51
Joined: Fri Jun 23, 2017 5:28 am
languages_spoken: english, french
ODROIDs: C2, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by substring »

Hi,

I wanted to see how the EDID detection performs, looks like it doesn't work with my both setups ... I am using the ubuntu64-16.04.2lts-mate-odroid-c2-20170301.img

1st monitor : IIyama E2407HDSV. 1920x1080, VGA only, so i'm using a HDMI2VGA
- using auto detection : i hardly get any video. Sometimes the uguntu log in screen briefly flashes. No display
- disabling auto detection and using the 1080p : the console boot messages work fine, but no log in screen. Might just be X not setting up correctly my screen (worked fine afterall)

2nd monitor : Samsung S22A450BW. 1680x1050, VGA and DVI
- Using auto detection on DVI : works perfect
- Using auto detection with an HDMI2VGA : the screen is messed up. The resolution seems right, but the screen is blurry, messy, and moved to the right, with the missing right border (almost 15% of the picture) is on the left side. I can eventually add a photo of the screen

The HDMI2VGA dongles work flawlessly with a Pi with both screens. How can I help solve the issue ? I don't want to force any screen resolution as i my C2 moves between both screens.
Attachments
c2.tar.gz
(820 Bytes) Downloaded 172 times

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote:Hi,

I wanted to see how the EDID detection performs, looks like it doesn't work with my both setups ... I am using the ubuntu64-16.04.2lts-mate-odroid-c2-20170301.img

1st monitor : IIyama E2407HDSV. 1920x1080, VGA only, so i'm using a HDMI2VGA
- using auto detection : i hardly get any video. Sometimes the uguntu log in screen briefly flashes. No display
- disabling auto detection and using the 1080p : the console boot messages work fine, but no log in screen. Might just be X not setting up correctly my screen (worked fine afterall)

2nd monitor : Samsung S22A450BW. 1680x1050, VGA and DVI
- Using auto detection on DVI : works perfect
- Using auto detection with an HDMI2VGA : the screen is messed up. The resolution seems right, but the screen is blurry, messy, and moved to the right, with the missing right border (almost 15% of the picture) is on the left side. I can eventually add a photo of the screen

The HDMI2VGA dongles work flawlessly with a Pi with both screens. How can I help solve the issue ? I don't want to force any screen resolution as i my C2 moves between both screens.
Hi substring,

I've checked the attached files and it seems your C2 correctly detects display modes based on edid data.

Could you try 'forcergb' option for both of cases?

Please add "hdmitx=forcergb" in bootargs of boot.ini file.
For example, the basic 'bootargs' parameters is as following and you need to use the next one to activate forcergb option.
1. original one

Code: Select all

setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"
2. modified one

Code: Select all

setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend hdmitx=forcergb hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"
And just keep auto detection option as true to check if it's forcergb issue or not.

For more information, you can refer to this wiki page.
http://odroid.com/dokuwiki/doku.php?id=en:c2_forcergb

And now we don't have hdmitovga connector.
I will get a hdmitovga gender and try to sync the test environment with yours.

substring
Posts: 51
Joined: Fri Jun 23, 2017 5:28 am
languages_spoken: english, french
ODROIDs: C2, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by substring »

hey @joy !

Thank you for your reply ! The forcergb did the trick for the 1080p iiyama monitor with the HDMI2VGA dongle. But sadly, the screen is still messy on the Samsung screen with forcergb and auto detect. I have enclosed a picture.
Image

May I ask one more question ? i'm contributing on my free time to a project using buildroot to compile a whole OS. I updated the kernel and uboot source to the last version. If I try the auto detect feature, the OS won't boot. The kernel is loaded OK as I see the blue heartbeat, but nothing more happens. Anything I missed ? It does boot fine when I disable autodetect.

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote:hey @joy !

Thank you for your reply ! The forcergb did the trick for the 1080p iiyama monitor with the HDMI2VGA dongle. But sadly, the screen is still messy on the Samsung screen with forcergb and auto detect. I have enclosed a picture.
Image
Hi substring,

I got two hdmi2vga converter and tried to reproduce the issue,
but I didn't see any issue. :(

About the messy screen, I just assume the detailed timing in edid data can show unsupported resolution
so, let's try manual setting with the native resolution that the edid says.

Both of your monitors say the native modes are 1080p60hz (VIC16) and 720p60hz(VIC04).

Please try 720p60hz and 1080p60hz.
Or try the resolution that you've confirmed with RPi board.

you need to modify the boot.ini as following.
(1) display_autodetect "false"

(2) activate 720p60hz
or
activate 1080p60hz (the mode is activated by default.)

Code: Select all

# Auto Detection of Monitor settings based on your Screen information
# See: http://odroid.com/dokuwiki/doku.php?id=en:c2_auto_detect_display
# setenv display_autodetect "true"
setenv display_autodetect "false"

setenv m "720p60hz" # 60Hz
# or 
# setenv m "1080p60hz" # Progressive 60Hz
Last edited by joy on Tue Jun 27, 2017 5:06 pm, edited 3 times in total.

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote: May I ask one more question ? i'm contributing on my free time to a project using buildroot to compile a whole OS. I updated the kernel and uboot source to the last version. If I try the auto detect feature, the OS won't boot. The kernel is loaded OK as I see the blue heartbeat, but nothing more happens. Anything I missed ? It does boot fine when I disable autodetect.
I think the boot.ini doesn't have "modeline" parameter syntax. (The old boot.ini had the issue.)
Could you show me the whole boot.ini file?
I can fix it.

substring
Posts: 51
Joined: Fri Jun 23, 2017 5:28 am
languages_spoken: english, french
ODROIDs: C2, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by substring »

joy wrote:
substring wrote:hey @joy !

Thank you for your reply ! The forcergb did the trick for the 1080p iiyama monitor with the HDMI2VGA dongle. But sadly, the screen is still messy on the Samsung screen with forcergb and auto detect. I have enclosed a picture.
Image
Hi substring,

I got two hdmi2vga converter and tried to reproduce the issue,
but I didn't see any issue. :(

About the messy screen, I just assume the detailed timing in edid data can show unsupported resolution
so, let's try manual setting with the native resolution that the edid says.

Both of your monitors say the native modes are 1080p60hz (VIC16) and 720p60hz(VIC04).

Please try 720p60hz and 1080p60hz.
Or try the resolution that you've confirmed with RPi board.

you need to modify the boot.ini as following.
(1) display_autodetect "false"

(2) activate 720p60hz
or
activate 1080p60hz (the mode is activated by default.)

Code: Select all

# Auto Detection of Monitor settings based on your Screen information
# See: http://odroid.com/dokuwiki/doku.php?id=en:c2_auto_detect_display
# setenv display_autodetect "true"
setenv display_autodetect "false"

setenv m "720p60hz" # 60Hz
# or 
# setenv m "1080p60hz" # Progressive 60Hz
As I said, the "buggy" monitor is 1680x1050 (http://www.samsung.com/us/business/supp ... A450BWT/ZA) so I'd like to run it at its native resolution. It can resize 720p and 1080p, but I want to run it at its native resolution with this HDMI2VGA. It does work if I set the 1680x1050 mode provided in the boot.ini, but doesn't work when using autodetect. Using the HDMI2VGA with autodetect does set 1680x1050, but such a feeling that the modeline is wrong (as you could see on the screenshot)

For the second problem, here is my boot.ini file (don't mind the autodetect set to false, as I'm flashing very often the buildroot image, I was fed up to manually set everytime autodetect to false)

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote: As I said, the "buggy" monitor is 1680x1050 (http://www.samsung.com/us/business/supp ... A450BWT/ZA) so I'd like to run it at its native resolution. It can resize 720p and 1080p, but I want to run it at its native resolution with this HDMI2VGA. It does work if I set the 1680x1050 mode provided in the boot.ini, but doesn't work when using autodetect. Using the HDMI2VGA with autodetect does set 1680x1050, but such a feeling that the modeline is wrong (as you could see on the screenshot)

For the second problem, here is my boot.ini file (don't mind the autodetect set to false, as I'm flashing very often the buildroot image, I was fed up to manually set everytime autodetect to false)
Thank you for your feedback.
I was confused that you meant any manual resolution (even 1680x1050) doesn't work with Samsung monitor,
so I wanted to check first if basic mode of manual option works or not.

You mean the manual mode 1680x1050 works normally with samsung monitor, right?
And iiyama monitor works with auto-detection and forcergb.

I've checked the different points between (1) auto-detection based on the edid data of samsung monitor and (2) manual mode of 1680x1050.
The modeline data is same but pixel clock, hsync clock and hsync polarity from edid calculation are different.

I think the kind of differences can not be a big trouble cause, Umm....

And as I checked, the edid data from samsung monitor says the correct timing from S22A450BW datasheet.
http://downloadcenter.samsung.com/conte ... -04Eng.pdf

I will try build custom timing data using the samsung edid
and check if there is any difference between auto and manual mode.

Code: Select all

(1) timing in auto-detection mode (from edid data)
width,height : 1680,1050
pixel clock : 146.250 MHz
hsync clock : 65.290 kHz
vsync clock : 60 Hz
modeline : 1680  1784  1960  2240 
           1050  1053  1059  1089
-HSYnc 0 / +VSync 1
progress : 1

Code: Select all

(2) timing in manual mode
width,height : 1680,1050
pixel clock : 146.360 MHz
hsync clock : 65.340 kHz
vsync clock : 60 Hz
modeline : 1680  1784  1960  2240 
           1050  1053  1059  1089
+HSYnc 1 / +VSync 1
progress : 1
And there is no boot.ini file in your earlier reply.
*.ini file format is not available to upload for [upload attachment] in this forum page,
so you need to compress a file using zip or something.

substring
Posts: 51
Joined: Fri Jun 23, 2017 5:28 am
languages_spoken: english, french
ODROIDs: C2, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by substring »

ooops my bad, forgot to specify the https://pastebin.com/nYPvLxxB

If you need further testings from me, please ask

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote:ooops my bad, forgot to specify the https://pastebin.com/nYPvLxxB

If you need further testings from me, please ask
Hi substring.
Please find the attachment, "c2_boot_modified.ini.zip".
I fixed one wrong syntax in boot.ini related to modeline data.

Code: Select all

${comde} -> ${cmode}

Code: Select all

# Boot Arguments
setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} consoleblank=0 no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"

Code: Select all

ODROIDC2-UBOOT-CONFIG

########################################################################
# Changes made to this are overwritten every time there's a new upgrade
# To make your changes permanent change it on 
# boot.ini.default
# After changing it on boot.ini.default run the bootini command to
# rewrite this file with your personal permanent settings.
# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini
########################################################################

# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.

# Custom modeline!
# To use custom modeline you need to disable all the below resolutions
# and setup your own! 
# For more information check our wiki: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting
# Example below:
# setenv m "custombuilt" 
# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1"

# Auto Detection of Monitor settings based on your Screen information
# See: http://odroid.com/dokuwiki/doku.php?id=en:c2_auto_detect_display
setenv display_autodetect "false"

# 480 Lines (720x480)
# setenv m "480i60hz" # Interlaced 60Hz
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv m "480p60hz" # 480 Progressive 60Hz
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz

# 576 Lines (720x576)
# setenv m "576i50hz" # Interlaced 50Hz
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv m "576p50hz" # Progressive 50Hz
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz

# 720 Lines (1280x720)
# setenv m "720p50hz" # 50Hz
# setenv m "720p60hz" # 60Hz

# 1080 Lines (1920x1080)
# setenv m "1080i60hz" # Interlaced 60Hz
setenv m "1080p60hz" # Progressive 60Hz
# setenv m "1080i50hz" # Interlaced 50Hz
# setenv m "1080p50hz" # Progressive 50Hz
# setenv m "1080p24hz" # Progressive 24Hz

# 4K (3840x2160)
# setenv m "2160p30hz"    # Progressive 30Hz
# setenv m "2160p25hz"    # Progressive 25Hz
# setenv m "2160p24hz"    # Progressive 24Hz
# setenv m "smpte24hz"    # Progressive 24Hz SMPTE
# setenv m "2160p50hz"    # Progressive 50Hz
# setenv m "2160p60hz"    # Progressive 60Hz
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)

### VESA modes ###
# setenv m "640x480p60hz"
# setenv m "800x480p60hz"
# setenv m "480x800p60hz"
# setenv m "800x600p60hz"
# setenv m "1024x600p60hz"
# setenv m "1024x768p60hz"  
# setenv m "1280x800p60hz"
# setenv m "1280x1024p60hz"
# setenv m "1360x768p60hz"
# setenv m "1440x900p60hz"
# setenv m "1600x900p60hz"
# setenv m "1680x1050p60hz"
# setenv m "1600x1200p60hz"
# setenv m "1920x1200p60hz"
# setenv m "2560x1080p60hz"
# setenv m "2560x1440p60hz"
# setenv m "2560x1600p60hz"
# setenv m "3440x1440p60hz"

# HDMI BPP Mode
setenv m_bpp "32"
# setenv m_bpp "24"
# setenv m_bpp "16"

# HDMI DVI/VGA modes
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
# setenv vout "dvi"
# setenv vout "vga"

# HDMI HotPlug Detection control
# Allows you to force HDMI thinking that the cable is connected.
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# setenv hpd "false"

# Monitor output
# Controls if HDMI PHY should output anything to the monitor
setenv monitor_onoff "false" # true or false

# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
setenv nographics "0"

# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer 
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
setenv mesontimer "1"

# UHS (Ultra High Speed) MicroSD mode enable/disable
setenv disableuhs "false"

# MicroSD Card Detection enable/disable
# Force the MMC controlled to believe that a card is connected.
setenv mmc_removable "true"

# USB Multi WebCam tweak
# Only enable this if you use it.
setenv usbmulticam "false"

# Disable/Enable ODROID-VU7 Touchscreen
setenv disable_vu7 "true"

# Default Console Device Setting
setenv condev "console=ttyS0,115200n8 console=tty0"   # on both

# CPU Frequency / Cores control
###########################################
### WARNING!!! WARNING!!! WARNING!!!
# Before changing anything here please read the wiki entry: 
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"

# MAX Frequency
# setenv max_freq "2016"  # 2.016GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1944"  # 1.944GHz
# setenv max_freq "1920"  # 1.920GHz
# setenv max_freq "1896"  # 1.896GHz
# setenv max_freq "1752"  # 1.752GHz
# setenv max_freq "1680"  # 1.680GHz
# setenv max_freq "1656"  # 1.656GHz
setenv max_freq "1536"  # 1.536GHz



###########################################

# Boot Arguments
if test "${display_autodetect}" = "true"; then usb pwren; hdmitx edid; fi
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi

# Default Console Device Setting
setenv condev "console=ttyS0,115200n8"

# Boot Arguments
setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} consoleblank=0 no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam} ${hid_quirks}"

# Booting

setenv loadaddr "0x11000000"
setenv dtb_loadaddr "0x1000000"

fatload mmc 0:1 ${loadaddr} Image
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
fdt addr ${dtb_loadaddr}

if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
if test "${mesontimer}" = "1"; then fdt rm /timer; fi

if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi

booti ${loadaddr} - ${dtb_loadaddr}
I will check the latest buildroot to fix boot.ini.
If auto detection doesn't work with this boot.ini, please let me know.

And about the samsung monitor issue, please give me several days to look into.
I will share the status once I get some clue.
Attachments
c2_boot_modified.ini.zip
(2.51 KiB) Downloaded 55 times

substring
Posts: 51
Joined: Fri Jun 23, 2017 5:28 am
languages_spoken: english, french
ODROIDs: C2, XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by substring »

Thank you for your help !

Do not bother with buildroot as my project (recalbox) doesn't use the standard hardkernel or buildroot defconfig nor boot.ini. I'll report back with the *stupid* typo. I mentionned buildroot to stress out the fact that i'm not using the hardkernel android/ubuntu OS except for testing.

Edit: changed cmode to cmode, it does boot. On the iiyama sceen (the 1080p one) forcergb has no effect on my setup with recalbox (on a dev branch) : the screen is always going to sleep, waking up, but the image remains dark. That's until emulationstation switch to the screensaver (lower brightness) : I suddenly get the picture (often blinks to dark) AND the sound through the HDMI dongle. As soon as I leave this screensaver mode, the flickering sleep/wake up starts again, and lose sound. I start to think this could be related to the "signal power" (my HDMI2VGA powers itself on the HDMI). The 1080p mode works just fine, but still, i'm aiming at using the autodetect feature.

joy
Posts: 1296
Joined: Fri Oct 02, 2015 1:44 pm
languages_spoken: english
ODROIDs: ODROID-C1+, XU4, X
Has thanked: 132 times
Been thanked: 157 times
Contact:

Re: Display Auto Detection using EDID (Calling for Test)

Post by joy »

substring wrote:Thank you for your help !
Do not bother with buildroot as my project (recalbox) doesn't use the standard hardkernel or buildroot defconfig nor boot.ini. I'll report back with the *stupid* typo. I mentionned buildroot to stress out the fact that i'm not using the hardkernel android/ubuntu OS except for testing.
The boot.ini has been updated.
https://github.com/hardkernel/buildroot ... a26ff73dca
The previous boot.ini was an old version. Sorry for the inconvenience. :(
substring wrote: Edit: changed cmode to cmode, it does boot. On the iiyama sceen (the 1080p one) forcergb has no effect on my setup with recalbox (on a dev branch) : the screen is always going to sleep, waking up, but the image remains dark. That's until emulationstation switch to the screensaver (lower brightness) : I suddenly get the picture (often blinks to dark) AND the sound through the HDMI dongle. As soon as I leave this screensaver mode, the flickering sleep/wake up starts again, and lose sound. I start to think this could be related to the "signal power" (my HDMI2VGA powers itself on the HDMI). The 1080p mode works just fine, but still, i'm aiming at using the autodetect feature.
Could you share the product information of your HDMI2VGA converter that you're using?
(product name or page link...)

(Updated)
I hope I find the clue and you can use auto detection mode with your monitors.
To make sure, could you check and share the current state as the following list if you're available? :)

I'm confused which case it works with or not.
If it's signal power or timing issue, it must NOT work regardless of auto detection or manual mode.
And it's worthy to try lower resolution with manual mode just for test to figure out causes.

=================================================
1. iiyama monitor (native 1920x1080)

(1) With Ubuntu version, not buildroot
Is it working well with auto detection and forcergb option?
No blinks or flickering?
=>

(2) Could you try a manual mode 1920x1080p60hz on buildroot?
Any dark, blink or flickering?
=>

(3) Could you try a lower resolution (lower timing and clocks) like 720p on buildroot?
Same issue?
=>

=================================================
2. samsung monitor (native 1680x1050)

(1) In case of using manual mode of 1680x1050, is it working normally without dark or blink issue?
=>

(2) Only with auto detection, doesn't it work?
=>

(3) How about buildroot and auto detection mode with samsung monitor?
=>

=================================================
3. Could you let me know the Ubuntu version you're using?

Code: Select all

# uname -a
=>

4. Could you let me know which version of buildroot you use?
=>

=================================================

Sorry, too many questions... :o

Post Reply

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 2 guests