Jump to content

Setting HDMI modes on a Rock64?


ab1jx

Recommended Posts

I'm trying to use it with a TV that has HDMI input but it's 1360x766.  xrandr says it's running at 1920x1080.  It's very small, like keep a magnifying glass handy, and I don't have the bottom of the screen where LXDE puts the pager and buttons.

 

I thought from my Raspberry Pi experience that I'd just change the mode in my config.txt https://www.raspberrypi.org/documentation/configuration/config-txt/video.md but apparently the Rock64 isn't that evolved.  Can I set an HDMI mode in my armbianEnv.txt?  Can it use CVT modes?  The standard 1360x768 mode isn't quite right.  I've been around this stuff since you had to work out an xfree86.conf file on paper and take timings into account but that was with CRT monitors where the resolution didn't have to exactly match LCD resolutions.  Where do I change it?

 

I have a couple monitors that a Pi's EDID parser doesn't work right on either, which is OK as long as there's a way to set the mode manually.  FWIW this is an Axess TVD-1801 a couple years old.  The PDF I just grabbed says 1366x768, something else said 766 vertically.

Edited by ab1jx
EDID parsing issue
Link to comment
Share on other sites

8 hours ago, ab1jx said:

but apparently the Rock64 isn't that evolved.  Can I set an HDMI mode in my armbianEnv.txt?

Each platform/kernel has/can have its unique way of setting screen resolution. What I have seen here, only a few screen resolutions are prepared in the kernel video driver so you are limited to those. Using a kernel parameter to enable them can't help since they don't exist.

8 hours ago, ab1jx said:

Where do I change it?

I am not aware of this particular board/kernel, but for Allwinner legacy kernels we had to do it this way https://github.com/armbian/build/blob/master/patch/kernel/sun8i-default/z-0003-add-additional-video-modes.patch RPi has a huge community and things as such were done a long time ago.

Link to comment
Share on other sites

Is that in libmali somewhere?  That seems to be just higher level stuff like CL EGL GLES.  That's probably the wrong place to look, I've seen a link for downloads at pine64.org, don't have it handy.

 

In /lib/firmware/edid I see what appear to be 29 binary dumps of EDID data with video modes in the filenames.  Is something comparing the live EDID with the files and setting the mode from the filename on a match?  I know EDID has been through several versions that aren't necessarily compatible with each other.  Raspberrypi.org doesn't publish source of their EDID parser due to copyright issues.  I tried writing one once.

 

I know somebody on the debian-arm mailing list with a Rock64 who uses the mode I want, I guess I should ask him how he gets it.  He does build his own kernels, I forget why.

 

Link to comment
Share on other sites

I'm still plugging away at this.  Different monitor and location, Ayufan image instead of Armbian.  This comes up in 1920x1080 for a 5 year old 1366x768 monitor.  For text/console mode.  X I can get to a 1024x768 but it's narrow like it's using 1024 of 1366 pixels.

 

So I've been digging into it.  Apparently DRI sets up a virtual framebuffer.  I mostly can't change the size with fbset, xrandr thinks I'm still in 1920x1080 mode.  lxrandr from LXDE partly works, that's where I got the 1024x768.  I downloaded Ayufan's kernel source last night to poke around in.  My current theory is that the video mode is set in the boot process by some argument to the kernel, I haven't found it yet.  The Mali docs I've looked at seem to suggest that the Mali just uses the framebuffer after Linux sets it up, it doesn't control the size.

 

I asked the guy I know, he didn't really know but the armsoc driver works for him.  Not sure which version, and that's only X.    I set up a full xorg.conf last night complete with a couple modelines.  I'm mostly using the modesettting driver I think, armsoc keeps telling me "(EE) ERROR: Did not find any matching device section in configuration file".  But then:


[ 34674.661] (II) No BusID or DriverName specified - opening /dev/dri/card0
[ 34674.661] (II) Got BusID display-subsystem
[ 34674.661] (II) Opened DRM
[ 34674.661] (II)    DeviceName is [/dev/dri/card0]
[ 34674.661] (II)    bus_id is [display-subsystem]
[ 34674.661] (II)    DriverName is [rockchip]
[ 34674.662] (II)    version is [1.0.0]
[ 34674.662] (II) ARMSOC: Driver for ARM Mali compatible chipsets

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines