LINUX.ORG.RU

Ксорг стартует но ничего не показывает на gtx 970m + интегрированная видеокарта

 ,


0

2

Купил ноут - msi gs40 6qe, внутри: i7-6700HQ (hd 530) + gtx 970m. Поставил archlinux, хочу запустить xorg с драйверами от нвидии. Делаю:

$pacman -S nvidia nvidia-libgl xorg-server xorg-utils xorg-xinit 
$lspci |grep GTX 
01:00.0 3D controller: NVIDIA blabla
$nvidia-xconfig
$startx
В итоге tti виcнет
...
[ OK ] Reached target Graphical Interface
dmesg > gist
cat /etc/xorg.conf > gist
cat /var/log/Xorg.0.log > gist

[    2.914739] vgaarb: this pci device is not a vga device
[    4.510253] vgaarb: this pci device is not a vga device

вот что смущает

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

В смысле проприетарные нвидия дрова в строенный моник не умеют выводить? Oo... Ставил на интел - тоже проблемы.

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

Пофиксил, зафтыкал что 01 и 1 не одно и тоже. xorg.log, xorg.conf

[    14.680] (EE) No devices detected.
Я из гугла понял, что это глобальная проблема при интегрированной и дискретной карты. Без xorg.conf тоже не находит. nvidia-xconfig не нашла дисплей походу. Думаю здесь нужно что-то руками указать.
    VendorName     "Unknown"
    ModelName      "Unknown"

deathangel908 ★★
() автор топика

Итак, 5 лет назад NVIDIA выпустила технологию Optimus. Суть технологии: когда 3D не нагружено, используется чип Intel, а NVIDIA обесточен. Когда 3D нагружен, NVIDIA включается. Зачем? NVIDIA не смогла сделать качественное энергосбережение, а Intel смог. Таким образом экономится батарейка.

Optimus представляет из себя Intel, к которому подключен кабель монитора, плюс NVIDIA, к которой не подключен монитор. Система пробрасывает картинку с чипа на чип. Такое технологическое усложнение ударило по пользователям Windows XP и Linux. На ранних моделях ноутбуков с Optimus, видеокарту можно было выбрать в BIOS.

Сначала проблему решили энтузиасты: на NVIDIA запускались вторые иксы с виртуальным экраном. Затем, с помощью связки костылей связки VirtualGL + Bumblebee + Optirun, картинка отправлялась на иксы, запущенные на Intel. В итоге всё выглядело точно так же, как в Windows.

Потом проблему решила NVIDIA. Сначала разработчики ядра Linux создали технологию DMA-BUF - специально для систе с гибридной графикой. Потом в X11 добавили расширения DRI-PRIME и DRI3. А потом выяснилось, что DMA-BUF залочен под GPL-only, и с драйвером NVIDIA взаимодействовать не может! Тогда NVIDIA отправила в ядро патчи, делающие прослойку под нейтральной лицензией между DMA-BUF и NVIDIA. Наконец, в драйвере NVIDIA 319.xx появилась официальная поддержка Optimus. Системные требования: Linux 3.9, X-Server 1.13, XRandr 1.4.

Утилита nvidia-xconfig не умеет настраивать Optimus автоматически. Требуется ручная правка конфига xorg.conf, а также менеджера логина в иксы: XDM/GDM/KDM/LightDM/SDDM.

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

Компания Canonical, в сотрудничестве с NVIDIA, пропатчила утилиту NVIDIA X Server Settings, добавив в неё переключалку между Intel и NVIDIA. На остальных дистрибутивах Linux, технологию PRIME настраивают правкой конфигов.

Недостатки Bumblebee: не используется технология DMA-BUF, позволяющая копировать картинку с NVIDIA в Intel напрямую. Поэтому на системную шину идёт нагрузка, FPS снижается, перед выводом картинки есть незначительная задержка.

Недостатки NVIDIA PRIME: не работает энергосбережение, нельзя избавиться от тиринга.

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

В конфигурациях с Bumblebee нет тиринга потому, что десктоп рисует Intel + Mesa, а с NVIDIA пробрасывается только окно/экран с игрой. А в NVIDIA PRIME, на чипе Intel используется сторонний драйвер modesetting вместо i965, поэтому тиринг победить нельзя.

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

попробовал xf86-video-intel без ничего, попробовал nouveau - на них пишет «no screens found».
На nvidia сделал все как на вики : dmesg, xorg.log, xorg.conf Единственная ошибка «this pci device is not a vga device», походу из-за нее скрин черный. Пробовал:

  • удалять BusId - No Screens found
  • Добавлять nomodesetting в параметр ядра - ничего не дает
deathangel908 ★★
() автор топика
Ответ на: комментарий от deathangel908

Если не секрет, откуда патч?

Создай файл с содержимым:

DISPLAY=:0 xrandr --setprovideroutputsource modesetting NVIDIA-0
DISPLAY=:0 xrandr --auto

Когда увидишь чёрный экран, переключись на консоль сочетанием клавиш Ctrl-Alt-F1. Выполни:

sleep 10 && sh optimus

Где «optimus» - название файла. И переключись обратно на иксы сочетанием клавиш Alt-F7. Через 10 секунд графика должна появиться.

А лучше добавить эти параметры в менеджер входа в систему.

https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers
https://wiki.gentoo.org/wiki/NVIDIA_Driver_with_Optimus_Laptops#Display_manager_configuration

Лучше воспользоваться оглавлением.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Спасибо, ссылку на патч нашел на гитхабе bumblebee. Оно у меня дописано в ~/.xinitrc, всегда когда делаю xinit - в аутпуте выводит «Could not find provider with name modesetting». Если ребутнуть систему, то когда первые 2 раза делаю «startx» - тоже аутпуте выводит «Could not find provider with name modesetting», следующие разы такого не пишет. Также при startx и xintit получаю такой xorg.log. Если стартануть sddm, в итоге получить xorg.log и попробовать с другого tty прописать modesetting то получаю «Invalid Display cookie»

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

Я так понял, что modesetting должен быть в пакете «nvidia» или как миниму ksm, откуда его взять?

lsmode |grep modesetting
# ничего

deathangel908 ★★
() автор топика
Последнее исправление: deathangel908 (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Кусок dmesg, выходит он в драйвере есть, и должен быть согласно вики, но почему-то не находится

[    9.205720] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  358.16  Mon Nov 16 18:58:09 PST 2015
[    9.206115] nvidia-modeset: Allocated GPU:0 (GPU-8267160d-7584-e3a7-a921-924eda7621ed) @ PCI:0000:01:00.0
[    9.206254] nvidia-modeset: Freed GPU:0 (GPU-8267160d-7584-e3a7-a921-924eda7621ed) @ PCI:0000:01:00.0

deathangel908 ★★
() автор топика

Скопировал еще арч на 2 раздела для експериментов. Везде одни фейлы)

  • nvidia: Could not find provider with name modesetting
  • intel: No devices detected, no Screens found
  • nouveau: dmesg
    • DRM: Pointer to TMDS table Invalid
    • PRIFO: 0000:01:00.0[ unsupported engines 0x00000001
    • DRM: failed to create kernel channel, -22
deathangel908 ★★
() автор топика
Ответ на: комментарий от deathangel908

Добавлять nomodesetting в параметр ядра - ничего не дает

Потому что не существует такого параметра ядра.

lsmode |grep modesetting

Потому что это не драйвер ядра.

nvidia-modeset

Это часть блоба и к иксовому драйверу modesetting отношения не имеет.

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

Блоб не работает потому что nouveau перехватывает карту, прописывай параметр ядра nomodeset nouveau.modeset=0

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

Попробуй не арч, а livecd какой-нибудь убунты.

anonymous
()

А иксы под рутом запускаются? Там работу под пользователем недавно сломали.

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

«nomodeset nouveau.modeset=0» не помогло, также пробовал еще дописать i915.modeset. Запускал и под рутом и без все одно и тоже «Could not find provider with name modesetting».

dmesg |grep nouv # ничего  (кроме параметра ядра)
Ксубунту иксы подняла с анимацией загрузки, но дальше анимации не пошла. В дмесге километры стектрейса с nouveau

Я не понимаю одного, ну ладно hybrid graphics, там что-то сложное в настройке, почему не запускается intel (с nouveau в блеклисте) при этом выдавая no devices found? Я бы от него как-то плясал уже. Может быть такое что в биосе что-то выставлено, чтоб работать только с дискретной?

deathangel908 ★★
() автор топика
Последнее исправление: deathangel908 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Кстати на 3ий раз startx работает, но сразу закрывается. xorg.log. Разве он не должен стартануть ктерм? Если я стартану sddm, то он просто останется висеть с черым экраном. В какую сторону смотреть?

[   292.977] (II) LoadModule: "modesetting"
[   292.977] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[   292.977] (II) Module modesetting: vendor="X.Org Foundation"

deathangel908 ★★
() автор топика
Последнее исправление: deathangel908 (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Если посмотреть логи ксорга, то modesettings там был загружен, в любом случае, теперь его нету, хотя я вроде ничего не менял.

Loading module modesetting

  • Если я сначала стартану иксы (экран станет черным, без подсветки), а потом переключусь на другой tty и там задам провайдер, то получу: tty output и xorg.log
  • Если я установлю провайдер в ~/.xinitrc и сделаю startx, то получу xorg.log + ксорг завершит работу с «terminated with 0» через пару секунд после старта
  • Если допишу провайдер в sddm/Xsetup (и удалю его с ~/.xinitrc) то получу черный экран (без подсветки) с таким xorg.log
deathangel908 ★★
() автор топика
Последнее исправление: deathangel908 (всего исправлений: 1)
Ответ на: комментарий от deathangel908

У тебя там дофига ошибок acpi, может оно не работает даже если могло.

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

Спасибо, это ж для бамблби ман? У меня с ним вылазит [drm] failed to set drm interface version: Permission denied + черный экран как и обычно)

deathangel908 ★★
() автор топика
Последнее исправление: deathangel908 (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Мне чего-то кажется что вся беда из-за Skylake HD 530. Микрокода на него нету, нужен дополнительный параметр ядра к тому-же. Сейчас сижу на интеле с 5ой плазмой - она со временем зависает намертво хотя для кед не удивиительно, даже рестарт DM не помогает. Иногда появляются артефакты на экране в виде треугольников.

QXcbConnection: xcb error: 3 Badwindows
QXcbConnection: Could not connect to display :0

deathangel908 ★★
() автор топика

Короче, случилась такая фигня. Ты начал ставить арч как раз в тот момент, когда разрабы сломали оптимус. На xorg 1.17 у тебя бы всё сразу завелось. Рекомендуется откатываться на него.

Ссылка для ознакомления: https://vk.com/arch_linux?w=wall-183414_20767/all

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

Есть способ обхода, но он очень глюкавый - система работает крайне криво. Все окошки открываются в левом верхнем углу, причем с минимальным размером. Сюда входят все контекстные меню, они открываются в виде полоски в пару пикселей слева сверху - то есть, выбрать в трее сетку вайфайную уже не получится.

Смысл в таком есть - полноэкранные игрушки работают без проблем, а для работы можно использовать нормальную систему, где стоят и используются только дрова на интел.

Мой «рабочий» xorg.conf: http://pastebin.ubuntu.com/13924530/

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

Сейчас сижу на интел, проблема в другом, иксы постоянно виснут на intel hd 530! Иногда сразу, иногда через пару часов. В dmesg пусто, в xorg.log пусто, в journalctl стектрейсы от qt, glib или чего-то другого в зависимости от DE. Обновил ядро на linux-pf 4.3 - все-равно виснет, Пробовал арч с cinnamon, plasma5. Ксубунта вообще стартовать не захотела, ксорг поднимается, но дальше анимации загрузки дело не доходит.

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

У меня почти такойже конф, попробовал твой с 1.18 тоже самое. Пробовал скрин0 и скрин1. Задаунгрейдил ксорг до 1.17, все-равно экран без подсветки. Самое интересно что ксорг запускается и приложения поднимаются ( у меня скайп на автозапуске стоит, слышно его стартап звук).

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

Не было времени заниматься, сейчас опять решил попробовать.

При даунгрейде к 1.16 и установки xf86-video-modesetting возникло много ошибок несовместимости в логе и в итоге ксорг вообще не запускался ;(

Учитывая последнее обновление арчвики сделал:

  • xorg.conf
  • в ~/.xinitrc как я понял можно не добавлять outputsource, он автоматом подтягивает, судя по логам ксорга
  • Получил xorg.log
  • И такой dmesg

При этом тот-же черный экран, возможно из-за ошибок ниже, но мне кажется что проблема где-то глубже.

[  194.091495] [drm:intel_dp_aux_ch [i915]] *ERROR* dp_aux_ch not done status 0xad40001f
[  194.771817] vgaarb: this pci device is not a vga device
[  204.176613] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training
[  204.816511] [drm:intel_dp_complete_link_train [i915]] *ERROR* failed to start channel equalization

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