LINUX.ORG.RU

Избранные сообщения ox55ff

Qemu и проброс USB

Форум — General

Есть USB-ЦАП/АЦП и софтина к нему, под онтопиком ни то, ни другое не работает. Софтина шибко проприетарная, защищена HASP ключом. Я пытаюсь заставить всё это работать в виртуалке. Собственно, девайсы:

Bus 003 Device 011: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 003 Device 010: ID 16b2:1001
ls -l /dev/bus/usb/003
...
crw-rw-r-- 1 root qemu 189, 265 дек 22 18:29 010
crw-rw-rw- 1 root qemu 189, 266 дек 22 18:29 011
Пользователь добавлен в группу qemu.
Команда запуска qemu:
qemu-system-x86_64 \
    -enable-kvm \
    -m 2G \
    -device usb-ehci,id=usb,bus=pci.0,addr=0x4 \
        --device usb-host,vendorid=0x16b2,productid=0x1001 \ # USB-девайс, ради которого весь сыр-бор
    -device piix3-usb-uhci,id=usb1,bus=pci.0,addr=0x5 \
        --device usb-host,vendorid=0x0529,productid=0x0001 \ # USB-HASP
    -usbdevice tablet \
    -net nic \
    -net bridge,br=br0 \
    -vga qxl \
    -spice port=5930,disable-ticketing \
    -device virtio-serial-pci \
    -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
    -chardev spicevmc,id=spicechannel0,name=vdagent \
    -drive file=/mnt/data/win-patch.img,if=virtio
Проблема: оба девайса в госте видны, но не работают. ЦАП/АЦП должен определяться как USB носитель, так он и определяется, но как-то не совсем. Дрова на HASP ключ в гостя поставил, но софтина его всё равно не видит. ЧЯДНТ?

 ,

Axon
()

Сделать CapsLock как Control

Форум — General

Установил Gnome Tweaks и там в разделе Keyboard/Additional Layout Options поставил галочку на Make Caps Lock an additional Ctrl. В большинстве приложений оно вроде работает, но есть нюансы. Например в Intellij Idea когда я жму Caps Lock+Tab, то диалог переключения вкладок не исчезает, когда я отпускаю Caps Lock, будто я его продолжаю держать. Если я использую обычный Ctrl, то всё работает нормально. Также сейчас запустил игру Factorio, в ней не работают горячие клавиши с Ctrl, если я использую вместо этого Caps Lock.

Fedora Linux 34, Gnome 40.1.0.

Предполагаю, что нужно настроить mapping на более низком уровне, как это можно сделать?

 

Legioner
()

За что мы любим Manjaro

Форум — Talks

За пунктуальность

За стремление к совершенству

За мудрость

За добропорядочность

 

chenbr0
()

Новая книга «Linux Kernel Programming»

Новости — Ядро Linux
Группа Ядро Linux

Много воды утекло с момента выхода LDD3 (LDD4 мы, видимо, уже не дождёмся), безнадёжно устарел фундаментальный труд Бовета и Чезати, Роберт Лав давно не радовал нас своими прекрасными творениями. Казалось бы, в мире литературы о программировании ядра Linux наметилась устойчивая стагнация…

Но нет! Ситуацию спасает замечательный индийский программист со звучным именем Кайван Биллимория. Он написал книгу о программировании ядра, аж в двух томах.

Об авторе

Кайван программирует с 1983 года. В то время он самостоятельно научился программировать на бейсике, затем освоил Си и ассемблер под MS-DOS, а потом открыл для себя мир UNIX и Linux. Занимался программированием ядра и драйверов, участвовал в коммерческих и свободных проектах, занимался преподавательской деятельностью.

Повествование в книге ведётся на основе Ubuntu 18.04 LTS и ядра версии 5.4.

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

>>> Том 1 на Amazon

>>> Том 2 на Amazon

 , , ,

x-signal
()

Вместо NUC

Форум — Linux-hardware

По какой-то необъяснимой причине Intel NUCs последних поколений исчезли со складов (ковид, брекзит, хз...). Какое устройство в таком же формате работает хорошо с линуксом, без особых проблем с железом? Вроде у асуса есть проблемы.

 

svu
()

Опасные мониторы

Форум — Desktop

Начал углубляться в тему болезнености глаз. Хотел поделиться со всеми, кто пересобирает мир юзает африканский линупс. Причины усталости глаз:
— неродное разрешение монитора;
— ШИМ подсветки;
— излишняя или недостаточная яркость;
— кристаллический эффект (матовые дисплеи);
— блики (глянцевый дисплей);
— неправильное питание пикселей;
— шревты;
— растояние от дисплея;
— неправильная планировка времепровождения;
линупс
— ктулху.

Разбираем детально и ищем способы решения проблем.

С первым, думаю, всё ясно — выставляем родное разрешение указанное в технических хар-ках. В случае неродного разрешения, глаза устают после длительного чтения с экрана. Проблема кроется в том, что глифы шрифтов растеризуются под несуществующую пиксельную решётку, которая растягивается и искажается монитором. Шрифты кажутся размытыми.

ШИМ подсветки — беда и чума большинства современных мониторов. Яркость дисплеев регулируется путём изменения скважности импульсного питания подсветки. Регулировать яркость изменением тока невозможно, ибо кристал светодиода деградирует при незначительном уменьшении или превышении рабочего значения тока. По сути, светодиоды мерцают. Всегда.

Помните как нам вбивали в головы, что светодиоды это будущее? Мы ведь можем сэкономить 10Вт электроэнергии, что положительно скажется на выживании вымирающих видов африканских пони. Помните, да? Реальность обманчива — светодиоды просто дешевле, чем каноничные газоразрядные лампы. Несмотря на то, что яркость газоразрядных ламп тоже регулируется ШИМ — они не могут тухнуть моментально, таким образом уменьшая нагрузку на глаза. Светодиоды же, прекрасно и моментально тухнут.

Так что, разбираем монитор, выкидываем светодиоды и ставим лампочку Ильича. Берегите свои CRT и CCFL для детей — их глаза скажут вам спасибо. Да-да, CRT тоже. Никакого радиоактивного, альфа-, гамма-, бета-, тау-, лямбда- и прочего эзотерически-атсрального излучения у них нет. А те нещасные электроны, которые атакуют внутреннюю пов-сть дисплея не могут навредить на растоянии 20 и более см.

Яркость дисплея. Правило гласит: 100-200 Нт(Кд/м^2). Кроме того, разница между освещённостью окружающих пов-стей не должна превышать 200Лк (тут точно не помню, курим СанПин). Переводим взгляд на стену и затем, на монитор — уменьшаем яркость, если чувствуем напряжение в глазах. А у тебя продуманное общее освещение в помещении?

Кристаллический эффект. Зависит исключительно от типа покрытия дисплея. Такое ощущение, что мониторы тестируют свиборги, но не люди. Используем матовые дисплеи только в крайних случаях — в полевых условиях. В условиях нормальной и продуктивной работы в помещении — глянцевые дисплеи. А если пов-сть экрана бликует, то виноват в этом не дисплей, а твои кривые руки и бездарность в планировке рабочего места.

Питание пикселей. Тут всё печально. Проблемы всё те же — дешёвые матрицы рук дядюшки Ляо. Суть в том, что на пиксель нельзя подавать напряжение непрерывно — его нужно постоянно инвертировать, иначе жидкий кристал примет вечный угол поляризации света (поджарится). Из-за того, что изменение полярности питания пикселя асинхронизировано с соседним пикселем (в дешёвых матрицах) — появляется заметная рябь, мерцание на частоте в в два раза меньшей от частоты развёртки (обновления).

Ещё немного по дешёвым матрицам. Часто применяют низкокачественные поляризаторы, что приводит к цветовой инверсии и муару, но косвенно влияет на зрение.

Шревты. Ещё Татьяныч об этом говорил. Юзаем нормальные ttf-шрифты и будет счастье. Желательно использовать полный хинтинг, чтобы глифы выглядели отчётливо, без гламура и красоты. Береги глаза, гентушник.

И ещё — юзаем человеческие темы, которые обеспечивают хорошую контрастность между текстом и фоном. Помнишь тот обоссаный фон в старых форточках? Он всяко оптимальнее белого фона. Стандартная тема в Gnome 3 — сущий ад, ибо в ней меняется контрастность окон в зависимости от фокуса. Только индусы без глаз могли такое придумать. Ну и белые литеры со слабым хинтингом на чёрном фоне всяко способствуют улучшению зоркости.

Вытяни руку до экрана. Так лучше всего, запомнил? Верхняя граница дисплея на высоте глаз. Ну и раз за час отойди от экрана. Посмотри на окружающий мир, на девушку которой у тебя нет и выпрыгни в окно.

По теме:
http://techmind.org/lcd/dotinv.html
http://techmind.org/lcd/dotinvrgb.html
http://techmind.org/lcd/dotinv2l.html
http://techmind.org/lcd/dotinv2lb.html
http://techmind.org/lcd/dotinvrgb2l.html
http://techmind.org/lcd/dotinvrgb2lb.html

Если у тебя хотя бы на одном видно мерцание — выкинь монитор в окно. Береги глаза — они всяко дороже твоего говномонитора.

P.S. У меня мерцает на 3 и 5. При этом, если изменить контрастность с 50 на 49 и обратно, то мерцание исчезает. Исчезает до первого изменения фона на экране. Диагноз — брак в микроконтроллере монитора (или в его ПО, что не суть, ибо дома не решается). Печально, что при покупке монитора об этом обо всём не знал. Сейчас же глаза на лоб лезут. Монитор — Philips IPS 237E. Не покупайте этот и похожий на него шлак.

P.P.S. Приношу извинения линупсоидам, которых обвинял в кривых шрифтах. Действительно, ранее полагал, что глаза болят из-за кривых шрифтов в линукс. Хотел лично подвергнуть карам Столлмана, честное слово. На самом деле, пусть и не все, но часть шрифтов вполне годная. Те же liberation, droid.

sailter
()

Hi-Res Audio и теорема Котельникова

Форум — Talks

192 kHz / 2 = 96 kHz

Зачем? Почему? Для чего?

Quasar-Napilnik_CPY
()

какой самый популярный git клиент под линукс

Форум — General

подскажите, а то их миллион всяких разных...

желательно, наверно, чтобы был в самом debian

p.s. с графическим интерфейсом

 , ,

devorg
()

Как разобрать(разархивировать) образ u-boot uImage

Форум — General

Есть файл прошивки demo.bin Linux/MIPS, как его распаковать а потом заново собрать в bin? Необходимо добавить драйвер, возможности скопировать через флешку или по сети нет.

mkimage -l demo.bin
Image Name:   jz_fw
Created:      Wed Apr 18 19:04:41 2018
Image Type:   MIPS Linux Firmware (uncompressed)
Data Size:    11075584 Bytes = 10816.00 KiB = 10.56 MiB
Load Address: 00000000
Entry Point:  00000000

 , ,

Boogiepop
()

Проблема с функциями в динамической библиотеке .so

Форум — Development

Столкнулся с такой проблемой при использовании динамической либы в Си. Допустим в библиотеке используется функция

uint16_t crc16_ccitt (const void *p, size_t size);

она используется исключительно внутри библиотеки в не объявлена в экспортируемых заголовочных файлах.

Если вдруг в приложении, где будет использоваться эта библиотека, есть функция с таким же именем, то из библиотеки вызывается именно эта пользовательская реализация… конкретно это я заметил исключительно потому, что у пользователя эта функция была объявлена как

uint16_t crc16_ccitt (size_t size, const void *p);

то есть параметры были поменяны местами и когда библиотека пыталась ее вызвать, приложение падало в segmentation fault.

Есть ли какой-то способ избежать таких эффектов и изолировать функции библиотеки от пользовательских функций с таким же именем, возможно, некоторая опция gcc?

Если нет, то как такую проблему решают в крупных проектах?

Библиотека собирается с такими опциями:

-fPIC -c -std=c11 -fplan9-extensions -Wall -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-format-zero-length

 , ,

id_thx1138
()

Производительность; илитный запил оптимальных реализаций и основы матчасти.

Форум — Development

Поглядел я тут на пацанов и увидел прогресс в их глазах. Поэтому я решил вести тут свой бложик, в котором я буду толкать матчасть, разбирать/разрушать всякие мифы и легенды, а так же их обсуждать с пацанами. Банить меня не надо - тут всё будет очень культурно.

Это будет формат для самых маленьких, где я буду показывать как что-то пилится по-пацаночке. Его задача - на примерах пересказать штеудмануал тем, кому лень его читать, но кто очень любит спорить про код, перфоманс и матчасть. Ну и просто интересные наблюдения.

Изначально я хотел написать про то: что такое бесплатные вычисления на примере is_range() + сумма елементов массива, но тут выявилась смешная особенность, поэтому пока без is_range().

Начнём с простого - сумма елементов(float) массива. Как написать её быстро? Обычный крестопоц сделает так:

auto summ = accumulate(begin(vec), end(vec), 0.)

Этот код выдаёт 5.6GB/s(мы всё бенчим в л1д 32килобайта массив). Казалось бы, если бы мы слушали всяких «гуру», которые нам говорят: accumulate() - оптимизирован, «ты что умнее создатели stl"а?», «конпелятор умнее тебе - сам всё делает оптимально», «руками что-то делать слишком сложно и не нужно» - то мы бы там и остались с этими 5.6ГБ, но мы пойдём дальше и поймём почему так, и является ли это тем, что намн ужно.

Но посмотрев на код - он не векторизован:

	addq	$4, %rdx
	vcvtss2sd	-4(%rdx), %xmm2, %xmm2
	vaddsd	%xmm2, %xmm1, %xmm1

Почему? Патамучто это основная флоатпроблема: Он не ассоциативен - флоат не имеет в себе точных представлений всех чисел входящих в диапазон его «представления» т.е. порядкопроблемы.

Поэтому конпелятор НЕ ВЕКТОРИЗУЕТ флоат по умолчанию, ну никак. Даже такую банальщину.

Для решения этих проблем - есть ключик -funsafe-math-optimizations, который входит в -ffast-math, который кладёт на точность при вычислениях. Добавив его мы получаем уже 44.9GB/s.

Но теперь мы получаем ещё одну проблему - надо думать: «как бэ сунуть эту ключик не повредив там, где этот ключик не нужен».

Поэтому ноцанам, которые хотят быстро и не хоятт рандомных жоп из-за тупости конпелятора - пишут всё руками. Допустим на той же сишке это пишется так:

double memadd_autovec(buf_t buf) { //5.609465GB/s, либо 44.969652GB/s с ffast-math
  float * it = buf_begin(buf), * end = buf_end(buf), summ = 0.;
  do {
    summ += *it++;
  } while(it != end);
  return summ;
}

double hsumf(__v8sf v) {
  return (v[0] + v[1] + v[2] + v[3] + v[4] + v[5] + v[6] + v[7]);
}

double memadd_vec(buf_t buf) { //45.652002GB/s и класть на ffast-math
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ += *it++;
  } while(it != end);
  return hsumf(summ);
}

Т.е. разницы никакой нет, кроме нужной нам реализации горизантального сложение вектора. Когда я говорил пацану: «векторную сишку для написания быстрого кода юзать намного проще, чем плюсы» - поцан нипонимэ, да и любые пацаны скажут - ну дак с -ffast-math оба выдают по 45гигов - нахрен эта сишка нужна?

А вот зачем:

double memadd(buf_t buf) { //132.878440GB/s
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ += *it++;summ += *it++;summ += *it++;summ += *it++;
  } while(it != end);
  return hsumf(summ);
}

Это называется пацанский анролл копипастой, а вот заставить конпелятор нормально что-то разанролить очень сложно.

Если бы мы слушали всяких «гуру», которые нам вещают: «анрол говно и не нужен» - мы бы так и седели с 45-ю гигами, а так мы сидим с 132.878440GB/s. Т.е. анролл нам дал немного не мало ~300%.

Но основная мысль, которую толкают всякие «гуру» - это не надо следить за тактами/считать такты и прочее. Но мы о5 сделаем наоборот и посмотрим что будет.

Т.к. наш юзкейс упирается на 99% в throughput и дёргается одна инструкция, то нам достаточно просто считать теоретическую производительность для моего камня. 4.5(частота камня)*8(т.е. у нас камень с avx, то там вектор 32байта, либо 8флоатов.)*1(throughput нашей инструкции - в данном случае vpaddps из интел мануала). Т.е. 36гигафлопс, либо ~144гига. Т.е. мы сняли овер 90% теоретической производительности - остальные 10% у нас ушли в наши циклы, всякие горизонтальные суммы вектора и прочее, ну и конечно же чтение данных из кеша.

Но самое смешное - на моём хасвеле умножение имеет throughput 0.5 - т.е. на хасвеле умножение быстрее сложения. Это новая забористая трава у интела.

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

Поэтому очень смешно слушать, когда какие-то пацаны говорят: «float point имеет такую же производительность как и инты» - нет, оно имеет такоу же производительность лишь по причине того, что на штеуде инты тормазят так же, как и float.

И чтобы окончательно в этом убедится - мы взглянем на fma(вариации умножения со сложением/вычитанем), которые имеют throughput 0.5 - да, да - на хасвеле умножение+сложение в 2раза быстрее просто сложения. Это уже не просто трава - это что-то принципиально новое.

У целочисленного сложения же throughput 0.5 и казалось бы, если мы поменяем в нашей функции float на int - у нас будет сложение работать в 2раза быстрее, но это не так. Оно выдаёт те же 130гигов, а почему?

Вообще у камня есть такая фича, допустим у нас:

add $1, %reg0//вот тут инструкция add залочит регистр reg0
add $1, %reg0//а эта инструкция уйдёт в лок до особождения предыдущей инструкцией регистра reg0

Чтобы такой жопы небыло - есть специальная фича:

add $1, %reg0//lock reg0
add $1, %reg0//И тут вместо того, чтобы уйти в лок - камень вместо reg0 даёт инструкции любой свободный регистр.

Эта фича называется прееименование регистров, либо как-то так - мне лень гуглить.

Дак вот штука в том, что фича работает через жопу. Мне лень читать мануал и искать почему так, но штука в том, что она ограничивает throughput. На умножении и целочисленном сложении она огранивает throughput c 0.5 до 1.

И вот я решил заюзать сложении через fma:

__v8sf fmaadd(__v8sf a, __v8sf b) {
  return _mm256_fmadd_ps(_mm256_set1_ps(1.), a, b);// a + b * 1. == a + b.
}

double memadd_fma(buf_t buf) {
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = {};
  do {
    summ = fmaadd(summ, *it++);
  } while(it != end);
  return hsumf(summ);
}

Но меня ждала жопа: 27.347290GB/s, причем не анролл и ничего не помогал. Я уж подумал, что мануал наврал, но позже до меня допёрло: у неё latency 5тактов и ((4.5×8)÷5)×4 ~= 29гигов - т.е. я получаю производительность с её latency, но какой жопой оно так?

Потом я вспомнил, что гцц гинерит анрольный код вида:

add $1, %reg0
add $1, %reg0
//а не
add $1, %reg0
add $1, %reg1

Т.е. на неё вообще не работает переименовывание регистров - и инструкции постоянно в локе. Я это проверил и оказался прав. Ну и я написал такой мемадд:


__v8sf fmaadd(__v8sf a, __v8sf b) {
  return _mm256_fmadd_ps(_mm256_set1_ps(1.), a, b);
}

inline void fma_10way_finality(__v8sf * cache, __v8sf * it, __v8sf * end) {
  switch(end - it) {
    case 8:
      *(cache + 7) = fmaadd(*(cache + 7), *(it + 7));
      *(cache + 6) = fmaadd(*(cache + 6), *(it + 6));
    case 6:
      *(cache + 5) = fmaadd(*(cache + 5), *(it + 5));
      *(cache + 4) = fmaadd(*(cache + 4), *(it + 4));
    case 4:
      *(cache + 3) = fmaadd(*(cache + 3), *(it + 3));
      *(cache + 2) = fmaadd(*(cache + 2), *(it + 2));
    case 2:
      *(cache + 1) = fmaadd(*(cache + 1), *(it + 1));
      *(cache + 0) = fmaadd(*(cache + 0), *(it + 0));
    case 0:
      break;
    default: error_at_line(-1, 0, __FILE__, __LINE__, "bad_aligned");
  }
}

double memaddfma_10way(buf_t buf) {
  __v8sf * it = buf_begin(buf), * end = buf_end(buf), summ = (__v8sf){};
  __v8sf * cache = (__v8sf[10]){{}};
  uint64_t i = 0;
  while((it += 10) <= end) {
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    *(cache + i) = fmaadd(*(cache + i), *(it - i - 1));++i;
    i = 0;
  }
  fma_10way_finality(cache, (it - 10), end);
  summ = (*(cache + 0) + *(cache + 1) + *(cache + 2) + *(cache + 3) +
	  *(cache + 4) + *(cache + 5) + *(cache + 6) + *(cache + 7) +
	  *(cache + 8) + *(cache + 9));
  return hsumf(summ);
}

Пришлось хреначить финалити, ибо тут «анролл» на 10, а почему на 10 - для максимального throughput"а - надо, чтобы каждый каждый регистр юзался через 5тактов - т.е. 10регистров.

И вся эта порятнка нужна для борьбы с тупостью конпелятора.

Это уже: 214.167252GB/s(раельно там в районе 250 - просто мой бенч говно). 107 гигафлопс на ведро. Из теоретических 144, но тут уже влияние кеша. Причем 50+ из которых выкидываются и просто бесплатные.

Теперь вопрос к пацанам - что нам дадут эти гагфлопсы, когда у нас будет массив не 32килобайта, а 32мегабайта? Зачем нужно выживать максимум, когда скорость памяти отсилы 20-30гигабайт и нам хватит даже С++ кода с ffast-math?

Ну и призываются упомянутые мною пацаны: mv - этот тот експерт, что вещал про «руками переименовывать регистры не надо» и «анрол ваще ненужен», emulek вещал про ненужность счёта тактов, и не понимал что такое «беслпатно», AIv - не понимал в чем проблема плюсов, ck114 - так же не понимал в чем проблема плюсов.

Бенчи: https://gist.github.com/superhackkiller1997/606be26fa158ef75501d - вроде я там ничего не напутал.

P.S. - не выпиливайте пж, пусть пацаны «нужно» или «не нужно». Мне интеерсно. Ну и там рекомендации пацанов.

 , , ,

Carb_blog
()

Dlang - нужно ли?

Форум — Development

Компрады, вопрос - Dlang, применяется кем-то и нужен ли? Какие есть аргументы его пользования в проектах? Какие киллер-фичи подтолкнули на его пользование? Чем он лучше/хуже C++/Rust/Golang/Crystal/Nim?

Особенно интересно в разрезе вебни)

 , ,

silver-bullet-bfg
()

Debian 10 и Nvidia

Форум — Desktop

Обновился сегодня на Debian 10 «Buster». Вроде бы всё замечательно, кроме одного, перестала работать волшебная опция в /etc/X11/xorg.conf в секции Device (или можно в Screen):

Option «RegistryDwords» «PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3;»

Которая снижала производительность видеокарты Nvidia и следовательно её температуру. В моём случае с 60 градусов (> 60 включался вентилятор) до 35 +/- градусов, при этом окошки и даже простенькие игры и фильмы в хорошем качестве не тормозили.

Судя по nvidia-settings эта опция не работает.

Ничего нагуглить не получается. Возможно это связано с переходом на Wayland или с новым драйвером Nvidia?

Может кто-то сталкивался с подобной проблемой?

 ,

sMax
()

Запретить процессу использовать swap

Форум — Admin

Есть ли какой-то действенный способ запретить некоторому процессу использовать swap? Т е сделать так, что бы он никогда не вытеснялся из озу на диск?

 

Serbis
()

Видео докладов с C++ CoreHard Autumn 2018

Форум — Development

На канале сообщества CoreHard появились видеозаписи докладов с прошедшей в начале ноября в Минске конференции C++ CoreHard Autumn 2018.

Важный дисклаймер. На конференции были проблемы с Интернетом и он-лайн трансляцией, поэтому в каких-то видеозаписях есть проблемы (например, выпадение отдельных кусочков).

Text Formatting For a Future Range-Based Standard Library - Arno Schödl
Concurrency and Parallelism in C++17 and C++20/23 - Rainer Grimm
Что должен знать каждый C++ программист или Как проводить собеседование - Игорь Садченко и Ко
Информационная безопасность и разработка ПО - Евгений Рыжков
Что не умеет оптимизировать компилятор - Александр Зайцев
Метаклассы: воплощаем мечты в реальность - Сергей Садовников
Asynchronous programming with ranges - Ivan Čukić
Обучаем на Python, применяем на C++ - Павел Филонов
Создание пакетов для открытых библиотек через conan.io - Константин Ивлев
Полезный constexpr - Антон Полухин
Кодогенерация C++ кроссплатформенно. Продолжение - Алексей Ткаченко
Обработка списков на C++ в функциональном стиле - Вадим Винник
Заглядываем под капот «Поясов по C++» - Илья Шишков
Ускорение сборки C++ проектов, способы и последствия - Александр Жоров
C++ CoreHard Autumn 2018. Знай свое «железо»: иерархия памяти - Александр Титов
Actors vs CSP vs Tasks vs ... - Евгений Охотников
Debug C++ Without Running - Anastasia Kazakova

Слайды докладов можно найти здесь

 

eao197
()

Restyaboard 0.6.4

Новости — Open Source
Группа Open Source

Restyaboard — это Trello-подобная канбан-доска на PHP. Выпускается под двойной лицензией — OSL 3.0 и коммерческой.

Restyaboard поддерживает несколько организаций, внутри них список дел. Карточка дела может иметь обсуждение. К карточке можно прикреплять изображения и прочие вложения. Карточке можно назначать текстовые метки (теги). Карточки распределяются по категориям типа «Сделать», «В работе», «Сделано». Категории представляются в виде вертикальных столбцов. Карточки перетаскиваются между категориями drag'n'drop'ом, также есть возможность сделать перенос через меню действий.

Улучшения в этой версии:

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

Важные исправления:

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

Обновление:

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

Важные ссылки:

>>> Restyaboard

>>> Демо

>>> Google-группа/форум Restya

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

>>> Дружелюбный перечень изменений

 ,

bodqhrohro_promo
()

Дешёвый VPS под OpenVPN

Форум — Admin

Привет всем. Тема наверно уже сотню раз обсосана, но тем не менее. Нужен самый дешманский VPS какой только в принципе возможен (100 рублей/месяц было бы классно), на котором можно поднять VPN без последствий (бан от хостера). Пока в качестве вариантов рассматриваю Arubacloud, но слышал что там нужно отсылать скан паспорта, чтобы не платить лишнее, и Айхор Хостинг. В общем, жду совета.

 , , ,

Sunderland93
()

Осиливаем DXVK в вайн, запуск любых DX11 игр в вайн без тормозов

Форум — Games

0. последние драйвера нвидии (пользователям АМД земля пухом)
1. Ставим ОБЫЧНЫЙ(НЕ СТАГИНГ) wine-3.7
2. Идем сюда https://github.com/doitsujin/dxvk/releases/tag/v0.50
3. качаем dxvk-0.50.tar.gz
4. запускаем (объявив вайн префикс если нужно) x64 или x32 в зависимости от вайна setup_dxvk.sh

ВСЕ РАБОТАЕТ ничего больше делать не нужно

если ФПС СЛИШКОМ НИЗКИЙ:
запускать с
__GL_NextGenCompiler=0

Что еще может быть причной НИЗКОГО ФПСА

Вайн без «эмуляции рабочего стола» и «оконный режим» игры, ФПС будет очень низкий, поставьте «эмуляцию рабочего стола» в настройке Вайн

(дальше специфические проблемы, редко возникают и почти незаметныы)
Ваш ДЕ конфликтует с Вулканом, я встречал это на XFCE(вплоть до зависания иксов) где ФПС до 50% ниже чем OpenGL
(на чистых иксах ФПС в вулкане ниже чем в гноме3)
предполагаю множество проблем в «минималистичных DE» где рендеринг непонятно как сделан
в Gnome3 в вулканом нет никаких проблем

другие программы использующие иксы/vdpau/opengl
запуск «некоторых» шейдеров в OpenGL паралельно Вулкану будет давать стабильный краш вулкана
хром со включенным видео на сайте, одновремено видеоплеер использующий vdpau, вулкан будет рандомно крашиться
после использования NVENC вулкан может либо не стартовать вообще либо ФПС упадет в десятки раз
Thunderbird очень силько конфликтует с вулканом по какойто причине(даже закрытый в трее без окна)
...и прочее, лучше закрыть все перед запуском

 , ,

missxu
()

Достаточный уровень английского для путешествий

Форум — Talks

Хотел этим летом куда-то съездить, но всё накрылось медным тазом до следующего года. И чтобы времени зря не терять захотелось прокачать английский до уровня свободной беседы с носителями языка. Причём делать это хочется из любого состояния (хоть под веществами).

Сейчас имею A2 уровень (бумажка есть) и ~3900 словарного запаса. Хочется за годик подняться до B1/5-6к слов и начать легко понимать устную речь (сейчас с этим сложно). Если чтобы поднять свой уровень и словарный запас надо надо курить грамматику/читать книжки на английском/etc, то как воспринимать на слух хорошо? Смотреть фильмы на английском без русских субтитров очень сложно (вообще ничего не понимаю практически), а с субтитрами тупо начинаешь их читать и не слушаешь речь вообще. Попасть в англоязычную среду не представляется возможным. Как быть?

 ,

FluffyPillow
()

Посоветуйте IDE + билиотеки под STM32 на C/C++

Форум — Development

Я в курсе про CubeMX, но это только драйверы, а у проекта чуть больше задач:

- пакетный менеджер для библиотек (чтобы не копировать ручками)
- библиотеки uart, LCD (хз, как выбрать качественные и поддерживаемые)
- какое-то совсем примитивное подобие async/await и эвентов, можно через «псевдо-rtos». Грубо говоря, чтобы проверка состояния кнопки с контролем дребезга выглядела как линейный код, а не FSM.
- IDE (?).

С виду platform.io - «прям то што хотел». Но когда начал копать - запутался в библиотеках и погиб. Там протухшая свалка какая-то. Искать актуальные версии терпения не хватило, пошел плакаться сюда :)

Напишите кто пилит под stm32, как нынче можно организовать разработку модного молодежного проекта. Он rust пришлось временно отказаться, но хочется хотя бы на плюсах или си сделать так чтобы не стыдно было.

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

 

Vit
()