Tidak dapat menambahkan mode baru di xrandr untuk monitor eksternal

16

Hari ini saya mencoba menghubungkan monitor kedua saya ke notebook saya. Saya sudah:

  • kartu grafis nvidia
  • Driver 304.43 [dukungan xrandr 1.2]
  • archlinux [terkini]
  • mengagumkan wm
  • xrandr 1.3

Masalah saya adalah dengan resolusi lebih besar dari 640x480 untuk monitor eksternal (VGA) saya. xrandr -q:

Screen 0: minimum 8 x 8, current 1920 x 800, maximum 8192 x 8192
VGA-0 connected 640x480+1280+0 (normal left inverted right x axis y axis) 0mm
   640x480        59.9*+
   320x240       120.1  
LVDS-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331m
   1280x800       59.9*+
HDMI-0 disconnected (normal left inverted right x axis y axis)

Seperti yang dapat kita lihat, tidak ada resolusi yang lebih tinggi untuk VGA, jadi saya menambahkan mode baru:

xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')

Saya memeriksa resolusi yang tersedia dan kecepatan refresh di bawah windows: salah satunya adalah 1024x768x70 (OSD monitor saya mengatakan bahwa itu adalah 70,4 HZ). Setelah membuat mode baru, saya ingin menambahkannya:

xrandr --addmode VGA-0 1280x1024_70.40

Dan ... Itu gagal:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  29
  Current serial number in output stream:  30

Dari google saya belajar bahwa di driver xrandr / nvidia yang lebih lama bermasalah dengan daftar mode yang tersedia, tetapi sekarang dengan dukungan xrandr 1.2 oleh driver nvidia seharusnya lebih baik. Saya juga mencoba dengan resolusi dan kecepatan refresh yang lebih rendah (mis. 1024x768x50), tapi saya punya kesalahan yang sama. Saya kehabisan ide apa yang harus dilakukan dengan masalah ini ...

Borgo
sumber

Jawaban:

11

Saya tidak yakin apakah Anda telah membuat string yang diikuti xrandr --newmodesendiri atau Anda menyalinnya dari tempat lain, tetapi itu tidak akan berfungsi dalam bentuk saat ini.

Saya sarankan untuk melakukannya langkah demi langkah.

Pertama, Anda perlu membuat mode baru. Saya sarankan menggunakan 60Hz dengan LCD atau 85Hz dengan monitor CRT

gtf 1280 1024 60

Anda akan mendapatkan sesuatu seperti:

 # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz 
 Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

Kemudian tunjukkan mode ini untuk xrandrdigunakan --newmode(salin-tempel baris yang dimulai dengan 'Modeline'.

 xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

Kemudian tambahkan mode ini ke VGA-0:

xrandr --addmode VGA-0 "1280x1024_60.00"

Dan akhirnya Anda dapat menggunakan mode baru ini:

 xrandr --output VGA-0 --mode 1280x1024_60.00
Paweł Rumian
sumber
Anda benar, saya tidak membuat ini: xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')sendiri, tapi saya meletakkan ini menjadi potongan-potongan kecil pertama untuk melihat cara kerjanya, pertama gtf 1280 1024 70.4, kemudian dengan grep dan akhirnya dengan sed dan tr. Ini memberikan output yang sama dengan yang Anda miliki di dalam Anda xrandr --newmodedengan satu perbedaan - Anda memiliki "1280x1024_60.00", I have 1280x1024_60.00` - pada akhirnya saya gunakan tr -d '"'untuk menghapus '"'. Sayangnya saya masih memiliki kesalahan yang sama.
Borgo
Mengapa refresh rate begitu aneh? 70,4? Gunakan 60Hz jika ini merupakan LCD atau 85Hz untuk CRT. Dan lakukan langkah demi langkah, persis seperti yang saya tulis.
Paweł Rumian
Sekarang saya mencoba melakukannya langkah demi langkah, menggunakan 60Hz, dan saya masih memiliki kesalahan yang sama.
Borgo
1
Resolusi saya adalah 1280x1024, dan saya mencoba membuat (newmode) / add (addmode) mode ini:"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Borgo
1
Masih kesalahan yang sama: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 153 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30 Hanya dua angka terakhir yang berubah.
Borgo
4

saya punya masalah BadMatch Error ini sampai saya menghapus "1280x1024_60.00" yang sebelumnya ditambahkan karena tidak pernah berhasil menggunakan mode kuotasi ganda. Akhirnya, menyadari nama yang lebih baik untuk mode ini membantu.

Jadi saya menghapus "1280x1024_60.00" dengan menjalankan yang berikut sebagai pengguna biasa:

$ xrandr --version 
reports 1.4.0 and 1.4
$ xrandr | grep 1280 #Do you see any 1280x1024 anywhere?  Does it have double quotes?
$ xrandr --verbose --delmode VGA1 '"1280x1024_60.00"'
$ xrandr --verbose --rmmode '"1280x1024_60.00"' 

Menghapus dan menghapus sampah di sistem sering tidak berfungsi atau akan kembali walaupun saya akan menghapusnya dari akun dan root saya. Biasanya akan kembali di bawah keluaran bernama VIRTUAL1 bukan VGA1.

Lebih mudah meninggalkan sampah dan menambahkan surat di akhir mode yang baru saya buat dan bahkan menjatuhkan .00, jadi 1280x1024_60B . Perhatikan dengan seksama di bawah ini ada tanda kutip ganda di sekitar parameter --newmode, tetapi BUKAN --addmode atau --mode

$ xrandr --verbose --newmode "1280x1024_60B" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --verbose --addmode VGA1 1280x1024_60B
$ xrandr --verbose --output VGA1 --mode 1280x1024_60B

Layar kecil berkedip dan monitor persegi 19 "eksternal saya berjalan pada 1280x1024.

rjt
sumber
Ini adalah satu-satunya solusi setelah jam penelitian yang berhasil, terima kasih banyak, Anda menyelamatkan hari saya. Cheers
Shanil Soni
Namun pengaturan hilang setelah sesi, ada solusi untuk membuatnya permanen?
Shanil Soni
0

Jika Anda menjalankan Linux pada VM (khususnya, VirtualBox) pastikan VM memiliki cukup memori Video.

Memori video yang terlalu sedikit menyebabkan kesalahan ini ketika mencoba menjalankan xrandr.

Felipe Almeida
sumber
0

Saya menghabiskan 2 jam untuk menyelesaikan masalah serupa dan masalah itu di kabel vga. Ganti kabel vga saya dapat mengubah resolusi ke 1920x1080 tanpa menggunakan xrandr atau xorg itu sangat aneh.

burtsevyg
sumber