Developer (Component development group, Multimedia team)
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
О проекте:
KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, способная успешно конкурировать на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов.
Об отделе:
Разработкой KasperskyOS занимается отдел Secure Platform Development (SPD), состоящий из нескольких групп, которые отвечают за микроядро ОС, драйверы, системные компоненты, подсистему безопасности, средства виртуализации, а также обеспечивают непрерывный контроль качества разработки. Сейчас у команды много новых, интересных и сложных задач, так что она продолжает расти.
О группе:
Группа отвечает за реализацию программной и аппаратной поддержки 2D и 3D графики (DRM/KMS, Mesa, OpenGL, OpenGL ES, Vulkan , Wayland, WebGL) и компонентов обработки и отображения видео и звука (GStreamer, FFmpeg, ALSA, PulseAudio, PipeWire), в том числе с использованием аппаратных и программных средств (LLVM) ускорения.
Задачи:
- Реализация инфраструктуры DRM/KMS;
- Реализация поддержки OpenGL/OpenGL ES/Vulkan в KasperskyOS с использованием MESA;
- Реализация поддержки WebGL для Chromium;
- Реализация поддержки видео стека;
- Реализация поддержки звукового стека;
- Портирование open source и разработка собственных компонентов: инфраструктуры и протоколов оконного композитинга (Wayland based, собственный композитор), видео кодеков (GStreamer);
- Прототипирование прикладных решений, написание тестов, в том числе для оценки производительности;
Что требуется от кандидата:
- Отличное знание языков программирования С,C++;
- Знание базовых принципов построения современных операционных систем (особенно в части графического/видео/звукового стека);
- Опыт многопоточного программирования;
- Знание классических алгоритмов и структур данных;
- CMake, Make, Git;
Желательно:
- Опыт работы с MESA или иными имплементациями OpenGL/OpenGL ES/Vulkan;
- Опыт работы с ALSA, PulseAudio или PipeWire;
- Опыт работы с GStreamer/FFmpeg/VLC или иными аудио/видео кодеками;
- Опыт работы с композиторами и протоколами композитинга (Wayland, Weston, Cage и т.п.);
- Опыт работы с Buildroot;
- Опыт кроссплатформенной разработки.