LINUX.ORG.RU

Сообщения Andrew-R

 

Патч для kdenetwork-3.5.10 / smb4 !

root@slax6:/tmp/kdenetwork-3.5.10# cat smb4.patch
--- filesharing/advanced/kcm_sambaconf/sambafile.cpp.orig       2019-10-07 21:43:41.216000000 +0000
+++ filesharing/advanced/kcm_sambaconf/sambafile.cpp    2019-10-07 21:47:35.336000000 +0000
@@ -356,6 +356,12 @@
     if (_parmOutput.find("3") > -1)
       _sambaVersion = 3;
   }
+
+  if (testParam.start(KProcess::Block,KProcess::Stdout)) {
+    if (_parmOutput.find("4") > -1)
+      _sambaVersion = 4;
+  }
+

   kdDebug(5009) << "Samba version = " << _sambaVersion << endl;

@@ -373,7 +379,7 @@
   testParam << "testparm";
   testParam << "-s";

-  if (getSambaVersion() == 3)
+  if ((getSambaVersion() == 3) || (getSambaVersion() == 4))
      testParam << "-v";


Иначе все опции настройки Самы были затенённые/нерабочие.

Andrew-R
()

Пересобрал свой liveCD со Слакварью 14.1

 ,

Привет, ЛОР!

Решил я тут свой LiveCD пересобрать немного. Пересобрал ... На qemu и vmware запускается, на диск (700 Мб) прожигается. Решил, а почему бы и не поделится?

https://yadi.sk/d/rVOOfEtO4dIx4w

sha256sum CDROM-4.4.194_2.iso
bb125e26ccb57e9403837231d5a7ee6748f8befd0874965c29570800929f0346  CDROM-4.4.194_2.iso

Ещё один апдейт, обновил libjpeg-turbo (до 1.5.3), ctorrent, добавил glspt (граф. менеджер обновлений), теперь вроде апдейт неломает систему, но с зависимостями по-прежнему слака ….

Добавил dmraid, обновил MPlayer (до 1.2.1 из Слаквари-14.2), Midnight Commander (до 4.8.22), добавил sox

Грузить можно с slax autoexec=kdm (если с Х автоконфигом всё ок)

qemu-system-i386 -cdrom /dev/shm/CDROM-4.4.194_2.iso -m 256 -display sdl,gl=on -enable-kvm -usb -soundhw es1370 -cpu pentium

Ядро 4.14.194, gcc - 4.8.2, glibc - 2.17, seamoney 2.46 (новее скорее всего без апдейта gcc не собрать), llvm 3.6/mesa 17.0.7, X server 1.14, gimp 2.8.18, Cinelerra-CV 2.3 (+faac, faad, x264), ffmpeg 2.8.15, KDE 3.5.10, gparted, sane / cups / gphoto, ctorrent, lftp и ещё всякая всячина про которую я забыл

Правда, репа slackonly для 14.1 [1] давно не обновлялась, но там сами настроите по своему вкусу.

Пароли такие же, как в Slax6 - root/toor, guest/guest

[1] - https://packages.slackonly.com/pub/packages/14.1-x86/

Скачивайте, пробуйте, делитесь пожеланиями в комментах .....

Andrew-R
()

Firestorm работает через apulse

 ,

Просто хочу сказать спасибо i-rinat за его работу. 32-битный Phoenix_FirestormOS-Release_i686_6.0.2.56680 (клиент для Second Life и OpenSimulator) звучал через alsa, но только если вокруг не было других звуковых приложений. Через apulse запускается и играет параллельно с xmms к примеру, а ещё кажется заработала запись через snd-loop/alsa loopback!

Andrew-R
()

У кого-нибудь есть PPC mac + Rage 128 video?

 , , ,

А то один из разработчиков qemu пытается потихоньку эмуляцию rv100/r128 сделать, но она работает сейчас на i386 госте, а на qemu-system-ppc только в MorphOS работает, Линукс либо вообще ничего не показывает (чёрный экран на драйвере r128), либо цвета на Fbdev глючат (при глубине цвета 15 bpp).

https://osdn.net/projects/qmiga/wiki/SubprojectAti

для тестов используется finnix и Lubuntu

https://www.finnix.org/

http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/

./ppc-softmmu/qemu-system-ppc -M mac99,via=pmu -L ../queue-vga/pc-bios -cdrom /mnt/sdb1/PPC-img/lubuntu-16.04-desktop-powerpc.iso -m 512  -display sdl  -device ati-vga,guest_hwcursor=true  -d guest_errors,unimp -boot d -cpu G3 -g 1024x768x24

кусок про -L можно пропустить, это я указываю путь к свежему нерелизному выпуску ati-bios , с которым на i386 заработал ddc/edid.

https://git.kraxel.org/cgit/seabios/tree/vgabios-ati.bin?h=ati

На qemu-system-i386 только некоторые LiveCD работают, нужно загрузить aty128fb, и указать опцию UseFBDev «1» в xorg.conf (это недостаток эмуляции, там сейчас только 2D часть эмулируется, да и то не полностью).

В общем даже x86 комп с реальной r128 пригодился бы, а то непонятно где глюки драйвера, а где - эмуляции....

Andrew-R
()

Вбил поддержку libdav1d в MPlayer

Index: etc/codecs.conf
===================================================================
--- etc/codecs.conf     (revision 38140)
+++ etc/codecs.conf     (working copy)
@@ -8,6 +8,14 @@
 ;=============================================================================
 ;                   VIDEO CODECS
 ;=============================================================================
+videocodec av1
+  info "AV1"
+  status working
+  driver ffmpeg
+  dll libdav1d
+  format 0x31305641
+  format 0x31307661
+  out YV12

 videocodec ffiff
   info "FFmpeg IFF ANIM/ILBM/PBM/RGB8/RGBN"

Index: configure
===================================================================
--- configure   (revision 38140)
+++ configure   (working copy)
@@ -797,6 +797,7 @@
 _joystick=no
 crystalhd=auto
 _xvid=auto
+_libdav1d=yes
 _xvid_lavc=auto
 _x264=auto
 _x264_lavc=auto
@@ -7405,6 +7406,28 @@
 fi
 echores "$_xvid"

+echocheck "libdav1d"
+if test "$_libdav1d" = auto ; then
+  _xvid=no
+  for ld_tmp in "-ldav1d"  "-ldav1d $ld_pthread" ; do
+    statement_check dav1d.h 'xvid_plugin_ssim_t xs; xvid_global(0, 0, 0, 0)' $ld_tmp &&
+      extra_ldflags="$extra_ldflags $ld_tmp" && _xvid=yes && break
+  done
+fi
+
+if test "$_libdav1d" = yes ; then
+  def_libdav1d='#define CONFIG_LIBDAV1D 1'
+  libavdecoders="$libavdecoders LIBDAV1D_DECODER"
+  extra_ldflags="$extra_ldflags -ldav1d"
+else
+  def_libdav1d='#undef CONFIG_LIBDAV1D'
+  #nocodecmodules="libdav1d $nocodecmodules"
+fi
+echores "$_libdav1d"
+
+
+
+
 echocheck "Xvid two pass plugin"
 if test "$_mencoder" = yes && test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
   statement_check xvid.h 'xvid_plugin_2pass2_t s; s.vbv_size = 0' && _xvid_lavc=yes
@@ -9419,6 +9442,7 @@
 #define CONFIG_WMA_FREQS 1
 #define CONFIG_WMV2DSP 1

+
 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
 #ifndef MP_DEBUG
 #define HAVE_EBP_AVAILABLE 1
@@ -9426,7 +9450,7 @@
 #define HAVE_EBP_AVAILABLE 0
 #endif

-#define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
+#define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc --enable-libdav1d"
 #define FFMPEG_LICENSE "GPL version 2 or later"

 #define LIBAV_CONFIGURATION FFMPEG_CONFIGURATION

Как можно заметить, автодетект я неосилил пока, его надо из ffmpeg-овского configure тащить ....

Вроде даже и работает, хоть и ругается:
[libdav1d @ 0x57678b00]The deprecated avcodec_decode_* API cannot return all the frames for this decoder. Some frames will be dropped. Update your code to the new decoding API

Andrew-R
()

Cinelerra-GG and av1

 

Вот, сделал небольшой хак к Cin-GG, теперь она воспроизводит 1280x720 AV1 видео на полной скорости. (вкомпилял ffmpeg.gt + libdav1d 0.3.0)

Хак - https://www.cinelerra-gg.org/bugtracker/view.php?id=214

diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index 3bb9dd8..e87cfa5 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -374,7 +374,18 @@ int FFStream::decode_activate()
                }
                while( ret >= 0 && st != 0 && !reading ) {
                        AVCodecID codec_id = st->codecpar->codec_id;
- AVCodec *decoder = avcodec_find_decoder(codec_id);
+ /* hack */
+ // AVCodec *decoder = avcodec_find_decoder(codec_id);
+
+ // const char* lib_aom_name = "libaom-av1";
+ const AVCodecDescriptor *descr = avcodec_descriptor_get(codec_id);
+ AVCodec *decoder = NULL;
+ decoder = avcodec_find_decoder(codec_id);
+ if ( descr->id == AV_CODEC_ID_AV1) {
+ decoder = avcodec_find_decoder_by_name("libdav1d");
+ }
+
+
                        avctx = avcodec_alloc_context3(decoder);
                        if( !avctx ) {
                                eprintf(_("cant allocate codec context\n"));
@@ -1543,6 +1554,7 @@ FFMPEG::FFMPEG(FileBase *file_base)
        has_audio = has_video = 0;
        opts = 0;
        opt_duration = -1;
+ opt_force_video_decoder = 0;
        opt_video_filter = 0;
        opt_audio_filter = 0;
        opt_hw_dev = 0;
@@ -2007,6 +2019,8 @@ int FFMPEG::read_options(FILE *fp, const char *options, AVDictionary *&opts)
                if( !ret ) {
                        if( !strcmp(key, "duration") )
                                opt_duration = strtod(val, 0);
+ else if( !strcmp(key, "force_video_decoder") )
+ opt_force_video_decoder = cstrdup(val);
                        else if( !strcmp(key, "video_filter") )
                                opt_video_filter = cstrdup(val);
                        else if( !strcmp(key, "audio_filter") )
diff --git a/cinelerra-5.1/cinelerra/ffmpeg.h b/cinelerra-5.1/cinelerra/ffmpeg.h
index b4867b8..e13504e 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.h
+++ b/cinelerra-5.1/cinelerra/ffmpeg.h
@@ -329,6 +329,7 @@ public:
        char *opt_video_filter;
        char *opt_audio_filter;
        char *opt_hw_dev;
+ char *opt_force_video_decoder;
        char file_format[BCTEXTLEN];
        int fflags;

Компилять:

export EXTRA_LIBS=" -lOpenCL -ldav1d"
export FFMPEG_EXTRA_CFG=" --enable-opencl --enable-libdav1d"
setarch i686 ./configure --with-git-ffmpeg=https://git.ffmpeg.org/ffmpeg.git --with-single-user 

Также видны разные фильтры от FFmpeg'а. Комплексные графы там не сделать, но просто как эффект к треку - должно сработать. (я пробовал scale_vaapi, но он что-то не заработал. Впрочем, они и с нормальным ffmpeg не работал .. завёл баг на месу)

Andrew-R
()

В Cinelerra-GG добавили поддержку аппаратного декодирования!

Ставим libva-dev, libvdpau-dev Собираем из git (либы должны подхватится автодетектом)

https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=shortlog;h=HEAD

Ставим драйвер видеовывода «X11» или «X11-OpenGL» Запускаем так:

CIN_HW_DEV=vaapi cin (AMD, intel, nouveau [vp2-5])
CIN_HW_DEV=vdpau cin (nvidia proprietary, probably open-source AMD mesa with vdpau state tracker)

Загружаем видео (я пробовал на mpeg2 ts, без реклока видеодекодера работает шибко медленно, но не крашится)

CIN_HW_DEV=vaapi cin
Cinelerra Infinity - built: Apr 25 2019 18:53:16
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2018 Heroine Virtual Ltd. by Adam Williams
(c) 2007-2018 cin5 derivative by W.P. Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/X11R7/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
Session time: 0:04:12
Cpu time: user: 0:00:13.844 sys: 0:00:02.309
Andrew-R
()

Проект mesa3d перешёл на сборочную систему meson

autotools убрали, в 19.1 не будет.

https://cgit.freedesktop.org/mesa/mesa/commit/?id=95aefc94a941701616fda0776a3...

Пришлось учить meson. Т.е. копипастить строку настроек, любезно предоставленную одним тестером:

https://lists.freedesktop.org/archives/mesa-dev/2019-April/217409.html

Сначала нужно создать директорию, где будет собираться проект, я создал BUILD в корне исходников mesa и перешёл туда.

Внимание, по-умолчанию если у вас есть ccache он будет использован, у меня чуть место в $HOME не кончилось.

Я скопипастил такое (префикс мой особенный, у остальных куда-то в /usr):

meson ../ --prefix=/usr/X11R7 --strip --buildtype debugoptimized -Degl=true -Ddri-drivers=r100,r200,i965,nouveau -Dplatforms=drm,x11 -Dgallium-drivers=i915,r600,radeonsi,swrast,virgl,nouveau,r300 -Dvulkan-drivers=amd,intel  -Dgallium-nine=true -Dgallium-opencl=icd -Dgallium-va=true -Dgallium-xvmc=true --reconfigure 
ninja

От рута: ninja install

Andrew-R
()

В MAME добавили поддержку SGI (устанавливают IRIX 5.3)

https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=44666&amp...

https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=114749#Po...
В news для MAME 0.207 есть

MAME 0.207
27 Feb 2019

With the latest improvements to the MIPS R4000 CPU, WD33C93 SCSI and SGI Newport graphics emulation, it’s possible to install and run IRIX in MAME. This is a milestone achievement, and wouldn’t have been possible without some amazing dedication and collaboration on the part of the contributors and team members involved.

Судя по коду, 24-битной графики пока нет, есть 8-битная :} Сам пока не пробовал, поэтому в толксы.

Andrew-R
()

Автовекторизация в gcc (ia32)

Что-то меня скорость работы плагинов Cinelerra-GG не устраивала (6-7 фпс для color3way на одной дорожке 1280*720!), и я решил поглядеть, что мне может дать автовекторизация (так по ядрам Cin и так умеет раскидывать работу плагинов).

Покурил доки
https://locklessinc.com/articles/vectorize/

http://gcc.gnu.org/projects/tree-ssa/vectorization.html

врубил "-O3 -march=native -mtune native" вместо "-O2 -march=i486 -mtune=i686" (дефолт слакбилда, который я юзал). Скорость поднялась до 9 фпс, но векторных инструкций почти не было..

Проверял через скрипт, который нашёл тут

https://superuser.com/questions/726395/how-to-check-if-a-binary-requires-sse4...

https://pastebin.com/A8bAuHAP (почему-то концы строк он мне сделал виндовые! поменял через меню в kwrite, иначе не работало)

objdump -M intel -d /dev/shm/tmp/cinelerra-goodguy-20190211/cinelerra-5.1/plugins/color3way/i686/color3way.o | ./opcodes.sh -s SSE2 -s SSE3 -s SSE -s AVX -s FMA | less

ладно, не работает ... Но если добавить -fast-math так что флаги в global_config стали
CFLAGS_ := -O3 -ffast-math -ftree-vectorizer-verbose=2 -march=native -mtune=native -D__STDC_CONSTANT_MACROS

то скорость плагина возросла до 15 фпс, а в ассемблерном выхлопе появились всякие vmovss и прочие....

Так вроде работает, но математически я его корректность не проверял ...

https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-...

gcc --version gcc (GCC) 5.5.0

cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 21
model           : 2
model name      : AMD FX(tm)-4300 Quad-Core Processor
stepping        : 0
microcode       : 0x6000852
cpu MHz         : 1399.998
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 16
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs            : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 7599.98
TLB size        : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro

Интересно, на 64-битной сборке прирост будет ли? Потом может быть проверю.

Ещё может кому ресурс пригодится (eng) https://www.agner.org/optimize/

Andrew-R
()

В NetBSD добавили поддержку аппаратной виртуализации на новых процах Intel

 

http://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge

На основе интеловского HAXМ. Поддерживает до 8 виртуальных машин, мультипроцессорность для гостевых ОС.

На скриншотах NetBSD, Arch, Win 7 (8.1 и новее в разработке - ошибся-с) (Android x86 и FreeBSD подвисают).

Патчи едут в qemu и где там есть апстрим этого HAXM-а.

На АМД есть какая-та другая ининциатива (NetBSD Virtual Machine Monitor).

В общем вот, два года (серьёзно) пилилось.

Andrew-R
()

Скрипты для 64-bit chroot, внутри Slackware 14.2, снаружи тоже Слакварь, но 32-bit

 

В общем ничего нового, в интернетах всё это есть, но не совсем то, что мне нужно.

У меня в seamonkey (2.49.4) не работает одна игрушка, хочет всякие webassembly . В firefox-60esr из слаквари 14.2 -64 bit всё работает, но в виртуалку грузится долго, да и virtio-gpu я там так и не завёл нормально (пока-что).

Выход - монтировать raw-раздел с виртуалкой в каталог, и делать туда chroot.

cat ~/create_chroot.sh
#! /bin/bash

echo "using /mnt/sdb1/HDD-images/20gb-slackware.img"
losetup -P /dev/loop0 /mnt/sdb1/HDD-images/20gb-slackware.img
mount /dev/loop0p1 /mnt/zip
mount -obind /dev /mnt/zip/dev
mount -obind /proc /mnt/zip/proc
mount -obind /sys /mnt/zip/sys
mount -obind /dev/shm  /mnt/zip/dev/shm
xhost +local:
echo "done!"
cat ~/unmount_chroot.sh
#! /bin/bash

umount /mnt/zip/proc
umount /mnt/zip/sys
umount /mnt/zip/dev/shm
kill -9 `lsof -t /mnt/zip`
umount /mnt/zip/dev
umount /mnt/zip
losetup -d /dev/loop0
cat ~/ff60_64.sh
#! /bin/bash

chroot /mnt/zip su -c /apulse_firefox guest
cat /mnt/zip/apulse_firefox
#! /bin/sh
apulse firefox 

Зачем так сложно? Ну, pulseaudio хочет dbus, а у меня на хосте он старый. В общем работает, хотя unmount_chroot.sh приходится вызывать дважды - наверное после kill-а нужной wait вставить ....

Звук и аппаратное 3д работают (nouveau и там и тут), suspend-to-ram переживает.

Andrew-R
()

Nouveau nvc0 testing request

 

Сижу я тут, рассылку читаю. И натыкаюсь на такую серию:
https://lists.freedesktop.org/archives/mesa-dev/2018-December/211207.html

-----
[Mesa-dev] [PATCH 0/7] Multi Context fixes for Nouveau

В общем в теории (и у разработчика) эта серия фиксит краши в :
chromium (браузер)
qtwebengine (браузерный движок в qt)
dolphin (эмулятор)
Warsow (игрушка)

Что желательно потестить:
Видеоплееры (которые используют аппаратное ускорение vdpau + Opengl, например mpv, vlc, kodi как я понимаю / помню.)
Другие приложения, которые крашились раньше из-за этого бага (например кмайл из кде5 ?)

nvc0 - это всякие карточки с OpenGL 4.x (у меня gf 8800 gs - поколением младше, где только OGL 3.3 аппаратно. Для неё пока фиксов нет, Карол хочет сначала на более распространённых карточках потестить, а то вдруг переписывать всё придётся)

edit: git repo (might be force-pushed from time to time): https://github.com/karolherbst/mesa/commits/mt_fixes_take2

Andrew-R
()

Я тут обещал свой ремикс Slax/slackware выложить ...

Сначала думал воспользоваться помощью друга (у которого 100 Гб подключено), а потом вспомнил, что вроде расшаривал разок через торрент образ на 10 Гб. Вот, решил повторить .... Образ лучше запускать на виртуалке, для начала. Он НЕ гибридный, но скопировать на флэшку содержимое и поставить свой загрузчик можно.

https://yadi.sk/d/toG8-WgzVJgg2Q

sha256sum /mnt/sdb1/slax-29-11-2018-test0.iso
d9ae68414b5c9f7577241e698da1943d1812dcbd4e3cbd9c4887a673487b4365  /mnt/sdb1/slax-29-11-2018-test0.iso

пускай полежит до выходных, потом обновлю ...

Пароль root/toor, guest/guest

Andrew-R
()

Новый сайт Cinelerra-GG

 

https://www.cinelerra-gg.org/downloads/

В основном как я понял сохранился прежний порядок релизов в конце месяца ... Да, русский переводчик сказал, что (пока?) обновлять переводы не будет. Те что есть впрочем работают ....

Из того, что можно назвать заметными багфиксами - titler теперь должен кушать неограниченное число символов, раньше был лимит в 3 с небольшим тысячи знаков. Также убран лимит с кол-ва динамических ключевых кадров. Появился новый плагин для рисования поверх видео. ffmpeg обновили до 4.1

Andrew-R
()

nufraw 0.42 + gimp 2.10-9 (-git)

 , nufraw,

Вот, скомпилял ветку gimp-2.10 (поверх новых babl + gegl тоже из git). Для сборки по крайней мере gegl + gimp нужен уже хотя g++/C поновее, чем у меня были в gcc 4.8/gcc 4.9 — пришлось собирать с помощью clang 7 (который из пакета llvm, который нужен для mesa).

В общем после утаскивания кучи пакетов в сырцах от slackware-current и их сборки (там сейчас *.la файлы убили, а у меня они частично ещё используются — было весело, особенно с двумя libpng: 1.4 и 1.6) наконец-то получилось почти как надо. Собрал ещё nufraw (https://sourceforge.net/p/nufraw/blog/), теперь открывает разные raw и даже в 16-бит на канал. Но при этом автоопределение svg отвалилось, и если выбрать опцию сохранять exif в tiff — то полученный файл как бы имеет две страницы, но открыть можно только первую (по крайней мере в самом Гимпе), вторая судя по всему — метаданные.

Но в целом работает шустро, даже для 32-битного варианта, особенно если дать использовать 3 Гб памяти (максимум на 32-битной платформе).

Andrew-R
()

slackware -current , linuxdoc-tools.slackbuild оказался не очень безопасным.

Там даже проблема не в самом slackbuild'e, а в дополнительном скрипте trackbuild.linuxdoc-tools

######## WARNING ###################################################
# This will touch nearly every file on your expendable development
# box.  You wouldn't try this on a production system, right?
######## WARNING ###################################################

# This the faster option, but not the safest.  On a full Slackware
# installation, you'll find new files in this directory which have
# been 'touch'ed.  The --touch-filesystem-first will not do this,
# but is slower.  However, if you really want extra speed, copy
# this entire package source directory to a temporary location
# and run it from there.
# TFS="--touch-filesystem-faster"

TFS="--touch-filesystem-first"

# Launch the build script:
slacktrack $TFS \
   --notidy \
   --showdeps \
   --run-after-withlog $CWD/postbuildfixes.sh \
   -T $TMP \
   -l $CWD/build.$ARCH.log \
   -b $PKGSTORE \
   -rYQOcp $PKGNAM-$PKGVERSION-$ARCH-$BUILD.$PKGEXT ./linuxdoc-tools.build

вот оно мне и растоптало всю систему ....время у файлов в /bin, /sbin, /etc, /usr слетело....

Хорошая шутка .....

Andrew-R
()

Библиотека libexiv2 0.27 перешла на сборку с Cmake и слегка поменяла API

https://github.com/Exiv2/exiv2 Bump Version to 0.27.0.3

В общем обновился до последней версии exiv2 а там ... пришлось править слакбилд и пару приложений: nufraw и geeqie

кусок слакбилда:

# ./configure \
#  --prefix=/usr \
#  --libdir=/usr/lib${LIBDIRSUFFIX} \
#  --sysconfdir=/etc \
#  --localstatedir=/var \
#  --mandir=/usr/man \
#  --enable-shared=yes \
#  --enable-static=no \
#  --enable-xmp \
#  --enable-video \
#  --enable-webready \
#  --without-ssh \
#  --build=$ARCH-slackware-linux || exit 1

cmake \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DCMAKE_INSTALL_MANDIR=/usr/man \
  -DBUILD_SHARED_LIBS=ON \
  -DEXIV2_ENABLE_VIDEO=ON \
    . || exit 1

nufraw 0.42

--- nufraw_exiv2.cc.orig        2016-09-05 17:24:50.000000000 +0300
+++ nufraw_exiv2.cc     2018-12-01 06:47:43.196751993 +0300
@@ -67,7 +67,7 @@
         if (exifData.empty()) {
             std::string error(uf->filename);
             error += ": No Exif data found in the file";
-            throw Exiv2::Error(1, error);
+            throw Exiv2::Error(Exiv2::kerErrorMessage, error);
         }

         /* List of tag names taken from exiv2's printSummary() in actions.cpp */

geeqie git 969791e9521aeffd61d67b3c2d17ccbff98f00d6

diff --git a/src/exiv2.cc b/src/exiv2.cc
index b3c80657..159992ca 100644
--- a/src/exiv2.cc
+++ b/src/exiv2.cc
@@ -24,6 +24,7 @@

 #include <exiv2/image.hpp>
 #include <exiv2/exif.hpp>
+#include <exiv2/exiv2.hpp>
 #include <iostream>
 #include <string>

@@ -374,7 +375,7 @@ public:
 #endif
                        Exiv2::Image *image = imageData_->image();

-                       if (!image) throw Exiv2::Error(21);
+                       if (!image) throw Exiv2::Error(Exiv2::kerGeneralError, 21);
                        image->setExifData(exifData_);
                        image->setIptcData(iptcData_);
 #if EXIV2_TEST_VERSION(0,16,0)
@@ -449,6 +450,8 @@ extern "C" {


 void exif_init(void)
+
+#define EXV_PACKAGE "exiv2"
 {
 #ifdef EXV_ENABLE_NLS
        bind_textdomain_codeset (EXV_PACKAGE, "UTF-8");

Пачти вроде разработчикам отправил, хоть это и хаки (без проверки версии).

Andrew-R
()

Previous, эмулятор рабочих станций NeXT

 

Решил вот собрать из git. (https://github.com/svn2github/Previous). Собралось (rev 916), поехало (для сборки нужен libSDL2, CMake), РОМы для трёх видов рабочих станций в комплекте.

Распаковал образ с https://winworldpc.com/product/nextstep/1x , указал в настройках грузиться со скази-винта, выбрал РОМ для эмулируемой машины - и вперёд. Звук работает, цветной вариант рабочей станции - тоже (для него брал NeXT OS 3.3), для корректного выключения нажать f10 (эмуляция нажатия кнопки питания). Внутри есть cc от GNU . С сетью пока не разобрался, но говорят она работает.

Форум: http://www.nextcomputers.org/forums/viewforum.php?f=22&sid=dd8c88c47aba48... (откуда я собственно об эмуле и узнал)

Andrew-R
()

Кажется, я нашёл баг в dmix.

 ,

https://bugzilla.kernel.org/show_bug.cgi?id=200013

Кто-нибудь может на чистой АЛСА попробовать одновременно xmms и mplayer запустить? У меня начиная с alsa-lib 1.1.2 видео через секунд 400-500-600 начинает тормозить (!). Пока пробую разные варианты, которые мне Такаши (разработчик) кидает.

Andrew-R
()