LS1021 DCU resolution

cancel
Showing results for 
Search instead for 
Did you mean: 

LS1021 DCU resolution

Jump to solution
1,090 Views
kporenta
Contributor III

Hi,

we are evaluating HDMI port on TWR-LS1021A board where trying to change video resolution dynamically or at least set higher one.

We have successfully build fsl-image-x11 image and boot it on the target board (SDK 1.3)

u-boot: enabling video mode works as expected (640x480)

linux: X11 output works using smallest resolution offered by monitor (720x400)

What is correct way to change resolution?

Avaliable modes from monitor:

root@ls1021atwr:~# cat /sys/class/graphics/fb0/modes

S:1280x960p-60

V:1024x768p-60

V:800x600p-60

V:640x480p-60

U:720x400p-70

D:1280x1024p-60

xrand info:

root@ls1021atwr:~# xrandr

xrandr: Failed to get size of gamma for output default

Screen 0: minimum 720 x 400, current 720 x 400, maximum 720 x 400

default connected 720x400+0+0 0mm x 0mm

   720x400        70.0*

xrandr, adding new mode and applying with xrand:

root@ls1021atwr:~# cvt 640 480 60 -v

# 640x480 59.38 Hz (CVT 0.31M3) hsync: 29.69 kHz; pclk: 23.75 MHz

Modeline "640x480_60.00"   23.75  640 664 720 800  480 483 487 500 -hsync +vsync

root@ls1021atwr:~# xrandr --newmode "640x480_60.00" 23.75  640 664 720 800  480 483 487 500 -hsync +vsync

xrandr: Failed to get size of gamma for output default

root@ls1021atwr:~# xrandr --addmode default 640x480_60.00

xrandr: Failed to get size of gamma for output default

root@ls1021atwr:~# xrandr --output default --mode 640x480_60.00

xrandr: Failed to get size of gamma for output default

xrandr: screen cannot be larger than 720x400 (desired size 640x480)

root@ls1021atwr:~# xrandr --output default --mode 640x480_60.00

xrandr: Failed to get size of gamma for output default

xrandr: Configure crtc 0 failed

Also other resolutions were tested. First setting fb mode directly (/sys/class/graphics/fb0/mode) does not help either.

Any hints?

Thank you, Klemen

1 Solution
540 Views
kporenta
Contributor III

Setting FB DCU buffer to higher value solves segmentation fault. This is done by setting bootarg "res=" to desired value.

No need for xorg.conf if bootarg is set.

View solution in original post

2 Replies
540 Views
kporenta
Contributor III

Adding new modes to xorg.conf does the trick.

/usr/share/X11/xorg.conf.d/10-monitor.conf

Section "Monitor"

     Identifier "Monitor0"

     Modeline "640x480_60.00"   23.75  640 664 720 800  480 483 487 500 -hsync +vsync

     Modeline "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync

     Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync

     Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

EndSection

Section "Device"

     Identifier "Device0"

EndSection

Section "Screen"

     Identifier "Screen0"

     Device "Device0"

     Monitor "Monitor0"

     DefaultDepth 16

     SubSection "Display"

          Depth 16

          Modes "640x480_60.00"

     EndSubSection

EndSection

... but only for 640x480. Using any other mode, Xserver crashes, Segmentation fault

....

[2632130.375] (II) FBDEV(0): using default device

[2632130.381] (**) FBDEV(0): Depth 16, (--) framebuffer bpp 16

[2632130.381] (==) FBDEV(0): RGB weight 565

[2632130.381] (==) FBDEV(0): Default visual is TrueColor

[2632130.381] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)

[2632130.381] (II) FBDEV(0): hardware:  (video memory: 843kB)

[2632130.381] (II) FBDEV(0): checking modes against framebuffer device...

[2632130.381] (II) FBDEV(0):    mode "800x600_60.00" ok

[2632130.381] (II) FBDEV(0): checking modes against monitor...

[2632130.381] (--) FBDEV(0): Virtual size is 800x600 (pitch 800)

[2632130.381] (**) FBDEV(0):  Mode "800x600_60.00": 38.2 MHz (scaled from 0.0 MHz), 37.4 kHz, 59.9 Hz

[2632130.381] (II) FBDEV(0): Modeline "800x600_60.00"x0.0   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync (37.4 kHz)

[2632130.381] (==) FBDEV(0): DPI set to (96, 96)

[2632130.381] (II) Loading sub module "fb"

[2632130.381] (II) LoadModule: "fb"

[2632130.382] (II) Loading /usr/lib/xorg/modules/libfb.so

....

[2632130.937] (EE)

[2632130.938] (EE) Backtrace:

[2632130.938] (EE)

[2632130.938] (EE) Segmentation fault at address 0x76a42000

[2632130.938]

Fatal server error:

[2632130.938] Caught signal 11 (Segmentation fault). Server aborting

[2632130.938]

[2632130.938] (EE)

.....

Br, Klemen

0 Kudos
541 Views
kporenta
Contributor III

Setting FB DCU buffer to higher value solves segmentation fault. This is done by setting bootarg "res=" to desired value.

No need for xorg.conf if bootarg is set.

View solution in original post