LINUX.ORG.RU

Сообщения teod0r

 

KOSMOS — сборка комфортненьких shell-скриптов, функций и конфигов системы

После около 13 лет разработки создал репозиторий с проектом KOSMOS.

Это набор очень удобных скриптов и функций (в общей сумме более 200). Их легко и быстро запускать просто вводя короткие названия в терминале.

Удобный механизм запуска и создания новых скриптов. Просто введя 'C newscript' запускается $EDITOR с готовой шапкой #!/bin/bash в котором прописываешь скрипт, после просто сохранения которого можно в любом терминале запустить этот скрипт просто по названию 'newscript' (он сохранился в директории со скриптами и ему прописался x-bit).

Один из моих любимых и полезных скриптов - pk. Это фронтенд для всех тулзов и утилит пакетного менеджера в CRUX, все в одном. Простой запуск pk <что-то там>, включая всё нужное (установка, обновление, сборка и т.д.). pk i <port> - установить, pk u <port> - обновить, pk b <port> - собрать, и т.п. На данный момент 40 функций.

mig - скрипт для миграции конфигов или любых наборов списков файлов из одной (директориии) системы в другую.

S2R - скрипт для запуска ОС с корнем в tmpfs, можно потом вынуть флешку и пользоваться системой вообще без дисков.

Также там сборка моих конфигов (CRUX GNU/Linux) включая коллекцию портов.

В KOSMOS реализована идея создания корневого конфига (/CONFIG), содержащего основные переменные OS. Можно будет не зависеть от FHS, создавать свою структуру директорий. Кому сдался этот /usr/?

Благодарность всем, кто помогал или принимал участие.

# A collection of usefull open-source shell scripts (bash scripts, tools, functions)
# and configuration files.


The scripts use /CONFIG file which contains main system variables:
BOOT, BIN, CFG, DEV, LIB, PROC, RUN, SYS, TMP, VAR, ...
 Variables with directoty names will be used in future for specifying
 main directories of OS.
 It will not be limited by FHS, not depent on it.
 No need of /usr/. Create own set of tree(s).
kernel, libc, init, system_profile, bootloader, system_ISA, system_CPU, default_SHELL, ...


The scripts:


si  - (system install) source-based package manager (set of tools)
for UNIX-like systems
with automatic 100% correct dependencies resolving.
 Ports system like in CRUX, Gentoo, FreeBSD, NetBSD, OpenBSD.
 Optional cross-architecture toolchain building, which allows 
creating new UNIX-like Operating Systems
(distributions of custom kernels and selected environments,
idealy, ability to choose an open-source kernel
(FreeBSD, Haiku, HURD, L4, Linux, NetBSD, OpenBSD, Plan9 and , ...),
choose from varios libc's,
and choose environments: GNU, or not GNU, *BSD, Plan9 and , ...).
Can create entier new distribution in a directory with one command.
 All the process of building of each package is user customized with set of options.
All configure options of building for each port are listed in special configuration
files and scripts (recipes) of each port.
 Absolutely correct dependency resolving is based on 5 special curtain
CONF*, BUILD*DEPS* and RUN*DEPS* files (arrays ?) of eatch port.
'CONF*' -- list of all configure options.
'BUILD_DEPS*' -- list of all build dependencies.
'RUN_DEPS*' -- list of all run dependencies.
'BUILD_CONF_DEPS*' associative array with list of all configure options that require build dependencies.
'RUN_CONF_DEPS*' associative array with list of all configure options that require run dependencies.
This means that all configure options are connected to curtain dependencies. Also if you add/remove an configure option, it will pick up all required deps.
 There is "$PM_db/FLAGS/$system_ISA/$system_CPU/FLAGS" file (and 'CREATE_FLAGS' script for generating the file,
and 'ED_FLAGS' for editing the file) which contains all CPU-specified 'make' variables 
(ASFLAGS, CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LDLIBS, MAKEFLAGS, ..., all of them).
 Lists of recipes (files with recipes for proceeding).
 Varios profile sets of recipes (desktop, server, router, ... create any).
 Logging!
 Sandbox for build and installation process. Tool for modifying all proceeded built packages on set of rules.
 Posibility of installing selected ports into any new or existing prefix.
There will be core in / and availability to add or remove ports to 'core'
or to any available prefix. Like prefix in 'Gobo Linux', but name and combination
of prefixes will be user specified.
For example, user can place a whole toolchain (or any set of ports) in a separate directory.
 Existence of CONF file that specifies all build options for each port gives an ability to
add in future optionall USE_FLAG system (like in 'Gentoo') for any set of ports.
Even MULTI-FLAGS.
Spectre of available/used use-flags will be user specified.
 User controlls the process of building every port with recipes and configuration files,
which give an ability to control every configure option of build process of each port.
User can be a maintainer of his own system.
 User has full control over the operating system.
#### 'si' is not yet completed. I use 'pk' on my CRUX system.


pk - script for package management in CRUX OS with prompt waiting for confirmation,
showing in color which packages will be updated, installed or removed.
It uses a simple syntax, like:
'pk i package1 ...' -- for installing package(s) with all dependencies,
'pk u pakage1 package2' -- for updating packages, or just
'pk u' -- for updating all available.
 It implements many PM features (build (b), download (do), install, install with deps (i), update,
update with new deps (u), update prt-get cache (c), search (s), search in description (sd),
show missing deps (m), show deps (de), show packages that depend on (depson),
check signature (cs), update signature (us), and other).
 It is like a custom front-end for pkgutils, prt-get, prt-utils, pkg-backup, ... .
 'pk' is my (temporary) pakage manager, it is an attemp to make package management
in my favourite and one of the bests disto, CRUX, more nice, until 'si' and my
recipes (ports) collection will be completed.
'si' will be able to do all that 'pk' can and beyond.
Probably, 'pk' will be a symlink to 'si', or even 'si' will be renamed to 'pk'.


chain - creates a toolchain with a single command (amd64 only for now), based on LFS Book.
It also installs CRUX PM, which allows building CRUX from scratch.


S2R  - (System to RAM) move / to tmpfs and make operating system to work completely from RAM
without need of any attached disks or flash-drives.


C  - create/modify scripts. For example 
'C myscript' will create 'myscript' with an "$EDITOR" in "$KOSMOS_scripts/" directory,
after saving the file, you can run it immidiately just typing 'myscript' in any terminal.


ch  - chroot with automatic mounting.


d  - better cd.


GET_OPTS / GET_ARGS  - get options (starting with '-' or '+') / non-options from "$@".
Extended options with an argument like '-d1' or '-d 1' may be defined by EOPTS='-d'.
For extended options, argument of which may not start with '-' (optional positive argument),
use $PEOPTS.
If there is an option like '-and' (single option, but not starting with --),
SOPTS='-and' shoud be used.
$EOPTS, $PEOPTS, $SOPTS are space separated lists, like EOPTS='-d -f -N'.
If you want to catch options starting with '+', use plus_options=1.
 In script running 'GET_ARGS "$@"; GET_OPTS "$@"' will create arrays 'ARGS' and 'OPTS',
containing all arguments.
# Should create 'GET_ARGUMENTS' function, which will create some kind of an associative array 'ARGUMENTS' with all arguments and options in one.


g  - 'grep -IP[r]' - automatic '-r' when needed. And similar links (gi, gv, gc, gL, gl, giL, gil, ...)
for specific keys.


U  - unplug device.
Sync FS-cache, disable swaps, recursive unmount, flush HW-cache on block device.
For example 'U sdb' will unplug "$DEV/sdb" device.


u  - recursive unmount.


x  - extract an archive. For example 'x KOSMOS.txz' or 'x files.xz'.


T  - create tar archive. For example 'T archive.txz files/'.


gin  - install GRUB2 and automaticaly modify PARTUUID in 'fstab' and 'grub.cfg'.


mig - migrate (configuration) files from one system (dir) to another.
For example 'mig / /new_system/' will copy set of (config) files to '/new_system/'.
A key '-l' sets a set of rules for migration, for example '-l config'; you can
create own set of actions.


s  - sync SW & HW disks caches.


b / bb  - show processes.


And more than hundred other scripts and functions...

ССЫЛКА НА ХРАНИЛИЩЕ КОДА

Перемещено CrX из opensource

 , kosmos, , ,

teod0r
()

Как запускать процессы с заданным значением nice?

nice -n суммирует, а не задаёт абсолютное значение.
Про renice знаю, хочется иметь возможность задавать сразу при запуске, а не изменять уже запущенное.

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

 

teod0r
()

Вопрос по электроприборам

Выведет ли генератор маркса из строя технику во время разряда, если выводящие провода касаются пластикового корпуса электроприбора?

Например, такой https://aliexpress.ru/item/1005003388585733.html?sku_id=12000025553051463&amp...

Есть ли какие-нибуть портативные устройства способные выводить из строя электрнику с помощью ЭМИ?

 marx generator, , генератор маркса, ,

teod0r
()

Как активировать кастомный ModeLine?

Решил чуток разогнать обновление экрана на скоко-нибудь герц.
xrandr --verbose
дефолтный xrandr --current
xorg.conf
Xorg.0.log

При этом заданный ModeLine не применяется при запуске иксов с таким xorg.conf, остаётся дефолтный режим!

Но если я вручную выполняю, даже со специально завышенной частотой:

xrandr --newmode 1920x1080_120 250.00 1920 1921 1922 1923  1080 1081 1082 1083 +hsync +vsyncs
xrandr --addmode eDP 1920x1080_120
xrandr --output eDP --mode 1920x1080_120
экран гаснет-включается. вывод xrandr --current
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
eDP connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00 +
   1680x1050     60.00
   1400x1050     60.00
   1280x1024     59.95
   1440x900      59.99
   1280x960      59.99
   1280x854      59.95
   1280x800      59.96
   1280x720      59.97
   1152x768      59.95
   1024x768      59.95
   800x600       59.96
   848x480       59.94
   720x480       59.94
   640x480       59.94
   1920x1080_120 120.04*
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
Я даже пробовал выставлять частоту 3000 MHz — оно в current показывает частоту обновления экрана 1440 Hz!
Ну и как мне правильно выставить? Хоть чуток разогнать, насколько получится. Дефолтные 60 Hz.

 , , , ,

teod0r
()

На каком сайте возможно познакомиться с девушкой?

Никогда не знакомился.

Хочу сбежать от предков.

Все перепробованные мною сайты знакомств липовые.

Как в сети сейчас знакомятся? Приложения для смартфона не предлагать. Смартфона никогда не было и, походу, не будет.

 ,

teod0r
()

Вопросы по созданию git-репозитория своего проекта

Какой хостинг репозиториев выбрать? НЕ github! Какой-нибудь более открытый и свободный. Savannah?

Какими командами инициировать создание нового проекта?
Никогда не пользовался git всерьёз, делал только git clone каких-то чужих проектов.
Т.е. нужно залить имеющийся тарбол в новый проект и создать необходимые ветки.

 , ,

teod0r
()

Подскажите регулярку

Подскажите регулярку для sed.

Есть такая команда для sed:

sed -r "s/^(\S*CFLAGS\s*=.*)(\"|')$/\1 $CFLAGS\2/" -i Makefile
Нужно дописывать в строку с CFLAGS свои $CFLAGS.
Проблема с наличием кавычек после =
С такой регуляркой всё в порядке для строк с кавычками, но строки без кавычек не правятся!
Если добавить ? после (\"|'), то строки без кавычек правятся, но в строки с кавычками мои $CFLAGS подставляются ПОСЛЕ закрывающей кавычки, а не перед.

Какая регулярка нужна чтобы и внутрь кавычек подставляло в конец и в строки без кавычек?

 , ,

teod0r
()

Какие ключи передавать ffmpeg чтобы тот брал ВСЕ параметры аудио/видео из источника?

Про -c copy знаю, но иногда оно не принимает, когда нужно сделать какие-то преобразования.

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

Какие существуют параметры качества? Хочу знать все.
Какие ключи передавать для каждого параметра, указывающие ему брать этот параметр из источника?

 , , , ,

teod0r
()

yt заменяют opus на aac?

Ещё около недели назад качал видео с ютуба, качало аудио в opus (вроде почти всегда так было), вчера стал повторно скачивать несколько видео, скачивает в aac. -F показывает, что из аудио доступен только aac; opus в списке нет.
Качал всегда с выбором лучшего качества в настройках.

Ещё заметил, что если повторно скачать то же видео в тех же форматах, контрольные суммы не совпадают.

И странно, что если скачивать только аудио из видео (-x), то оно весит меньше, чем то же аудио в том же формате, вырезанное из скаченного видео через ffmpeg ... -c copy -map 0:1.

 ,

teod0r
()

Есть ли возможность скачивать видео с yt, к которым ограничен доступ?

Бывает попадаются видео, которые «подтвердите, что вам есть 18», котрые имеют ограничение по стране, и приватные видео.

Аккаунта yt у меня нет.
Возможно ли качать такие видео через yt-dlp?
Ограничение по стране, наверное, обходится через proxy.

Может, есть какие-то аккаунты публичные? Поискал, не нашёл в открвтом доступе аккауетов, которыми поделились. Раньше на ff-3.6 использовал bugmenot.

 , ,

teod0r
()

execve(script) error 13 (Permission denied)

Из-за чего может быть ошибка 'execve(script) error 13 (Permission denied)'?
strace:

26284 execve("/bin/suid/bash", ["/bin/suid/bash"], 0x7ffc11b4b2b8 /* 76 vars */) = 0
26284 brk(NULL)                         = 0x5ff5ee161000
26284 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d8540323000
26284 access(0x7d85403151a0, R_OK)      = -1 ENOENT (No such file or directory)
26284 openat(AT_FDCWD, 0x7d8540313fc3, O_RDONLY|O_CLOEXEC) = 3
26284 newfstatat(3, 0x7d8540314ba1, 0x7ffc7a798000, AT_EMPTY_PATH) = 0
26284 mmap(NULL, 34119, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7d85402db000
26284 close(3)                          = 0
26284 openat(AT_FDCWD, 0x7d85403230a0, O_RDONLY|O_CLOEXEC) = 3
26284 read(3, 0x7ffc7a7981b8, 832)      = 832
26284 pread64(3, 0x7ffc7a797de0, 784, 64) = 784
26284 newfstatat(3, 0x7d8540314ba1, 0x7ffc7a798060, AT_EMPTY_PATH) = 0
26284 pread64(3, 0x7ffc7a797c80, 784, 64) = 784
26284 mmap(NULL, 1998224, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7d85400f3000
26284 mmap(0x7d8540119000, 1421312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7d8540119000
26284 mmap(0x7d8540274000, 344064, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x181000) = 0x7d8540274000
26284 mmap(0x7d85402c8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d4000) = 0x7d85402c8000
26284 mmap(0x7d85402ce000, 52624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d85402ce000
26284 close(3)                          = 0
26284 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7d8540320000
26284 arch_prctl(ARCH_SET_FS, 0x7d8540320740) = 0
26284 set_tid_address(0x7d8540320a10)   = 26284
26284 set_robust_list(0x7d8540320a20, 24) = 0
26284 rseq(0x7d8540321060, 0x20, 0, 0x53053053) = 0
26284 mprotect(0x7d85402c8000, 16384, PROT_READ) = 0
26284 mprotect(0x5ff5cfe1c000, 4096, PROT_READ) = 0
26284 mprotect(0x7d854031c000, 8192, PROT_READ) = 0
26284 prlimit64(0, RLIMIT_STACK, NULL, 0x7ffc7a798bb0) = 0
26284 munmap(0x7d85402db000, 34119)     = 0
26284 setuid(0)                         = -1 EPERM (Operation not permitted)
26284 execve(0x5ff5cfe1b004, 0x7ffc7a798f98, 0x7ffc7a798fa8) = -1 EACCES (Permission denied)
26284 write(2, 0x7ffc7a7967d0, 44)      = 44
26284 exit_group(-1)                    = ?
26284 +++ exited with 255 +++
Причём если запустить эту программу как из основной ОС, то ошибка не возникает. Но если эту же программу запускать в chroot из дпугой ОС - возникает эта ошибка. Также эта же ошибка возникает в той ОС, где она запускается без ошибки, если запускать эту программу через strace.

На этой программе suid-bit. Дальше она должна запускать script.
Исходник:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>

char* script = "/bin/suid/bash_";
extern char **environ;

int main(int argc, char **argv) {

        argv[0] = script;

        setuid(0);
        execve(script, argv, environ);
        fprintf(stderr, "execve(script) error %d (%s)\n", errno, strerror(errno));
        return -1;
}
Дистр - CRUX, ядро самосборное.

 , ,

teod0r
()

Как привязать терминал к программе, запускаемой в скрипте в фоне?

В KDE запускаю скрипт по хоткею.
В нём строка

su user -s program
выдаёт ошибку
su: must be run from a terminal
Как привязать какой-то pts? su запускает эмулятор терминала.

 , ,

teod0r
()

Конфиг alsa

Как должен выглядеть конфиг alsa, чтоб всегда использовался вывод S24_3LE, ресэмпл в 192kHz, rate_converter samplerate_best, resample.quality 10?
Какие улучшалки ещё есть? route_policy? resample.method? period_time? period_size? buffer_size?
И чтоб воспроизводился звук из более чем 1 программы.

Помогите составить конфиг.

 , , ,

teod0r
()

Как запретить mpv делать resampling звука?

При воспроизведении любого файла делает ресемплинг в 48kHz.

Как сделать чтобы воспроизводил с частотой дискретизации исходника?

--alsa-resample=no
--audio-samplerate=0
ничего не меняют.

 , ,

teod0r
()

Как с ffmpeg обрезать файл с обновлением времени?

Обрезал файл ключами -ss и -to, но в информации о получившемся файле показывает неправильную продолжительность, показывает время, которое было в источнике.

Как сделать, чтобы в информации о файле показывало правильную длительность?

 , ,

teod0r
()

Функция в bash для обработки выполнения внешних команд

Есть ли в bash какая-нибудь функция или переменная, с помощью которой можно детерминировать имя вызываемой внешней программы?

Т.е. нужно прописать что-то в ~/.bashrc, чтобы в интерактивном режиме при выполнении ЛЮБОЙ внешней программы выполнялась определённая функция-обработчик, что-то типо хука, знающая имя вызываемой внешней программы.

например при вызове

$ command arguments
ЗАМЕСТО выполнения 'command arguments' должна выполнятся моя функция, которая получает аргументы 'command arguments' и выполняет определённые действмя.

 , , ,

teod0r
()

Заплачу деньги за исправление ошибок в DSDT

Исправление ошибок в DSDT

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

Пробовал:
pcie_aspm=force
pnpacpi=off
i8042.direct
i8042.dumbkbd
i8042.unlock
i8042.notimeout
i8042.reset=0|1

5000р. Или назовите свою сумму, готов увеличить бюджет.

 ,

teod0r
()

Что ещё есть похожего из жанра?

Что ещё есть наподобие:
A Tergo Lupi - Anma ed Preia
A Tergo Lupi - Fade Under
Brand X Music - Din Duin
Danheim - Runar
Eivør - Salt
Eivør & The Danish National Symphonic Orchestra - Salt (Live)
Faun - Federkleid
Garmarna & Отава Ё - Vittrad, Зелёнка
Garmarna - Gamen
Garmarna - Gamen
Garmarna - Gamen (17.02.2018, ZIL ARENA Club, Moscow)
Garmarna - Gamen (Massproduktion 30 years)
Garmarna - Gamen - Live #1 @ Petit Bain Paris (09⧸2022)
Garmarna - Gamen - Selb 09 September 2018
Garmarna - Nåden
Garmarna - Unde Quocomque
Garmarna - Vittrad
Garmarna - Vittrad (Live Tonhallen, Sundsvall 1995)
Garmarna - Väktaren
Garmarna - Väktaren at Festival Mediaval 2023
Rúnfell - Firedancer
The Moon And The Nightspirit - Alkonyvarázs
The moon and the Nightspirit - Alkonyvarázs - Ragnard Rock Festival 2015
The Moon and the Nightspirit - Alkonyvarázs @ Castlefest 2016
The Moon and the Nightspirit - Complete concert (2015)
The Moon And The Nightspirit - Ég Felé
The Moon and the Nightspirit - Ég Felé
The Moon and the Nightspirit - Ég Felé Castlefest 2016.08.05
The Moon and the Nightspirit - Ég Felé * Castlefest 2012
The Moon and the Nightspirit - Ég Felé (Live at Cernunnos Pagan Fest 8 in Paris 2015)
The Moon And The Nightspirit - Égi Táltos
The Moon And The Nightspirit - Felleg Útján
The Moon and the Nightspirit - Full concert multicam 2017
The Moon And The Nightspirit - Hétvilág
The Moon and the Nightspirit - Hétvilág (live)
The Moon And The Nightspirit - Holdvarázsolt
The Moon and the Nightspirit - Live Konzert @ Folklorum 2015
The Moon and the Nightspirit - live @ Poznań, Poland 19.02.2015
The Moon and the Nightspirit - Regõ Rejtem
The Moon And The Nightspirit - Szarvaslélek
The Moon And The Nightspirit - Tavaszhozó
The Moon and the Nightspirit - Tüzben Születö Live
?
Что-то типа фолк, языческий эквилибриум?

 

teod0r
()

Исправление ошибок в DSDT

Ноутбук hp probook 655 g1.

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

Периодически не срабатывают нажатия кнопок (клавиатура, мышь). Бывает, даже в меню UEFI не срабатывают. Бывает, если быстро нажать 2 какие-нибудь кнопки, например 'jk' печатает 'kj'. Бывает даже вводятся клавиши, которых не нажимал. Также бывает один и тот же символ вводится 2 раза.

Ещё хотелось бы снять ограничение на минимальный TDP в 15W. Т.е. у ноута прошито, что TDP должен быть не менее 15W, хотелось бы чтоб он мог потреблять меньше. Возможно, это вообще в EFI прошито.

В DSDT есть ошибки.

ошибки ядра:

efi: Not removing mem34: MMIO range=[0xfec10000-0xfec10fff] (4KB) from e820 map
efi: Not removing mem35: MMIO range=[0xfed80000-0xfed80fff] (4KB) from e820 map
efi: Not removing mem36: MMIO range=[0xff830000-0xff84efff] (124KB) from e820 map
ACPI: Early table checksum verification disabled
audit: initializing netlink subsys (disabled)
ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
ACPI: EC: interrupt blocked
ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.SATA.ODDZ.ZPOD], AE_NOT_FOUND (20240827/psargs-332)
ACPI Error: Aborting method \_SB.PCI0.SATA.PRT1._STA due to previous error (AE_NOT_FOUND) (20240827/psparse-529)
acpi PNP0A08:00: _OSC: platform does not support [LTR]
pci_bus 0000:06: extended config space not accessible
iommu: DMA domain TLB invalidation policy: strict mode
system 00:00: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:01: [io  0x0200-0x027f] could not be reserved
system 00:02: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:02: [mem 0x00100000-0xbfffffff] could not be reserved
system 00:02: [mem 0xffe00000-0xffffffff] could not be reserved
pci 0000:03:00.0: ROM [mem 0xffff0000-0xffffffff pref]: can't claim; no compatible bridge window
pci 0000:00:12.2: PME# does not work under D3, disabling it
pci 0000:00:13.2: PME# does not work under D3, disabling it
PM: Adding info for No Bus:userfaultfd
Could not retrieve perf counters (-19)
bus: 'acpi': add driver hardware_error_device
amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
mip6: mip6_init: can't add xfrm type(destopt)
Extended deferred probe timeout by 10 secs
clk: Disabling unused clocks
mmc0: cannot verify signal voltage switch
wmi_bus wmi_bus-PNP0C14:00: [Firmware Info]: 8F1F6436-9F42-42C8-BADC-0E9424F20C9A has zero instances
wmi_bus wmi_bus-PNP0C14:00: [Firmware Info]: 8F1F6435-9F42-42C8-BADC-0E9424F20C9A has zero instances
snd_hda_intel 0000:00:01.1: master has incomplete components
psmouse serio3: synaptics: Your touchpad (PNP: SYN3009 SYN0100 SYN0002 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.
полный dmesg

таблицы
$ iasl -tc dsdt.dsl                     

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20241212
Copyright (c) 2000 - 2023 Intel Corporation

Error    6126 -  Compiler aborting due to parser-detected syntax error(s)


dsdt.dsl   3004:                     0x02 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3008:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   3020:                     0x03 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3024:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   3036:                     0x04 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3040:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   8363:                             0x01
Error    6126 -                   syntax error ^ 

dsdt.dsl   8370:                             0x01
Error    6126 -                   syntax error ^ 

dsdt.dsl  26797: 
Error    6126 - syntax error and premature End-Of-File

Error    6126 -  Compiler aborting due to parser-detected syntax error(s)


dsdt.dsl   3004:                     0x02 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3008:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   3020:                     0x03 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3024:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   3036:                     0x04 = \_SB.ALIB /* External reference */
Error    6126 -             syntax error ^ 

dsdt.dsl   3040:                 }
Error    6126 -    syntax error ^ 

dsdt.dsl   8363:                             0x01
Error    6126 -                   syntax error ^ 

dsdt.dsl   8370:                             0x01
Error    6126 -                   syntax error ^ 

dsdt.dsl  26797: 
Error    6126 - syntax error and premature End-Of-File

Input file:    dsdt.dsl - Compilation aborted due to parser-detected syntax error(s)
Hex Dump:      dsdt.hex -     199 bytes

Compilation failed. 10 Errors, 0 Warnings, 0 Remarks
No AML files were generated due to syntax error(s)

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

 ,

teod0r
()

Помогите настроить alsa

С помощью Chat GPT составил конфиг:

pcm.!default {
    type asym

    playback.pcm {
        type dmix
        ipc_key 1024
        slave.pcm 'hw:0,0'
        slave {
           pcm 'hw:0,0'
           rate 44100
           format S24_3LE
        }
        bindings {
            0 0
        }
    }

    capture.pcm {
        type plug
        slave.pcm 'hw:0,0'
        format S24_3LE
    }
}

pcm.rate44100 {
    type rate
    slave.pcm dmix
    rate 44100
    resample.quality 10
}

pcm.rate48000 {
    type rate
    slave.pcm dmix
    rate 48000
    resample.quality 10
}

pcm.rate88200 {
    type rate
    slave.pcm dmix
    rate 88200
    resample.quality 10
}

pcm.rate96000 {
    type rate
    slave.pcm dmix
    rate 96000
    resample.quality 10
}

pcm.rate192000 {
    type rate
    slave.pcm dmix
    rate 192000
    resample.quality 10
}
Но что-то в этом конфиге не правильно.

mpv пишет:
[ao/alsa] ALSA channel map conflicts with channel count!
[ao/alsa] Asked for 2 channels, got 1 - fallback to mono.
AO: [alsa] 44100Hz mono 1ch s32
звук есть только из левого динамика.
Ещё такая ошибка:
$ aplay file.wav -v --dump-hw-params   
Playing WAVE 'file.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo
HW Params of device "default":
--------------------
ACCESS:  MMAP_INTERLEAVED MMAP_NONINTERLEAVED RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT:  S32_LE
SUBFORMAT:  STD MSBITS_MAX MSBITS_20 MSBITS_24
SAMPLE_BITS: 32
FRAME_BITS: 32
CHANNELS: 1
RATE: 44100
PERIOD_TIME: (125170 125171)
PERIOD_SIZE: 5520
PERIOD_BYTES: 22080
PERIODS: [2 3]
BUFFER_TIME: (250340 375511)
BUFFER_SIZE: [11040 16560]
BUFFER_BYTES: [44160 66240]
TICK_TIME: ALL
--------------------
aplay: set_params:1387: Sample format non available
Available formats:
- S32_LE
format точно поддерживается, и он так ругается вообще на любой формат, даже на S16_LE, и даже если вообще формат не указывать.
Если закомментировать секцию bindings:
$ aplay file.wav -v   --dump-hw-params   
Playing WAVE 'file.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo
HW Params of device "default":
--------------------
ACCESS:  MMAP_INTERLEAVED MMAP_NONINTERLEAVED RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT:  S32_LE
SUBFORMAT:  STD MSBITS_MAX MSBITS_20 MSBITS_24
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (125170 125171)
PERIOD_SIZE: 5520
PERIOD_BYTES: 44160
PERIODS: [2 3]
BUFFER_TIME: (250340 375511)
BUFFER_SIZE: [11040 16560]
BUFFER_BYTES: [88320 132480]
TICK_TIME: ALL
--------------------
aplay: set_params:1387: Sample format non available
Available formats:
- S32_LE
и в mpv звук 2 канала.
Обратите внимание, что с секцией bindings и без неё в выводе aplay разница в 4-х строчках (FRAME_BITS, CHANNELS, PERIOD_BYTES, BUFFER_BYTES).

Может, этот конфиг вообще не правильный. Нужен конфиг, чтобы был звук из нескольких программ, format S24_3LE, чтобы всегда использовалась та частота дискретизации что в источнике (по умолчанию это не работает) и resample.quality 10 и rate_converter samplerate_best (если это имеет смысл, или эти опции не нужны потому что всегда будет использоваться частота дискретизации источника?).

 , , ,

teod0r
()

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