Nitrogen6x defaulting to 1024x768

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Nitrogen6x defaulting to 1024x768

Jump to solution
1,525 Views
amin_rahimi
Contributor II

I have a Nitrogen6x board (silicon rev. 1.0) with a WXGA LVDS panel with no I2C capability running a fresh build of core-image-x11 (Dizzy).  I received a custom 6x_bootscript (attached) from Eric Nelson a few years back to get the panel working under Dora. I'm attempting to use the same bootscript under Dizzy.

 

The Yocto splash screen comes up correctly at 1280x800 resolution, but the screen then defaults to 1024x768 once the terminal pops up. I'm not sure where the issue is. I've tried setting up xorg.conf for 1280x800 with no success.  I can, however, manually set it to 1280x800 using xrandr.

 

xrandr shows the preferred resolution correctly:

Screen 0: minimum 240 x 240, current 1024 x 768, maximum 8192 x 8192

DISP3 BG - DI1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm

   U:1280x800p-59  59.91 +

   D:1920x1080p-60  56.33

   D:1280x800p-60  59.99

   D:1024x768p-60  60.00*

 

"cat /proc/cmdline" shows:

enable_wait_mode=off video=mxcfb0:dev=ldb,1280x800MR@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off console=ttymxc1,115200 vmalloc=400M consoleblank=0 rootwait root=/dev/mmcblk0p2 mxc_hdmi.only_cea=1

 

Any insight as to why this may be going on would be greatly appreciated.

 

Message was edited by: Amin Rahimi Added Xorg.0.log for reference.

Original Attachment has been moved to: Xorg.0.log.zip

Original Attachment has been moved to: 6x_bootscript.txt.zip

0 Kudos
1 Solution
840 Views
EricNelson
Senior Contributor II

Hi Amin,

I think I just repeated this using a Dizzy image provided by the kind folks at O.S.Systems:

    http://ci.ossystems.com.br/public/fsl-community-bsp/dizzy/58/x11/nitrogen6x

If so, then the answer is pretty self-explanatory:

root@nitrogen6x:/etc# tail -n 8 `which mini-x-session `

# This resolution is big enough for hob2's max window size.

xrandr -s 1024x768

# Default files to run if $HOME/.mini_x/session or /etc/mini_x/session

# dont exist.

matchbox-terminal&

exec matchbox-window-manager

In English, the "mini-x" environment is setting the mode explicitly, and adding a '#' to the beginning of that line caused X to keep the default mode supplied by the kernel command-line.

View solution in original post

0 Kudos
6 Replies
840 Views
EricNelson
Senior Contributor II

Hi Amin,

This is weird. Xorg.0.log doesn't say anything about switching to 1024x768, but ultimately that mode must be

coming from the default in the device tree:

    linux-imx6/imx6qdl-nitrogen6x.dtsi at boundary-imx_3.10.17_1.0.2_ga · boundarydevices/linux-imx6 · G...

We're in the process of making updates for kernel 3.10.53 where there are even more changes to mode handling,

and I'll take a closer look during that process.

In the mean-time, you can use xorg.conf to specify the screen resolution and preferred mode in a Monitor

section. Add a block like this:

Section "Monitor"

        Identifier      "My Monitor"

        VendorName      "Amin"

        ModelName       "1280x800"

        Option          "DPMS"

        ModeLine        "1280x800p-60"  71.10  1280 1320 1400 1440  800 803 813 823 -hsync -vsync -csync

EndSection

The ModeLine parameter was just copied and pasted from Xorg.0.log.

Note that there are a couple of others in the log file if this doesn't work properly with your panel.

0 Kudos
840 Views
amin_rahimi
Contributor II

Eric,

Thank you for your response. I should have mentioned that the Xorg.0.log attached was with an Xorg.conf file that I'd already updated.  Here is what I have now, with the same result:

Section "Device"

    Identifier  "i.MX Accelerated Framebuffer Device"

    Driver      "vivante"

    Option      "fbdev"    "/dev/fb0"

    Option      "vivante_fbdev" "/dev/fb0"

    Option      "HWcursor"  "false"

EndSection

Section "Monitor"

    Identifier  "My Monitor"

    VendorName  "Amin"

    ModelName  "1280x800"

    Option      "DPMS"

    ModeLine    "1280x800-p59" 71.00 1280 1328 1360 1440  800 814 820 823 +hsync -vsync -csync

EndSection

Section "Screen"

    Identifier "Screen0"

    Device "i.MX Accelerated Framebuffer Device"

    Monitor "My Monitor"

    SubSection "Display"

        Modes "1280x800-p59"

    EndSubSection

EndSection

Section "ServerLayout"

    Identifier "Default Layout"

    Screen "Screen0"

EndSection

Section "ServerFlags"

    Option "BlankTime"  "0"

    Option "StandbyTime"  "0"

    Option "SuspendTime"  "0"

    Option "OffTime"  "0"

EndSection


I've tried this with both 1280x800 modeline settings in Xorg.0.log with no luck.

As a temporary workaround, could I patch imx6qdl-nitrogen6x.dtsi to have it default to the right resolution?

0 Kudos
840 Views
EricNelson
Senior Contributor II

Hi Amin,


Sorry for the delayed response. The short answer is "probably"...

I was hoping to give you an answer with references to the 3.10.53 code base, but things are even weirder there, since VESA GTF mode strings aren't supported and the device tree can (must?) contain the detailed timing information for the panel.

In the near term, you should try replacing the "LDB-XGA" with "1280x800MR@60" here:

     https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.2_ga/arch/arm/boot/dts/i...

0 Kudos
840 Views
amin_rahimi
Contributor II

Hi Eric,

I've tried patches to change it to "1280x800MR@60" and "LDB-WXGA"--neither of which worked, unfortunately.

0 Kudos
841 Views
EricNelson
Senior Contributor II

Hi Amin,

I think I just repeated this using a Dizzy image provided by the kind folks at O.S.Systems:

    http://ci.ossystems.com.br/public/fsl-community-bsp/dizzy/58/x11/nitrogen6x

If so, then the answer is pretty self-explanatory:

root@nitrogen6x:/etc# tail -n 8 `which mini-x-session `

# This resolution is big enough for hob2's max window size.

xrandr -s 1024x768

# Default files to run if $HOME/.mini_x/session or /etc/mini_x/session

# dont exist.

matchbox-terminal&

exec matchbox-window-manager

In English, the "mini-x" environment is setting the mode explicitly, and adding a '#' to the beginning of that line caused X to keep the default mode supplied by the kernel command-line.

0 Kudos
840 Views
amin_rahimi
Contributor II

That did it!  Thanks so much for your help, Eric!

0 Kudos