1-5.VNCのためのディスプレイ設定

Last-modified: Sat, 27 Feb 2016 18:22:38 JST (2971d)
Top > 1-5.VNCのためのディスプレイ設定

目標

立ち上げてVNC clientでアクセスすると1280x1024になっていて欲しい。

結論

下記の方法2が正解

方法1: xorg.confを使用する。

xorg.conf雛型作成(参考)

Xが立ち上がっていると、Xorg -configureが使えない
Cntl-Alt-F1でコンソールに入る(そこからの出かたはCntl-Alt-F8(F7))

%sudo /etc/init.d/mdm stop  (Mate Desktop Managerの停止)
%sudo Xorg -configure       (/home/someone/xorg.conf.newが作成される)
%sudo /etc/init.d/mdm start (MDMの起動)

後から知ったが、コンソールに入らなくても以下で可能らしい。

%sudo Xorg :2 -configure

xorg.confファイルを使うより、/usr/share/X11/xorg.conf.dの下にconfファイルを置いたり、下のconfファイルをいじるのが正しいらしい。

confファイルを使う
/etc/X11/xorg.conf.d/ ディレクトリにはユーザー定義の設定を保存します。あなたは自由に設定ファイルを /etc/X11/xorg.conf.d/ に追加することができますが、ファイル名には XX- (XX は数字です) を先頭につけ拡張子は .conf である必要があります (例えば 10 は 20 より早く読み込まれます)。これらのファイルは X サーバーの起動時にパースされ従来の xorg.conf 設定ファイルの一部として扱われます。基本的に X サーバーは設定ファイルの集合を xorg.conf の最後のエントリとしてひとつの大きなファイルとして扱います。
xorg.confファイルを使う
/etc/X11/xorg.conf や /etc/xorg.conf で Xorg を設定することもできます。

xserver-xorg-video-dummyのインストール

が、xserver-xorg-video-dummyは入らない。

apt-chache search video-dummy

で何を入れたらいいか調査可能。しかし、
xserver-xorg-video-dummy-lts-quantal
xserver-xorg-video-dummy-lts-raring
xserver-xorg-video-dummy-lts-saucy
xserver-xorg-video-dummy-lts-trusty
xserver-xorg-video-dummy-lts-utopic
xserver-xorg-video-dummy-lts-vivid
ここらへんが最初から入っている。つまりはインストール不要。

xorg.conf with dummy 作成

http://cosmolinux.no-ip.org/raconetlinux2/dummy_radeon_nvidia.html

sudo vi /etc/X11/xorg.conf

Section "Monitor"
Identifier "Monitor0"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -
hsync +vsync
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
EndSection


Section "Device"
Identifier "Card0"

Option "NoDDC" "true"
Option "IgnoreEDID" "true"

Driver "dummy"
Videoram 8192
EndSection


Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024_60.00"
EndSubSection
EndSection

Option "NoDDC" "true"
Option "IgnoreEDID" "true"
をつけてても、他の解像度のプロービングは動いてしまう。intelでは無駄なことが分かった。参考:Kernel Modeの止め方

8086 a001のdeviceはi915らしい。

参考:Kernel Modeの止め方

他の解像度のプロービングを止めさせるには、Kernel Modeを止める必要がある。
http://cosmolinux.no-ip.org/raconetlinux2/dummy_radeon_nvidia.html

# Intel:
echo options i915 modeset=0 > /etc/modprobe.d/i915-kms.conf

とか、

$sudo gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
↓
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset nosplash"
$ sudo update-grub2

とか。しかし
intelではKMSは必須です。

https://wiki.archlinuxjp.org/index.php/Intel_Graphics

方法2:KMSでLDVS1に1280x1024を加える

当初もくろんだLDVS1に1280x1024を足すのは、本来はKMSでやるらしい。
https://wiki.archlinuxjp.org/index.php/Kernel_Mode_Setting

Early KMSだとちょっと面倒だが...

http://forum.komando.com/topic/336062-edid-not-reading-alt-screen-resolution/
を読むと最初から1280x1024.binがあるとのこと。

$sudo vi /etc/default/grub
 GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash"
 ↓
 GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash drm_kms_helper.edid_firmware=edid/1280x1024.bin"
$ sudo update-grub2
 or
$ sudo update-grub

上の変更だが、

drm_kms_helper.edid_firmware=LVDS-1:edid/1280x1024.bin

だとうまくいかない。LVDS-1を入れなければうまくいく。何故?この謎は追求しない。

(参考)Kernel connecter nameとX11 connecter name
https://www.osadl.org/Single-View.111+M5ec938a7b3b.0.html

しかしこれでディスプレイをつなぐと…

ディスプレイをつないでからでもリブートすると、また画面が変になってしまう。
デュアルディスプレイになっているっぽい。
しかもxrandrがうまく動いてくれない。

これをしないと

cvt 1920 1080
sudo xrandr --newmode "1920x1080_60.00"コピペ
xrandr -q
モニターの設定を出しておく
xrandr --addmode VGA1 1920x1080_60.00
モニターの設定で、VGA1で解像度を1920、プライマリに