外部モニターのxrandrに新しいモードを追加できません


16

今日、2台目のモニターをノートブックに接続しようとしていました。私が持っています:

  • NVIDIAグラフィックカード
  • 304.43ドライバー[xrandr 1.2をサポート]
  • archlinux [最新]
  • すごいwm
  • xrandr 1.3

私の問題は、外部モニター(VGA)の解像度が640x480よりも大きいことです。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)

ご覧のとおり、VGAの解像度はこれ以上ないため、新しいモードを追加します。

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

Windowsで使用可能な解像度とリフレッシュレートを確認しました。そのうちの1つは1024x768x70でした(モニターのOSDは70.4HZであると言いました)。新しいモードを作成した後、追加したいと思いました。

xrandr --addmode VGA-0 1280x1024_70.40

そして...失敗しました:

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

グーグルから、古いxrandr / nvidiaドライバーでは利用可能なモードのリストに問題があることを学びましたが、nvidiaドライバーによるxrandr 1.2のサポートにより改善されるはずです。また、解像度とリフレッシュレート(1024x768x50など)を低くしてみましたが、同じエラーが発生しました。私はこの問題で何をすべきかアイデアがありません...

回答:


11

次の文字列xrandr --newmodeを自分で作成したのか、それとも別の場所からコピーしたのかはわかりませんが、現在の形式では機能しません。

順を追って行うことをお勧めします。

最初に、新しいモードを生成する必要があります。LCDで60Hz、CRTモニターで85Hzを使用することをお勧めします

gtf 1280 1024 60

次のようなものが得られます:

 # 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

次に、このモードをxrandr使用するように提示します--newmode(「Modeline」で始まる行をコピーして貼り付けます。

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

次に、このモードをVGA-0に追加します。

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

最後に、この新しいモードを使用できます。

 xrandr --output VGA-0 --mode 1280x1024_60.00

あなたは正しい、私はこれを作成しません:xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')自分で、しかしそれがどのように動作するかを最初に小さな断片に分け、最初gtf 1280 1024 70.4にgrepで、最後にsedとtrで。それはあなたの中に持っている同じ出力与えるxrandr --newmodeあなたが持っている- 1つの差分で"1280x1024_60.00", I have 1280x1024_60.00`を-最後に私が使用しているtr -d '"'「"」削除するには、残念ながら、私はまだ同じエラーを持っている。。
ボルゴ

なぜそんなに奇妙なリフレッシュレートですか?70.4?LCDの場合は60Hzを使用し、CRTの場合は85Hzを使用します。そして、私が書いたとおりに、段階的にそれを行います。
パウェウルミアン

今、私は60Hzを使用して段階的にそれをやろうとしましたが、まだ同じエラーがあります。
ボルゴ

1
私の解像度は1280x1024で、このモードを(newmode)/ add(addmode)にしようとしています:"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Borgo

1
それでも同じエラー: 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 最後の2つの番号のみが変更されました。
ボルゴ

4

以前に追加した「1280x1024_60.00」を削除するまで、二重引用符付きモードを正常に使用できなかったため、このBadMatchエラーの問題がありました。最終的に、助けられたモードのより良い名前を実現しました。

そこで、通常のユーザーとして次を実行して「1280x1024_60.00」を削除しました。

$ 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"' 

システム内のジャンクの削除と削除は、アカウントとルートから削除しても、うまくいかなかったり、戻ってきたりすることがよくありました。通常、VGA1ではなくVIRTUAL1という名前の出力の下に戻ります。

迷惑メールを残して、新しく作成したモードの最後に文字を追加し、さらに.00を落としたので、1280x1024_60Bの方がはるかに簡単であることがわかりました。以下に注意してください--newmodeパラメーターは二重引用符で囲まれていますが、-addmodeも--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

小さな画面がちらつき、19インチの外付け正方形モニターが1280x1024で動作しています。


これは、何時間もの研究が功を奏した後の唯一の解決策でした。どうもありがとう、私の時間を節約してくれました。乾杯
シャニールソニ14

しかし、セッション後に設定が失われます、それを永続的にする解決策はありますか?
シャニールソニ14

0

VM(特にVirtualBox)でLinuxを実行している場合は、VMに十分なビデオメモリがあることを確認してください。

ビデオメモリが少なすぎると、xrandrを実行しようとしたときにこのエラーが発生します。


0

同様の問題を解決するために2時間を費やしましたが、問題はVGAケーブルにありました。VGAケーブルの交換xrandrまたはxorgを使用せずに解像度を1920x1080に変更できるのは非常に奇妙です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.