The environment is MX53 QSB, Linux 2.6.35 from "L2.6.35_11.09.01_ER_source_bundle". The x-window manager under this environment is match-box.
My test procedure are listed below:
A. Prepare for 1080P
a. Set 1080P in uboot: video=mxcdi0fb:RGB24,1920x1080MR-16@60 hdmi
b. Get related information by running fbset
mode "1920x1080-60"
# D: 138.504 MHz, H: 66.589 kHz, V: 59.936 Hz
geometry 1920 1080 1920 3240 16
timings 7220 80 48 3 23 32 5
hsync high
rgba 5/11,6/5,5/0,0/0
endmode
c. Make set_1080p.sh according to above parameters
#!/bin/sh
fbset -g 1920 1080 1920 3240 16 -t 7220 80 48 3 23 32 5 -hsync high
B. Prepare for 720P
a. Set 72P in uboot: video=mxcdi0fb:RGB24,1280x720MR-16@60 hdmi
b. Get related information by running fbset
mode "1280x720-60"
# D: 64.000 MHz, H: 44.444 kHz, V: 59.979 Hz
geometry 1280 720 1280 2160 16
timings 15625 80 48 3 13 32 5
hsync high
rgba 5/11,6/5,5/0,0/0
endmode
c. Make set_720p.sh according to above parameters
#!/bin/sh
fbset -g 1280 720 1280 2160 16 -t 15625 80 48 3 13 32 5
C. fbset test
a. After boot from uboot 1080P,
i. I hope the screen resolution can be changed to 720P by executing set_720p.sh, the resolution has been changed, however, the graphics on screen is incorrect. Please refer attachment "set_720P_from_1080P_S.JPG".
ii. Run set_1080P.sh can restore the screen back to 1080P correctly.
b. After boot from uboot 720P,
i. I hope the screen resolution can be changed to 1080P by executing set_1080p.sh, the resolution has been changed, however, the graphics on screen is incorrect. Please refer attachment "set_1080P_from_720P_S.JPG".
ii. Run set_720P.sh can restore the screen back to 720P correctly.
It seems that fbset can change the screen resolution successfully, but the x-window did not change to new settings.
D. xrandr test
I have tried to use xrandr to change screen resolution according to "http://ubuntuforums.org/showthread.php?t=1112186", however, it seems that the imx graphics driver from freescale did not support xrandr.
# gtf 1280 720 60
# 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
# xrandr --newmode "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
# xrandr --addmode "DISP3 BG" 1280x720_60.00
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 148 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 20
Current serial number in output stream: 21
Any suggestion ?
Dear Krishna,
Our application is not running on Ubuntu, I just test xrandr on my Ubuntu desktop environment.
Can you describe more detail? I am not sure the exact procedure of your suggestion. Before writing code to call xrandr libs, I want to make sure the working way on QSB manually.
Hi, Samaya Lin,
Set the parameters in the u-boot Board specific files and use xrandr libs available under X11 support in Linux, All this WRT LTIB. Does this work?
Is it that, your application needs only Ubuntu? Because, I think [As I use Linux only] using Linux will help you customise everything more effectively?
I don't know if Ubuntu does the same!
Please Inform..
Setup screen resolution from uboot will take effect, however, we must reboot the system, it's impossible to do it in this way for our application.
I have tried to use xrandr under Ubuntu(on x86 PC, not on QSB), and it can adjust the screen resolution gracefully, so, I think xrandr may be a possible way, but xrandr is failed to work on QSB in my current test.
Hi,
Is it possible that the screen resolution has some dependence with the u-boot files?