LINUX.ORG.RU

NVidia driver и 2 видеокарты


0

1

Всем привет! У меня возникла такая проблема - есть ноутбук Acer Sapire 5745PG с дискретной видеокартой NVIDIA GeForce GT 420M и какой-то встроенной (интел). При попытке включить проприетарные драйверы NVIDIA, GDM перестаёт грузиться, в логе записано:

X.Org X Server 1.10.1
Release Date: 2011-04-15
[    99.670] X Protocol Version 11, Revision 0
[    99.670] Build Operating System: Linux 2.6.24-29-server x86_64 Ubuntu
[    99.670] Current Operating System: Linux victor-Aspire5745PG 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64
[    99.670] Kernel command line: BOOT_IMAGE=/vmlinuz-2.6.38-8-generic root=UUID=d0ced814-1f13-4249-910c-60e8235e8abb ro quiet splash vt.handoff=7
[    99.670] Build Date: 19 April 2011  03:40:45PM
[    99.670] xorg-server 2:1.10.1-1ubuntu1 (For technical support please see http://www.ubuntu.com/support) 
[    99.670] Current version of pixman: 0.20.2
[    99.670] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[    99.670] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    99.670] (==) Log file: "/var/log/Xorg.5.log", Time: Fri May  6 23:10:49 2011
[    99.671] (==) Using config file: "/etc/X11/xorg.conf"
[    99.671] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    99.671] (==) No Layout section.  Using the first Screen section.
[    99.671] (==) No screen section available. Using defaults.
[    99.671] (**) |-->Screen "Default Screen Section" (0)
[    99.671] (**) |   |-->Monitor "<default monitor>"
[    99.671] (==) No device specified for screen "Default Screen Section".
	Using the first device section listed.
[    99.671] (**) |   |-->Device "Device1"
[    99.671] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[    99.671] (==) Automatically adding devices
[    99.671] (==) Automatically enabling devices
[    99.671] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    99.671] 	Entry deleted from font path.
[    99.671] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    99.671] 	Entry deleted from font path.
[    99.671] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    99.671] 	Entry deleted from font path.
[    99.671] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    99.671] 	Entry deleted from font path.
[    99.671] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    99.672] 	Entry deleted from font path.
[    99.672] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	/usr/share/fonts/X11/Type1,
	/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,
	built-ins
[    99.672] (==) ModulePath set to "/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[    99.672] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[    99.672] (II) Loader magic: 0x7e0280
[    99.672] (II) Module ABI versions:
[    99.672] 	X.Org ANSI C Emulation: 0.4
[    99.672] 	X.Org Video Driver: 10.0
[    99.672] 	X.Org XInput driver : 12.3
[    99.672] 	X.Org Server Extension : 5.0
[    99.673] (--) PCI:*(0:0:2:0) 8086:0046:1025:0465 rev 24, Mem @ 0xd1400000/4194304, 0xc0000000/268435456, I/O @ 0x00004050/8
[    99.673] (--) PCI: (0:1:0:0) 10de:0df1:1025:049a rev 161, Mem @ 0xd0000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00003000/128, BIOS @ 0x????????/524288
[    99.673] (II) Open ACPI successful (/var/run/acpid.socket)
[    99.673] (II) LoadModule: "extmod"
[    99.674] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[    99.674] (II) Module extmod: vendor="X.Org Foundation"
[    99.674] 	compiled for 1.10.1, module version = 1.0.0
[    99.674] 	Module class: X.Org Server Extension
[    99.674] 	ABI class: X.Org Server Extension, version 5.0
[    99.674] (II) Loading extension MIT-SCREEN-SAVER
[    99.674] (II) Loading extension XFree86-VidModeExtension
[    99.674] (II) Loading extension XFree86-DGA
[    99.674] (II) Loading extension DPMS
[    99.674] (II) Loading extension XVideo
[    99.674] (II) Loading extension XVideo-MotionCompensation
[    99.674] (II) Loading extension X-Resource
[    99.674] (II) LoadModule: "dbe"
[    99.675] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[    99.675] (II) Module dbe: vendor="X.Org Foundation"
[    99.675] 	compiled for 1.10.1, module version = 1.0.0
[    99.675] 	Module class: X.Org Server Extension
[    99.675] 	ABI class: X.Org Server Extension, version 5.0
[    99.675] (II) Loading extension DOUBLE-BUFFER
[    99.675] (II) LoadModule: "glx"
[    99.675] (II) Loading /usr/lib/xorg/extra-modules/libglx.so
[    99.685] (II) Module glx: vendor="NVIDIA Corporation"
[    99.685] 	compiled for 4.0.2, module version = 1.0.0
[    99.685] 	Module class: X.Org Server Extension
[    99.685] (II) NVIDIA GLX Module  270.41.06  Mon Apr 18 15:10:15 PDT 2011
[    99.685] (II) Loading extension GLX
[    99.685] (II) LoadModule: "record"
[    99.685] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[    99.686] (II) Module record: vendor="X.Org Foundation"
[    99.686] 	compiled for 1.10.1, module version = 1.13.0
[    99.686] 	Module class: X.Org Server Extension
[    99.686] 	ABI class: X.Org Server Extension, version 5.0
[    99.686] (II) Loading extension RECORD
[    99.686] (II) LoadModule: "dri"
[    99.686] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
[    99.686] (II) Module dri: vendor="X.Org Foundation"
[    99.686] 	compiled for 1.10.1, module version = 1.0.0
[    99.686] 	ABI class: X.Org Server Extension, version 5.0
[    99.686] (II) Loading extension XFree86-DRI
[    99.686] (II) LoadModule: "dri2"
[    99.686] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[    99.686] (II) Module dri2: vendor="X.Org Foundation"
[    99.686] 	compiled for 1.10.1, module version = 1.2.0
[    99.686] 	ABI class: X.Org Server Extension, version 5.0
[    99.686] (II) Loading extension DRI2
[    99.686] (II) LoadModule: "nvidia"
[    99.686] (II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so
[    99.687] (II) Module nvidia: vendor="NVIDIA Corporation"
[    99.687] 	compiled for 4.0.2, module version = 1.0.0
[    99.687] 	Module class: X.Org Video Driver
[    99.687] (II) NVIDIA dlloader X Driver  270.41.06  Mon Apr 18 14:55:25 PDT 2011
[    99.687] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    99.687] (--) using VT number 8

[    99.690] (EE) No devices detected.
[    99.690] 
Fatal server error:
[    99.690] no screens found
[    99.690] 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[    99.690] Please also check the log file at "/var/log/Xorg.5.log" for additional information.
[    99.690] 
(Привёл текст как раз из /var/log/Xorg.5.log)

Погуглив на форумах, обнаружил мнение, что это происходит из-за встроенной видеокарты (удивлённые дрова вылетают, так и не заметив дискретную карту). Хотелось бы услышать мнение знатоков и узнать способ отключить встроенную видеокарту (а в идеале настроить между ними переключение).


Поищите в Google по ключевому слову vga_switcheroo.

Для начала Вам придётся обновить ядро. Потом, вероятно, выяснится, что переключение реализовано только в открытых драйверах.

AITap ★★★★★
()
Ответ на: комментарий от AITap

С vga_switcheroo есть отдельная проблема: хоть ядро и скомпилено с этой опцией, соответствующего интерфейса я не нашёл (папки /sys/kernel/debug/vga_switcheroo не существует, ни одного файла с подобным названием я тоже не нашёл). Ища решение этой проблемы, я не обнаружил никакого более вразумительного ответа чем «во всём виноваты патчи Убунты. Попробуйте другой дистрибутив» ((

vitan
() автор топика
Ответ на: комментарий от vitan

>папки /sys/kernel/debug/vga_switcheroo не существует

Не там ищешь. «Папки» - они только в венде «существуют».

Led ★★★☆☆
()
Ответ на: комментарий от vitan

The vga_switcheroo mechanism will only be active when the kernel is booted with either the «modeset=1» kernel option, and/or the «nomodeset» option being absent.

Попробуйте удалить драйвер nvidia (и воспользоваться nouveau).

AITap ★★★★★
()

Если в биосе переключалки нет, то никак. Используй венду и не парь мозг.

Reset ★★★★★
()

У меня с моим Lenovo B560 такой же точно трабл случился. Две видеокарточки: встроенная Intel и дискретная GeForce.
После установки проприетарных дров также вывалился в консоль.
Загрузить иксы смог только после удаления файла xorg.conf: При загрузке Ctrl+Alt+F1, логинимся и пишем

sudo rm -f /etc/X11/xorg.conf
sudo reboot
После сего действа радуемся загруженным иксам. У меня они были без поддержки 3D, но уже на проприетарном драйвере.
Страшный костыль, на самом деле, но по другому запустить иксы у меня не получилось.

Manriel
()
Ответ на: комментарий от Manriel

После усердного чтения мануалов по xorg.conf и вики разных дистрибутивов (более всего помог Arch) Нашёл способ привязать конкретную видеокарту в дисплею (вот ссылка, если кому-то понадобится: https://wiki.archlinux.org/index.php/Xorg#More_than_one_graphic_card).

теперь возникли следующие две (я так понимаю, последние =)) проблемы: Во-первых, видеокарта ставит разрешение 640х480, но самое главное то, что она не посылает сигнал на монитор, вместо этого создаёт виртуальный дисплей. Вот лог иксов и xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 270.41.06  (buildmeister@swio-display-x86-rhel47-08.nvidia.com)  Mon Apr 18 15:14:00 PDT 2011

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

Section "Monitor"
    Identifier     "Monitor0"
    HorizSync       28.0 - 33.0
#    VertRefresh     43.0 - 72.0
    Option         "DPMS"
    DisplaySize     361 203
    Option         "DPI" "96 x 96"
EndSection

Section "Device"
    Identifier     "Device0"
    BusID          "PCI:1:0:0" #эту строчку и следующую я закомменчиваю, чтобы войти в иксы с работающим моником
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "ConnectedMonitor" "CRT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1366x768_75.00"
    EndSubSection
EndSection
Какие будут предложения?

vitan
() автор топика
Ответ на: комментарий от vitan

Спасибо за ссылки.
Немного поигравшись с xorg.conf добился определяемости и рабочести обеих видеокарт, однако теперь существует интересная бажина: иксы успешно стартуют и загружаются (судя по звукам). Если что-то делаю по памяти, то оно выполняется, также судя по звукам (в частности, открыл аудиофайл на рабочем столе), но монитор при этом абсолютно ничего не показывает. При попытке войти в другую консоль (например Ctrl+Alt+F1), консоль открывается и я вижу, что там происходит. При попытке зайти в консоль с активными иксами - снова черный экран. Пофиксить это мне пока не удалось.

Содержимое xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 260.19.29  (buildmeister@swio-display-x86-rhel47-08.nvidia.com)  Wed Dec  8 12:28:55 PST 2010

Section "Module"
   Load   "glx"
EndSection

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

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Lenovo"
    ModelName      "Lenovo B560"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option          "DPMS"       "1"
    Option          "Enable"      "true"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "nVidia Corporation GT218 [GeForce 310M]"
    BusID          "PCI:2:0:0" # Посмотреть командой $ lspci | grep VGA
EndSection


Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    VendorName     "Intel Corporation Core Processor Integrated Graphics Controller"
    BusID          "PCI:0:2:0" # Посмотреть командой $ lspci | grep VGA
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1366x768"
    EndSubSection
EndSection

Если в Section «Screen» написать Device «Device1», то иксы прекрасно работают на встроенной видеокарте и монитор при этом показывает изображение, однако, нужно бы их завести с дискретной.

Manriel
()

Судя по ощущениям от прочтения сообщения, ты в Linux недавно. Например, слово «папка», подмеченное пользователем Led. Обычно folder есть только в Windows, а в Linux - directory, директория или каталог. Я тоже в Linux недавно. Не встречался с этой проблемой лично, но много раз читал о том, что встречались другие. Причина в том, что технология NVIDIA Optimus не реализована в Linux. Обычно реализовываются все технологии, например SLI, HDMI, CUDA. А в этот раз чего-то нет. Может сложно. Может подождать просто надо. В любом случае, проблема есть. Технология позволяет по ходу работы переключиться на более сильную видеокарту при ресурсоемкой операцией с 3D-ускорением, и обратно. Ну и ладно, пусть не работает. Хотелось бы просто переключиться на другую виюедкарту с перезапуском графической оболочки. Это можно сделать 1). Из BIOS, но не на всех ноутбуках можно это сделать. В частности на самых новых видео в любом случае выводится через 2D-режим Intel в Windows и включить nVidia отдельно нельзя. 2). Программой vga_switchello, если это поддерживается драйвером. А поддерживается только открытый драйвер ati и nouveau. Первый всегда был только как 2D (vesa + 2D), пока компания AMD не решила опубликовать спецификации на видеокарты, второй - ответвление от nv (vesa + 2D), в которое с помощью реверс-инжиниринга закрытого видеодрайвера очень медленно добавляют 3D. Прогресс по задействованию проприетарного nvidia есть, но пока не на всех ноутбуках (на opennet.ru недавно была новость). Я вижу, что своими экспериментами ты нашел что-то такое, что еще не находили опытные Linux-пользователи. Уверен, им будет интересно!

Wormik
()
Ответ на: комментарий от Wormik

Да ничего такого я не нашёл... Просто очередная бага дров. Как раз проблему выбора карт я решил стандартными средствами xorg, тут уже проблема в выводе изображения, соответствующий багрепорт я направил в техподдержку NVIDIA.

vitan
() автор топика
Ответ на: комментарий от vitan

Нашел в сети один интересный пост о том, как заставить работать nVidia Optimus в Linux: http://www.illumium.org/node/50
Однако у меня по каким-то причинам после выполнения всех рекомендаций выдает ошибку

[VGL] ERROR: Could not open display :0.1.
Как ее исправить, пока не знаю.

Manriel
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.