LinuxForum.Fans
Тема

Связка видео Intel(встроенная в проц) + nVidia(дискретная)

Автор: KrackMan 273 сообщений 75254 просмотров
#203234

Имеется ноутбук Aspire X 3830TG , Intel Core i3-2310M, Nvidia GT 540M (с технологией optimus). Связка видео Intel(встроенная в проц) + nVidia(дискретная).

После установки openSuSe 11.4 x86_64, видео заработало (появилось разрешение монитора 1366х768). Запускаю в Wine 1.3.12 игру, грузится, но графика урезанная сильно и Игра жутко лагает. Из чего делаю вывод о том что игра использует встроенное в чип видео. В БИОС стоит параметр "Переключаемое" (Есть второй вариант "Интегрированное"). Видео карты определились системой:
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)

После поисков наткнулся на это http://linuxforum.ru/viewtopic.php?id=5083 Сообщение №18. Скачал NVIDIA-Linux-x86_64-285.05.09.run, установил. Запустил. Изменений не заметил. Попытался запустить nvidia-settings выдает сообщение что я не использую Х сервер и для конфигурации нужно запустить nvidia-xconfig - эта команда создает xorg.conf , Завершаю сеанс. Графика падает. # rcxdm start или # startx выдают ошибку(спойлеры ниже). Поднять графику можно вернув старый xorg.conf. Также пробовал http://ru.opensuse.org/SDB:Драйверы_NVIDIA но тут возникает проблема с обновлением с [url]ftp://download.nvidia.com/opensuse/11.4[/url] , в процессе появлется сообщение что репа не доступна, хотя через браузер могу зайти и скачать файлы. Так же не получилось и с http://ru.opensuse.org/SDB:NVIDIA_-_сложный_способ , стопор на пункте # rcxdm start.

Показать
Starting service gdmgdm[7218]: WARNING: GdmDisplay: display lasted 0,036648 seconds
gdm[7218]: WARNING: GdmDisplay: display lasted 0,041597 seconds
gdm[7218]: WARNING: GdmDisplay: display lasted 0,044251 seconds
gdm[7218]: WARNING: GdmDisplay: display lasted 0,039100 seconds
gdm[7218]: WARNING: GdmDisplay: display lasted 0,037687 seconds
gdm[7218]: WARNING: GdmDisplay: display lasted 0,045300 seconds
gdm[7218]: WARNING: GdmDisplay: maximum number of X display failures reached: check X server log for errors

Или # startx

Показать
xauth: file /root/.serverauth.2845 does not exist
xauth: (stdin): 2 : unknown command "974ae6a3984e920d7dd46cc28760e463"

X.Org X Server 1.9.3
Release Date: 2010-12-13
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux AspireLix.home 2.6.37.1-1.2-desktop #5 SMP PREEMPT Thu Oct 27 22:46:55 ANAST 2011 x86_64
Kernel command line: root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part6 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet elevator=cfq vga=0x317
Build Date: 22 February 2011 10:08:09PM

Current version of pixman: 0.20.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Nov 1 12:56:26 2011
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
FATAL: Could not read '/lib/modules/2.6.37.1-1.2-desktop/kernel/drivers/video/nvidia.ko': No such file or directory
(EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
(EE) NVIDIA: system's kernel log for additional error messages.
(EE) Failed to load module "nvidia" (module-specific error, 0)
(EE) No drivers available.

Fatal server error:
no screens found

Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
-------------------------------------------------------------------------------------------
xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?
If so either use a display manager (strongly recommended) or adjust /etc/permissions.local

Нашел также https://github.com/MrMEEE/bumblebee . Но видео все так же не работает, хотя иксы поднимаются. aliaksei1818 подсказал ссылку: Ноут с NVIDIA GeForce GT 420M и openSUSE , почитав воодушевился. Воодушевление длилось не долго, до пункта bumblebee-configuration, который у меня выдет 3 варианта конфигурации под мой ноут, 2-е протестированны на Убунте 11.04, третья на Минте 11. После конфигурации перезагружаю машину, иксы поднимаются. Но проверка работы карты nVidia командой #optirun64 glxgears показывает что Бамблби не отрабатывает(вывод ниже). Стал вручную искать по всем предложенным конфигурациям. Нашел для ЗюЗика 11.3 под Aspire 5742G и для 11.4 под Aspire 5750G. Эфект тотже, Intel работает, nVidia нет:

#optirun64 glxgears
/usr/bin/bumblebee-enablecard: line 1: �: command not found
Starting up bumblebee X server:
Stopping bumblebee X server: /etc/init.d/bumblebee: line 125: kill: (2716) - No such process
/usr/bin/bumblebee-disablecard: line 1: �: command not found

# glxgears
***
*** WARNING: Direct Rendering is NOT enabled
***
*** NOTE: Don't use glxgears as a benchmark.
OpenGL implementations are not optimized for frame rates >> 60fps,
thus these numbers are meaningless when compared between vendors.
3763 frames in 5.0 seconds = 751.343 FPS

lspci -vnn

Показать

00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0116] (rev 09) (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] Device [1025:054c]
Flags: bus master, fast devsel, latency 0, IRQ 47
Memory at d1400000 (64-bit, non-prefetchable) [size=4M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [a4] PCI Advanced Features
Kernel driver in use: i915

01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] Device [1025:054e]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at d0000000 (32-bit, non-prefetchable) [size=16M]
Memory at a0000000 (64-bit, prefetchable) [size=256M]
Memory at b0000000 (64-bit, prefetchable) [size=32M]
I/O ports at 3000 [size=128]
Expansion ROM at d1000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau

# zypper lr -u | awk '{ print $7,$9,$11}'

Показать

Почему-то zypper lr -u | awk '{ print $7,$9,$11}' отображает nVidia Drivers без URL'а, zypper lr -u:

Показать
# | Alias | Name | Enabled | Refresh | URI
--+--------------------------+-------------------------------------+---------+---------+----------------------------------------------------------------------------------
1 | Bumblebee | Bumblebee | Yes | Yes | http://download.opensuse.org/repositories/home:/Ximi1970:/bumblebee/openSUSE_11.4
2 | nVidia Graphics Drivers | nVidia Graphics Drivers | Yes | Yes | [url]ftp://download.nvidia.com/opensuse/11.4[/url]
3 | openSUSE-11.4-11.4-0 | openSUSE-11.4-11.4-0 | No | No | cd:///?devices=/dev/disk/by-id/usb-TSSTcorp_CDDVDW_SE-S084F_R86X375-0:0,/dev/sr0
4 | repo-debug | openSUSE-11.4-Debug | No | No | http://download.opensuse.org/debug/distribution/11.4/repo/oss/
5 | repo-debug-update | openSUSE-11.4-Update-Debug | No | Yes | http://download.opensuse.org/debug/update/11.4/
6 | repo-non-oss | openSUSE-11.4-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.4/repo/non-oss/
7 | repo-oss | openSUSE-11.4-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.4/repo/oss/
8 | repo-source | openSUSE-11.4-Source | Yes | Yes | http://download.opensuse.org/source/distribution/11.4/repo/oss/
9 | Обновления-для-openSUSE- | Обновления для openSUSE 11.4 11.4-0 | Yes | Yes | http://download.opensuse.org/update/11.4/

rpm -qa | grep -i "nvidia\|bumblebee"

Показать

nvidia-gfxG02-kmp-default-275.21_k2.6.37.1_1.2-6.1.x86_64
bumblebee-1.7.10-8.1.x86_64
nvidia-gfxG02-kmp-desktop-275.21_k2.6.37.1_1.2-6.1.x86_64
nvidia-computeG02-275.21-7.1.x86_64
x11-video-nvidiaG02-275.21-7.1.x86_64

Все пакеты скачивал вручную и устанавливал через # yast -i "путь/имяфайла"

# lsmod | grep -i "nv\|nvidia\|intel"

Показать

snd_hda_intel 27401 2
snd_hda_codec 105662 2 snd_hda_codec_hdmi,snd_hda_intel
snd_pcm 102140 4 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd 82988 14 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
snd_page_alloc 9364 2 snd_hda_intel,snd_pcm

Люди подскажите, что я не правильно сделал? И как настроить ноут на корректную работу с 2мя видеокартами?

- ошибки при обращении к репе во время установки nvidia.

Показать
Нет доступа к носителю установки
[url]ftp://download.nvidia.com/opensuse/11.4[/url]
(Носитель 1).
Проверьте, что сервер доступен.

Ошибка загрузки (curl) '[url]ftp://download.nvidia.com/opensuse/11.4/repodata/repomd.xml[/url]':
Код ошибки: Unrecognized error
Сообщение об ошибке: FTP response reading failed

++

Решение: http://linuxforum.ru/viewtopic.php?pid=234988#p234988

++++
28.03.2012
Связка видео Intel(встроенная в проц) + nVidia(дискретная)

+++++
13.04.2012
Рабочий вариант

#203272
KrackMan написал:
Kernel driver in use: nouveau

echo "blacklist nouveau ">/etc/modprobe.d/nouveau.conf
Хотя с этим повремените.

#203286

echo "blacklist nouveau ">/etc/modprobe.d/nouveau.conf
blacklist nouveau уже есть, просто была закомментированна. Снял комментарий, перезагрузился: Kernel driver in use: nvidia

rpm -qa | grep acpi
acpid-2.0.7-6.1.x86_64
acpica-20110112-4.7.1.x86_64
acpi_call-kmp-default-0.0.1git20110703_k2.6.37.1_1.2-2.1.x86_64
acpi_call-kmp-desktop-0.0.1git20110703_k2.6.37.1_1.2-2.1.x86_64

# optirun64 glxgears

Показать
/usr/bin/bumblebee-enablecard: line 1: �: command not found
Starting up bumblebee X server:

*** NOTE: Don't use glxgears as a benchmark.
OpenGL implementations are not optimized for frame rates >> 60fps,
thus these numbers are meaningless when compared between vendors.

Stopping bumblebee X server: .
/usr/bin/bumblebee-disablecard: line 1: �: command not found
#203287

KrackMan
А вообще отключить в BIOS встроенное видео нельзя?

#203290
mvt написал:
KrackMan
А вообще отключить в BIOS встроенное видео нельзя?

Нет. Есть вариант отключить nVidia.
Main --> Graphic mode --> Integrated
Switchable
Больше настроек связанных с видео нет.

#203295

вот смущает меня значёчек " � " в выхлопе бамблби , не хорошо это , не правильно , что у вас там с кодировками ? может система из-за этого просто не понимает что вы от неё хотите запуская кривые скрипты с кривыми кодировками . Судя по той работе что вы описали понаворотили вы порядком , все вернули в исходное ?
на гит хабе бамблби буквально написано следующее :


openSuSE Users:

Bumblebee has been ported to the openSuSE Build Service repository :

http://download.opensuse.org/repositories/home:/Ximi1970:/bumblebee/openSUSE_11.4/

For people currently running the script/git version please do :

sudo bumblebee-uninstall

If you have used the nVidia package option:
sudo bash NVIDIA-Linux-xxxxx-xxxx.run --uninstall

If you have used the nVidia repository (mirror) option:
rpm -e x11-video-nvidiaG02
rpm -e nvidia-computeG02
rpm -e nvidia-gfxG02-kmp
zypper rr "nVidia Graphics Drivers (local mirror)"

Install the nVidia repository and packages if you do not want to
use the nouveau driver:
zypper ar -f [url]ftp://download.nvidia.com/opensuse/11.4[/url] "nVidia Graphics Drivers"
zypper install nvidia-gfxG02-kmp-`uname -r | cut -f3 -d"-"`
zypper install x11-video-nvidiaG02

Installing bumblebee:

zypper ar -f http://download.opensuse.org/repositories/home:/Ximi1970:/bumblebee/openSUSE_11.4 "Bumblebee"
zypper install bumblebee

or just use Yast to add the repositories and packages.

важно выполнить очень точно , мало того нужно понимать как эта байда работает изнутри , иначе очевидные вещи ускользают от внимания , от этого и фейлы ...

P.S. вот как вариант :

1. Проверьте установлены ли следующие пакеты :
а) libjpeg-turbo
б) VirtualGL
2. Bumblebee должен запускаться от рута , но он должен иметь свою группу(!) и пользователь должен быть в ней .
3. Проверьте файл : /etc/bumblebee/xorg.conf.nvidia
в нем должна быть прописана PCI ID вашей нвидиа в строке с BusID ,её узнать можно командой :
[console]
lspci -d 10de: -n | grep '030[02]:' | cut -d' ' -f1 | tr . :
[/console]
если не поможет , возможно стоит пошаманить с установкой из исходников и наложением патчей wink .. вот только как там всё в Зюзе работает я не знаю , у меня Слака , и в ней я эту шарманку запускал :P ..

#203302
gramozeka написал:
вот смущает меня значёчек " � " в выхлопе бамблби , не хорошо это , не правильно , что у вас там с кодировками ? может система из-за этого просто не понимает что вы от неё хотите запуская кривые скрипты с кривыми кодировками . Судя по той работе что вы описали понаворотили вы порядком , все вернули в исходное ?

важно выполнить очень точно , мало того нужно понимать как эта байда работает изнутри , иначе очевидные вещи ускользают от внимания , от этого и фейлы ...

Меня тоже смущает этот значек, только он не отобразился тут как в консоли, но думаю смысла это не меняет. А значек это темный шестиугольник со знаком вопроса внутри.
bumblebee-enablecard и disablecard в теле содержат точку.

Дeлал все согласно написанному. Сначала удалял, после начинал установку. Только при:
zypper install nvidia-gfxG02-kmp-`uname -r | cut -f3 -d"-"`
Возникают ошибки, при установке, последний споллер в первом сообщении. Качал вручную через браузер и устанавливал.
В исходное состояние на данный момент? Или на момент когда не удачно устанавливались дрова на Нвидиа? Первое: Нет, второе - Да.

#203305
KrackMan написал:
В исходное состояние на данный момент? Или на момент когда не удачно устанавливались дрова на Нвидиа? Первое: Нет, второе - Да.

в исходный - это значит до всех манипуляций вообще , как только что установил систему ..

#203321
gramozeka написал:

1. Проверьте установлены ли следующие пакеты :
а) libjpeg-turbo
б) VirtualGL
2. Bumblebee должен запускаться от рута , но он должен иметь свою группу(!) и пользователь должен быть в ней .
3. Проверьте файл : /etc/bumblebee/xorg.conf.nvidia
в нем должна быть прописана PCI ID вашей нвидиа в строке с BusID ,её узнать можно командой :
[console]
lspci -d 10de: -n | grep '030[02]:' | cut -d' ' -f1 | tr . :
[/console]
если не поможет , возможно стоит пошаманить с установкой из исходников и наложением патчей wink .. вот только как там всё в Зюзе работает я не знаю , у меня Слака , и в ней я эту шарманку запускал :P ..

По пакетам:
1. Не установлен
2. # rpm -qa | grep VirtualGL
VirtualGL-2.2.1-41.2.x86_64
VirtualGL-32bit-2.2.1-41.2.x86_64

Файла /etc/bumblebee/xorg.conf.nvidia нет, у меня вообще папки bumblebee нет в etc. Такой файл лежит в /etc/X11/xorg.conf.nvidia.
BusID прописан.

Показать
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:01:00:0"
Option "IgnoreEDID"
Option "ConnectedMonitor" "CRT-0"
EndSection
gramozeka написал:

в исходный - это значит до всех манипуляций вообще , как только что установил систему ...

Как откатывать к такому состоянию не знаю, я просто удалял пакеты, которые устанавливал по МАНу.

gramozeka написал:

Bumblebee должен запускаться от рута , но он должен иметь свою группу(!) и пользователь должен быть в ней .

Как это делается?

# zypper in libjpeg-turbo
Установка: libjpeg-turbo-1.0.1-3.1 [готово]
# rpm -qa | grep libjpeg-turbo
libjpeg-turbo-1.0.1-3.1.x86_64

# optirun64 glxgears
/usr/bin/bumblebee-enablecard: line 1: �: command not found
Starting up bumblebee X server:
glxgears: Error: couldn't open display '(null)'
Stopping bumblebee X server: .
/usr/bin/bumblebee-disablecard: line 1: �: command not found

После перезагрузки:
# optirun64 glxgears
/usr/bin/bumblebee-enablecard: line 1: �: command not found
Starting up bumblebee X server:

*** NOTE: Don't use glxgears as a benchmark.
OpenGL implementations are not optimized for frame rates >> 60fps,
thus these numbers are meaningless when compared between vendors.

Stopping bumblebee X server: .
/usr/bin/bumblebee-disablecard: line 1: �: command not found

#203337
KrackMan написал:
Как это делается?

http://opensuse.in/suse-linux113.html
а по трушному как-то так :
[console]
root@host # grep bumblebee /etc/group
bumblebee:x:1001:some_username
# или , если ничего такого нет :

root@host # groupadd bumblebee
root@host # useradd -G bumblebee some_username
[/console]

#203339

У меня прописан bumblebee:!:1000:andrew , заменить 1000 на 1001, и ! на х?

#203342

покажи выхлоп:
[console]
# cat /usr/bin/bumblebee-enablecard
[/console]
что-то фатально неверно настроено , ...
Вы должны понимать как это работает иначе успеха не будет , проект Bumblebee, использует VirtualGL чтобы задействовать Nvidia - для nvidia карты запускается отдельный X-сервер, приложение работает на нем (используя всю графическую мощь) а вывод уже отрендеренной картинки через VirtualGL направляется на основной X-сервер на intel карте. Что бы это заработало , нужно в правильной последовательности разложить стартовые скрипты проекта в системе и в запускать их с нужными опциями и правами . На пальцах это не объяснить если вы не понимаете сути происходящего ... к примеру :

KrackMan написал:
# optirun64 glxgears
/usr/bin/bumblebee-enablecard: line 1: �: command not found
Starting up bumblebee X server:

в самом скрипте bumblebee-enablecard :

text

#!/bin/bash
# This script should contain the command(s) necessary to switch on the
# nVidia card.
# This is a template script.
#
# Please note that the acpi_call module is need for these operations:
# http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html

modprobe acpi_call if ! lsmod | grep -q acpi_call; then echo "Error: acpi_call module not loaded" exit fi

acpi_call () { echo "$*" > /proc/acpi/call result=$(cat /proc/acpi/call) case "$result" in Error*) echo "Enabling nVidia card failed ($result)." ;; *) echo "Enabling nVidia card succeeded." ;; esac }

INSERTPOWERON

modprobe nvidia

нет ничего загадочного ..

#203345

Для человека с вашим опытом нет ничего загадочного :) А вот для таких начинающих как я, это темный лес.

Выхлопа с [console]cat /usr/bin/bumblebee-enablecard[/console] нет.

[console] lsmod | grep -q acpi_call [/console]
Так же ничего не выводит.

# rpm -qa | grep acpi_call
acpi_call-kmp-default-0.0.1git20110703_k2.6.37.1_1.2-2.1.x86_64
acpi_call-kmp-desktop-0.0.1git20110703_k2.6.37.1_1.2-2.1.x86_64

[console] # ls /proc/acpi/
ac_adapter battery button event processor wakeup[/console]

#203348
KrackMan написал:
Выхлопа с
Консоль:
cat /usr/bin/bumblebee-enablecard
нет.

вот вам и юрьев день :( ...
стоит установить все по науке но для этого надо знать систему , для слаки я знаю как - для зюзи нет , не нравятся мне дистры которые изменяют себя до безобразия всякими макетными пенеджарами .. :lol: , прикрутить что-то в обход них тот ещё маразм , который как правило не стоит потраченных усилий в итоге ...

#203351

тыц - вот читайте внимательно , может и осилите , в сущности ничего сложного нет .

#203356

gramozeka, спасибо за ссылку. Буду стараться осиливать, но с учетом знания Английского на 2-, эффект будет слабоват.

gramozeka написал:
вот вам и юрьев день ...
, т.е Ноут в топку, пиво в желудок и ничего сложнее авторучки не брать в руки? :D

Попробую привести систему к первоначальному состоянию, и заново установить buumblebee.
Есть смысл выкачать репозиторий и указать к нему путь? например wget -r [url]ftp://download.nvidia.com/opensuse/11.4[/url] пойдет?
#203358
KrackMan написал:
Есть смысл выкачать репозиторий и указать к нему путь? например wget -r [url]ftp://download.nvidia.com/opensuse/11.4[/url] пойдет?

не правильный путь :( ..
стоит правильно подключить нужные репы , читайте доки на оффсайте и вики ...

KrackMan написал:
, т.е Ноут в топку, пиво в желудок и ничего сложнее авторучки не брать в руки? 

не верно , верно(повторить семь-восемь раз ) , не верно ибо путь к должности главного евнуха султана - оно вам надо ?

#203364

По поводу евнуха не понял.
Почему не правильный путь?
https://github.com/MrMEEE/bumblebee тут написано zypper ar -f [url]ftp://download.nvidia.com/opensuse/11.4[/url] "nVidia Graphics Drivers", если речь идет о путе как о ссылке. А если путь это направление мыслей, то это от перебирания вариантов.

Войдите или зарегистрируйтесь, чтобы ответить.