Автор Тема: Установка ALT Linux на Irbis TW-100  (Прочитано 29406 раз)

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #15 : 19.12.2020 20:20:14 »
Установил ядро из Сизифа 5.10. Опять была та же проблема:
доходит до systemd[1]: Started udev Kernel Device Manager и темный экран. Это, как я понял, происходит каждый раз при установке ядра. Помогает старт ядра с параметром nomodeset, вход в терминал, make-initrd и перезагрузка. Дальше старт в обычном режиме уже удается без nomodeset.

Проба ядра 5.10:
https://linux-hardware.org/index.php?probe=963b7521c4

hw-probe выдала:
WARNING: failed to detect EDID

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 599
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: Установка ALT Linux на Irbis TW-100
« Ответ #16 : 19.12.2020 20:40:45 »
WARNING: failed to detect EDID
Припоминаю подобное у нашего греческого коллеги...
Так и не исправлено?

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #17 : 19.12.2020 20:45:56 »
Думаю воспользоваться

drm.edid_firmware=[< connector>:]< file>[,[< connector>:]< file>]

   Испорченные мониторы, графические адаптеры, KVM и панели без EDID могут не отправлять или отправлять некорректные данные EDID. Параметр позволяет вместо этого указать наборы данных EDID в директории /lib/firmware. Используются стандартные встроенные наборы данных EDID, если предоставлен один из файлов edid/1024x768.bin, edid/1280x1024.bin, edid/1680x1050.bin или edid/1920x1080.bin и файл не предоставляется, если существует такое же имя. Подробные инструкции, как составить свои собственные данные EDID, доступны в Documentation/EDID/HOWTO.txt. Набор данных EDID будет использоваться только для определенного connector, если его имя и двоеточие идут перед именем EDID. Каждый connector может использовать уникальный набор данных EDID путем разделения файлов запятой. Набор данных EDID без имени коннектора будет использоваться для любых коннекторов, которые не указаны явно.

http://microsin.net/adminstuff/xnix/linux-kernel-parameters.html

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #18 : 19.12.2020 20:47:00 »
WARNING: failed to detect EDID
Припоминаю подобное у нашего греческого коллеги...
Так и не исправлено?

Если не сложно киньте ссылкой ;-D

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 599
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: Установка ALT Linux на Irbis TW-100
« Ответ #19 : 19.12.2020 20:58:43 »
Он про эту и не только эту ошибку писал мне в личку. Компьютер у него отказывается нормально выключаться. Есть два кандидата на обвинение в этом: ядро и/или systemd.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 599
  • Дмитрий/Dmitry/德米特里/दिमित्री

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #21 : 19.12.2020 21:12:00 »
На ядре 5.10 нормально работает wi-fi. Ура!!!

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #22 : 19.12.2020 21:56:01 »
Установил powertop для оптимизации энергопотребления и включил службу:

systemctl start --now powertop

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #23 : 20.12.2020 05:26:20 »
Вот на такое напал. Как с силами соберусь, займусь.

Настройка автоповорота:
https://4pda.ru/forum/index.php?showtopic=650808&view=findpost&p=90981130

Настройка драйвера тачскрина и калибровка:
https://4pda.ru/forum/index.php?showtopic=650808&view=findpost&p=90754363

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: Установка ALT Linux на Irbis TW-100
« Ответ #24 : 21.12.2020 13:09:42 »
Настройка драйвера тачскрина и калибровка:
https://4pda.ru/forum/index.php?showtopic=650808&view=findpost&p=90754363
Там описаны "простой" и "сложный" пути настройки тачскрина с контроллером Silead. Драйвер gslx680_ts_acpi устарел, потому удалён из ядра, не знаю, собирается ли и работает ли с новыми версиями.

"Правильный", это доработка драйвера silead_ts, описан вот тут https://github.com/onitake/gsl-firmware#silead_ts (у кого-то из той темы с 4pda получалось, см. Ursus 7W в таблице поддерживаемого оборудования). Irbis TW100 это наверняка клон какого-то "китайца". Есть вероятность, что он присутствует в таблице под другим именем. Можно попробовать поискать характеристики моделей, вдруг совпадёт. Тогда можно попробовать добавить в таблицу DMI от TW100, а фирмварь взять готовую. Ядро пересобирать всё равно придётся, но с калибровкой меньше возни.

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #25 : 26.12.2020 21:54:57 »
Позитивная новость: видеоускорение работает из коробки :-):

inxi -G

Спойлер
[root@irbis-celeron-cpu ~]# inxi -G
Graphics:  Device-1: Intel HD Graphics 500 driver: i915 v: kernel
           Device-2: Microdia USB 2.0 Camera type: USB driver: uvcvideo
           Device-3: Microdia USB 2.0 Camera type: USB driver: uvcvideo
           Display: server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa resolution: 1280x800~60Hz
           OpenGL: renderer: Mesa Intel HD Graphics 500 (APL 2) v: 4.6 Mesa 20.1.8

glmark2

Спойлер
$ glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel
    GL_RENDERER:   Mesa Intel(R) HD Graphics 500 (APL 2)
    GL_VERSION:    4.6 (Compatibility Profile) Mesa 20.1.8
=======================================================
[build] use-vbo=false: FPS: 413 FrameTime: 2.421 ms
[build] use-vbo=true: FPS: 429 FrameTime: 2.331 ms
[texture] texture-filter=nearest: FPS: 365 FrameTime: 2.740 ms
[texture] texture-filter=linear: FPS: 323 FrameTime: 3.096 ms
[texture] texture-filter=mipmap: FPS: 334 FrameTime: 2.994 ms
[shading] shading=gouraud: FPS: 284 FrameTime: 3.521 ms
[shading] shading=blinn-phong-inf: FPS: 285 FrameTime: 3.509 ms
[shading] shading=phong: FPS: 283 FrameTime: 3.534 ms
[shading] shading=cel: FPS: 283 FrameTime: 3.534 ms
[bump] bump-render=high-poly: FPS: 249 FrameTime: 4.016 ms
[bump] bump-render=normals: FPS: 358 FrameTime: 2.793 ms
[bump] bump-render=height: FPS: 348 FrameTime: 2.874 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 265 FrameTime: 3.774 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 168 FrameTime: 5.952 ms
[pulsar] light=false:quads=5:texture=false: FPS: 289 FrameTime: 3.460 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 125 FrameTime: 8.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 167 FrameTime: 5.988 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 164 FrameTime: 6.098 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 147 FrameTime: 6.803 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 197 FrameTime: 5.076 ms
[ideas] speed=duration: FPS: 261 FrameTime: 3.831 ms
[jellyfish] <default>: FPS: 168 FrameTime: 5.952 ms
[terrain] <default>: FPS: 45 FrameTime: 22.222 ms
[shadow] <default>: FPS: 241 FrameTime: 4.149 ms
[refract] <default>: FPS: 56 FrameTime: 17.857 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 278 FrameTime: 3.597 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 276 FrameTime: 3.623 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 278 FrameTime: 3.597 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 280 FrameTime: 3.571 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 283 FrameTime: 3.534 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 281 FrameTime: 3.559 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 282 FrameTime: 3.546 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 282 FrameTime: 3.546 ms
=======================================================
                                  glmark2 Score: 257
=======================================================

Камеры работают обе. Проверял в Kamoso.
« Последнее редактирование: 26.12.2020 21:56:36 от NeuroFreak »

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #26 : 26.12.2020 22:31:53 »
Тачскрин

Первоначально погрепал journalctl -b | grep silead
 
Спойлер
дек 13 08:54:36 irbis-celeron-cpu kernel: silead_ts i2c-MSSL1680:00: Direct firmware load for silead/mssl1680.fw failed with error -2
дек 13 08:54:36 irbis-celeron-cpu kernel: silead_ts: probe of i2c-MSSL1680:00 failed with error -2

Увидел что требуется фирмварь mssl1680.fw

Скачал драйвера виндовые на TW-100. Извлёк отуда каталог sileadtouch.inf_amd64

Там оказался файл SileadTouch.sys
Выкачал perl-скрипт scanwindrv
Затем положил всё в один каталог и выполнил команду:

$ perl scanwindrv SileadTouch.sys   
       
Found possible candidate at offset 0x00000255
Not a firmware, ignoring
Found possible candidate at offset 0x0000d860
Writing firmware to firmware_00.fw, size = 38544 bytes


Получил файл firmware_00.fw 
Переименовал в mssl1680.fw и разместил в каталог /lib/firmware/silead

После перезагрузки тач заработал, но перемещался только в верхней левой четверти экрана.

Оказалось его надо калибровать.

Для этого измеряем размеры тачскрина в миллиметрах, у меня вышло 217x136.
Запускаем evtest из одноименного пакета и смотрим event у silead_ts:

Спойлер
# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      AT Translated Set 2 keyboard
/dev/input/event1:      HID 1018:1006
/dev/input/event2:      HID 1018:1006 Mouse
/dev/input/event3:      HID 1018:1006 Consumer Control
/dev/input/event4:      HID 1018:1006 System Control
/dev/input/event5:      Lid Switch
/dev/input/event6:      Power Button
/dev/input/event7:      Intel HID events
/dev/input/event8:      Intel HID 5 button array
/dev/input/event9:      Video Bus
/dev/input/event10:     USB 2.0 Camera: USB Camera
/dev/input/event11:     USB 2.0 Camera: USB Camera
/dev/input/event12:     PC Speaker
/dev/input/event13:     silead_ts
/dev/input/event14:     HDA Intel PCH Mic
/dev/input/event15:     HDA Intel PCH Headphone
/dev/input/event16:     HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event17:     HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event18:     HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event19:     HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event20:     HDA Intel PCH HDMI/DP,pcm=10

Выполняем команду:

# touchpad-edge-detector 217x135 /dev/input/event13
Получаем вывод (водим по экрану и выявляем крайние положения осей тачскрина, по окончанию я нажимал Ctrl+C, уж не знаю насколько это правильно):

Спойлер
# touchpad-edge-detector 217x135 /dev/input/event13
Touchpad silead_ts on /dev/input/event13
Move one finger around the touchpad to detect the actual edges
Kernel says:    x [0..4095], y [0..4095]
Touchpad sends: x [3..1913], y [14..1270] /\

^C

Touchpad has no resolution, size unknown
User-specified touchpad size: 217x135mm
Calculated ranges: 1910/1256

Suggested udev rule:
# <Laptop model description goes here>
evdev:name:silead_ts:dmi:bvnAmericanMegatrendsInc.:bvrV3.0.3_P31S0M41L16T2P0F0G1C0_FixedBrdID8:bd08/13/2020:br0.3:efr1.0:svnIRBIS:pnTW100:pvrDefaultstring:rvnIRBIS:rnA8811_366B_V1.0:rvrDefaultstring:cvnIRBIS:ct32:cvrDefaultstring:*
 EVDEV_ABS_00=3:1913:9
 EVDEV_ABS_01=14:1270:9
 EVDEV_ABS_35=3:1913:9
 EVDEV_ABS_36=14:1270:9

Затем добавляем полученный от touchpad-edge-detector текст в файл /lib/udev/hwdb.d/60-evdev.hwdb сохраняя алфавитный порядок

#########################################
# Irbis
#########################################

# Irbis TW-100
evdev:name:silead_ts:dmi:bvnAmericanMegatrendsInc.:bvrV3.0.3_P31S0M41L16T2P0F0G1C0_FixedBrdID8:bd08/13/2020:br0.3:efr1.0:svnIRBIS:pnTW100:pvrDefaultstring:rvnIRBIS:rnA8811_366B_V1.0:rvrDefaultstring:cvnIRBIS:ct32:cvrDefaultstring:*
 EVDEV_ABS_00=3:1913:9
 EVDEV_ABS_01=14:1270:9
 EVDEV_ABS_35=3:1913:9
 EVDEV_ABS_36=14:1270:9

Выполняем команды:

systemd-hwdb update
udevadm control --reload-rules
udevadm trigger /dev/input/event13

После перезагрузки тач стал бегать как положено по всей области экрана.

« Последнее редактирование: 26.12.2020 22:54:02 от NeuroFreak »

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: Установка ALT Linux на Irbis TW-100
« Ответ #27 : 27.12.2020 06:48:58 »
Тачскрин
Скопировал Вашу инструкцию на 4pda, поскольку там часто спрашивали.

По опубликованному правилу UDEV можно попробовать сделать patch для драйвера и отправить его в апстрим, что бы "у всех работало". Но сейчас глянул linux-firmware и не нашёл там прошивок для Silead. То есть в любом случае пользователю придётся что-то искать и устанавливать самому. Либо фирмварь, либо фирмварь + 61-evdev-Irbis-TW-100.hwdb (насколько понимаю, можно не добавлять к 60-evdev.hwdb, а вынести в отдельный файл).

По параметрам фирмварь на первый взгляд близка к Chuwi/Hi10 Plus который совсем на другом процессоре и с другой матрицей.

Оффлайн NeuroFreak

  • Давно тут
  • **
  • Сообщений: 42
Re: Установка ALT Linux на Irbis TW-100
« Ответ #28 : 27.12.2020 10:17:48 »
Тачскрин
Скопировал Вашу инструкцию на 4pda, поскольку там часто спрашивали.

По опубликованному правилу UDEV можно попробовать сделать patch для драйвера и отправить его в апстрим, что бы "у всех работало". Но сейчас глянул linux-firmware и не нашёл там прошивок для Silead. То есть в любом случае пользователю придётся что-то искать и устанавливать самому. Либо фирмварь, либо фирмварь + 61-evdev-Irbis-TW-100.hwdb (насколько понимаю, можно не добавлять к 60-evdev.hwdb, а вынести в отдельный файл).

По параметрам фирмварь на первый взгляд близка к Chuwi/Hi10 Plus который совсем на другом процессоре и с другой матрицей.

Я не в курсе работы с апстримом, но вот тут есть прошивки: https://github.com/onitake/gsl-firmware#silead_ts
Не знаю, можно ли выкладывать полученную из драйвера windows прошивку туда...
На каком основании фирмварь к Chuwi/Hi10 Plus была выложена интересно :-)
Тем не менее, есть инструкция. Уже немало.
« Последнее редактирование: 27.12.2020 10:57:39 от NeuroFreak »

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 599
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: Установка ALT Linux на Irbis TW-100
« Ответ #29 : 27.12.2020 17:02:47 »
Не знаю, можно ли выкладывать полученную из драйвера windows прошивку туда...
Главное потом не ездить/не летать/не плавать/не ходить пешком в Штаты, большинство стран Европы и некоторые страны Азии, Африки и Австралию! ;-D ;-D ;-D