Вот ваш вызов - см. по идентификатору http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls
Поясню:
modprobe acpi_call
echo 'вызов' > /proc/acpi/call
lspci -vnnn | grep VGA
Хотя этот же вызов присутствует и в скрипте - Trying \_SB.PCI0.PEG0.PEGP._OFF: works!
Связка видео Intel(встроенная в проц) + nVidia(дискретная)
Хотел же в начале написать что так сделал, но поленился, за что прошу извинить :)
[console]# lsmod | grep acpi_call
#
# modprobe acpi_call
# lsmod | grep acpi_call
acpi_call 4335 0 [/console]
[console]# echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call [/console]
и
[console]# echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call [/console]
Не влияют на вывод:
[console]lspci -vnnn | grep VGA[/console]
Так же показывал что работает 2 карты.
Вот с вызом не сообразил и делал как описано в https://github.com/mkottman/acpi_call.
+
Сделал:
[console] # modprobe acpi_call
# echo '\_SB.PCI0.PEG0.GFX0.DOFF' > /proc/acpi/call
# lspci -vnnn | grep VGA
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])
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev ff) (prog-if ff)
[/console]
Странно, но не ложится Видеокарта.
Покажите после проделанных операции не lspci -vnnn | grep VGA, а lspci -vnn | sed -n '/nVidia /,/Kernel/p'
Покажите после проделанных операции не lspci -vnnn | grep VGA, а lspci -vnn | sed -n '/nVidia /,/Kernel/p'
[console]# lspci -k | sed -n '/nVidia /,/Kernel/p'
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev ff)
Kernel driver in use: nvidia[/console]
Вот, пожалуйста!
lspci -k замените на lspci -vnn
lspci -k замените на lspci -vnn
[console]
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel driver in use: nvidia
[/console]
!!! Unknown header type 7f
Похоже карточка все таки откл.
Теперь попробуйте вкл. и сравнить выхлоп lspci -vnn
[quote=KrackMan] !!! Unknown header type 7f
Похоже карточка все таки откл.
Теперь попробуйте вкл. и сравнить выхлоп lspci -vnn[/quote]
На http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls, перебрал несколько Параметров для GT 540M. Подошел вот этот:
[console]
# echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call
# lspci -vnnn | sed -n '/nVidia /,/Kernel/p'
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev a1) (prog-if 00 [VGA controller])
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 [disabled] [size=128]
Expansion ROM at d1000000 [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=128/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: nvidia
[/console]
+
Проверил.
Для включения:
# echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call
Для Отключения:
# echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
Если у вас такое нетерпение к людям которые не обладают вашими знаниями в unix системах, то зачем вы вообще отвечаете таким недоучкам как я?
почему нетерпение ?
и да я не зазнайка , я тоже хочу вам помочь , но перечитывая весь тред я просто вижу что вы ходите кругами поэтому и предложил вариант в зеркальными комнатами , так быстрее ...
[quote=KrackMan]Если у вас такое нетерпение к людям которые не обладают вашими знаниями в unix системах, то зачем вы вообще отвечаете таким недоучкам как я?
почему нетерпение ?
и да я не зазнайка , я тоже хочу вам помочь , но перечитывая весь тред я просто вижу что вы ходите кругами поэтому и предложил вариант в зеркальными комнатами , так быстрее ...[/quote]
Тогда извините за необоснованные догадки. Просто очень было похоже на зазнайство. Еще раз извините.
Берете в кач-ве примера любой скрипт и прописываете вручную:
bumblebee-enablecard:
Показать
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
}
echo ON $(acpi_call "\_SB.PCI0.PEG0.PEGP._ON")
modprobe nvidia
bumblebee-disablecard:
Показать
modprobe -r nvidia
if lsmod | grep -q nvidia; then
echo "Error: could not unload nvidia module, leaving card turned on"
exit
fi
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 "Disabling nVidia card failed ($result)."
;;
*)
echo "Disabling nVidia card succeeded."
;;
esac
}
echo OFF $(acpi_call "\_SB.PCI0.PEG0.PEGP._OFF")
Теперь проверяете:
glxgears
optirun64 glxgears
И покажите для интереса:
bumblebee-disablecard
lspci -vnn | sed -n '/nVidia /,/Kernel/p'
[console]# glxgears
Xlib: extension "GLX" missing on display ":0.0".
glxgears: Error: couldn't get an RGB, Double-buffered visual.
# optirun64 glxgears
ON Enabling nVidia card succeeded.
FATAL: Error inserting nvidia (/lib/modules/2.6.37.6-0.7-desktop/weak-updates/updates/nvidia.ko): No such device
Starting up bumblebee X server:
Stopping bumblebee X server: /etc/init.d/bumblebee: line 125: kill: (7494) - No such process
OFF Disabling nVidia card succeeded.
[/console]
# bumblebee-enablecard
ON Enabling nVidia card succeeded.
FATAL: Error inserting nvidia (/lib/modules/2.6.37.6-0.7-desktop/weak-updates/updates/nvidia.ko): No such device
Показать
[console] # lspci -vnnn | sed -n '/nVidia /,/Kernel/p'
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev a1) (prog-if 00 [VGA controller])
Flags: fast devsel, 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 [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=128/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 <?>
02:00.0 Ethernet controller [0200]: Atheros Communications Device [1969:1083] (rev c0)
Subsystem: Acer Incorporated [ALI] Device [1025:054c]
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at d1b00000 (64-bit, non-prefetchable) [size=256K]
I/O ports at 2000 [size=128]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [58] Express Endpoint, MSI 00
Capabilities: [6c] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [180] Device Serial Number ff-ae-68-f3-b8-70-f4-ff
Kernel driver in use: atl1c
[/console]
# bumblebee-disablecard
OFF Disabling nVidia card succeeded.
Показать
# lspci -vnnn | sed -n '/nVidia /,/Kernel/p'
01:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:0df4] (rev ff) (prog-if ff)
!!! Unknown header type 7f
02:00.0 Ethernet controller [0200]: Atheros Communications Device [1969:1083] (rev c0)
Subsystem: Acer Incorporated [ALI] Device [1025:054c]
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at d1b00000 (64-bit, non-prefetchable) [size=256K]
I/O ports at 2000 [size=128]
Capabilities: [40] Power Management version 3
Capabilities: [48] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [58] Express Endpoint, MSI 00
Capabilities: [6c] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [180] Device Serial Number ff-ae-68-f3-b8-70-f4-ff
Kernel driver in use: atl1c
[/console]
вот тут вдруг подумалось ...
сделай так :
[console]
root@host # slocate -u
[/console]
этим будет создана база locate .
после чего :
[console]
locate nvidia
[/console]
и покажи выхлоп . По ходу он не находит файл nvidia.options , там прописаны пути к драйверу нвидии .. в мастер-бранче зюзевского нет .
slocate -u
[console]# slocate --help
If 'slocate' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf slocate
# cnf slocate
slocate: команда не найдена [/console]
uname -r
и
glxgears запустите от имени обычного пользователя
slocate: команда не найдена
тогда просто :
[console]
# locate nvidia
[/console]
locate - comand linux - она же
uname -r
и
glxgears запустите от имени обычного пользователя
:~> glxgears
glxgears: Error: couldn't get an RGB, Double-buffered visual.
# uname -r
2.6.37.6-0.7-desktop
Версия ядра изменилась :[ . Видимо после zypper dup. Как теперь откатить до 2.6.37.1 ? Или это не существенно?
gramozeka, параметра -u нет. Какой нужен?
:~> locale --help
Использование: locale [КЛЮЧ...] ИМЯ
или: locale [КЛЮЧ...] [-a|-m]
Получить информацию, зависимую от локали.
Информация о системе:
-a, --all-locales Написать имена доступных
локалей
-m, --charmaps Печатает имена доступных
отображений знаков
Изменение выходного формата:
-c, --category-name Написать имена выбранных
категорий
-k, --keyword-name Написать имена выбранных
ключевых слов
-v, --verbose Напечатать больше
информации
-?, --help Выдает этот справочный
список
--usage Выдает краткую информацию
об использовании
-V, --version Печатает версию программы
Версия ядра изменилась . Видимо после zypper dup. Как теперь откатить до 2.6.37.1 ? Или это не существенно?
Неважно.
На оф. сайте opensuse где-то обсуждалось, что в некоторые моменты карту задействовать нельзя - перезагрузитесь.
[quote=KrackMan]Версия ядра изменилась . Видимо после zypper dup. Как теперь откатить до 2.6.37.1 ? Или это не существенно?
Неважно.
На оф. сайте opensuse где-то обсуждалось, что в некоторые моменты карту задействовать нельзя - перезагрузитесь.[/quote]
Видимо важно. (У меня осталось ядро 2.6.37.1 после обновления, видимо из-за другого названия, изменил когда пересобирал).
[console]:~> uname -r
2.6.37.1-1.2-desktop[/console]
Показать
[console]:~> 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.
4007 frames in 5.0 seconds = 797.465 FPS
3960 frames in 5.0 seconds = 791.970 FPS
^C
:~> optirun64 glxgears
cat: /sys/class/power_supply/*/online: Нет такого файла или каталога
/usr/bin/optirun64: line 192: POWER_STATE || : ошибка синтаксиса: ожидается операнд (error token is "|| ")
ECO mode active, bumblebee is not started because you are on battery power
***
*** 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.
3970 frames in 5.0 seconds = 793.086 FPS
3940 frames in 5.0 seconds = 785.572 FPS
3909 frames in 5.0 seconds = 781.034 FPS
С^[/console]
[console]:~> uname -r
2.6.37.6-0.7-desktop[/console]
Показать
[console]:~> 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.
3865 frames in 5.0 seconds = 772.717 FPS
3860 frames in 5.0 seconds = 771.036 FPS
^C
:~> optirun64 glxgears
root's password:
ON Enabling nVidia card succeeded.
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: .
OFF Disabling nVidia card succeeded.[/console]
Т.е. вроде как optirun64 glxgears выполняется, только окно с шестеренками открывается и тут же закрывается( оба действия за 1-3 сек.)
Перезагрузился еще раз:
[console]:~> uname -r
2.6.37.1-1.2-desktop[/console]
glxgear и optirun64 glxgear Запускаются.
За то теперь сеть не поднимается. (modprobe atl1c -a выдает ошибку). Если нужно будет перейти на др. ядро, то отпишусь в теме о сетях.
Вернулся на 2.6.37.6-0.7-desktop. optirun64 glxgears так же выполняется как писал ранее.
ECO mode active, bumblebee is not started because you are on battery power
Можно поменять на 0 в файле /etc/default/bumblebee
Видимо важно. (У меня осталось ядро 2.6.37.1 после обновления, видимо из-за другого названия, изменил когда пересобирал).
Неважно, поскольку:
[console]# uname -r
2.6.37.6-0.7-desktop
FATAL: Error inserting nvidia (/lib/modules/2.6.37.6-0.7-desktop/weak-updates/updates/nvidia.ko): No such device[/console]
Что касается "пересобирал" - тут уж не знаю, что Вы там творили и зачем.
[console]glxgears
4007 frames in 5.0 seconds = 797.465 FPS
optirun64 glxgears
3970 frames in 5.0 seconds = 793.086 FPS[/console]
Запускать то запускается только FPS не отличается.
Больше ничего сказать пока не могу - спешу.