OpenBSD Восстановление удалённых драйверов видеокарт


OpenBSD 6.5 была последней версией системы с поддержкой драйверов S3, Trident, SiS, Cirrus Logic, Rendition и других. Сейчас при попытке запустить X.Org в современной системе, будет задействован VESA-режим. Возможно вам захочется использовать соответсвующий драйвер вместо VESA из-за таких возможностей как ускорение и высокие разрешения экрана. Данная статья показывает процесс восстановление драйвера в X.Org на примере S3 ViRGE DX.

Для начала нужно скопировать удалённый драйвер из архива xenocara.tar.gz релиза OpenBSD 6.5 с зеркала системы. Скопируйте сооветствующую папку драйвера (в нашем случае xf86-video-s3virge) из директории drivers. Далее, скачайте свежие исходники системы и Xenocara в виде .tar.gz-архивов и распакуйте их согласно инструкции.

Скопируйте папку драйвера в распакованную свежую версию исходников Xenocara в папку drivers. После этого, отредактируйте лежащий в этой папке Makefile, вписав название директории драйвера в строчку сборки под вашу архитектуру:

VIDEO_DRV_<архитектура> = \
...
xf86-video-s3virge

Попробуйте скомпилировать Xenocara (команды написаны в той же инструкции по ссылке выше). При успешной компиляции, установите сборку командой make install.

В случае с S3 ViRGE, компиляция была неудачной - из Xenocara были удалены две переменные. В коде driver.c удалите либо закомментируйте их упоминания — для работы драйвера их наличие не представляет необходимости:

pScrn->MaxHValue = 2048;
pScrn->MaxVValue = 2048;
После этой правки Xenocara успешно скомпилировалась.