Ubuntu 10.10: mendapatkan resolusi monitor yang sesuai untuk lcd hdtv

3

Saya menjalankan versi Ubuntu 10.10 x86_64, dengan Nvidia 9800 GT, menginstal 270.41.06 driver Nvidia mengikuti panduan ini . Saya memiliki TV LCD LG42LH30FR yang terhubung dengan tautan dvi -> input PC RGB

Saya bisa mendapatkan resolusi 1024x768 tanpa overscan (saya bisa mendapatkan 1080i = 1366x768 tetapi ada banyak ruang layar tersembunyi di sebelah kanan dan saya tidak tahu harus berbuat apa). Saya ingin mendapatkan full HD

Saya bisa mendapatkan full HD (1080p = 1920x1080) pada Windows XP 64-bit dengan resolusi khusus yang dibuat dengan Nvidia Control Panel, dari membaca lebih dari konfigurasi xorg.conf sepertinya saya perlu menambahkan pemodelan tertentu ke konfigurasi monitor, tetapi saya tidak tidak tahu ke mana harus mendapatkan opsi yang sesuai untuk tugas ini

ada saran?

lurscher
sumber

Jawaban:

5

Saya dapat melakukan ini menggunakan EDID khusus di layar, baik dengan menambahkan ini ke xorg.confbagian 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/modifytombol 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

  1. strip semuanya dari file kecuali matriks digit heksadesimal
  2. 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.

lurscher
sumber
hal-hal yang "mudah", kan?
lurscher
btw @ lurscher Saya telah membuat blog tentang sesuatu yang serupa sathyasays.com/2008/10/26/…
Sathyajith Bhat
terima kasih @Sathya untuk edit .. saya membaca blog Anda, sangat menarik. Sebenarnya salah satu upaya saya (gagal) adalah menjalankan get-edid pada gambar kotak virtual yang berjalan dalam mode mulus di windows dan mendapatkan info EDID, tetapi tampaknya bahkan driver tambahan virtualbox tamu terlalu malas untuk menyediakan implementasi yang valid dari Informasi EDID, itulah sebabnya saya harus membuat satu kustom pada dasarnya dari awal .. juga, panel kontrol nvidia tidak memberi saya kemampuan untuk memperoleh EDID
lurscher
Mendapatkan EDID khusus adalah SAKIT. Terutama jika Anda tidak tahu apa yang Anda lakukan. Tapi saya punya masalah yang sama di masa lalu, dan ini memang satu-satunya cara untuk menyelesaikannya.
Cadangan
0

Anda harus dapat menggunakan aplikasi driver Nvidia hanya untuk mengatur resolusi yang sesuai dan menampilkan output ke HDTV Anda.

Buka jendela terminal, dan masuk

sudo nvidia-settings

Setelah Pengaturan Server Nvidia X dibuka, klik tab Konfigurasi Tampilan Server X dan atur tampilan HDTV Anda dari sana.

Adam Prax
sumber
tidak, dalam resolusi yang tersedia ada otomatis dan di bawah 1366x768, 1024x768, 800x600 dan semua yang lebih rendah. Tidak ada cara untuk menambahkan resolusi khusus
lurscher
0

Mungkin ini adalah masalah checksum EDID. Jika demikian maka tambahkan saja ini di /etc/X11/xorg.conf Anda:

Option     "UseEDID" "true"
Option     "IgnoreEDIDChecksum" "CRT,DFP,TV"   

Di Bagian "Perangkat".

orang lain
sumber