Force 800x480
I've gotten myself a wave share 4" HDMI thinking it being HDMI would make it easy to setup...
Around 20 hours of googling and trying a few thousand things and I feel like giving up...
Is there any way in any of the available distros
I DONT MIND IF ITS UBUNTU ANDROID ARMBIAN ect...
Is there any way to force 800x480
Tagged:
Comments
Which HDMI screen is it? They have a couple that do not send EDID so it becomes kind of problematic.
Here's a link
https://www.waveshare.com/wiki/4inch_HDMI_LCD
What seems to happen is whenever the whaveshare is plugged in the screen switches to 1024x768.
Ive been able to use fbset to switch to 800x480 through ssh but it does't seem to help at all.
When I tried to force 800x480 on a 1920x1080 hdmi monitor it switches to a blank screen with a flashing underscore.
If I'm not mistaken bionic beaver has the Mali driver so would it possibility be easier on that
Mali driver has nothing to do with resolution. Resolution is handled by DRM (Display Rendering Manager). Mali only handles turning 3D API calls into data in memory.
Can you post the output of the EDID? See http://forum.loverpi.com/discussion/271/getting-edid-of-your-monitor-on-mainline-linux-for-unsupported-resolutions-or-black-screen
haha sure sure Ill do so.
Sorry I'm very new.
Probably shouldn't have gone for a potato but what can you do...
Does the HDMI screen work when you connect it to a computer?
Yes It functions on my windows PC so I know it works.
Ill post the EDID asap
I should add that I'm running on Armbian 5.54 next desktop
The top of that console is with my HD Samsung display which works.
I dumped the EDID from windows aswel
EDID ( Extended Display Identification Data) Report
Vendor/Product Identification:
Display parameters:
Power Management and Features:
Gamma/Color and Etablished Timings:
Standard Timing:
Preferred Detailed Timing:
Monitor Range Limit:
Stereo Display:
RAW Data:
0x00 00 FF FF FF FF FF FF 00 04 81 04 00 01 00 00 00
0x10 01 11 01 03 80 0F 0A 00 0A 00 00 00 00 00 00 00
0x20 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01
0x30 01 01 01 01 01 01 80 0C E0 80 10 20 2D 30 28 30
0x40 D3 00 6C 44 00 00 00 18 00 00 00 10 00 00 00 00
0x50 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00
0x60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10
0x70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17
Update
On libre-elec I can get it to display the GUI crushed up on a third of the screen
Not practical but legible... Is it maybe possible to get elec working?
I've been looking for a modline since neither of the outputs seem to show the timing.
I've found the following
Modeline "480x800" 12.43 480 512 552 584 800 818 822 841
Modeline "800x480" 11.46 800 832 872 904 480 491 493 505
But I'm not sure how to implement them.
After looking for a way to translate the Modelines to use in fb.modes I found the following
mode "800x480-60"
geometry 800 480 800 480 32
timings 33805 96 24 10 3 72 7
endmode
But I just get "FBIOPUT Invalid argument"
Update: On the latest image ubuntu-bionic-xfce-mali-4.18.7
I've been able to get xrandr to display the 480x800 resolution on a standard monitor but when the small screen is connected it still stays blank.
I've noticed (see below) that it detects the sceeen as 0mm x 0mm and have been wondering if this might be part of the issue since my main monitor does display the actual size.
Using fbmm I've tried to change this but rerunning xrandr it still says 0mmx0mm.
Is there something else I can do or should I continue trying to change the reported size??
Can you provide this: sudo get-edid | parse-edid
I have but I'll resubmit with the latest image tomorrow.
Thanx for your help.
The display still doesn't report a EDID, as you say'd before this makes things difficult
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
Looks like no busses have an EDID. Sorry!
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern pyrophobicman@gmail.com.
Partial Read... Try again
Should I resend the EDID from my windows machine which does actually output some information?
Waveshare is known to put out screens without EDID or malformed EDID. Have you tried to force an EDID through Linux and ignore the EDID of the monitor?
If you mean through xrandr then I've tried but if there is some other way please let me know...
I've added the correct modelines but as I say'd before that alone didn't work.
I haven't been able to find anything for overriding the edid other than
xrandr newmode/addmode/-s(or output -hdmi-1 -mode)
The only things I've seen for completely disabling EDID was for intel or amd devices?
And again I really appreciate the help... I do believe I bit of a bit more than I can chew with this device...{;
Update: I've installed the new image but still the same problem.
How do I go about forcing an EDID? as I sayd before all I've tried is
xrandr newmode/addmode/-s(or output -hdmi-1 -mode)
https://wiki.archlinux.org/index.php/kernel_mode_setting
Thanx Ill have a look
I see its a page I've had a look at before but ignored since I didn't see it explicitly mention any arm based hardware(just nvidia amd etc...) But I guess I was wrong to do so.
Ill let you know if it works.
Try drm_kms_helper.edid_firmware=edid/your_edid.bin to the kernel flags. DRM is the system for display and this helper function is compiled into the kernel to override the EDID.
I'll try and let you know as soon as I have a chance
UPDATE
Ok this is what I've done so far
I used E-EDID on my windows machine to extract and save the .bin file(from registry) since the screen works on windows.
I put the .bin file in /lib/firmware/edid/ (There was no firmware folder /usr/lib).
I created a modified cmdline file using the text in the original(/proc/cmdline) and adding the kernel flag before rootwait
I mounted the new file(bind mount) to proc/cmdline and checked that it had been updated
Plugging in the screen I get screen garbage(But not just a blank screen as normal)
The screen does update if i change things(ctrl-f1) and I can make out the cursor. So its not just noise.
If you have anymore advice I'd appreciate but for now Ill play around with the edid in the windows app.
Thanks again it does feel like I'm making progress at least