TwinView держит рабочий стол растянутым при удалении внешнего монитора

У меня ноутбук HP с картой nVidia, и я использую Ubuntu 11.04 (стабильная версия). Я настроил TwinView с помощью приложения Настройки сервера nVidia X. Если я загружаюсь без подключенного дополнительного монитора, рабочий стол растягивается и выходит за рамки разрешения. Unity и основная панель работают и выглядят нормально, но все приложения, которые я запускаю, также растягиваются, а разрешение неверно, что делает их практически непригодными для использования. Когда я загружаюсь с подключенным дополнительным монитором (через HDMI), все работает нормально.

Я свернул это до моего файла xorg.conf. Если я удаляю файл и перезагружаюсь, основной монитор работает нормально, но мне нужно настроить nVidia для повторного использования TwinView. Для ноутбука, где я постоянно переключаюсь между одним и несколькими мониторами, это раздражает...

В общем, мой вопрос: могу ли я настроить Ubuntu таким образом, чтобы настройки двух мониторов игнорировались, когда подключен только 1 монитор? Это работало нормально в 10.10 (кстати, у меня все еще есть этот файл xorg.conf, и он вызывает ту же проблему).

Вот мой текущий файл xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 270.29  (buildd@allspice)  Fri Feb 25 14:42:07 UTC 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Seiko/Epson"
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 230M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

3 ответа

Если это ноутбук с гибридной графикой, попробуйте установить шмель, чтобы карты Intel и Nvidia работали одновременно, и используйте gnome-display-properties для многоэкранных конфигураций, что лучше, чем nvidia twinview в наши дни: https://launchpad.net/~hybrid-graphics-linux

sudo apt-get установить git
# введите пароль
git clone http://github.com/MrMEEE/bumblebee.git
CD шмель /
sudo ./install.sh
optirun glxgears
# проверить скорость и сравнить с бегом:
glxgears
# Если у вас установлен google-chrome, вы можете попробовать его с / без optirun и сообщить о значениях FPS в списке рассылки:
optirun google-chrome http://webglsamples.googlecode.com/hg/aquarium/aquarium.html

Мое первое предложение - не использовать xorg.conf, так как он вызывает больше проблем, чем решает.

Вместо этого я предлагаю использовать параметр disper, который можно запустить при запуске, и если монитор не будет обнаружен, он не изменит разрешение. Если у вас более сложная настройка, вы можете создать сценарий с различными настройками дисперсии, как я сделал в этом ответе - Как автоматически переключать мониторы с помощью док-станции моего ноутбука

Я тоже взялся за это. Текущий файл, который работает для меня, находится в конце.

Основные настройки, которые держат вещи в спецификации:

Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT: nvidia-auto-select, DFP: nvidia-auto-select"
Option "TwinViewOrientation" "RightOf"

Это также позволяет мне использовать различные мониторы (подключенные во время загрузки), не беспокоясь об их разрешении.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL SE198WFP"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8400M GS"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT: nvidia-auto-select, DFP: nvidia-auto-select"
    Option          "TwinViewOrientation" "RightOf"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Другие вопросы по тегам