LINUX.ORG.RU

Сообщения ZenitharChampion

 

Объясните про старые процессоры AMD

 2005 год, ,

Читаю статью на Википедии о процессоре Athlon 64. Первое ядро было Clawhammer/K8, и там были такие частоты (в скобках указана реальная частота):
2800+ (1800), 3000+ (2000), 3200+ (2000), 3300+ (2400), 3400+ (2200), 3500+ (2200), 3700+ (2400), 4000+ (2400)

Потом Newcastle/K8:
2600+ (1600), 2800+ (1800), 3000+ (2000), 3000 (1800), 3200+ (2200), 3200+ (2000), 3400+ (2400), 3400+ (2200), 3500+ (2200), 3800+ (2400)

Winchester/K8:
3000+ (1800), 3200+ (2000), 3500+ (2200), 3700+ (2200)

San Diego/K8:
3500+ (2200), 3700+ (2200), 4000+ (2400)

Venice/K8:
3000+ (1800) 512 Кбайт L2, 3200+ (2000) 1024 Кбайт L2, 3400+ (2200), 3500+ (2200), 3800+ (2400). А также был выпущен: 3000+ (2000) на Socket 754.

Почему, в первых ядрах, процессор 3000+ имел тактовую частоту 2000, а в последующих - 1800? У соседних процессоров тоже куда-то делись 200 МГц!

С процессорами AMD Athlon 64 FX - та же история. FX-51 — 2,2 ГГц; FX-53 — 2,4 ГГц; FX-55 — 2,6 ГГц; FX-57 — 2,8 ГГц; FX-60 — 2,6 ГГц; FX-62 — 2,8 ГГц; FX-64 — 3,0 ГГц.

Захочет покупатель обновить себе FX-55 до FX-60, и получит ровно то же самое?

ZenitharChampion
()

Оверлей, показывающий, нажимаю ли я сейчас клавишу пробел, или нет

 

Когда я играю в Super Meat Boy, иногда не срабатывает прыжок. «Да я же нажимал!». То же самое в Worms Armageddon, запущенный под Wine. Три раза хорошо нажал, но всё равно не сработало.

Хотелось бы схематичное изображение кнопки «Space», полупрозрачная картинка поверх игры. И когда нажимаю, она нажимается тоже. И я бы понял, это игра виновата или клавиатура.

Или, как вариант, по ssh зайти с нетбука и смотреть коды нажатых клавиш. actkbd позволял такое сделать, вроде.

ZenitharChampion
()

Команда patch не переименовывает файл

 

Я тут последовательно обновляю ядро 3.16.7 до 3.16.85, и на 3.16.9 произошёл затык. Вот фрагмент патча:

--- a/drivers/gpu/drm/nouveau/core/subdev/gpio/nv92.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/gpio/nv94.c
@@ -25,7 +25,7 @@
 #include "priv.h"
 
 void
-nv92_gpio_intr_stat(struct nouveau_gpio *gpio, u32 *hi, u32 *lo)
+nv94_gpio_intr_stat(struct nouveau_gpio *gpio, u32 *hi, u32 *lo)
 {
 	u32 intr0 = nv_rd32(gpio, 0x00e054);
 	u32 intr1 = nv_rd32(gpio, 0x00e074);

Как видите, патч переименовывает файл. Но файл остаётся под тем же именем. Патчинг производится командой patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR Почитал в мане описания параметров, вроде ни один не должен к такому приводить. Может наоборот, надо что-то добавить?

ZenitharChampion
()

Нашёл старый Wine Prefix. Как узнать, какая версия Wine с ним использовалась?

 ,

Сабж

ZenitharChampion
()

Подправить код bootsplash для Linux > 3.10

 

Вот этот код не собирается на Linux 3.11 и выше:

static int splash_proc_register(void)
{
	proc_splash = create_proc_entry("splash", 0, 0);
	if (proc_splash) {
		proc_splash->read_proc = splash_read_proc;
		proc_splash->write_proc = splash_write_proc;
		return 0;
	}
	return 1;
}

Причина описана здесь. Как исправить так, чтобы работало?

Компилятор говорит вот что:

../drivers/video/bootsplash/bootsplash.c: In function ‘splash_proc_register’:
../drivers/video/bootsplash/bootsplash.c:1901:16: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
  proc_splash = create_proc_entry("splash", 0, 0);
                ^
../drivers/video/bootsplash/bootsplash.c:1901:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  proc_splash = create_proc_entry("splash", 0, 0);
              ^
../drivers/video/bootsplash/bootsplash.c:1903:14: error: dereferencing pointer to incomplete type ‘struct proc_dir_entry’
   proc_splash->read_proc = splash_read_proc;

Файл вот он.

ZenitharChampion
()

Веб-камера и Linux

 , , , ,

Всем привет. У меня есть веб-камера SVEN IC-305. Я её использую как видеорегистратор: видео с неё идёт в файл, который, при необходимости, будет просмотрен.

 v4l2-ctl --device=/dev/video0 -D
Driver Info (not using libv4l2):
	Driver name   : uvcvideo
	Card type     : USB2.0 Camera
	Bus info      : usb-0000:00:02.1-2
	Driver version: 1.1.0
	Capabilities  : 0x04000001
		Video Capture
		Streaming

Полное инфо

Есть несколько проблем:

  1. Как я понял, на ней есть микрофон. VLC, при помощи которого я осуществляю запись, видит устройства hw0 и hw1, но со второго отказывается записывать звук. Версия VLC 2.2.4, с пульсой не скомпилена. Тыкания в pavucontrol не принесли результата. Я тогда выключил PulseAudio, после чего устройство hw1 пропало вообше (осталось только hw0). Устройство hw1 также недоступно в alsamixer (кнопка F5 для смены звуковой карты не активна), нет его и в YAST → Устройства → Звук, а также его не видно в /dev/snd. Что же это тогда такое? Может это и не вебка вовсе, а какое-нибудь dummy? Если это всё-таки вебка, как можно с неё получить звук через PulseAudio и заставить ALSA её увидеть?
  2. Фокусное расстояние выставляется неправильно, картинка размыта. Нагуглил команду сброса фокусного расстояния для камер Logitech: v4l2-ctl --device=/dev/video0 --set-ctrl=focus_auto=0 Попробовал - не работает. --help к команде выдаёт, что можно вывести список доступных параметров по --list-ctrl, и вот что доступно:
 v4l2-ctl --device=/dev/video0 --list-ctrls
                     brightness (int)    : min=0 max=100 step=1 default=30 value=30
                       contrast (int)    : min=0 max=100 step=1 default=57 value=57
                     saturation (int)    : min=0 max=4 step=1 default=2 value=2
                          gamma (int)    : min=1 max=8 step=1 default=3 value=3
           power_line_frequency (menu)   : min=0 max=2 default=1 value=1
                      sharpness (int)    : min=0 max=100 step=1 default=10 value=10

Как же сделать нормальное фокусное расстояние? И да, sharpness крутил, это как наложение эффекта «резкость» в Фотошопе, это не то.

ZenitharChampion
()

Так много ядер в Raspbian?

 , , ,

Привет. Чё-то какая-то фигня: в репозитории актуального Raspbian 10 (который баризуется на Debian 10 «Buster») доступно два ядра:

  • raspberrypi-kernel (версия 4.19). Внутри - как специфичные для RPi файлы, так и само ядро и модули. Пакет с заголовочными файлами называется raspberrypi-kernel-headers
  • linux-image (версия 4.9) с префиксом -rpi и -rpi2 (для разных моделей, наверное). В этих пакетах тоже есть специфичные для RPi файлы, так что оно загрузится и будет работать. Пакеты с «заголовками»: linux-headers-common (пакет для архитектуры all, ну то есть noarch, в пакете содержатся *.h-файлы), linux-headers-rpi и linux-headers-rpi2 (пакеты для архитектуры armhf, содержат в себе .config, include/generated/autoconf.h и include/config/auto.conf для конкретного linux-image)

Второго варианта как будто не должно быть, но он есть. Как будто в репозитории, в директории pool/main/l/linux, лежат пакеты для jessie (3.16), stretch (4.9) и booster (4.19), а в директории dists, в файле со списком пакетов для booster, прописаны все эти файлы. Все их видно в Synaptic, если поискать linux-. А ещё есть ошмётки ядра 4.18 (только headers, без image, как будто не до конца удалили).

Ещё можно установить наиболее свежее ядро в обход пакетной системы командой sudo rpi-update. Используется форк ядра от разработчиков Raspbian. Правда, заголовки почему-то не «подтягиваются» вместе с бинарниками, а как их доустановить я так и не нашёл...

Итого три ядра.

ZenitharChampion
()

Переименовать /dev/sda2 в /dev/sda1

 , , , ,

Я установил на HDD несколько операционных систем. Разделы были не по-порядку - для примера, я любил уменьшить большой раздел /dev/sda2, чтобы сделать /dev/sda5. Однажды я переустанавливал Windows XP (на /dev/sda1) и он мне все разделы построил по-порядку! Было sda1, sda2, sda5, sda6, sda3, sda4 - стало sda1, sda2, sda3, sda4, sda5, sda6. Инсталлятор винды просто переименовал sda5 в sda3, оставив тип файловой системы прежним - ext4.

Сейчас у меня возникла необходимость сделать так же. Это можно сделать через fdisk или parted? У меня CF-карточка на 32 Гб, которую я подключил к старому компьютеру вместо жёсткого диска. На /dev/hda1 - FAT16 и DOS, на /dev/hda2 - ext2 и Linux. Возникла необходимость вытащить /boot на отдельный раздел в начале диска. Я при помощи GParted всё сдвину вправо и сделаю маленький /boot мегабайтов на 16, но он будет называться /dev/hda3. Таким образом, будет hda3, hda1, hda2. Надо чтобы по-порядку.

ZenitharChampion
()

Загрузить Linux с CD, затем подгрузить ядро и initrd уже установленной на хард ОСи

 , ,

Я давно такой трюк проворачивал, лет 10 назад наверное. Загружаешь LiveCD или установочный DVD, переключаешься в однопользовательский режим по «init 1». Затем вводишь пару команд (монтируешь раздел, вводишь путь до vmlinuz и initrd), а следующей командой грузишь установленную на хард ОС. А та система, которая была загружена ранее, выгружается из памяти.

Я уже всё позабывал, как называется эта возможность?

ZenitharChampion
()

Подключить к Raspberry Pi 4 - видеокарту. Возможно ли?

 , ,

Через несколько дней после релиза Raspberry Pi 4, энтузиаст из Польши сумел подрубиться к PCI Express 1x на устройстве. Отдельный разъём не предусмотрен, но он сделал.

Значит, можно подключить NVIDIA RTX 2080 Ti, а затем установить линуксовый драйвер для ARMv7? NVIDIA уже давно делает драйверы для ARM. Или помешает отсутствие писишного Биоса?

ZenitharChampion
()

Помогите разобраться в джунглях драйверов AMD

 ,

Все мои знания по драйверу AMD ограничиваются этими. «run-файл можно конвертнуть в DEB, а после установки надо выполнить „aticonfig --initial -f“, чтобы „иксы“ не пытались использовать драйвер radeon вместо fglrx, а ещё нужно грузиться с опцией nomodeset или radeon.modeset=0 (или добавить это в /etc/modprobe.d/любой_файл.conf)».

Сейчас всё стало сложно и запутанно. Драйвер radeon я понимаю: драйвер в ядре, драйвер в libdrm, драйвер в Mesa, и драйвер в «иксах». А с amdgpu какие-то дебри и джунгли.

Mesa 20.1-dev RADV vs. RADV+ACO vs. AMDVLK vs. AMDGPU-PRO Vulkan Radeon Linux Gaming Performance

4 реализации Vulkan! Долбануться можно, 4 реализации Vulkan... А сколько реализаций OpenGL и OpenCL? Объясните, пожалуйста, как начать пользоваться драйвером amdgpu. И, если можно, описание каждой из реализаций Vulkan, OpenGL и OpenCL.

И ещё такой вопрос. Как разгонять? На примере Radeon HD RX580. Раньше было просто, например так: aticonfig --odsc=600,900, где нужно подставить нужные частоты GPU и памяти.

ZenitharChampion
()

Компиляция ядра: KABI: symbol changed crc

 , ,

Я решил скомпилировать более новое ядро в openSUSE. Компилировал при помощи SRPM-ки, чтобы получить RPM-файлы. Вдруг я получил стену ошибок (несколько тысяч строк) «KABI: symbol имя_символа(/путь/к/файлу) changed crc from 0xзначение to 0xзначение». После этого, rpmbuild сказал «так, у тебя отсутствует файл /usr/src/packages/SOURCES/IGNORE-KABI-BADNESS, значит я компиляцию прерву».

KABI: symbol zl10036_attach(drivers/media/dvb-frontends/zl10036) changed crc from 0x7bee6f74 to 0x14ba431f
KABI: symbol zl10039_attach(drivers/media/dvb-frontends/zl10039) changed crc from 0x98f2cb62 to 0xfc167c9c
KABI: symbol zl10353_attach(drivers/media/dvb-frontends/zl10353) changed crc from 0x87af1d8e to 0x565435ce
KABI: aborting due to kabi changes.
+ res=1
+ '[' 1 -ne 0 ']'
+ '[' 0 -eq 0 -a '!' -e /usr/src/packages/BUILD/kernel-default-3.16.7/kabi/x86_64/ignore-default -a '!' -e /usr/src/packages/SOURCES/IGNORE-KABI-BADNESS ']'
+ echo 'Create a file IGNORE-KABI-BADNESS in the kernel-source' 'directory to build this kernel even though its badness is' 'higher than allowed for an official kernel.'
Create a file IGNORE-KABI-BADNESS in the kernel-source directory to build this kernel even though its badness is higher than allowed for an official kernel.
+ exit 1
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.9281 (%install)


Ошибки сборки пакетов:
    Неверный код возврата из /var/tmp/rpm-tmp.9281 (%install)

Все эти ошибки я видел и в процессе компиляции. Иногда они были редко, иногда часто, иногда отсутствовали.

В чём может быть причина?

P.S. Может проигнорировать и сделать touch /usr/src/packages/SOURCES/IGNORE-KABI-BADNESS? Или это всё же была весомая причина для прерывания компиляции?

P.P.S. Как тогда в openSUSE продолжить компиляцию с того же места? Чтобы не компилировать всё заново.

ZenitharChampion
()

Правило HAL

 ,

В CentOS 6 есть как старая системная служба HAL, так и новая - udisks. А вот в SLED 11 есть только HAL. Мне надо правило, чтобы в SLED флешка с exfat монтировалась с определёнными параметрами. А именно, те параметры, которые я использую для NTFS (они есть ниже).

Правило для NTFS-3G
Правило для exfat (попробовал внести изменение в рабочее правило для NTFS)

Это не работает! Монтируется всё равно с дефолтными параметрами:

$ mount
/dev/sda2 on / type ext3 (rw,data=journal,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,mode=1777)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda4 on /windows type ufsd (rw,uid=1000,gid=100,dmask=0002,fmask=0003)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /media/disk-2 type exfat (rw,nosuid,nodev)

Если это важно, модули ядра называются exfat_core и exfat_fs

ZenitharChampion
()

Банковские дебетовые карты VISA и Mastercard без привязки к номеру телефона

 

У каких банков есть?

ZenitharChampion
()

Умный маскарадинг

 ,

На рабочем месте недоступен проводной интернет, поэтому используется 4G-модем.

Есть 4 рабочих места. Во времена Windows XP, каждый из компьютеров был подключен по Ethernet к 5-типортовому свичу. Свич, как известно, не выдаёт IP-адреса, поэтому на каждый компьютер я вбил вручную 192.168.1.[1-4] вот здесь. Шлюз оставался пустым, так как не стояло задачи раздавать интернет, а только локальная файлообменная сеть.

К компьютеру 192.168.1.1 подключен тот самый 4G-модем. На компьютере 192.168.1.2 сейчас стоит полностью обновлённая Windows 7, и поэтому я туда вбил шлюз 192.168.1.1. На остальных двух компах система не обновлена, так что там шлюз по-прежнему не указан.

Я попытался поменять свич на роутер. Возникли проблемы с тем самым компом, в который вставлен модем. Почему-то шлюз роутера (который ведёт в никуда, так как Ethernet-кабель не вставлен в соответствующий разъём) становился главнее шлюза модема. Соответственно, не работал интернет. Попытался починить - интернет заработал, но компьютер «выпал» из локальной сети. В общем, я вернул обратно свитч.

Я вот думаю. Купить роутер с USB-портом, и вставить туда 4G-модем. А в настройках роутера указать, чтобы интернет раздавался только на два первых компа.

Подключил к последнему, не занятому порту свича, Raspberry Pi (он у меня на работе записывает видео с веб-камеры при помощи motioneye). На нём поднял dnsmasq с таким конфигом:

interface=eth0
dhcp-range=eth0,192.168.1.2,192.168.1.8,72h

IP-адреса прекрасно раздаются. Наверное, это глупо - делать роутер из RPi, учитывая, что больше 30 мегабит из него не выжать (у меня 3 модель, в 4 мдели уже пофиксили). Но ведь файловый обмен идёт не через RPi, а непосредственно между компами - RPi раздаёт им только адреса.

Теперь я хочу раздать интернет. Причём по-умному. Вот как я это делаю сейчас:

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Интернет из ppp0 раздаётся вообще во все сетевые интерфейсы: eth0, wlan0, и во все IP-адреса на этих интерфейсах. А мне надо, чтобы 192.168.1.4 и 192.168.1.5 не получали интернет.

P. S. Ещё было бы здорово какую-нибудь веб-морду, как на настоящем роутере. Но это уже из области фантастики - мне было бы достаточно настроить «умный маскарадинг», и ничего больше. В веб-морде я бы хотел отрубать и давать интернет, ставя галочки. Может быть самба-шару можно было бы конфигурировать там же, ну и motioneye.

ZenitharChampion
()

Лагает Google Chromium на Raspberry Pi 3

 , ,

Недано я обновил на Raspberry Pi 3 флеш-карту и зарядник, установил более новую ОС Raspbian 10 вместо 8 версии, которая была установлена на старой карточке.

Браузер лагает. Вот знаете, когда на винде копируешь файл на флешку, то он стабильно копируется на скорости, ну там 300 кбайт/сек, а в линуксе показывает 100500 мегабайт в секунду, потом в течение минуты 0 байт в секунду, и так на протяжении всего копирования. Так же и браузер. 30 секунд работает нормально, потом всё тормозит и «ожидание кэша».

Как это можно победить? На прошлой системе так тоже было, но хотя бы ютюб не лагал. А теперь смотришь стрим, и раз в 30 секунд он встаёт на паузу и потом снова продолжается. И постоянно приходится нажимать по кнопке «в эфире», а то отставание уже составляет минуты.

ZenitharChampion
()

Unigine SDK 2.10

 , , ,

Группа Проприетарное ПО

Состоялся релиз Unigine SDK 2.10. Unigine Engine — мультиплатформенный 3D-движок, разработанный одноимённой компанией UNIGINE. Движок используется для создания игр, систем виртуальной реальности, программ интерактивной визуализации, различных трёхмерных имитаторов (обучающих, медицинских, военных, транспортных и пр.). Также на основе Unigine создана серия популярных бенчмарков для GPU: Heaven, Valley, Superposition.

Основные изменения:

  • новая система ландшафта — более детальная, быстрая, изменяемая в реальном времени через API, поддерживает бинокли;
  • система плагинов для UnigineEditor;
  • высокоуровневая система физики для автомобилей;
  • более разнообразные и реалистичные облака;
  • улучшены API для C++ и C#;
  • обновления IG — адаптивное качество, легкая настройка;
  • новый инструмент для сборки проектов;
  • инструмент для оптимизации текстур;
  • интеграция Teslasuit (VR-костюм с тактильной обратной связью).

>>> Полный список изменений и подробности (англ.) (unigine.com)

ZenitharChampion
()

Raspbian 10, проприетарный драйвер GPU, и браузер Chromium

 , ,

В ноябре 2017 года, в Raspbian Linux появился открытый драйвер для GPU. Файлы библиотек не пересекаются: проприетарные файлы называются libEGL.so и libGLESv2.so, а открытые - libEGL.so.1 и libGLESv2.so.2. Но разработчики операционной системы на всякий случай переименовали проприетарные в libbrcmEGL.so и libbrcmGLESv2.so. Переключиться между открытым и закрытым можно в sudo raspi-config. Приятно, что в недавно вышедшем Raspbian 10 эту возможность оставили для Raspberry Pi 3, хоть и написано, что это Legacy Driver.

Я пользуюсь браузером Chromium в связке с открытым драйвером. Работает нормально. Бывают тормоза и лаги, похожие на своппинг. Видео на YouTube аппаратно ускоряется, но иногда вышеозвученные лаги мешают и воспроизведению видео тоже. И дело не в аппаратном декодере: лаги раз в минуту могут быть как на 144p, так и на 1080p.

При переключении на закрытый драйвер, аппаратное ускорение видео работает тоже (для открытого и закрытого используются одни и те же MMAL и OpenMAX IL). Однако обычное ускорение (плавный скроллинг и т.д.) не ускоряется аппаратно, а используется llvmpipe. Браузер слинкован с libEGL.so.1 из Месы. Если активен проприетарный драйвер, то Меса начинает работать софтварно. Надо, чтобы браузер был слинкован с libEGL.so. Может где-то есть сборки?

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

P.P.S. На официальном форуме спрашивал, ответа не дали

ZenitharChampion
()

Обновление War Thunder 1.95 «Северный ветер» с новой игровой нацией Швеция

 gaijin entertainment, , ,

Группа Игры

Состоялся релиз игры War Thunder 1.95 «Северный ветер», включающий в себя новую игровую нацию Швеция.

( читать дальше... )

>>> Подробности (warthunder.ru)

ZenitharChampion
()

Вопрос про Raspberry Pi проприетарный OpenGL ES от Broadcom, и немного (много) ЖЖ

 , ,

Купил новую SD-карту, установил туда Raspbian 10 от 26 сентября 2019 года. Установку выполнил, удалив FAT32 при помощи fdisk, и сделав dd с образом. При первом запуске, программа установки расширила границы rootfs на весь диск и перезагрузила систему. Затем система была готова к работе. Появился мастер первого запуска, который спросил «а нет ли чёрной рамки на моём мониторе», а ещё про язык и не помню про что ещё.

Мне захотелось потестировать Месу. Последний раз я её тестировал ещё в Raspbian 8, там была версия 13. А тут 19.2-rc1.

Запустил Майнкрафт 1.12.2. Особо быстрее не стало. На этом испытание было закончено, потому что я не знаю, что запустить ещё. В теории, можно скомпилировать Aquaria.

Браузер Chromium что-то не очень резво воспроизводил видео 1080p. Хотя говорили, что в свежеустановленной системе даже ничего настраивать не придётся. Хорошо что есть omxplayer и youtube-dl.

Мне на глаза попалось руководство «плавный YouTube 1080p в Chromium». Первая команда скрипта удаляет пакет rpi-chromium-mods, вторая вписывает параметры запуска вида --enable-чтонибудь и --disable-чтонибудь. Запустил скрипт. Ютюб действительно стал планее. Но не идеален: раз в минуту фризы. omxplayer + youtube-dl снова выручают, даже стримы можно смотреть в их связке.

Спустя время я заметил, что в той инструкции есть ошибка. Первая команда удаляет пакет успешно, а вторая команда не вписывает параметры в файл конфигурации. Ошибка синтаксиса в скрипте, из-за чего sed ругается и ничего не делает. Конфиг не пополнился настройками! Ну, я внёс эти параметры вручную. Что получилось? А получилось странное... В chrome://gpu всё стало очень красиво. Hardware video decoding теперь Enabled и зелёненький (хотя раньше писал, что в линуксе это вообще не поддерживается). Но само видео превратилось в слайдшоу, как будто OpenGL моделируется софтварно. А когда было написано, что аппаратное декодирование не поддерживается, то всё прекрасно ускорялось аппаратно. Как же так? Upd: оказалось, что вместе с rpi-chromium-mods снеслось дополнение h264ify, а я думал, что оно всё ещё присутствует в моей системе. Поэтому пункт про установку этого дополнения я проигнорировал, сразу перейдя ко второму пункту - увеличение размера VRAM. Вернул обратно h264ify - и всё стало плавно!

В общем, я сделал как было. А фризы возможны из-за плохого блока питания (или кабеля), из-за чего иногда появляется значок молнии (подробнее об этом здесь, в разделе «Проблемы питания»). Планирую поменять на такой.

Итак, Месу потестировал, ускорение видео в браузере потестировал. Теперь мне стало интересно: можно ли включить в Raspbian 10 - проприетарный драйвер OpenGL ES? Оказалось что можно. В sudo raspi-config в Advanced Options можно выбрать или опенсорсный драйвер на базе Mesa, или Legacy OpenGL ES driver.

Ютюб не изменился. omxplayer работает прекрасно, как и раньше. Майкрафт конечно же перестал работать, потому что он требует OpenGL + GLX (это поддерживает только Mesa, а проприетарный драйвер не поддерживает ни то, ни другое, а только OpenGL ES и EGL). Я погонял Quake 3 и демосцену. Работает прекрасно.

Вот только с запуском Квейка возникла проблема. Сначала игра не нашла файлы libEGL.so и libGLESv2.so. Я компилировал бинарник игры, доступный по ссылке выше, ещё в Raspbian 8. Ну, не проблема, доустановил libgles2-mesa-dev и libegl1-mesa-dev. Файлы появились. Игра начала запускаться, но после сообщения libEGL warning: DRI2: failed to authenticate игра стартовать отказалась. Кстати, это же предупреждение стало появляться при запуске Chromium с проприетарным драйвером, но не возникает с Месой. Тогда я зашёл в /opt/vc/lib. И я с удивлением увидел, что libEGL.so и libGLESv2.so были переименованы в libbrcmEGL.so и libbrcmGLESv2.so! Зачем?! И кстати, оказывается, можно было не устанавливал -dev пакеты, а просто сделать симлинки этих файлов в правильные имена...

Поиграл в Квейк, после чего запустил Chromium и увидел сообщение, что EGL инициализировать не удалось из-за ошибки, а значит, браузер отключает аппаратное ускорение прокрутки страничек, и т.д. Я удалил симлинки в /opt/vc/lib. Теперь нормально стартовало. Как так? Хромиум полез в эту директорию смотреть библиотеки, а Quake не полез? Квейку надо было LD_LIBRARY_PATH указывать...

И всё-таки, почему Хромиум отключает аппаратное ускорение при попытке стартовать с броадкомовским EGL? Почему он не сдружился с ним? Меня напрягает предупреждение libEGL насчёт DRI2. Может нужно снести в /usr/lib/dri месовский драйвер DRI, и положить броадкомовский? Нужна помощь специалиста. А пока я прекращаю эксперименты и возвращаю опенсорсный драйвер Fake KMS

ZenitharChampion
()

RSS подписка на новые темы