xrandrを使用して出力を検出および構成する方法


33

AMD / ATIグラフィックスカード(AMD E-350)を搭載したCompaq 100BデスクトップにDELL U2410モニターを接続しています。インストールされているO / SはUbuntu 10.04 LTSです。

コンピューターは、DVI接続を介してモニターに接続されます。

問題は、デスクトップ解像度をネイティブの1920x1200に設定できないことです。最大許容解像度は1600x1200です。

私はxrandrユーティリティについていくつかの研究を行っています。残念ながら、使用しようとすると、必要な解像度に設定できません。まず、出力名(と思われるDVI-0)を報告せず、default代わりに言います。それなしでは、--fbオプションを使用できません。

EDIDユーティリティは、モニターを適切に識別しているようです。からの出力はget-edid次のとおりです。

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

ただし、xrandr -qコマンドは以下を返します。

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

解像度を設定しようとすると、次のメッセージが表示されます。

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

画面解像度を1920x1200に設定するにはどうすればよいですか?なぜ出力がxrandr識別されないのDVI-0ですか?

Ubuntuバージョン10.04以降を実行している同じコンピューターが、問題なく正しい解像度を検出することに注意してください。このマシンでは、レガシーハードウェアの互換性の問題のためにアップグレードできません。

また、[ハードウェアドライバー]ダイアログにオプションのスクリーンドライバーが表示されません。

----

更新

この質問への答えに続いて、私はいくつかの進歩を得ました。必要なモードがリストにxrandr -qリストされましたが、そのモードに切り替えることはできません。Monitorsアプレット(新しいモードが表示されます)を使用すると、次のような応答が得られます。

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262

コマンドラインからは次のようになります。

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

別の情報(誰かに役立つ場合):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

更新2:更新されたlshwリストは次のとおりです。

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

正しくチェックすると、LEDモニターがありますが、ソフトウェア「xrandr」が「crtc」を構成しようとしています-これはカソードモニターです。私は今何をすべきかわかりませんが、LEDモニターと話をしようとするように変更できる設定を見つけているかもしれません。これが少し役立つことを願っています。ごめんなさい。
ピーターリング

@Peterling-これは、このエラーを報告する他のユーザーに対する繰り返しのメッセージであることに気付きましたが、奇妙なことは事実です。私はこれについてどうするか分からない。
ysap

1
現在、「crtc」は単なる用語です。ピクセルは引き続きラインとピクセルで出力され、crtcはビデオロジックのクロックメカニズムであり、特定の解像度に対して正しいタイミングを生成します。この用語が導入されたとき、「crtc」は実際の個々の集積回路であり、ディスプレイはCRTのみでした。
ジョンSグルーバー

どのビデオドライバーを使用していますか?
ジョンSグルーバー

@JohnSGruber-どうすればわかりますか?
ysap

回答:


9

これが増えればどこかで手に入れたと思います。

画面0:最小640 x 400、現在の1600 x 1200、最大1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

次に、xrandrで定義方法を学んだカスタムモードを使用できるようになると思います(基本的な問題を修正した後でも必要な場合)。

仮想画面サイズを増やす

[この] [1]の記事では、xorg.conf構成ファイルのScreenセクションにVirtual行を追加して、最大画面サイズを設定することを提案しています。数年前のものです。xrandr -qただし、これをテストするときに、仮想ラインをで指定された最大画面サイズを超えて設定することはできませんでした。しかし、私のドライバーとハードウェアでは、その値はすでにかなり大きな8192x8192でした。

たとえば、これを/etc/X11/xorg.confとして追加することで実験できます。

セクション「画面」
    識別子「マイスクリーン」
    サブセクション「表示」
        仮想2048 2048
    EndSubSection
EndSection

/etc/X11/xorg.confはおそらく表示されないでしょう。今日のビデオドライバーはすべての合理的なデフォルトを決定しようとし、最新のディストリビューションではそのファイルが除外されるためです。ただし、存在する場合は使用されます。

既に/etc/X11/xorg.confファイルがある場合は、上記のVirtual行をScreenセクションのDisplayサブセクションに追加してみてください。

Ubuntu GUIでサインオンする能力を台無しにする可能性があるため、コマンドラインエディタでこれをテストすることをお勧めします。Alt-Ctrl-F1、サインオン、ファイルの編集(または削除)が必要になる場合がありますコマンドラインツールを使用します。エラーは/var/log/Xorg.0.logまたは/var/log/Xorg.1.logにあります。

実際、システムの追加のユーザーIDにログインして(通常のユーザーIDからログアウトすることなく)、新しいセッションからチェックすることで、これをテストできます。Alt-Ctrl-F7を使用して作業に戻ることができます。トラブルがある場合はGUI。追加のユーザーIDを使用して最初からログアウトせずにログインする場合、適切なログは/var/log/Xorg.1.logになります。動作中のxorg.confを取得するか、再度削除するまで、動作中のセッションからログアウトしたりブートしたりしないでください。


別のグラフィックドライバーを使用する

私が読んだ別の記事では、ドライバーを切り替えることでこの問題を解決しましたが、質問から、Additional Driversプログラムでは代替手段が得られないことがわかります。(「ハードウェアドライバーダイアログ」について言及するとき、これが上記の意味であると仮定します。追加ドライバープログラムでドライバーを変更しない限り、カーネルはマザーボード上のビデオカードまたはビデオロジックに適したドライバーを使用します。

OPについては、上記のコメントで説明したことから、システムはradeonドライバーを使用する必要があるように見えますが、そうではありません。radeonドライバーを使用し、通常、水平解像度を1920に設定します(ドライバー/カードの最大値は8192のようです)。vesaおよびfbドライバーは、古いハードウェア用の非常に基本的なドライバーです。その時代のモニターには非常に大きなディスプレイはありませんでした。


Ubuntuをアップグレードする

インストールしたUbuntuバージョンよりも新しいコンピューター、特にそのLinuxカーネルを実行している場合、カーネルがグラフィックアダプターを認識しない可能性があります。その場合は、機器のサポートを含むUbuntuソフトウェアをアップグレードする必要があります。

彼はfglrxを実行することができないため、残念ながらysapの場合です。リリースysapに対するこの機器の新しさのため、Lucid(またはMaverickのいずれか)Linuxカーネルでは[1002.9802]のサポートはありません。この機器の最初のサポートは、Natty 2.6.38カーネルに現れました。カーネルモジュールで特定のデバイスのサポートを確認するには、/ lib / modules / kernel-version /module.aliasファイルに移動して、アダプターの値を検索します。その機器の場合:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Nattyのカーネルサポートを確認するには。返信:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

テストとして、システムでライブCDを起動し、その環境で希望する解像度を設定してみてください([インストール]ではなく[Ubuntuを試す]をクリックします)。

適切なドライバーサポートを取得すると、ダイレクトレンダリングやOpenGLサポートなどの最新のグラフィック機能も有効になり、パフォーマンスと外観が大幅に向上します。

Ubuntuのバージョンで互換性のあるカーネルが利用可能な場合、パーソナルコンピューターの場合は、アップグレードされたカーネルを使用できる場合もあります。実稼働コンピューターの場合、信頼性と堅牢性のために、Ubuntuを使用可能な場合は新しいバージョンにアップグレードする必要があります。


1
奇妙なことはxorg.conf、ファイルシステムのどこにもないことです。しかし、私の理解が正しければ、現代のgnomeではこのファイルは廃止されており、必要ありません。xorg.conf.dプログラムと関連するmanページを見つけました。
ysap

/etc/X11/xorg.confは、ほとんどのシステムのハードウェアには不要になりましたが、時代遅れではありません。必要な詳細を設定するために提供できます。それが私が上記を試した方法です。これらの詳細は、ディレクトリ/etc/X11/xorg.conf.d/に追加するファイルに入れることもできます。例を追加します。
ジョンSグルーバー

それがより明確かどうか見てみましょう。そうでない場合はお知らせください。
ジョンSグルーバー

ありがとう、ジョン。投稿したxorg.confファイルをテストしましたが、実際にアカウントを切り替えたときにディスプレイが台無しになったため、削除する必要がありました。
ysap

Ubuntu 10.04では、システム/管理メニューの下に「ハードウェアドライブ」アプレットがあります。このアプレットには、代替ドライバーはリストされていません。ただし、問題のPCが現在インターネットに接続されていないことに気付きました(現在デモ中です)。オフィスに戻ったら、ATIドライバーの代替案が表示される可能性があります。その過去から、プロプライエタリなドライバーは問題を解決しなかったことを漠然と覚えており、10.04ではその解像度を得ることができませんでした。
ysap

15

また、この問題が発生しました(以前はDell 23インチ画面が使用されていました)

最初に、ディスプレイに接続されているインターフェイスを確認します。

$ xrandr -q

コマンド出力は次のようになります。

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

外部ディスプレイがポートに接続されています VGA-0に。これは注意することが重要です。

次に、表示する新しいモードを追加します。

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00

これは、組み込みの画面を変更するためには機能しませんか?
コピ

exとのエラーBadMatch:xrandr --addmode "DVI-I-1" "1280x800_60.00"何か考えはありますか?(DVI-I-1は接続されています)
Aquarius Power

@AquariusPowerのDVI-1-1代わりに試すDVI-I-1
WinEunuuchs2Unix

6

G'day all。画面のないUbuntuシステムに接続するときにこの問題が発生しました(以前はDell 24インチ画面が使用されていましたが、他の場所で必要でした)。それは私のために働く-ファイルの編集は必要ありません。

注:再起動すると、再度実行する必要があります。シェルスクリプトをお勧めします。

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00

これは驚くほどうまくいきます!
フォルケルトヴァンフースデン

4

上記の行を(gtfコマンドの出力と若干異なる)ホームディレクトリの.xprofileファイルに追加しました。夢のように働いた。下記参照。

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Vmware Playerを使用しているため、出力の名前を使用しています。


2

GUIでxrandr config をセットアップするためにarandrをインストールしててください。

sudo apt install arandr

次に、ディスプレイの解像度、方向、位置を設定し、最後に設定を保存します。

出力は通常〜/ .screenlayoutにあるシェルスクリプト(.sh)であることがわかります。

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