Автор Тема: [need help] P9 Workstation на старом ноутбуке Samsung X10  (Прочитано 10639 раз)

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
Доброго времени суток!

Решил я попробовать дать вторую жизнь старому ноутбуку Samsung X10 - поставить на него линукс и использовать как бродилку по интернету. Когда-то давно я уже ставил на него Simple Linux P5 и был поражен, насколько беспроблемно он встал и задружился со всем имеющимся на борту железом. Однако современные сайты требуют для своего корректного отображения современных версий браузеров, которых нет в ветке P5, поэтому я накатил на ноут P9 Workstation, т.к. P9 Simple на текущий момент находится в стадии беты.

В принципе, установка прошла успешно, но пришлось использовать "Безопасный режим", в противном случае возникали проблмы с изображением (светлые вертикальные полосы на черном экране и на этом всё). Но после установки выяснилось, что иксы работают с использованием драйвера vesa, то есть без аппаратного ускорения даже в 2D режиме, что приводит к скачку загрузки процессора при простом перетаскивании окошка с терминалом, не говоря уж о скроллинге веб-страницы в браузере, который конкретно тормозит. Про ю-туб даже и не заикаюсь. Видеокарта на ноуте - такая же старая nvidia geforce 4 go.

Проведенное расследование показало следующее:

1. Иксы честно пытаются запустить драйвер nouveau
2. Драйвер nouveau не запускается, потому что не загружен модуль ядра nouveau
3. Модуль ядра nouveau не загружается, потому что не находит в ядре символов, которые должен создавать модуль ядра wmi (ACPI-WMI Mapping Driver), от которого он зависит.
4. А символов нет, потому что модуль ядра wmi при загрузке вылетает с ошибкой "No such device".
5. Что не удивительно, т.к. как оказалось, ядро загружается с опцией -noacpi.

Попытка загрузить ядро без этой опции приводит к проблемам с изображением, таким же, как и при установке в "обычном" (не "безопасном") режиме.

7. Затем иксы пытаются запустить драйвер nv, но он в дистрибутиве отсутствует.
8. Запуск следующих на очереди драйверов modesetting и fbdev так же успехом не заканчивается.
9. В итоге иксы стартуют с драйвером vesa, который не поддерживате аппаратное ускорение даже в 2D.

Ну и собственно вопрос: Возможно как-то запустить иксы, черт с ним - с 3D, хотя бы с аппаратным 2D ускорением, или доктор сказал "в морг" - значит в морг?


С уважением,
Александр

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 222
На p8 сейчас вполне актульный firefox, может с ним заработает?

И почему вам надо именно noacpi?

Оффлайн Kalt

  • Завсегдатай
  • *
  • Сообщений: 996
...Только если картинка LiveCD открылась, открывается и возможность установки Linux. Встроенные видеокарты обычно нормально запускаются. Последующая установка на них проприетарных драйверов конечно не у всех проходит гладко, но многим это удаётся. Кстати, вот товарищ из Греции, сумел поставить на проблемное железо p9 SL бета. Почему? Очень хотел именно её... :-)
« Последнее редактирование: 20.01.2020 15:21:57 от Kalt »
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
ноутбуку Samsung X10 - поставить на него линукс и использовать как бродилку
В инете написано что такие ноуты были с 1 или 2 Гб ОЗУ. Workstation будет тяжеловата, можно попробовать starterkit c xfce или lxqt они обе кушают памяти около 200мб и меньше если 32х что вполне позволит пользоваться ноутом не только в качестве бродилки. Однако с браузерами действительно проблемы, в принципе любой современный браузер должен работать единственное что они все прожорливы.
Сравнение браузеров.
Для комфортной работы я бы порекомендовал netsurf, но у нас он постоянно вылетает, так что выбор между firefox, palemoon и chromium.
Альтернатива
IceArch - браузер palemoon


ПС: Это когда проблема с видео решится.
« Последнее редактирование: 20.01.2020 15:05:06 от Koi »

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 222
Для комфортной работы я бы порекомендовал netsurf
это вы можете и на p5 с тем же успехом использовать  ;-D

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Samsung X10
nvidia geforce 4 go.

хотя бы с аппаратным 2D ускорением, или доктор сказал "в морг" - значит в морг?

Теоретически NV18 с 2D поддерживается в nouveau:
https://nouveau.freedesktop.org/wiki/CodeNames/
https://nouveau.freedesktop.org/wiki/FeatureMatrix/

:-) Но вы же понимаете, что в Линукс, теория и практика, это разные, часто не пересекающиеся между собой понятия.

P9 Workstation
7. Затем иксы пытаются запустить драйвер nv, но он в дистрибутиве отсутствует.

Про xorg-drv-nv начиная с p9 забудьте раз и навсегда, - линукс становится всё лутше и лутше.
По-умолчанию, пакет xorg-drv-nv не входит в образы p8. Хотя эта засада предсказуема, а modesetting не настолько хорош как о нём рассказывают.
Возможно ошибаюсь, но что-то мне подсказывает, что xorg драйвер nv не стоит искать и в других Линукс на актуальной пакетной базе.

P9 Workstation

1. Иксы честно пытаются запустить драйвер nouveau
2. Драйвер nouveau не запускается, потому что не загружен модуль ядра nouveau
3. Модуль ядра nouveau не загружается, потому что не находит в ядре символов, которые должен создавать модуль ядра wmi (ACPI-WMI Mapping Driver), от которого он зависит.
4. А символов нет, потому что модуль ядра wmi при загрузке вылетает с ошибкой "No such device".
5. Что не удивительно, т.к. как оказалось, ядро загружается с опцией -noacpi.

В alt-workstation-9.0 два ядра:
$ grep 'kernel-image\|xorg-drv-nv' alt-workstation-9.0-i586.iso.txt
/ALTLinux/RPMS.main/kernel-image-std-def-4.19.79-alt1.i586.rpm
/ALTLinux/RPMS.main/kernel-image-un-def-5.3.6-alt1.i586.rpm

Какое грузится по-умолчанию?

Samsung X10

Чипсет 855PM поддерживает до 2 Гб DDR200/DDR266:
https://www.intel.com/content/dam/doc/datasheet/855pm-chipset-memory-controller-hub-ddr-200-266-mhz-datasheet.pdf

p8-sysv-xfce (только установочный с rescue) может работать на современном железе, обкатывался на nx6110 с чипсетом 82915GM под Pentium M 770 (начиная с 740). Пакет xorg-drv-nv в него также не входит. Но имеется в репозитории.

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
На p8 сейчас вполне актульный firefox, может с ним заработает?

Ну, во-первых, на P8 те же проблемы. Но основная причина в том, что браузеры нынче устаревают очень быстро, а хотелось бы в итоге получить решение, которое сохранит работоспособность как минимум несколько лет.


Цитировать
И почему вам надо именно noacpi?

Это не мне нужно, просто без noacpi система не работает. Я разобрался почему и нашел корень проблем - об этом напишу ниже, чтобы не повторяться.


С уважением,
Александр

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
P9 Workstation
7. Затем иксы пытаются запустить драйвер nv, но он в дистрибутиве отсутствует.

Про xorg-drv-nv начиная с p9 забудьте раз и навсегда, - линукс становится всё лутше и лутше.
По-умолчанию, пакет xorg-drv-nv не входит в образы p8. Хотя эта засада предсказуема, а modesetting не настолько хорош как о нём рассказывают.
Возможно ошибаюсь, но что-то мне подсказывает, что xorg драйвер nv не стоит искать и в других Линукс на актуальной пакетной базе.

А что не так с nv? Честно говоря я не влезал в линуксовые дебри наверное со времен 18и-дискового Иггдрассиля и XFree86 X11R5. (Simple Linux P5 не в счет - он поставился "из коробки" вообще без каких-либо проблем, так что даже заглядывать в конфиги не пришлось). Надо сказать, линукс с тех пор сильно изменился (и у меня есть серьёзные сомнения, что в лучшую сторону...:-t)

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

Сейчас, если я правильно понял, кроме vesa существует еще два универсальных драйвера - modesetting и fbdev. Плюс для nvidia доступны (или не очень) драйвера nouveau (с этим я вроде бы немного уже разобрался), nv (которого нет в дистрибутиве по неизвестным мне причинам), и пропиетарные от nvidia (те, которые выложены на их сайте для моей видеокарты, устарели на несколько поколений - в ядре уже типов данных таких давно нет, которые они пытаются использовать).

Кроме того, нынче видеодрайверы (все? или только некоторые?) требуют поддержки со стороны ядра в виде соответствующего kernel module.


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


С уважением,
Александр

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
Большое спасибо всем, кто откликнулся!


Потратив некоторое количество времени, я выяснил, что проблема возникает в момент загрузки модуля ядра nouveau. Я запретил запуск этого модуля и загрузился без noacpi в multi-user.target (init 3) /Кто придумал systemd? Для персоналок и System V-то был сильно избыточен.../). Загрузка прошла успешно. Затем выполнил:

modprobe wmi (модуль, от которого зависит nouveau) - успешно
modprobe nouveau - экран в полосочку

Машина при этом работает - команды, набранные вслепую (reboot) выполняет.
Анализ dmesg тоже не выявил ничего криминального.

Очень похоже на то, что драйвер выставляет кривой видеорежим (как было раньше, когда "не угадал" с Modeline в конфиге иксов). Что возможно, т.к. выход у GeForce4 аналоговый - цифровых тогда еще не было.

Попробовал загрузить ядро с параметром nomodeset (тоже в multi-user.target) - в этом случае модуль ядра nouveau загружается без каких-либо проблем.


Точно такая же проблема описана вот здесь:
https://bugzilla.redhat.com/show_bug.cgi?id=582472

Однако workaround с указанием параметра ядра video= у меня не прокатывает, возможно надо поразбираться еще.



В итоге хочу поинтересоваться:

1. А что, правда - что Modeline'ы нынче в ядре прописываются и без патчинга ядра их не поменять? :-o :-o :-o
2. Что посоветуете? Открывать багрепорт или плюнуть и попытать счастья с другими (какими?) драйверами?



С уважением,
Александр


P.S. Забыл сказать, что всё вышеперечисленное я проделал с ядрами std-def 4.19.79 и 4.19.95, а так же un-def 5.4.12 (и соответствующими кернел модулями естественно). Результат одинаков.
« Последнее редактирование: 21.01.2020 22:23:11 от ayes »

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
Workstation будет тяжеловата, можно попробовать [...]

Спасибо, весьма полезная информация!


С уважением,
Александр

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
А что не так с nv? Честно говоря я не влезал в линуксовые дебри наверное со времен 18и-дискового Иггдрассиля и XFree86 X11R5.

nv драйвер заброшен. Последний коммит 3-рёхлетней давности. xorg-drv-nv нет ни в p9 ни в sisyphus.
https://www.x.org/wiki/nv/
https://cgit.freedesktop.org/xorg/driver/xf86-video-nv

# grep VERSION= /etc/os-release; grep ABI /var/log/Xorg.0.log | grep Video
VERSION="p8 (Hypericum)"
[    28.105] ABI class: X.Org Video Driver, version 23.0
# grep VERSION= $path2p9/etc/os-release; grep ABI $path2p9/var/log/Xorg.0.log | grep Video
VERSION="p9 (Hypericum)"
[    35.925] ABI class: X.Org Video Driver, version 24.0

См.
https://cgit.freedesktop.org/xorg/driver/xf86-video-nv/log/
https://en.wikipedia.org/wiki/Application_binary_interface

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Надо сказать, линукс с тех пор сильно изменился (и у меня есть серьёзные сомнения, что в лучшую сторону...:-t)

Интуиция вас не подвела :-)

Раньше был выбор всего из двух драйверов - универсального (vesa) и того, который для твой видеокарты (типа s3virge). Причем работали они на уровне иксов и не требовали поддержки от ядра.

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

Сейчас, если я правильно понял, кроме vesa существует еще два универсальных драйвера - modesetting и fbdev. Плюс для nvidia доступны (или не очень) драйвера nouveau (с этим я вроде бы немного уже разобрался), nv (которого нет в дистрибутиве по неизвестным мне причинам), и пропиетарные от nvidia ... .

Кроме того, нынче видеодрайверы (все? или только некоторые?) требуют поддержки со стороны ядра в виде соответствующего kernel module.

При этом версия ядерного модуля не должна быть старше версии видеодрайвера. Наоборот можно.
Обратите внимание на версии kernel-modules-std-def и nvidia_glx :-)

Сейчас, если я правильно понял, кроме vesa существует еще два универсальных драйвера - modesetting и fbdev

М-м-дя-а...
https://forum.altlinux.org/index.php?topic=36177.msg344263#msg344263
http://forum.russ2.com/index.php?showtopic=4431&st=30&p=51471&#entry51471

Во второй ссылке, идея в том, что чтобы слом X-сов не стал катастрофой, а консоль стала простой медиастанцией, избавив пользователя от груды опций и изучения линуксов, - Keep It Simple Stupid.
Но проблема в том, что с этим в альтах, от хреново до ещё хуже.
В sysv, при наличии файла-устройства с группой, только root и владелец имеют право на запись, при отсутствии распределения прав доступа по группе, а доступ по группе игнорируется из-за неверного дефолта в 50-default.perms.
В альтах с systemd всё намного хреновей. Ни о какой безопасности там речь вообще не идёт.
Где эти права доступа распределяются верно (для sysv), перечислено тут:
https://bugzilla.altlinux.org/show_bug.cgi?id=37534#c1

По второй ссылке, тот скрипт не доделан. В нём нужно запрещать запуск, если текущее устройство, это /dev/pts/*. Проблема в том, что в некоторых wm, окно X-терминала остаётся неактивным даже после завершения процессов, а это делает неработоспособной процедуру обработки хоткеев. Но на доработку у меня сейчас хотелка сломалась. Идея состояла в том, чтобы сделать скрипт универсальным для любого линукс, а требования к пользователю в познаниях консоли, снизить настолько, насколько это только возможно. Но на альтах, это сильно споткнулось об права доступа на фреймбуфер:
Или безопасность до невменяемости (на sysv), или никакой безопасности совсем (на systemd).
Вот это вкратце всё, что связано с этим самым /dev/fb* (fbdev2).

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
В sysv, при наличии файла-устройства с группой, только root и владелец имеют право на запись, при отсутствии распределения прав доступа по группе, а доступ по группе игнорируется из-за неверного дефолта в 50-default.perms.

Что же касается вообще файла прав доступа к устройствам, я например, не врубаюсь, зачем <dri> повторяется дважды:
# grep ' <dri>' $path2p9/etc/security/console.perms.d/50-default.perms
<console>  0660 <dri>        0660 root.xgrp
<console>  0660 <dri>      0660 root.xgrp

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
Идея состояла в том, чтобы сделать скрипт универсальным для любого линукс, а требования к пользователю в познаниях консоли, снизить настолько, насколько это только возможно.

Не сочтите за наезд, но именно этот подход в современном линуксе мне весьма и весьма не симпатичен.

Во-первых, это крайне затрудняет траблшутинг. Любой скрипт - это потенциальная точка отказа и должен быть проверен при поиске причины сбоя. Сравните, например, lilo с его элементарным конфигом и нынешний монструозный grub2 - где проще найти ошибку? Я уж не говорю о всяких network manager'ах и иже с ними...

Нет, сама идея сделать линукс таким же простым для пользователя как винда или макос/иос - безусловно благая, но все мы прекрасно знаем, куда ведет дорога, вымощенная благими намерениями. Ни один линукс-майнтайнер (даже debian) не сможет "вылизать" релиз до такой же степени как ms или apple - для этого у него просто нет столько человеко-часов. Все-таки альфа-бета-тестирование в отличие от разработки - процесс довольно нудный, и избытка в желающих заниматься им бесплатно не наблюдается. А значит пользователям придется сталкиваться со сбоями и ошибками и исправлять их самостоятельно. Но кому охота тратить дни и недели на изучение мегабайтов чужих скриптов? В особенности если учесть, что они могут измениться уже в следующем релизе? В итоге система становится слишком затратной (время=деньги) и неинтересной для пользователя.

А во-вторых, эти самые мегабайты скриптов зачастую становятся неодолимой преградой перед пользователем, желающим изучить систему. Ну вот взять хоть ту же настройку сети - modprobe, ifconfig, route, resolved. Одно дело, когда эти команды идут подряд где-нть в /etc/rc.sh в разделе #Network. Открыл, посмотрел, почитал по каждой команде man - разобрался. Другое дело когда эти же комманды генерятся "на лету" скриптами, берущими параметры из конфигов, куда их пишут другие скрипты и т.д. и т.д. Сколько нужно времени, чтобы продраться через всё это?

Вы знаете, каким на мой взгляд должен быть идеальный дистрибутив? Ядро, шелл, менеджер пакетов и пакет подробнейшей, вылизанной до последней запятой документации с howto на все случаи жизни, которая полностью, на 100%, соответствует именно этой, текущей версии данного дистрибутива.

А скрипты, если понадобится, я уж как-нть сам напишу... :-)


С уважением,
Александр

Оффлайн ayes

  • Начинающий
  • *
  • Сообщений: 7
Теперь по теме.


Разобрался я, в чем причина моих неудач. В ноутбуке двухголовая видеокарта, одна голова - встроенный экран, вторая - выход на внешний монитор. Драйвер nouveau тупо не хочет видеть первую голову (будто ее вообще нет) и при загрузке перекидывает изображение на вторую (внешнюю). Танцы с бубном - игры с настройками bios и параметрами драйвера - ни к чему не привели.  :-(

Что в итоге?
В разрезе первоначальной задачи - получить на данной видеокарте аппаратное ускорение в 2D - имеем следующее:

Драйвера vesa, fbdev и modeset аппаратное ускорение не поддерживают. Пропиетарный драйвер от nvidia устарел на 8 лет и с современными ядрами не собирается. Nouveau - глючит. Nv - отсутствует даже в таком консервативном дистрибутиве как debian.

Зато nv есть в последнем релизе freebsd - значит мне туда дорога...

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


С уважением,
Александр