Разрыв экрана с Nvidia 950M в 15.04 и 15.10

Информация: ноутбук Asus fx550j, i7, оперативная память 8 ГБ, 15.04 x86_64 обновлена ​​до 15.10.

lspci -k | grep -i nvidia

3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
Kernel driver in use: nvidia

lspci -k | grep -i vga

VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (без драйвера ядра)

dmesg | grep -i nvidia

[    9.917116] [drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 1
[    9.917118] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  355.11  Wed Aug 26 16:35:41 PDT 2015

Пакет nvidia-355 установлен из графических драйверов Launchpad PPA. Поскольку я испытывал страшную проблему с разрывом экрана (при перемещении окон на рабочем столе, прокрутке в приложениях и браузере Firefox, прерывистом видео в VLC, как с компилятором, так и без него), я занимался некоторыми исследованиями, но придумывал пустые -handed. Полагаю, что я откопал некоторые интересные данные в моем устранении неполадок, которые могут быть полезны. Я испытал и решил аналогичную проблему на настольном компьютере с картой Nvidia 660 в openSUSE, включив

Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

в xorg.conf. Установка Ubuntu на том же рабочем столе, установленном позднее, не вызывала такого разрыва экрана. Назад к ноутбуку. Одна из самых загадочных вещей, с которыми я столкнулся, это тот факт, что xorg.conf продолжает переписываться в отказоустойчивую версию. Failsafe xorg.conf:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

nvidia-settings хочет сделать это xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 358.16  (buildd@lgw01-40)  Sat Nov 21 02:54:02 UTC 2015

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "Screen0" 0 0
    Inactive       "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
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 "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
    Option         "AccelMethod" "None"
    BusID          "PCI:0@0:2:0"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    Option         "ConstrainCursor" "off"
    BusID          "PCI:1@0:0:0"
EndSection

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

Section "Screen"
    Identifier     "intel"
    Device         "intel"
    Monitor        "Monitor0"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
    Option         "AllowEmptyInitialConfiguration" "on"
    Option         "IgnoreDisplayDevices" "CRT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    DefaultDepth    24
    Option         "UseDisplayDevice" "none"
    SubSection     "Display"
        Virtual     1920 1080
        Depth       24
    EndSubSection
EndSection

Однако это продолжает перезаписываться при перезагрузке. Хорошо, потому что это не работает из того, что я вижу. Я хотел посмотреть, что произойдет, если он прочитает, поэтому я сделал его неизменным:

chattr +i /etc/X11/xorg.conf

Это даже не загрузилось, поэтому мне пришлось изменить его в оболочке. Другие примечательные факты:

Glxinfo

показывает GTX950m с соответствующими используемыми драйверами.

Перед обновлением я вытер fs и выполнил чистую установку 15.04, чтобы увидеть исходную ситуацию. До того, как были установлены драйверы nvidia-355, glxinfo показала, что использовалась графика Intel Haswell. Графическая ситуация казалась немного изменчивой, но без горизонтального разрыва экрана. Я не пробовал загружать нуво. Ни одно из изменений конфигурации в настройках nvidia, похоже, не используется. Предполагается, что некоторые настройки сохранены в nvidia-settings-rc в моей домашней папке, но они не выдерживают перезагрузки. Это не похоже на то, что там что-то сохраняется. Я уже объяснил ситуацию xorg.conf. Настройки Nvidia не могут идентифицировать монитор. Я не уверен, что это нормальная ситуация для ноутбука. Конфигурация отображения сервера X показывает X Экран 0 (Нет сканирования). Горизонтальное разрывание экрана сохраняется, когда я подключаю внешний монитор, который nvidia устанавливает правильные идентификаторы как Samsung, поэтому я сомневаюсь, что это связано. В настройках nvidia нет опции sync-to-vblank. Есть один в настройках Compiz в подразделении open-GL, но он по умолчанию проверен и, по-видимому, не влияет на что-либо, если его не остановить.

В любом случае. Я просто должен устранить эту проблему с разрывом экрана. Я искренне ценю любую помощь.

1
задан 12 December 2015 в 06:11

0 ответов

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

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