U-boot 모드 해상도설정에 관해서

Post Reply
Whyliloo
Posts: 43
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 13 times
Been thanked: 0
Contact:

U-boot 모드 해상도설정에 관해서

Post by Whyliloo »

Android 를 이미지 설치하여 사용중입니다.

1024 x 768 디스플레이를 사용중입니다.

U-Boot 프롬프트로 진입해서 해당 명령 showlogo 1024x768p60hz 를 쳐보니 로고는 나옵니다.

단순히 showlogo 를 수행하게 되면,
cvbs: outputmode[1080p60hz] is invalid 라는 문구가 뜨는데요 .
1024x768p60hz 를 수행해도
cvbs: outputmode[1024x768p60hz] is invalid 는 뜨는데, showlogo 시 기본 세팅자체가 1080p60hz 로 되있는것 같습니다.

해당 부분을 바꾸려면 어떻게 해야 하나요?


추가적으로 showlogo 1024x768p60hz 시 나오는
boot-logo.bmp.gz 파일은
어디서 바꿔줘야 변경할 수 있나요?

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

Re: U-boot 모드 해상도설정에 관해서

Post by joy »

Whyliloo wrote:
Fri Dec 18, 2020 10:54 am
단순히 showlogo 를 수행하게 되면,
cvbs: outputmode[1080p60hz] is invalid 라는 문구가 뜨는데요 .
1024x768p60hz 를 수행해도
cvbs: outputmode[1024x768p60hz] is invalid 는 뜨는데, showlogo 시 기본 세팅자체가 1080p60hz 로 되있는것 같습니다.

해당 부분을 바꾸려면 어떻게 해야 하나요?
네. showlogo 커맨드만 입력하시면 기본 해상도 1080p60hz로 설정됩니다.
이 외의 모드는 테스트하신대로 showlogo [mode]형태로 사용하시면 됩니다.

기본 해상도를 1024x768p60hz로 고정하고 싶으시면 U-boot을 수정하여 다시 빌드하여 교체하셔야 합니다.
https://github.com/hardkernel/u-boot/bl ... ogo.c#L158
Whyliloo wrote:
Fri Dec 18, 2020 10:54 am
추가적으로 showlogo 1024x768p60hz 시 나오는
boot-logo.bmp.gz 파일은
어디서 바꿔줘야 변경할 수 있나요?
아래 wiki page를 참고하여 주시기 바랍니다.
https://wiki.odroid.com/odroid-n2/appli ... ootlogo_n2
https://wiki.odroid.com/odroid-n2/appli ... stom_image

기본적으로 Card (SD card 또는 eMMC)의 VFAT file system 폴더에 boot-logo.bmp 또는 boot-logo.bmp.gz 파일이 있으면
그 파일을 우선적으로 읽어들이도록 되어 있습니다.
또는 안드로이드의 경우는 fastboot를 이용하여 LOGO 파티션의 데이터를 교체할 수 있습니다.

Whyliloo
Posts: 43
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 13 times
Been thanked: 0
Contact:

Re: U-boot 모드 해상도설정에 관해서

Post by Whyliloo »

joy wrote:
Wed Dec 23, 2020 9:26 am
Whyliloo wrote:
Fri Dec 18, 2020 10:54 am
단순히 showlogo 를 수행하게 되면,
cvbs: outputmode[1080p60hz] is invalid 라는 문구가 뜨는데요 .
1024x768p60hz 를 수행해도
cvbs: outputmode[1024x768p60hz] is invalid 는 뜨는데, showlogo 시 기본 세팅자체가 1080p60hz 로 되있는것 같습니다.

해당 부분을 바꾸려면 어떻게 해야 하나요?
네. showlogo 커맨드만 입력하시면 기본 해상도 1080p60hz로 설정됩니다.
이 외의 모드는 테스트하신대로 showlogo [mode]형태로 사용하시면 됩니다.

기본 해상도를 1024x768p60hz로 고정하고 싶으시면 U-boot을 수정하여 다시 빌드하여 교체하셔야 합니다.
https://github.com/hardkernel/u-boot/bl ... ogo.c#L158
Whyliloo wrote:
Fri Dec 18, 2020 10:54 am
추가적으로 showlogo 1024x768p60hz 시 나오는
boot-logo.bmp.gz 파일은
어디서 바꿔줘야 변경할 수 있나요?
아래 wiki page를 참고하여 주시기 바랍니다.
https://wiki.odroid.com/odroid-n2/appli ... ootlogo_n2
https://wiki.odroid.com/odroid-n2/appli ... stom_image

기본적으로 Card (SD card 또는 eMMC)의 VFAT file system 폴더에 boot-logo.bmp 또는 boot-logo.bmp.gz 파일이 있으면
그 파일을 우선적으로 읽어들이도록 되어 있습니다.
또는 안드로이드의 경우는 fastboot를 이용하여 LOGO 파티션의 데이터를 교체할 수 있습니다.

안녕하세요. 답변 감사합니다.

말씀하신대로 U-boot 재빌드하여 해결해보고있는 중입니다.

이미지도 1024x768 비트맵 이미지 준비했습니다.

다만 실제 적용하면 로고는 뜨고있는데 상단이 1/3 정도 짤려집니다.

( 수정내용 )
1. cmd_showlogo.c
mode 변수를 쓰지 않고
=> display_logo("1024x768p60hz" , "1024", "768")
2. odroidn2.c
=> run_command("showlogo 1024x768p60hz", 0)

이렇게 변경해보았습니다.

현재 Display
1024x768 touch display, 세로모드

잘리는 부분과, 로고가 가로기준이라그런지 다 가로로 표출되어집니다.

혹시 세로로 회전이 가능할까요?

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

Re: U-boot 모드 해상도설정에 관해서

Post by joy »

@Whyliloo,
사용하려고 하시는 bmp 이미지를 공유해주실수 있을까요?
테스트를 해보겠습니다.

Whyliloo
Posts: 43
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 13 times
Been thanked: 0
Contact:

Re: U-boot 모드 해상도설정에 관해서

Post by Whyliloo »

joy wrote:
Wed Dec 30, 2020 6:40 pm
@Whyliloo,
사용하려고 하시는 bmp 이미지를 공유해주실수 있을까요?
테스트를 해보겠습니다.
파일 첨부하였습니다.

테스트 환경은
1024x768p60Hz 환경 Display, Odroid N2, Android 9.0 입니다.

부팅 로고부터 안드로이드 런쳐까지 세로로 출력하는것이 최종 목표입니다.
로고의 경우도 현재 가로기준으로 정방향으로 나오고 있는데 로고 또한 이미지와 같이 정 가운데가 아닌 30%정도 치우쳐서 나오는 상황입니다.
런쳐의 경우 세로로 원할경우 density 사이즈를 200 으로 변경해야 한다고 하셨는데,
이 방법 말고 다른 런쳐를 사용해야할 것 같습니다.
다른 런쳐 사용법을 아직 몰라서 아직 실제로 적용은 못시키고 있습니다.

https://drive.google.com/file/d/1ebXlyq ... sp=sharing

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

Re: U-boot 모드 해상도설정에 관해서

Post by joy »

(updated)
@Whyliloo,
네. 파일 받았습니다.

u-boot에서 디스플레이 Rotation이 가능힌지는 모르겠습니다.
검토는 해보겠습니다만, 1280x720 사이즈이 원본 파일을 세로로 만들어서 하는 디스플레이를 가로로 방법만 가능할 수도 있습니다.

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

Re: U-boot 모드 해상도설정에 관해서

Post by joy »

@Whyliloo,
u-boot에서 default 1024x768p60hz 해상도에 1024x768 bmp logo 설정으로 로고 화면을 보이도록 수정한 내용입니다.

기본 이미지에서 설정된 hdmimode가 1080p60hz로 env 영역에 저장되어 있기 때문에
기존에 수정하셨던 부분에서 hdmi 해상도는 계속 1080p60hz로 설정되었을 겁니다.
https://github.com/hardkernel/u-boot/bl ... ogo.c#L159

Code: Select all

	if (argc <= 1) {
		mode = getenv("hdmimode");
		/* ODROID default logo size 1280x720 */
		display_logo((NULL == mode) ? "1080p60hz" : mode, "1280", "720");
그리고 기본 로고 사이즈도 변경이 필요합니다.
설정된 fb size는 1280x720인데 bmp 파일 사이즈가 1024x768이어서 화면 좌측상단에 치우쳐서 보였을 겁니다.

Code: Select all

	} else {
		display_logo(argv[1], "1280", "720");
	}
아래 patch를 참고하여 U-boot을 빌드하시면 showlogo 에 argument를 주지 않아도 1024x768p60hz로 설정될 겁니다.

Code: Select all

diff --git a/board/hardkernel/odroidn2/odroidn2.c b/board/hardkernel/odroidn2/odroidn2.c
index 6e24402..42f58a7 100644
--- a/board/hardkernel/odroidn2/odroidn2.c
+++ b/board/hardkernel/odroidn2/odroidn2.c
@@ -389,7 +389,7 @@ int board_late_init(void)
 	board_cvbs_probe();
 #endif
 
-	/* boot logo display - 1080p60hz */
+	/* boot logo display - 1024x768p60hz */
 	run_command("showlogo", 0);
 
 	if (get_boot_device() == BOOT_DEVICE_SPI) {
diff --git a/common/cmd_showlogo.c b/common/cmd_showlogo.c
index ecac6b3..ba77edc 100644
--- a/common/cmd_showlogo.c
+++ b/common/cmd_showlogo.c
@@ -91,14 +91,14 @@ static int display_logo(const char* mode, const char* bmp_width, const char* bmp
 		}
 	}
 
-	/* If hdmimode is set by invalid mode, u-boot set the default mode(1080p60hz). */
+	/* If hdmimode is set by invalid mode, u-boot set the default mode(1024x768p60hz). */
 	if (i == ARRAY_SIZE(odroid_res_list)) {
 		printf("error: '%s' is invalid resolution.\n", mode);
-		printf("Set the default resolution. => 1080p60hz.\n");
-		mode = "1080p60hz";
-		setenv("display_width", "1920");
-		setenv("display_height", "1080");
-		setenv("hdmimode", "1080p60hz");
+		printf("Set the default resolution. => 1024x768p60hz.\n");
+		mode = "1024x768p60hz";
+		setenv("display_width", "1024");
+		setenv("display_height", "768");
+		setenv("hdmimode", "1024x768p60hz");
 		run_command("save", 0);
 	}
 
@@ -153,16 +153,18 @@ display_logo:
 static int do_showlogo(cmd_tbl_t *cmdtp, int flag, int argc,
 		char *const argv[])
 {
-	char *mode;
+	// char *mode;
 
 	if (argc <= 1) {
-		mode = getenv("hdmimode");
+		/* to set default hdmimode as 1024x768p60hz */
+		// mode = getenv("hdmimode");
+
 		/* ODROID default logo size 1280x720 */
-		display_logo((NULL == mode) ? "1080p60hz" : mode, "1280", "720");
+		display_logo("1024x768p60hz", "1024", "768");
 	} else if (argc == 4) {
 		display_logo(argv[1], argv[2], argv[3]);
 	} else {
-		display_logo(argv[1], "1280", "720");
+		display_logo(argv[1], "1024", "768");
 	}
 
 	return 0;
아래는 공유해주신 그림에서 테두리를 확인하기 위해 붉은색 테두리만 추가하여 화면을 확인한 내용입니다.
n2_bootlogo_1024x768_1.png
n2_bootlogo_1024x768_1.png (609.2 KiB) Viewed 103 times
n2_bootlogo_1024x768_2.png
n2_bootlogo_1024x768_2.png (677.34 KiB) Viewed 103 times
내용 확인 부탁 드립니다.
These users thanked the author joy for the post (total 2):
odroid (Tue Jan 05, 2021 9:57 am) • Whyliloo (Tue Jan 05, 2021 11:20 am)

Whyliloo
Posts: 43
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 13 times
Been thanked: 0
Contact:

Re: U-boot 모드 해상도설정에 관해서

Post by Whyliloo »

joy wrote:
Tue Jan 05, 2021 8:51 am
@Whyliloo,
u-boot에서 default 1024x768p60hz 해상도에 1024x768 bmp logo 설정으로 로고 화면을 보이도록 수정한 내용입니다.

기본 이미지에서 설정된 hdmimode가 1080p60hz로 env 영역에 저장되어 있기 때문에
기존에 수정하셨던 부분에서 hdmi 해상도는 계속 1080p60hz로 설정되었을 겁니다.
https://github.com/hardkernel/u-boot/bl ... ogo.c#L159

Code: Select all

	if (argc <= 1) {
		mode = getenv("hdmimode");
		/* ODROID default logo size 1280x720 */
		display_logo((NULL == mode) ? "1080p60hz" : mode, "1280", "720");
그리고 기본 로고 사이즈도 변경이 필요합니다.
설정된 fb size는 1280x720인데 bmp 파일 사이즈가 1024x768이어서 화면 좌측상단에 치우쳐서 보였을 겁니다.

Code: Select all

	} else {
		display_logo(argv[1], "1280", "720");
	}
아래 patch를 참고하여 U-boot을 빌드하시면 showlogo 에 argument를 주지 않아도 1024x768p60hz로 설정될 겁니다.

Code: Select all

diff --git a/board/hardkernel/odroidn2/odroidn2.c b/board/hardkernel/odroidn2/odroidn2.c
index 6e24402..42f58a7 100644
--- a/board/hardkernel/odroidn2/odroidn2.c
+++ b/board/hardkernel/odroidn2/odroidn2.c
@@ -389,7 +389,7 @@ int board_late_init(void)
 	board_cvbs_probe();
 #endif
 
-	/* boot logo display - 1080p60hz */
+	/* boot logo display - 1024x768p60hz */
 	run_command("showlogo", 0);
 
 	if (get_boot_device() == BOOT_DEVICE_SPI) {
diff --git a/common/cmd_showlogo.c b/common/cmd_showlogo.c
index ecac6b3..ba77edc 100644
--- a/common/cmd_showlogo.c
+++ b/common/cmd_showlogo.c
@@ -91,14 +91,14 @@ static int display_logo(const char* mode, const char* bmp_width, const char* bmp
 		}
 	}
 
-	/* If hdmimode is set by invalid mode, u-boot set the default mode(1080p60hz). */
+	/* If hdmimode is set by invalid mode, u-boot set the default mode(1024x768p60hz). */
 	if (i == ARRAY_SIZE(odroid_res_list)) {
 		printf("error: '%s' is invalid resolution.\n", mode);
-		printf("Set the default resolution. => 1080p60hz.\n");
-		mode = "1080p60hz";
-		setenv("display_width", "1920");
-		setenv("display_height", "1080");
-		setenv("hdmimode", "1080p60hz");
+		printf("Set the default resolution. => 1024x768p60hz.\n");
+		mode = "1024x768p60hz";
+		setenv("display_width", "1024");
+		setenv("display_height", "768");
+		setenv("hdmimode", "1024x768p60hz");
 		run_command("save", 0);
 	}
 
@@ -153,16 +153,18 @@ display_logo:
 static int do_showlogo(cmd_tbl_t *cmdtp, int flag, int argc,
 		char *const argv[])
 {
-	char *mode;
+	// char *mode;
 
 	if (argc <= 1) {
-		mode = getenv("hdmimode");
+		/* to set default hdmimode as 1024x768p60hz */
+		// mode = getenv("hdmimode");
+
 		/* ODROID default logo size 1280x720 */
-		display_logo((NULL == mode) ? "1080p60hz" : mode, "1280", "720");
+		display_logo("1024x768p60hz", "1024", "768");
 	} else if (argc == 4) {
 		display_logo(argv[1], argv[2], argv[3]);
 	} else {
-		display_logo(argv[1], "1280", "720");
+		display_logo(argv[1], "1024", "768");
 	}
 
 	return 0;
아래는 공유해주신 그림에서 테두리를 확인하기 위해 붉은색 테두리만 추가하여 화면을 확인한 내용입니다.
n2_bootlogo_1024x768_1.png
n2_bootlogo_1024x768_2.png

내용 확인 부탁 드립니다.
정말 감사합니다! 해결이 되었습니다.

답변주신 내용에서

else{
display_logo(argv[1], "1024", "768");
}

위의 부분이 변경이 안되어있는 것 확인하고 변경하니 해결되었습니다.

감사합니다.

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

Re: U-boot 모드 해상도설정에 관해서

Post by joy »

@Whyliloo,
확인 감사합니다.
동작이 정상적으로 된다니 다행입니다.

u-boot에서 화면을 rotate하는 기능은 단기간 내에 지원해 드리기는 어려울 것 같습니다.

[1] osd driver에서 화면만 rotate 하는 방법
u-boot 소스상에서 관련 register는 코드상으로 보이는데 기능상으로 확인된 내용이 없어서 long-term으로 일정을 잡고 봐야 할 것 같습니다.

[2] hdmi에서 768x1024로 출력하는 방법
이 방법 역시 hdmitx쪽 작업을 새로 해야 하는 작업이라 역시나 구현에 시간이 걸립니다.
These users thanked the author joy for the post:
Whyliloo (Tue Jan 05, 2021 3:34 pm)

Whyliloo
Posts: 43
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 13 times
Been thanked: 0
Contact:

Re: U-boot 모드 해상도설정에 관해서

Post by Whyliloo »

joy wrote:
Tue Jan 05, 2021 1:18 pm
@Whyliloo,
확인 감사합니다.
동작이 정상적으로 된다니 다행입니다.

u-boot에서 화면을 rotate하는 기능은 단기간 내에 지원해 드리기는 어려울 것 같습니다.

[1] osd driver에서 화면만 rotate 하는 방법
u-boot 소스상에서 관련 register는 코드상으로 보이는데 기능상으로 확인된 내용이 없어서 long-term으로 일정을 잡고 봐야 할 것 같습니다.

[2] hdmi에서 768x1024로 출력하는 방법
이 방법 역시 hdmitx쪽 작업을 새로 해야 하는 작업이라 역시나 구현에 시간이 걸립니다.
답변 감사합니다!

나중에라도 변경가능하거나 하는 방법이 있다면 꼭 적용해 보고 싶습니다.

감사합니다.

Post Reply

Return to “N2/N2+”

Who is online

Users browsing this forum: No registered users and 3 guests