web-dev-qa-db-ja.com

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

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に設定するにはどうすればよいですか? xrandrDVI-0出力を識別しないのはなぜですか?

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

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

----

UPDATE

この質問 への答えに続いて、私はいくつかの進歩を得ました。必要なモードは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

----

UPDATE 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
32
ysap

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

スクリーン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ドライバーは、古いハードウェア用の非常に基本的なドライバーです。その時代のモニターには非常に大きなディスプレイはありませんでした。


buntuのアップグレード

インストールした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を新しいバージョンにアップグレードする必要がある場合があります。

8
John S Gruber

また、この問題が発生しました(以前は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-。これは注意することが重要です。

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

$ 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

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
5
user202431

上記の行を(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を使用しているため、出力の名前を使用しています。

3
Tim

arandrをインストールして、xrandr configをGUIに設定してみてください。

Sudo apt install arandr

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

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

1
mwm