summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2022-03-05 22:36:31 +0200
committerAndreas Kling <kling@serenityos.org>2022-03-08 21:56:14 +0100
commited5623f40f22b3e4f2d87110e268be55aa83e99d (patch)
tree9763fceb350487165f18d6269a1cf7be4feaf4bc /Kernel
parent7aa63ddd0097a95308af814109495a41de6edb2e (diff)
downloadserenity-ed5623f40f22b3e4f2d87110e268be55aa83e99d.zip
Kernel/Graphics: Override first byte of the EDID in Intel Native driver
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp b/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp
index d018b7b2a6..3c3fae30ba 100644
--- a/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp
+++ b/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp
@@ -378,6 +378,10 @@ void IntelNativeGraphicsAdapter::gmbus_read_edid()
SpinlockLocker control_lock(m_control_lock);
gmbus_write(DDC2_I2C_ADDRESS, 0);
gmbus_read(DDC2_I2C_ADDRESS, (u8*)&m_crt_edid_bytes, sizeof(m_crt_edid_bytes));
+ // FIXME: It seems like the returned EDID is almost correct,
+ // but the first byte is set to 0xD0 instead of 0x00.
+ // For now, this "hack" works well enough.
+ m_crt_edid_bytes[0] = 0x0;
}
if (auto parsed_edid = EDID::Parser::from_bytes({ m_crt_edid_bytes, sizeof(m_crt_edid_bytes) }); !parsed_edid.is_error()) {
m_crt_edid = parsed_edid.release_value();