12.10. Квантовые проблемы с отображением при использовании nvidiaXineramaInfoOverride

После обновления до 12.10 сегодня мой xorg.conf, похоже, не соблюдается Quantal. Не уверен, является ли это «ошибкой» или это просто настройка, которую я должен сделать из-за изменений в ОС.

При входе в систему кажется, что Ubuntu теперь распознает только один экран 3840x1080 с именем «Matrox», и окно максимального расширения охватывает их на обоих экранах. В 12.04 этот файл конфигурации позволил мне переопределить данные, предоставленные моим TripleHead2Go, и развернуть окна на один монитор.

Какие-нибудь идеи или с чего начать при попытке отладить это?

После небольшого поиска я попытался внести изменения в соответствии с обновлением здесь: http://www.phoronix.com/scan.php?page=news_item&px=MTEyMDk

Вот где сейчас находится файл конфигурации:

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

Section "Files"
EndSection

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

Section "InputDevice"      
  Identifier     "Keyboard0"
  Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Matrox"
    HorizSync       31.5 - 80.0
    VertRefresh     59.9 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 260M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfo" "true"
    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    #Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    Option         "nvidiaXineramaInfoOverride" "1920x1080 +0+0, 1920x1080 +1920+0"
    Option         "Stereo" "0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
0
задан 19 October 2012 в 16:33

2 ответа

Хорошо, частичное исправление:

  1. Установите пакет compizconfig-settings-manager, если у вас его еще нет.
  2. Запустите его и перейдите в «Общие параметры»> «Настройки дисплея»
  3. Добавьте нужные выходы (в моем случае это два подключения DVI: 1920x1080 + 0 + 0 и 1920x1080 + 1920 + 0)
  4. Снимите флажок «Определить выходы» над списком выходов

Предупреждение:

  • Это НЕ устранит проблему с панелью, охватывающей несколько рабочих столов, только развернутые окна, охватывающие оба экрана

Я полностью забыл о способности compizconfig сделать это.

Есть ли какие-либо входные данные для разделения панели на каждый выход, используя это?

0
ответ дан 19 October 2012 в 16:33

В последних версиях графического драйвера NVIDIA Linux - включая версию nvidia-current в кванте 12.10, 304.51 - появилась поддержка RandR 1.2+, улучшающая интеграцию между графической картой и оконным менеджером (GNOME, KDE). и т. д.) с обработкой разрешения экрана, поворота и т. д. из инструментов менеджера окон в дополнение к nvidia-settings. Однако кажется, что опция конфигурации TwinViewXineramaInfoOverride xorg.conf (которая теперь была переименована в nvidiaXineramaInfoOverride) не работает должным образом.

Чтобы следить за прогрессом NVIDIA в этом вопросе, см .:

http://www.nvnews.net/vbulletin/showthread.php?p=2578805
http://www.nvnews.net/vbulletin/showthread.php?t=184814

Возможное решение - использовать Fake Xinerama http://home.kde.org/~seli/fakexinerama/ было доказано, что он работает и с Xorg 7.7 (версия Xorg на Quantal 12.10). Чтобы следовать процедуре, описанной в связанном документе, вам необходимо:

  • Перед процедурой, sudo apt-get install libxinerama-dev
  • После процедуры перезагрузите систему

Вы можете использовать следующее содержимое для ~/.fakexinerama:

2
0 0 1920 1080
1920 0 1920 1080

Чтобы включить fakexinerama только при наличии Matrox DualHead2Go, вы также можете добавить этот код в /etc/init/lightdm.conf перед exec lightdm:

if lsusb | grep -q 18ea:0003; then
        echo "Matrox DualHead2Go Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
else
        echo "Matrox DualHead2Go NOT Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
fi

Используйте следующие правила, чтобы этот код работал:

  • В любом случае используйте /usr/lib/i386-linux-gnu вместо /usr/lib/x86_64-linux-gnu, если не на 64 битах
  • ]
  • Сделайте резервную копию оригинала /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0 в /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig
  • Скопируйте измененную версию, полученную в результате сборки fakexinerama, в /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake
  • Замените 18ea:0003 на ваше устройство идентификатор продукта, если отличается (используйте lsusb, чтобы найти правильное значение).

Перезагрузите систему каждый раз, когда вам нужно переключиться из режима Matrox DualHead2Go в исходный режим.

ПРИМЕЧАНИЕ: однажды работая, вы сможете развернуть окна на каждом экране, но любое действие, использующее информацию RandR вместо Xinerama, не будет заботиться о поддельной информации Xinerama (например, обоях, Adobe Flash во весь экран - включая YouTube и др.).

0
ответ дан 19 October 2012 в 16:33

Другие вопросы по тегам:

Похожие вопросы: