Підстановка файлу прошивки замість вшитого EDID монітора
У тому випадку якщо вшитий EDID дисплея зіпсований, а таке трапляється часто, можна підсунути системі файл прошивки. Звичайно, в тому випадку якщо прошивка є. Тому я завжди про всяк випадок роблю дампи (резервні копії) прошивок всіх моїх моніторів, так як вже був випадок коли мені довелося розбирати дисплей ноутбука для того, щоб дізнатися серійний номер за яким треба було довго шукати на форумах ту саму прошивку. У цій статті я розповім про те як зняти дамп прошивки EDID дисплея і як підсунути його системі на базі Debian і похідних (Ubuntu) з відеокартою «NVIDIA» і пропрієтарним драйвером «nvidia».
Из wiki:
«Extended Display Identification Data (EDID) — это стандарт формата данных VESA, который содержит базовую информацию о мониторе и его возможностях, включая информацию о производителе, максимальном размере изображения, цветовых характеристиках, заводских предустановленных таймингах, границах частотного диапазона, а также строках, содержащих название монитора и серийный номер.»
Створення дампа прошивки
Опишу два приклади створення дампа прошивки EDID дисплея.
Перший приклад підходить всім, не залежно від встановленої відео-карти і використовуваного драйвера.
Встановлюємо пакет read-edid
:
sudo apt-get install read-edid
Вважаємо EDID дисплея:
sudo get-edid | parse-edid
Примітка:
get-edid
- зчитує EDID, аread-edid
перетворює його в читабельний вигляд.
Вважати EDID і записати його в файл:
sudo get-edid > edid.bin
Прочитати файл прошивки EDID:
sudo parse-edid < edid.bin
Примітка: Якщо виникає така помилка:
Error: output block unchanged parse-edid: IO error reading EDID
тоді спробуйте ще раз. Якщо ця помилка виникає постійно тоді це означає, що ваш EDID монітора швидше за все пошкоджений і робити дамп безглуздо.
Другий спосіб зробити дамп прошивки для тих у кого відеокарта «NVIDIA» і використовується пропріетарний драйвер «nvidia».
У «nvidia-settings» є кнопка «Adquire EDID», яка зберігає EDID дисплея в довічним або текстовому форматі. Ось так просто.
Підстановка дампа прошивки EDID в xorg.conf
Спочатку дізнаємося як іменується наш монітор:
cat /etc/X11/xorg.conf | grep ConnectedMonitor
Ви повинні побачити такий висновок:
Option "ConnectedMonitor" "DFP-0"
Де DFP-0
і є необхідний нам номер.
Далі поправимо xorg.conf
для читання EDID з файлу прошивки. Відкриємо для редагування xorg.conf
:
sudo nano /etc/X11/xorg.conf
Додамо наступну інформацію в «Section “Device”»:
Option "ConnectedMonitor" "DFP-0" Option "CustomEDID" "DFP-0:/etc/X11/edid.bin" Option "IgnoreEDID" "false" Option "UseEDID" "true"
Змініть DFP-#
номер на той який дізналися раніше. Замість /etc/X11/edid.bin
вкажіть на свій файл прошивки. Він не обов’язково повинен лежати в /etc/X11/
. В результаті «Section “Device”» повинен виглядати приблизно так:
Section "Device" Identifier "nvidia" Driver "nvidia" Option "DynamicTwinView" "false" Option "NoFlip" "false" Option "NoLogo" "true" Option "ModeValidation" "NoVesaModes, NoXServerModes" Option "ConnectedMonitor" "DFP-0" Option "CustomEDID" "DFP-0:/etc/X11/edid.bin" Option "IgnoreEDID" "false" Option "UseEDID" "true" EndSection
Після перезавантаження система вважає EDID дисплея з нашого дампа прошивки, а не з дисплея.
Якщо ця стаття допомогла вам, будь ласка, залиште коментар
Дякую за прочитання!
Arthur is a designer and full stack software engineer. He is the founder of Space X-Chimp and the blog My Cyber Universe. His personal website can be found at arthurgareginyan.com.