Oh, now I'm confused... Maybe its some grammatical mistake... Where you read that?
HPD=true and custom edid-firmware freezes X on stop.
HPD=false and custom edid-firmware works for me.
I see. I got you still have the same issue.
The problem is I can't reproduce the same pattern as you do with your projector.
By my side, with HPD=false, I can get the screen at the moment when I turn on my monitor.
What I thought is, that
Code: Select all
should return "connected" with HPD=true and Projector powered off but HDMI-cable still connected...
The status "connected" means board got the edid information from the monitor.
I don't think it says just cable is connected to the board.
For example, how should it works without a monitor but just with cable connected?
With some of monitors I checked, XU4 can read edid even though monitors are off
and another some have different result, board can't read edid when the monitor is in off state.
And the point is we need to figure out why XU4 can't get the projector's edid at the moment when you turn on the projector.
Can I ask one more?
The following status, does your XU4 get edid normally?
- projector is in power off state.
- after booting, how is the modes? and can you read edid data with the following command?
Code: Select all
cat /sys/cat /sys/class/drm/card0/card0-HDMI-A-1/edid | edid-decode
Maybe HPD should/could work in a way that `cat /sys/class/drm/card0/card0-HDMI-A-1/status` returns "connected, powered_off" / "connected, powered_on" / "disconnected" - what would be more informational and self-explaining...
What /sys/class/drm/card0/card0-HDMI-A-1/status reports, is the power-status of the Monitor/Projector but not directly the cable status...
No HDMI connected - Is: "disconnected" - Expected: "disconnected"
Monitor/Projector off - Is: "disconnected" - Expected: "connected" - Maybe in Future: "connected,powered_off"
Monitor/Projector on - Is: "connected" - Expected: "connected" - Maybe in Future: "connected,powered_on"
If this could be implemented it will be awesome!
It's a long term job because the general Linux drm driver should be modified
and I don't want the approach, nor custom modification of Linux drm driver.
And I will try two more,
(1) forced off or disconnect that my monitor can't send edid to my board.
(2) figure out black screen with HPD=true : I can't reproduce the freeze with my monitor as you said.