LINUX.ORG.RU

Сообщения Fizzika

 

Будни арчевода

Галерея — Скриншоты

На постановочной картинке (основанной на реальных событиях) представлено типичное занятие современного арчевода, имевшего (не)счастье купить себе дорогую игрушку. После очередного обновления системы, нвидиевский блоб решил отрубить регулировку power limit карточки, и дорогая 100ваттная красавица превратилась в 60ваттную скромницу, а nvidia-smi упорно твердил, что он мол знать не знает как поднять мощность на этой карте.

Ну чтож, зайдя на сайтик нвидии, я в очередной раз убедился в гениальности арчеводов - они притащили в апстрим «new feature» ветку дров нвидии, вместо использование стабильной «production». Ну, не беда, будем откатываться!

Атомарно даунгрейдится с archive.archlinux.org мы не будем - пусть этим занимаются любители навернуть НИХа, отдельно откатывать драйвер вместе с ядром мы тоже не будем - пусть этим занимаются убунтоводы. Мы, как истинные рачеводы, легких путей не ищем - мы пойдем и соберём старый нвидиевский блоб под новое ядро с помощью такой крутой штуки как dkms.

Собственно, на скриншоте это и представлено. Клонируем нужную ветку гит-репы с рачепакетами, заходим в нужную директорию, откатываем PKGBUILD на пару коммитов назад, и легко и непринужденно с помощью makepkg -si собираем и устанавливаем старый блоб. Ну и не забываем потом собрать ещё парочку пакетов %) Осталось только перезагрузится, убедиться что всё работает, и добавить блоб в IgnorePkg.

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

Оформление цветов в i3 - закос под gruvbox. Использую её как цветовую схему в i3, dunst, neovim, vifm, vscode, idea, gtk и qt. Короче - практически по всей системе. Как по мне - достаточно приятная темная палитра, в меру контрасная.

Шрифты в WM и редакторах кода - JetBrainsMono.

Статус-панель: стандартный i3bar + i3status, мои потребности полностью покрывает. Единственное, что необычного тут можно заметить - текстовый индикатор раскладки, который выводится и обновляется с помощью двух самописных скриптов и какой-то матери.

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

Для запуска программ, менеджинга окон, управления монтированием, а также для простых вычислений используется rofi. Настройка wifi/bluetooth - через консольку, благо с тем же iwctl и bluetoothctl всё настраивается просто мгновенно, с красивым комплишеном и автообновлением.

Редактор кода для конфигов - neovim. Превращать его в IDE пока не планирую, для разработки на жабе использую IDEA с ideavim.

Файловый менеджер - vifm. Перешел на него с ranger, и по сравнению с тем питоновским поделием он просто летает, функциональности нужной мне в нём больше, да и подход к взаимодействию у него более VIMовский чтоли. Пользуясь случаем, передаю большое спасибо @xaizek.

Терминал - kitty (fish shell), браузер - firefox, музыкальный плеер - quodlibet, обоина на рабочем столе - по мотивам игры hollow knight, недавно наконец-то победил лучезарность %)

Из полезных утилит:

  • playerctl + playerctld - поддержка MPRIS, позволяет иметь один интерфейс для play/pause/next/prev любой играемой музыки, будь то локальные треки в quodlibet или вкладка с яндекс-музыкой.
  • maim - скриншотер, лучшая альтернатива scrot, которая не портит скриншоты рамкой обводки.
  • brightnessctl - управление яркостью дисплея.
  • gxkb - переключалка раскладки, которая помнит последнюю раскладку для каждого окна и автоматически переключает её при фокусе.
  • picom - композитор, единственная задача которого дать нормально жить gtk4 барахлу. Всё остальное нормально работает и без него
  • gamemoderun - тулза, которая отключает композитор при запусках игрушек
  • MY_COOL_SCRIPTS.sh - отборная коллекция велосипедов, без которых ничего не работает.

>>> Просмотр (1920x1080, 395 Kb)

 , ,

Fizzika
()

i3 4.22

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

Разработчики i3wm порадовали нас новым новогодним релизом!

Главным новвоведением стало слияние кодовой базы популярного форка i3-gaps с апстримом. До релиза 4.22 окна могли находится только вплотную к другим окнам или границе экрана, теперь же есть возможность установить размеры пустого пространства между окнами и краями экрана. Конфигурация аналогична таковой в i3-gaps. Пример

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

>>> Подробности

 ,

Fizzika
()

i3wm: Отображение и скрытие иконок в трее по шорткату

Статьи — Desktop

(Если не воспроизводится гифка, кликните по ней)

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

 , i3bar, ,

Fizzika
()

Ивенты о логине/логауте

Форум — Development

Делаю программу для родительского контроля на Python

Хотел бы узнать, есть ли способ как-то получать (может через dbus) ивенты о логине и логауте пользователей.

Сейчас у меня на этом месте костыль с 15секундным опросом и парсингом вывода users, в принципе всё работает, но есть идея довести программу до нормального состояния и выложить в открытый доступ, потому что нормальных для себя аналогов я так и не нашел.

 ,

Fizzika
()

Посоветуйте книг для армейки

Форум — Talks

Скоро осенний призыв, и я с большой вероятностью отправляюсь мести ломом асфальт.

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

О себе: закончил в этом году 4 года профильной вышки, пишу на работе на джава/спринг. Знания алгоритмов базовые (чому в универе научили), МЛ не знаю, кроме джавы ориентируюсь в c/c++

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

Сам пока думаю взять «Грохаем алгоритмы», но одной книжки наверное будет мало. Всякую классику вроде банды четырех пока трогать не хочется, у меня пока просто нет соответствующего опыта.

Фундаментальные штуки по CS в универе читал (того же Танненбаума)

 ,

Fizzika
()

Интересные особенности при вводе пароля

Форум — General

Не первый раз уже замечаю, и в разных операционных системах (linux, mac os)

Когда я ввожу корректный пароль (при входе в систему, или когда я дергаю команду через sudo), то пароль быстро (практически мгновенно) верифицируется и происходит желаемое действие.

Когда же я ввожу неверный пароль, система думает около секунды (а то и две), и только тогда сообщает, что пароль неверный.

Кто знает, с чем это может быть связано?

 , ,

Fizzika
()

Выбора смартфона тред

Форум — Talks

Привет, ЛОР! В данный момент являюсь счастливым обладателем Redmi 4 Prime, но понимаю, что 3GB оперативы и 625 снап уже не тянут в новом 2021, поэтому хочу взять новый смартфон.

Но так унязапна оказалось, что для индустрии чуваков типа меня совершенно не существует - ничего удовлетворяющего требованиям я найти не смог, поэтому пришёл просить совета на ЛОРе.

Итак, мои основные требования:

  • 4/64 и выше, 4k mah и выше, Snap 665 и выше
  • Металл корпус (чехол я носить не собираюсь)
  • Телефон должен нормально помещаться в руке (чем меньше лопата, тем лучше)
  • Наличие коммунити, которое будет пилить кастомные прошивки на основе AOSP. Нормальная работа этих самых кастомных прошивок.
  • Камера: чем хуже - тем лучше. В идеале должна быть затычка, которая не будет выпирать из корпуса. В крайнем случае должна быть расположена по центру, чтобы телефон хотя бы на стол можно было положить и пользоваться
  • Сканер отпечатка

Линукс тут притом, что андроид это он самый и есть %)

 ,

Fizzika
()

Java джун познаёт мир

Форум — Development

Работаю больше 4 месяцев джуном на джаве (spring-boot, hibernate), познаю кровавый интерпрайз. Пока легаси поддерживать не кидали, пилю новый функционал на проектах.

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

Getters/Setters

Постоянно в дтошках вижу одну и туже картину. Куча private полей, и к каждому из них геттер и сеттер. Больше ничего в классе нету. Я не понимаю, нафига строить тут типа «инкапсуляцию», если класс ничего семантически не инкапсулирует? Почему бы не сделать просто public филды?

Lombok

Крутая штука, но некоторые её до жути боятся и продолжают генерировать шаблонный код. Из трёх проектов, в которых я писал код, в двух ломбока не было и всё надо было делать руками (да, нажать биндинг для генерации в idea - тоже, считай, руками). Кроме того ломбок предоставляет @RequiredArgsConstructor, который в спринг-бинах просто мастхэв

Любовь к старым технологиям

Во всех трёх проектах (и это не легаси говно, с нуля все написаны в 2020) используется java 8. Почему не 9, где для optional подвезли нормальные методы? Почему вообще у чуваков такая тяга к старым технологиям? В новой джаве вот уже рекорды добавили, чтобы без ломбока и прочего жить нормально, так не, мы продолжим сидеть на 8, в худше случае и без ломбока.

И это не только с версией джавы, на проектах (новых!) используется версия querydsl 3.x, поддержка которой давно закончилась. Понятно, что в 4.x поломали совместимость, но неужели разобраться с этим это прям такое запарное дело?

Ехал singleton через singleton или процедурное программирование

По сути в архитектуре веб-приложухи на джаве нету никакого ООП. Все Service-компоненты с бизнес-логикой это по сути просто набор процедур. Все объекты service-классов существуют в единственном виде как синглтон. По крайней мере, я так это понял. Dtoшки это вообще не класс, это просто классический record в виде си. Всё в итоге сводится к процедурному программированию, когда дтошки (читай - записи) суются в методы сервисов (читай - в процедуры), откуда вызываются другие методы (по сути те же процедуры).

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

Непонятные решения в БД и около её.

В лабах я привык использовать idшники в качестве PK, однако в реальном интерпрайзе везде uuidшники. Я погуглил, понял, что всё как-то связано с масштабированием и немного с безопастностью (если неавторизованные юзеры работают с сущностями), но в одном проекте у нас были и idшники, и uuidшники! Зочем?

Чейнджсеты ведутся в liquibase, причём все они хранятся в одном каталоги и инклюдятся в мастер-чейнджсет через includeAll. Нумеруются по принципу дата-айдишник-описание.xml. НО. Это же костыль! Если у меня в один день будет changeset в id=9 и с id=10, то 10ка попросту выполнится перед девяткой! Если уж использовать только числовые айди, то почему бы liquibase Не выполнять их по очереди?

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

 , ,

Fizzika
()

iwlwifi постоянно крашится при свитче gpu через nvidia-xrun

Форум — Linux-hardware

Hi. Возникла непонятная проблема, и самое интересное, что я не помню, когда она возникла.

ОС - Arch, обновлено по состоянии на 21.08.2020. Проблема была и на старой версии, это я обновился, чтобы проверить, не исправили ли.

  • 00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30) [02a4]

  • Linux 5.8.2-arch1-1.

  • Nvidia 450.57-11

  • Nvidia-xrun 0.3-0 (из аура)

При работе на интеловской графе всё отлично. Как только я логинюсь, переключаюсь через nvidia-xrun на дискретный гпу, пробую открыть любой урл, iwlwifi ломается.

[  493.417572] iwlwifi 0000:00:14.3: Queue 11 is active on fifo 1 and stuck for 10000 ms. SW [241, 27] HW [241, 27] FH TRB=0x0c010b000
[  493.417688] iwlwifi 0000:00:14.3: Microcode SW error detected. Restarting 0x0.
[  493.417775] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[  493.417779] iwlwifi 0000:00:14.3: Status: 0x00000040, count: 6
[  493.417782] iwlwifi 0000:00:14.3: Loaded firmware version: 46.8902351f.0 9000-pu-b0-jf-b0-46.ucode
[  493.417786] iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
[  493.417788] iwlwifi 0000:00:14.3: 0x008026F0 | trm_hw_status0
[  493.417791] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[  493.417793] iwlwifi 0000:00:14.3: 0x0048865E | branchlink2
[  493.417796] iwlwifi 0000:00:14.3: 0x00478C5A | interruptlink1
[  493.417798] iwlwifi 0000:00:14.3: 0x0000C3FE | interruptlink2
[  493.417800] iwlwifi 0000:00:14.3: 0x0001B20E | data1
[  493.417803] iwlwifi 0000:00:14.3: 0xFF000000 | data2
[  493.417805] iwlwifi 0000:00:14.3: 0xF0000008 | data3
[  493.417807] iwlwifi 0000:00:14.3: 0x4F01719E | beacon time
[  493.417809] iwlwifi 0000:00:14.3: 0xF6A9EE64 | tsf low
[  493.417812] iwlwifi 0000:00:14.3: 0x00000395 | tsf hi
[  493.417814] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[  493.417817] iwlwifi 0000:00:14.3: 0x01EE0D04 | time gp2
[  493.417819] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[  493.417821] iwlwifi 0000:00:14.3: 0x0000002E | uCode version major
[  493.417824] iwlwifi 0000:00:14.3: 0x8902351F | uCode version minor
[  493.417827] iwlwifi 0000:00:14.3: 0x00000312 | hw version
[  493.417829] iwlwifi 0000:00:14.3: 0x18C89008 | board version
[  493.417832] iwlwifi 0000:00:14.3: 0x0BF1001C | hcmd
[  493.417837] iwlwifi 0000:00:14.3: 0x80022002 | isr0
[  493.417839] iwlwifi 0000:00:14.3: 0x01000000 | isr1
[  493.417841] iwlwifi 0000:00:14.3: 0x08001802 | isr2
[  493.417844] iwlwifi 0000:00:14.3: 0x0041FCC5 | isr3
[  493.417846] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[  493.417848] iwlwifi 0000:00:14.3: 0x00B6019C | last cmd Id
[  493.417850] iwlwifi 0000:00:14.3: 0x0001B20E | wait_event
[  493.417853] iwlwifi 0000:00:14.3: 0x00000080 | l2p_control
[  493.417855] iwlwifi 0000:00:14.3: 0x00002020 | l2p_duration
[  493.417857] iwlwifi 0000:00:14.3: 0x0000003F | l2p_mhvalid
[  493.417860] iwlwifi 0000:00:14.3: 0x000000CE | l2p_addr_match
[  493.417862] iwlwifi 0000:00:14.3: 0x0000000D | lmpm_pmg_sel
[  493.417864] iwlwifi 0000:00:14.3: 0x02052033 | timestamp
[  493.417867] iwlwifi 0000:00:14.3: 0x00004040 | flow_handler
[  493.417912] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[  493.417915] iwlwifi 0000:00:14.3: Status: 0x00000040, count: 7
[  493.417917] iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
[  493.417920] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[  493.417922] iwlwifi 0000:00:14.3: 0xC0088BAA | umac branchlink2
[  493.417924] iwlwifi 0000:00:14.3: 0xC0084448 | umac interruptlink1
[  493.417927] iwlwifi 0000:00:14.3: 0xC0084448 | umac interruptlink2
[  493.417929] iwlwifi 0000:00:14.3: 0x01000000 | umac data1
[  493.417931] iwlwifi 0000:00:14.3: 0xC0084448 | umac data2
[  493.417933] iwlwifi 0000:00:14.3: 0xDEADBEEF | umac data3
[  493.417936] iwlwifi 0000:00:14.3: 0x0000002E | umac major
[  493.417938] iwlwifi 0000:00:14.3: 0x8902351F | umac minor
[  493.417940] iwlwifi 0000:00:14.3: 0x01EE0CF2 | frame pointer
[  493.417943] iwlwifi 0000:00:14.3: 0xC088627C | stack pointer
[  493.417945] iwlwifi 0000:00:14.3: 0x00B6019C | last host cmd
[  493.417947] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[  493.417966] iwlwifi 0000:00:14.3: Fseq Registers:
[  493.417975] iwlwifi 0000:00:14.3: 0x1210FDD5 | FSEQ_ERROR_CODE
[  493.417983] iwlwifi 0000:00:14.3: 0x00000000 | FSEQ_TOP_INIT_VERSION
[  493.417991] iwlwifi 0000:00:14.3: 0x5B5C82B4 | FSEQ_CNVIO_INIT_VERSION
[  493.417999] iwlwifi 0000:00:14.3: 0x0000A384 | FSEQ_OTP_VERSION
[  493.418008] iwlwifi 0000:00:14.3: 0x6674B4A0 | FSEQ_TOP_CONTENT_VERSION
[  493.418016] iwlwifi 0000:00:14.3: 0xCBDDF1FE | FSEQ_ALIVE_TOKEN
[  493.418024] iwlwifi 0000:00:14.3: 0x479810E8 | FSEQ_CNVI_ID
[  493.418033] iwlwifi 0000:00:14.3: 0x4FF3AFAA | FSEQ_CNVR_ID
[  493.418041] iwlwifi 0000:00:14.3: 0x01000100 | CNVI_AUX_MISC_CHIP
[  493.418052] iwlwifi 0000:00:14.3: 0x00000201 | CNVR_AUX_MISC_CHIP
[  493.418063] iwlwifi 0000:00:14.3: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[  493.418103] iwlwifi 0000:00:14.3: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[  493.418115] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 4 fired.
[  493.418124] ieee80211 phy0: Hardware restart was requested
[  493.919579] iwlwifi 0000:00:14.3: Conflict between TLV & NVM regarding enabling LAR (TLV = enabled NVM =disabled)

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

Если я с загруженными модулями нвидии переключусь на первый tty (где запущен Xorg на интеловских дровах), то всё магическим образом работает.

Быстрый гуглинг по теме ничего не дал.

 , ,

Fizzika
()

NVIDIA PRIME :: Чёрная рамка

Форум — Desktop

Добрый день, лор. Перешёл с nvidia-xrun на официальный поддерживаемый метод https://wiki.archlinux.org/index.php/PRIME#PRIME_render_offload

Всё работает замечательно, за исключением следующей проблемы: иногда проскакивает чёрная рамка вокруг контента, вот пример из браузера: https://i.imgur.com/pC0dLlZ.png

Можно ли это как-то исправить?

 , , ,

Fizzika
()

GP108 — Are you ofigely tam, NVIDIA?

Форум — Linux-hardware

Являюсь счастливым обладателем ноутбука с MX250 (она же GP108M)

Поигрывая в очередную онлайн-игрушку, хотел записать свой геймплей, но проклятый OBS всё никак не хотел дружить с NVENC (Хотя на прошлом ноуте с гораздно более старой и слабом 940MX всё работало).

Полез на сайт нвидии, и вижу такую прекрасную табличку. Сие чудо фактически единственное на архитектуре Pascal, которое имеет «no» по всем пунктам и не могёт в аппаратное кодирование видео.

Собственно, вопрос к ЛОРовским знатокам, там физически выпилен аппаратный блок, или это нвидия в своих блобах программно ограничивает возможности железа?

Если последнее, то можно ли с этим что-то сделать

 ,

Fizzika
()

Redmibook 14 + Linux

Форум — Linux-hardware

Собрался покупать сабж, но он поставляется только с 10 виндой, и в интернетах я не нашел никакой информации касательно его совместимости с линукс Может есть на форуме пользователи этого ноута

Заодно еще вопрос, я ниочень шарю в железе, и у сабжа проц i5-8265U, тактовая 1600, турбо 3900, смущает низкая тактовая частота. У меня на ноуте 2хлетней давности стоит i5 7200U с 2700 тактовой. Сильно просед по производительности почувствую?

Также может кто-то накидает альтернатив этому ноуту, требования: ссд, 8 оперативы, дискретная на уровне 150MX, вес не больше 2 кг (небольшой плюс-минус допустим), цена до 800 долларов

 , ,

Fizzika
()

Некоторые шрифты сломались

Форум — Desktop

Обновил рачик, вместе с ним обновился и terminus, который юзаю как шрифт терминала и бара

Собственно, результат: https://i.imgur.com/tYK8GVb.png

Пробовал:

  • Откатываться на старую версию через кеш пакмана
  • Ставить terminusmod из aur
  • Ставить terminus-cyrllic из aur

Ничего не помогает

Попробовал поиграться с другими шрифтами, adobe source code pro работает, так же как и anonymous, но вот с scientifica такие же проблемы, как и с terminus

 , ,

Fizzika
()

Простой и безпонтовый i3

Галерея — Скриншоты

Когда в первый раз поставил тайловый wm, сразу понял, что обратно в радужные миры xfce и *box я уже не вернусь. i3 я ставил первым тайловым, на нём и остался. Пробовал awesome, но ниасилил.

Весь процесс настройки заключался в перебинде некоторых клавиш (Закрывать окна по Mod+Shift+Q? Серьезно, кто до этого додумался, даже стандартное Alt+F4 лучше), настройке бара и рабочих пространств, и конфигурированию различных примочек, вроде терминала, шрифтов, гтк темы, и прочего, что во всех DE идет из коробки. Ну и ещё со временем подправил некоторые опции в конфиге, вроде smart-границы окон.

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

В качестве бара использую стандартные i3bar и i3status. Были выпилены всякие ненужные вещи, вроде ip адреса, и добавлена инфа о громкости и погоде. Последнюю тянет один чудесный скриптик на питоне, который я стянул у кого-то с гита.

Скрин с vim (там открыт конфиг i3) и neofetch

Шэ таки Гэ, потому что толкового мана для домохозяек по их настройке не нашел, а самому разбираться банально лень. Мож через месяц-другой созрею.

Огнелис с ЛОРом

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

>>> Просмотр (1920x1080, 399 Kb)

 ,

Fizzika
()

Глючат темы в moc

Форум — Desktop

Использую moc как плеер, все нравится, но вот такая дичь с временем присутствует при любой теме и не хочет убираться.

Скрин с темой darkdot: https://i.imgur.com/uiU5I07.jpg

Такое выделение у времени происходит только на проигрывающей песне.

 , ,

Fizzika
()

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