Информация: ноутбук 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, но он по умолчанию проверен и, по-видимому, не влияет на что-либо, если его не остановить.
В любом случае. Я просто должен устранить эту проблему с разрывом экрана. Я искренне ценю любую помощь.