Jump to content

Recommended Posts

Posted

My board is OrangePI PC. I use Armbian5.27_Ubuntu_xenial_desktop (kernel 4.10.1-sun8i). My display is "Innolux AT070TN90": 7", HDMI. I can't expose resolution 800x480. Prompt how to change resolution? 

 

 

Posted

Resolution is currently set by U-Boot. It reads recommended resolution from EDID. So, if the screen reports right resolution, it should work automaticly. Please describe your troubles more in details. Also the name of you display gives only the LCD panel datasheet. What kind of hdmi to lvds adapter do you use? Is it properly configured, especially EDID?

Posted (edited)

Strange, what is the resolution reported by Linux? Does resolution detection works properly on any other screen? To answer your initial question, there is no way to change resolution the only way to change resolution is by creating special U-Boot variable, because the current driver is meant to be quick workaround until proper Linux driver is written. Current driver just ask monitor what is its prefered resolution (in your case it should be 800x480) and then sets it. Probably your lvds to hdmi converter doesn't report correct resolution.

 

Anyway, according to adafruit page you linked, your monitor should work regardless, but I guess that you get weird scaled image as explained there? According to this page, this boards often have broken EDID data, which would explain the issue, but I would think that adafruit checks that before shipping.

 

P.S. I just remembered, if you have 1024x768 resolution set, then this means that EDID data could not be read. Fortunately, converter could be reprogrammed...

Edited by jernej
Correct the facts
Posted
  On 3/10/2017 at 6:12 AM, IgZero said:

I have read your reference. 

Expand  


Read again and read what Jernej wrote:

 

  On 3/9/2017 at 5:44 PM, jernej said:

use the current driver is meant to be quick workaround until proper driver is written

Expand  


I gave you a hint, how you can try - at the supplied link you have:
 

  Quote

For example to always use the hdmi connector, even if no cable is inserted, using edid info when available and otherwise initalizing it at 1024x768@60Hz, use: setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1.

Parameters regarding video must be saved into u-boot environment file since they must be read before reading boot script. You can do this by adding saveenv command at the end of boot script (boot.cmd). Remember to recompile boot.cmd to boot.scr and note that changes will come into action after second boot.

Expand  

 

I am not sure it will work for you, but it's worth trying.
Forget about armbianEnv.txt. This is not gonna work with this temporally driver and this development kernel, which we don't support anyway.

Posted
  On 3/10/2017 at 6:19 AM, Igor said:

I am not sure it will work for you, but it's worth trying.
Forget about armbianEnv.txt. This is not gonna work with this temporally driver and this development kernel, which we don't support anyway.

Expand  

I tried this hint. Doesn't work.

My boot.cmd

  Quote

# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#

setenv load_addr "0x44000000"
setenv overlay_error "false"
# default values
# setenv rootdev "/dev/mmcblk0p1"
# setenv verbosity "1"
# setenv console "both"
setenv disp_mem_reserves "off"
# setenv disp_mode "1920x1080p60"
setenv rootfstype "ext4"
setenv docker_optimizations "on"
setenv video-mode sunxi:800x480,monitor=hdmi,hpd=0,edid=1
saveenv

 

Expand  

 

Posted

@Igor,

Is this variable constructed during script parsing? To be honest, I didn't played with it, but if I understand everything correctly, it must be available during initialization, which means that the only possible way is to save it as an environment variable - first setenv then saveenv and reboot. Video driver is initialized before boot script gets executed.

Posted
  On 3/10/2017 at 2:43 PM, jernej said:

@Igor,

Is this variable constructed during script parsing? To be honest, I didn't played with it, but if I understand everything correctly, it must be available during initialization, which means that the only possible way is to save it as an environment variable - first setenv then saveenv and reboot. Video driver is initialized before boot script gets executed.

Expand  

IMHO: I think that it would be the correct decision.  

Posted
  Reveal hidden contents

The same as IgZero's problem.

This is my uart output (hdmi-dvi cable plugged, monitor have default 1920x1080 resolution):

 

Posted
  On 3/12/2017 at 7:23 PM, druidx said:

HDMI connected: Setting up a 1024x768 dvi console (overscan 0x0)

Expand  


Yes, u-boot / EDID can't detect your screen properly ... probably due to hdmi-dvi cable?

 

Try to force it.

Posted
  On 3/12/2017 at 7:30 PM, Igor said:


Yes, u-boot / EDID can't detect your screen properly ... probably due to hdmi-dvi cable?

 

Try to force it.

Expand  

How to force? I've tried to change /boot/boot.cmd (then compile), but nothing...

like this

setenv video-mode sunxi:1920x1080,monitor=dvi,hpd=0,edid=0
saveenv
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

& like that

setenv video-mode sunxi:1920x1080-24@60,monitor=dvi,hpd=0,edid=0
saveenv

 

Posted

If it works, it works on second reboot.

setenv video-mode sunxi:1920x1080,monitor=dvi,hpd=0,edid=0

 

Posted
  On 3/12/2017 at 7:47 PM, druidx said:

UART's log show that at first system try to set resulution and then read boot.scr.  ???

Expand  


That's normal. Screen is detected before reading user boot script. We are doing hacks here ... saving to u-boot environment from u-boot script. Environment is read first, than screen is set or autodetect.

Posted
  On 3/15/2017 at 6:50 PM, druidx said:

Haven't any more solution appeared yet?

Expand  


We gave you everything what is known, even this is developing kernel without end user support. If you want that this is solved few months earlier click here. Remember, we do this in our free time.


Few months ago nobody had a picture on HDMI screen on this kernel ... Remember, this is a temporally video driver, so nobody will throw much time on it.

 

Posted

My case is to change u-boot default resolution to 1024x768. The steps below configured successfully on orange pi pc plus and 10" hdmi monitor.

 

1. dd if=Armbian_5.25_Orangepipcplus_Debian_jessie_default_3.4.113.img of=/dev/sdb bs=1M

2. change root passwd
    add general user account
    nmtui to activate wifi internet connection

3. DEVICE_NAME=orangepipcplus
    apt-get update
    apt-get install -y linux-u-boot-${DEVICE_NAME}-dev \
    linux-image-dev-sun8i \
    linux-headers-dev-sun8i \
    linux-dtb-dev-sun8i \
    linux-jessie-root-${DEVICE_NAME}

4. connect serial console by esplink
    press any key to stop at u-boot prompt

5. setenv video-mode sunxi:1024x768-24@60,monitor=hdmi,hpd=0,edid=0
    saveenv
    reset

Posted

Igor,

 

Please could you link me to github source/patch/issue for the temporary driver, so I might be able to do some debugging on this.
 

I'm having similar issues on pi zero+2-h5 and previously worked in Cambridge in one of the mali drivers teams, so can probably see whats going on at least and perhaps aim to contribute some driver code.

Posted

I have the same problem with an orangepi one and ARMBIAN 5.60 stable Debian GNU/Linux 9 (stretch) 4.14.70-sunxi

 

I have a VGA Monitor connected via a HDMI-to-VGA adpater which runs well under Armbian 3.4 and h3disp set to 1024x768@60 which is the max resolution of this monitor. The adapter also runs fine with my normal monitor Hanns.G and with any PC I own and any resolution.

 

When I changed to Armbian 4.14, the resolution of the video output is always set to 1920x1080@60, regardless which parameter I change in /boot/armbianEnv.txt or /boot/boot.cmd recompile and boot twice. I also tried 800x600 and 640x480, nothing works.

 

Tnx L

 

Posted

I found an error in the U-boot messages:

** File not found /boot/boot.env **

Therefore I took a new SD-card and copied Armbian 5.65 with kernel 4.14.78 onto it. Same error occurs. Could this be the reason for the wrong display mode?

Posted
  On 11/12/2018 at 11:10 PM, lagerschaden said:

I found an error in the U-boot messages:

Expand  


It's not exactly an error. Just that there is no boot environment set and (our) preset is used. If this bothers you, go to u-boot prompt and run: saveenv and it should be gone. This might not work on eMMC based install.

 

  On 11/12/2018 at 12:17 PM, lagerschaden said:

When I changed to Armbian 4.14, the resolution of the video output is always set to 1920x1080@60

Expand  

 

Modern kernel has video autodetection which might not work properly yet. Especially when using some HDMI-VGA adaptors.

Posted

I ended up working this out with the help of this post - specifically, if you add the following to /boot/armbianEnv.txt, you can force the video mode.

 

Some examples:

 

640x480

extraargs=drm_kms_helper.edid_firmware=HDMI-A-1:edid/640x480.bin video=HDMI-A-1:640x480-24@60

 

1080p

extraargs=drm_kms_helper.edid_firmware=HDMI-A-1:edid/1920x1080.bin video=HDMI-A-1:1920x1080@60

 

I didn't have to install any extra packages or anything using Armbian Debian Stretch / 4.14.78-sunxi, it just worked out of the box (edid files already installed/etc).

Posted

Anybody know about command line solution how to change drm kms  resolution ???

there is still posibility to us fb api I know (fbset)

but are there any drm kms apps ?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines