Saya dapat melakukan ini menggunakan EDID khusus di layar, baik dengan menambahkan ini ke xorg.conf
bagian layar:
Option "CustomEDID" "DFP-0:/path/to/file/custom_edid.bin"
Atau dengan menghasilkan konfigurasi:
sudo nvidia-xconfig --custom-edit="CRT-0:/my/monitor.bin"
Sekarang pertanyaan besarnya, Bagaimana cara menghasilkan EDID .bin yang dapat diterima?
Pada Windows XP, saya harus menginstal dua aplikasi: PowerStrip (yang direferensikan pada artikel Wikipedia tentang EDID )
Aplikasi lain yang akan kita butuhkan adalah Phoenix EDID Designer .
Dengan PowerStrip, kami akan mendapatkan info waktu terperinci dari mode tampilan saat ini; pada dasarnya informasi yang diperlukan ditampilkan dalam artikel ini dan meringkas sebagai berikut:
1) Di WinXP, waktunya di suatu tempat di tab pengaturan lanjutan. Anda membutuhkan:
Horiz Front Porch, Vert Front Porch,
Horiz Back Porch, Vert Back Porch,
Horiz Front Active, Vert Front Active,
Horiz Scan (or Sync) Width, Vert Scan Width,
Horiz Sync Polarity, Vert Sync Polarity,
and Pixel Clock.
2) Di /etc/X11/xorg.conf Anda ada tempat untuk modeline yang mirip
Kode:
Modeline "1768x992" 74.48 1768 1336 1472 1664 992 721 724 746 -hsync +vsync
Contoh saja. Jangan gunakan yang ini.
Modeline dalam format
Kode:
Modeline "somenamehere" <dotclock> <H1> <H2> <H3> <H4> <V1> <V2> <V3> <V4> <HP> <VP>
where dotclock = Pixel Clock
H1=Horiz Front Active
H2=H1+Horiz Front Porch
H3=H2+Horiz Sync Width
H4=H3+Horiz Back Porch
V1=Vert Front Active
V2=V1+Vert Front Porch
V3=V2+Vert Sync Width
V4=V3+Vert Back Porch
HP=Horiz Sync Polarity [-hsync/+hsync]
VP=Vert Sync Polarity [-vsync/+vsync]
Rumus sederhana, tetapi perlu waktu berminggu-minggu untuk mencari tahu cara mengubah pengaturan waktu windows menjadi modeline Linux.
Untuk TV LCD LG42LH30FR khusus saya, modeline yang dihasilkan adalah:
Modeline "1080p" 172.8 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
Saya menambahkan ini ke bagian monitor saya tetapi tidak berhasil, itulah sebabnya saya menambahkan EDID khusus.
Sekarang untuk membuat EDID
Buka Phoenix EDID Designer, pada dasarnya saya mengimpor EDID dari Windows Registry, dan saya menggunakannya sebagai basis untuk memodifikasi, ini karena saya tidak tahu bagaimana mengisi bagian "Pengaturan Warna / Waktu", jadi pra-populasi memberi saya mudah-mudahan nilai-nilai yang masuk akal (baik itu bekerja untuk saya, mungkin itu keberuntungan ), bagaimanapun, klik read-only/modify
tombol yang memungkinkan edisi, hal-hal penting untuk dimodifikasi
Umum:
Tambahkan apa pun yang Anda inginkan di sini
Parameter Tampilan Dasar:
Video Input Definition -> Digital
Display Type -> RBG color
sRGB -> check
gamma value: somewhere over 250 would be ok
Waktu Standar: (saya menonaktifkan semuanya kecuali timing # #)
H. Active Pixels (use the value obtained from PowerStrip, for full hd it should be 1920)
refresh rate (for me its 60Hz)
Waktu Rinci:
set all blocks to "unused" except block #1:
Pixel Clock: (use from PS obtained info)
H/V Active Pixel : from PS info
H/V Blank : from PS info. this is actually **Front Porch**
H/V Sync Offset: from PS info. this is actually **Back Porch**
H/V Sync width: from PS info
Selesai. Sekarang simpan file yang dihasilkan di suatu tempat, Anda dapat membukanya, ini file teks.
Anda memerlukan satu langkah tambahan untuk mengonversinya menjadi file EDID 128 bin yang diperlukan; pada dasarnya saya akan menunjuk ke artikel utama yang menjelaskan transformasi , tetapi meringkas Anda harus
strip
semuanya dari file kecuali matriks digit heksadesimal
- Kompilasi ini:
#include <stdio.h>
int main()
{
while (!feof(stdin))
{
unsigned char i;
scanf("%02X ", &i);
printf("%c", i);
}
return 0;
}
Dan lari:
# gcc comp.c -o comp
# ./comp < custom_edid.dat > custom_edid.bin
Selesai! Restart Ubuntu Anda (setelah menambahkan opsi konfigurasi custom edid yang dijelaskan di awal posting) dan sekarang di Nvidia X Server Settings, Anda harus dapat mengatur ke resolusi kustom Anda.