Bagaimana cara mengkonfigurasi monitor secara manual di CentOS7, dilampirkan melalui KVM?


9

Saya memiliki instalasi desktop baru CentOS7 dengan Gnome 3.

Saya perlu menggunakan mesin ini dengan KVM tetapi untuk beberapa alasan CentOS7 tidak dapat mendeteksi monitor saya melalui KVM yang saya miliki, jadi ini default untuk "Tampilan Tidak Diketahui" pada resolusi 1024x768 (semuanya mendeteksi dan bekerja pada resolusi yang lebih tinggi jika saya menghubungkan monitor secara langsung. ke sistem).

Bagaimana saya dapat mengkonfigurasi hal-hal secara manual sehingga saya dapat menggunakan resolusi yang lebih besar?

Saya mencoba mengedit monitors.xmldengan resolusi baru, tetapi saat reboot CentOS7 menolak perubahan, mengatakan itu tidak dapat mendeteksi, dan kembali ke 1024x768.

Jawaban:


14

Saya menemukan dasar solusinya di sini: /ubuntu/186288/how-to-detect-and-configure-an-output-with-xrandr

Dalam distribusi Linux modern, termasuk CentOS, perpustakaan xrandr bertanggung jawab untuk hal-hal seperti resolusi layar, rotasi dan sebagainya. Karena sistem Anda tidak terdeteksi secara otomatis, Anda harus memberi tahu secara manual tentang mode yang dapat dilakukan oleh monitor Anda.

Saya memiliki masalah yang sama dengan KVM, dan output sampel dari komputer saya:

Langkah 1:

Temukan nama porta Anda. Ini akan menjadi sesuatu seperti VGA1, HDMI1 atau lebih. Anda mungkin dapat menemukannya dari /var/log/Xorg.0.log, atau Anda dapat menggunakan utilitas xrandr:

> xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

KVM saya terhubung ke port VGA yang disebut VGA1. Karena KVM memblokir deteksi otomatis, xrandr hanya melihat resolusi 1024x768.

Langkah 2:

Beritahu xrandr tentang mode baru. Mode hanyalah string yang memiliki parameter tampilan video yang melekat padanya.

Langkah 2.1

Temukan parameter tampilan yang Anda butuhkan. Saya ingin 1600x900 @ 60 Hz:

> gtf 1600 900 60 -x
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
  Modeline "1600x900_60.00"  119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Langkah 2.2

Buat mode baru dengan xrandr menggunakan nilai-nilai dari perintah gtf:

> xrandr --newmode "1600x900" 119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Parameter pertama adalah nama mode baru - Anda sebenarnya bisa menyebutnya apa saja yang Anda suka, cukup gunakan nama yang sama pada langkah selanjutnya.

Langkah 3

Katakan pada xrandr bahwa VGA1 memahami mode yang disebut 1600x900:

> xrandr --addmode VGA1 1600x900

Langkah 4

Katakan xrandr untuk beralih ke mode baru.

> xrandr --output VGA1 --mode 1600x900

Catatan: jika Anda melakukan kesalahan dan monitor Anda tidak benar-benar memahami mode baru, Anda akan mendapatkan layar kosong!

Jika Anda mendapatkan layar kosong, Anda mungkin dapat memulihkan dengan mengetik secara membabi buta:

> xrandr --output VGA1 --mode 1024x768

Cara lain untuk menyambung dari komputer lain melalui SSH, dan menjalankan perintah ini melalui SSH alih-alih pada konsol.

Langkah 5

Buat skrip yang mengotomatiskan newmode, addmode dan perintah output, karena mereka tidak akan disimpan selama reboot.


1
Ini tepat - permata langka informasi tentang penggunaan xrandr. Seribu suara positif untuk Anda, tuan.
Paul

1
Bekerja untuk saya juga. Pada CentOS 7.
Mohammad Yaseen

2
Jawaban yang bagus Tapi sekarang, di mana saya bisa menempatkan perintah sehingga menjadi default saat startup?
mivk

@SteliosAdamantidis Ya. Perhatikan langkah 5 yang harus mengatasi masalah itu.
Kevin Keane

1

Saya kira-kira memiliki situasi yang sama, dan jawaban di atas adalah salah satu penjelasan yang lebih lengkap tentang bagaimana cara memperbaiki ini, tetapi saya harus naik satu tingkat lagi untuk mendapatkan 32 "Samsung saya untuk diterjemahkan dalam 2560x1440.

GTF adalah metode yang digunakan di atas untuk mendapatkan timing, yang bekerja sebagian besar, tapi saya tidak akan mendapatkan saya mode yang akan ke 2560x1440. Saya menggunakan program cvt, dengan -r switch (diperlukan untuk ini, dan tidak cocok untuk crt, hanya perangkat yang dapat hidup tanpa blanking).

~% cvt -r  2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync

Mode waktu ini, digunakan sebagai pengganti informasi di atas yang diberikan oleh GTF, bekerja seperti pesona. Saya masih berharap saya bisa membuat ini "dipanggang" ke dalam X11sistem, tetapi saya membuat skrip untuk membuat, menambah, dan kemudian beralih ke mode, jadi itu berfungsi dengan baik.

Dan mata saya yang tua menyukai monitor yang luar biasa. Tidak ada yang melebihi kelebihan ...

(Skrip untuk melakukan mode tambah dan alihkan berikut)

 #!/bin/bash
 # Used to get timing: cvt -r  2560 1440 60
xrandr --newmode  "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI1 "25 60x1440R"
xrandr --output HDMI1 --mode "2560x1440R"

1

Saya setuju bahwa ini hampir solusinya. Ini menempatkan layar saya dalam resolusi yang tepat.

$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Namun dengan dua kolom hitam utama di kedua sisi kiri dan kanan layar. Saya kira semacam overscan.

Jadi saya harus mengambil beberapa nilai yang diambil saat boot dari xorg.log.

$ grep 1080 /var/log/Xorg.0.log
[  2316.000] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)

Jadi setelah mengganti nilai cvt, dengan nilai Xorg.0.log, saya mendapatkan tata letak layar yang tepat.

$ xrandr --newmode "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync

0

Setelah menghabiskan beberapa jam berharga untuk mencoba "solusi" di atas dan lainnya, saya mengalami:

http://elrepo.org/tiki/kernel-ml


Karena tautan cenderung menjadi basi dan mati, jawaban hanya tautan tidak dianggap sangat membantu di sini. Mungkin Anda bisa masuk ke detail tentang apa yang sebenarnya Anda lakukan untuk memecahkan masalah dalam jawaban Anda, sambil tetap menunjuk ke sumber daya yang membantu Anda di sepanjang jalan. Dengan begitu orang yang menggunakan situs ini akan melihat jawabannya secara langsung, bahkan jika tautan lainnya hilang.
Eric Renouf
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.