Добавить указание модератора, который заблокировал отправку сообщений в теме
Для удалённых тем и сообщений уже есть. Должно быть и для закрытых тем.
Для удалённых тем и сообщений уже есть. Должно быть и для закрытых тем.
Браузер Wine 7.1 вот такие вещи показывает.
У меня уже несколько дней при заходе на сайт показывается ошибка «Error 504». При этом у других и через прокси работает. Меня по IP забанили или проблема с японскими IP адресами?
Для того, чтобы проверять результат вносимых изменений в код видеодрайвера (radeon, amdgpu), хотелось бы его загружать и выгружать на лету. Загрузка через insmod
работает, а выгрузка rmmod
нет. lsmod
пишет что он кем то одним используется и не указано кем. Слишком муторно перезагружать после каждого теста.
Видеодрайвер не используется для десктопа, для десктопа используется встроенная графика Intel с другим драйвером.
Линукс начал через раз загружаться, я уж подумал что что-то спалил в экспериментах с видеокартой, а оказывается нет, виноват был BtrFS:
$ sudo btrfs check /dev/sda3
Opening filesystem to check...
Checking filesystem on /dev/sda3
UUID: 86945e7c-6b8c-45d4-a6f8-cd2a6d23c1d6
[1/7] checking root items
[2/7] checking extents
[3/7] checking free space cache
[4/7] checking fs roots
root 262 inode 266 errors 200, dir isize wrong
root 262 inode 16687041 errors 1, no inode item
unresolved ref dir 266 index 7773 namelen 11 name kwinrc.lock filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16687043 errors 1, no inode item
unresolved ref dir 266 index 7775 namelen 6 name kwinrc filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16687046 errors 1, no inode item
unresolved ref dir 266 index 7778 namelen 18 name kglobalshortcutsrc filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16687047 errors 1, no inode item
unresolved ref dir 266 index 7779 namelen 11 name kwinrc.lock filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16687059 errors 1, no inode item
unresolved ref dir 266 index 7793 namelen 9 name dolphinrc filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16687070 errors 1, no inode item
unresolved ref dir 266 index 7797 namelen 14 name dolphinrc.lock filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16690369 errors 1, no inode item
unresolved ref dir 266 index 8473 namelen 11 name kwinrc.lock filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16690370 errors 1, no inode item
unresolved ref dir 266 index 8475 namelen 6 name kwinrc filetype 1 errors 5, no dir item, no inode ref
root 262 inode 16690375 errors 1, no inode item
unresolved ref dir 266 index 8479 namelen 11 name kwinrc.lock filetype 1 errors 5, no dir item, no inode ref
ERROR: errors found in fs roots
found 67286298624 bytes used, error(s) found
total csum bytes: 56626160
total tree bytes: 7056916480
total fs tree bytes: 6871351296
total extent tree bytes: 115212288
btree space waste bytes: 1063369100
file data blocks allocated: 102890029056
referenced 69393457152
Как так? Вроде бы ничего особенного с системой не делал, жёстко не выключал кроме вышеуказынных случаев когда система виснет при загрузке. Какой ФС в Линуксе можно пользоваться чтобы было надёжно и ничего не ломалось, пусть и работает медленнее?
Уже файловая система BFS в Haiku получается надёжнее. В результате разных экспериментов и тестов драйверов у меня постоянно падает ядро и происходит жёсткая перезагрузка/выключение, а файловая система остаётся цела. Даже случайное монтирование BFS два раза в хост систему и виртуальную машину и запись в обе не привело к существенным проблемам в ФС.
btrfs check --repair
вроде бы починил файловую систему.
Дистрибутив: openSUSE Tumbleweed.
Вначале же было хорошо сделано с DDX драйверами и установкой видеорежима в X.Org, что более портабельно, безопасно и надёжно (падение видеодрайвера не приводит к kernel panic и его можно перезапустить). Потом зачем-то выдумали DRM-KMS с миллионами строк кода видеодрайверов в ядре прибитые гвоздями к внутренностям Линукса, так что в *BSD/Solaris и др. приходится проводить много работы чтобы портировать этот код на своё ядро. Зачем так надо было делать и вставлять палки в колёса другим ОС?
В Haiku например основная часть видеодрайвера – это динамически загружаемый модуль в пользовательском пространстве. Ядерный драйвер небольшой и отвечает за определение видеокарты, управление видеопамяти и предоставление доступа к видеокарте из пространства пользователя. Ядро не умеет устанавливать видеорежим и начальный видеорежим устанавливается загрузчиком через VESA/EFI GOP.
В Windows значительная часть видеодрайверов работает в пользовательском режиме и может быть прозрачно перезапущена с сохранением открытых окон. Из новых открытых систем в Fushia видеоподсистема работает в пространстве пользователя и реализовано аппаратное ускорение для некоторых видеокарт. В Линуксе самый устаревший и монолитный подход.
Тут человек с нуля написал своё ядро Линукс на C++ вместе со своей виртуальной машиной (и поддержкой динамической трансляции по заверению автора всего в 2-3 раза медленнее нативного кода) чтобы запустить Wine на разных платформах. До чего же Wine непортабельный что проще оказалось заморочиться с написанием своего Линукса… Проект называется Boxedwine и он достаточно портабельный чтобы запускаться на Haiku, Android, WASM, Windows.
Сегодня открылся ЛОР в NetSurf в Haiku RISC-V.
С начала этого года делаю порт свободной UNIX-like операционной системы Haiku на процессорную архитектуру RISC-V (64 бит) (подробнее: My Haiku RISC-V port progress, My progress on real RISC-V hardware). Сейчас система уже неплохо работает на реальном RISC-V железе HiFive Unmatched, есть графика, сеть WiFi, поддержка многоядерности (SMP), пакеты портов собираются на самом железе, работает воспроизведение видео.
RISC-V — полностью открытая и свободная от каких либо отчислений процессорная архитектура, конкурирующая с ARM. Архитектура довольно новая и свободная от легаси вроде четырёх несовместимых наборов команд в ARM, разных MMU, и т.п.. Также архитектура очень простая и выразительная: я написал дизассеблер за два дня и минимально работающий порт Haiku за несколько недель. Для Haiku это первый рабочий порт на не x86-совместимую архитектуру. Остальные порты находятся в зачаточном состоянии без рабочего userland более 10 лет.
Компания SiFive производит открытые ядра RISC-V и готовые платы с полностью открытым программным обеспечением включая драйверы и прошивки. Я использую плату HiFive Unmatched. На плате есть шина PCIe так что можно использовать многие существующие драйвера Haiku без изменений.
Железо выглядит как-то так: раз, два.
Используемое железо:
>>> Просмотр (1920x1080, 263 Kb)
Как в тулкитах совмещается программный и аппаратный рендеринг так чтобы не было тормозов при копировании из/в видеопамять и чтобы не было избыточных буферов/копирования? Далеко не всё рисование в тулкитах делается через GPU. Можно примеры на места в коде реализации тулкитов.
В частности интересно возможно ли нарисовать буфер в RAM на OpenGL рендербуфере с клиппингом без дополнительных буферов и копирований? Буфер в RAM можно выделить с необходимым выравниванием и прочими параметрами если требуется.
> export SYSLIBPATHS="-L/Haiku 64 (USB)/home/Tests/MinApp (riscv64)/sdk-riscv64/lib"
> clang "${SYSLIBPATHS}"
clang-9: error: no input files
> clang ${SYSLIBPATHS}
clang-9: error: no such file or directory: '64'
clang-9: error: no such file or directory: '(USB)/home/Tests/MinApp'
clang-9: error: no such file or directory: '(riscv64)/sdk-riscv64/lib'
clang-9: error: no input files
> export SYSLIBPATHS="\"-L/Haiku 64 (USB)/home/Tests/MinApp (riscv64)/sdk-riscv64/lib\""
> clang ${SYSLIBPATHS}
clang-9: error: no such file or directory: '"-L/Haiku'
clang-9: error: no such file or directory: '64'
clang-9: error: no such file or directory: '(USB)/home/Tests/MinApp'
clang-9: error: no such file or directory: '(riscv64)/sdk-riscv64/lib"'
clang-9: error: no input files
> clang "-L/Haiku 64 (USB)/home/Tests/MinApp (riscv64)/sdk-riscv64/lib"
clang-9: error: no input files
Почему строка в кавычках внутри переменной не работает и как сделать чтобы работало?
Хотелось бы из *.so библиотеки сгенерировать другую библиотеку с такой же динамической таблицей символов, но без содержимого и с пустыми секциями для того чтобы использовать при компиляции программ, использующих эту библиотеку без самой библиотеки. Примерно как *.lib в Windows. Я конечно могу сам сделать, но перед тем как делать велосипед интересно узнать о существующих решениях. Также было бы неплохо, чтобы был ещё текстовый формат объявления символов и версий, чтобы из него можно было собрать библиотеку для линковки.
Существуют ли такие? Для Haiku есть Pe, но под другими системами он не работает.
Требования:
Быстрый запуск. Легковесность.
Подсветка синтаксиса C++.
Навигация по объявлениям. Должна работать для файлов вне проекта, без настроек путей заголовочных файлов и т.п.. Список должен быть в порядке объявления без сортировки по именам. Ещё хотелось бы разделитель, если между функциями две пустых строки и вывод специально форматированных комментариев (//#pragma mark <section name>
в Pe).
Поддержка hiDPI.
Больше ничего не надо.
Не предлагать: Vim-подобное, Electron, GTK 3+, требующие онлайн аккаунты, онлайн редакторы.
Что не подходит:
Notepad++. Медленно работает навигация по объявлениям, всё вешается во время генерации списка объявлений.
VS Code. Часто вообще не работает навигация по объявлениям.
Geany. Медленно открывает файлы. Не нашёл настройки так чтобы всегда объявления сортировались по позиции в коде, а не по имени.
Kate. Нет навигации по коду. Может быть плохо искал?
QtCreator. Требует аккаунт для установки. Может быть есть сторонние сборки в том числе под Windows? Что-то странное происходит при hiDPI.
Netbeans/Eclipse. Запускаются целую вечность. Не работает навигация вне проекта.
https://habr.com/ru/post/554724/
Кампания за отмену Столлмана управляется из одного центра
Инициатива сторонников, по-видимому, децентрализована. Этим можно объяснить медленный темп набора звезд в начале и то, что звезды до сих пор добавляются - новости расходятся от свежих вовлеченных участников.
Противники Столлмана ведут кампанию в основном в рабочие дни
Противники Столлмана чаще имеют заполненные профили социальных сетей
Противники Столлмана не коммитят в гитхаб на выходных (сотрудники корпораций?)
Выходит что травлей Столлмана занимаются корпорации в рабочее время, а те, кто пишут свободный код, за Столлмана.
В последнее время пользователи часто меняют заглавное сообщение на пустое, что создаёт путаницу а также приводит к удалению всей темы.
Работает так: модератор удаляет изменение и возвращается предыдущая версия сообщения.
Делаю эксперименты с RISC-V, написал мини-ОС на C++, которая работает в эмуляторе TinyEMU в Haiku, выглядит так. Для сборки и запуска написал Makefile
:
CC = clang
CXX = clang++
AS = clang
LD = ld.lld -nostdlib
TARGETFLAGS = -target riscv64-linux -march=rv64imafdc -mcmodel=medium
CXXFLAGS += -fno-exceptions -fno-rtti -Iheaders -Ilibc/headers -I/boot/system/develop/tools/x86/lib/gcc/i586-pc-haiku/8.3.0/include/c++ -I/boot/system/develop/tools/x86/lib/gcc/i586-pc-haiku/8.3.0/include/c++/i586-pc-haiku
ASFLAGS += $(TARGETFLAGS)
Startup.bin: Startup
llvm-objcopy -O binary Startup Startup.bin
Startup: Startup.ld objs/Startup.o objs/Vecs.o objs/Graphics.o objs/Font.o objs/Virtio.o objs/Threads.o objs/Timers.o libc/objs/setjmp.o libc/objs/string.o libc/objs/memcpy.o libc/objs/memset.o libc/objs/malloc.o Startup.ld
$(LD) -T Startup.ld --export-dynamic objs/Startup.o objs/Vecs.o objs/Graphics.o objs/Font.o objs/Virtio.o objs/Threads.o objs/Timers.o libc/objs/setjmp.o libc/objs/string.o libc/objs/memcpy.o libc/objs/memset.o libc/objs/malloc.o -o Startup
objs/%.o: src/%.cpp
$(CXX) $(TARGETFLAGS) $(CXXFLAGS) -MF"deps/$*.d" -MD -c $< -o $@
objs/%.o: src/%.S
$(AS) $(TARGETFLAGS) $(ASFLAGS) -MF"deps/$*.d" -MD -c $< -o $@
libc/objs/%.o: libc/src/%.cpp
$(CXX) $(TARGETFLAGS) $(CXXFLAGS) -MF"libc/deps/$*.d" -MD -c $< -o $@
libc/objs/%.o: libc/src/%.S
$(AS) $(TARGETFLAGS) $(ASFLAGS) -MF"libc/deps/$*.d" -MD -c $< -o $@
run: Startup.bin
temu -rw tinyemu.cfg
-include deps/*.d libc/deps/*.d
clean:
rm -f objs/* deps/* libc/objs/* libc/deps/* Startup Startup.bin
В нём много дублирования кода. Есть способы сокращения дублирования? Autotools не предлагать.
Это у одного меня так? Вроде бы браузер не обновлял, настроек не менял. Под индикацией я понимаю появление ссылки «Обновить» внизу при появлении новых сообщений.
Я почти никогда не пользуюсь полноэкранным режимом в том числе для игр. Некоторые веб-видеоплееры (YouTube и т.п.) переходят в полноэкранный режим по двойному клику, я хочу это выключить ибо раздражает. Как это сделать?
Есть проект куда патчи принимаются только через Git, проект на Gerrit. Возможно ли отправить патч не изменяя локальные файлы? Изменение локальных файлов ломает инкрементальную сборку, сборка с нуля занимает примерно 2 часа а инкрементальная сборка 1-2 минуты. Делать копию исходников не вариант, исходники занимают несколько гигабайт и уже используется sparse checkout. Проект использует линейную историю без веток, все патчи rebase’ятся. Отправлять текущую ветку напрямую нельзя, т.к. там есть коммиты, которые не надо отправлять.
Сейчас делается как-то так:
git checkout publish
git reset --hard origin/master
git am <patch list>
git push origin HEAD:refs/for/master
git checkout master
Есть ли статьи описывающие работу композиторов в Линуксе (Wayland и т.п.)? Интересует механизм синхронизации отрисовки (vsync), как происходит перерисовка (обмен (swap) буферами или копирование заднего буфера в передний, перерисовывается всё при каждом изменении или отслеживается изменяемая область), обмен буферами между процессами, взаимодействие с Mesa.
Экспериментируя с поддержкой нескольких пользователей в Haiku обнаружил что если в полях пользователя есть символ «:», то создаётся битый файл /etc/passwd
(#16611). Система не должна допускать порчу базы пользователей при создании пользователя. Есть ли список запрещённых символов в /etc/passwd
, есть механизмы экранирования? В man не могу ничего найти по этой теме кроме того, что почему-то в имени пользователя запрещены большие буквы.
следующие → |