LINUX.ORG.RU

сделать изображение на мониторе вдвое больше, в том числе для wine

 , , ,


3

2

ПРЕЖДЕ ВСЕГО, В ВЕРСИИ 1.5.1 ЕСТЬ ПАРАМЕТР:

--filter nearest

Для версии 1.5.0 - пусть тут будет, раз уж я в этом разобрался.

Смысл - есть старая программа, в которой шрифты прорисованы «пиксел в пиксел», но мелкие. На современном экране смотреть на это без слёз невозможно. Если уменьшить разрешение или масштабировать экран с помощью xrandr, то всё выглядит размазанным. Задача - как сделать неразмазанным?

Решение для Ubuntu 16.04 - по мотивам вот этого:

https://forums.linuxmint.com/viewtopic.php?t=159064

$xranrd --version 
1.5.0

$cd ~
$git clone git://anongit.freedesktop.org/xorg/app/xrandr
$cd xrandr
$git tag -l 
$git checkout tags/xrandr-1.5.0

В файле ~/xrandr/xrandr.c комментируем в двух местах вот такой фрагмент.

	    if (sx != 1 || sy != 1)
		output->transform.filter = "bilinear";
	    else

Получается так:

	    //if (sx != 1 || sy != 1)
		//output->transform.filter = "bilinear";
	    //else

Теперь фильтр всегда будет «nearest» и тем самым xrandr откажется от светлой идеи размазывать наши удвоенные пиксели.

sudo apt-get install build-essential autoconf xutils-dev libxrandr-dev
./autogen.sh
./configure
make

Дальнейшее - это мой пример скрипа настройки, для вас он не подойдёт - делайте его с помощью arandr, который создаст шелл-скрипт для установки разрешения примено следующего содержания:

#/bin/sh
~/xrandr/xrandr --output HDMI-3 --mode 1920x1080 --primary --scale 0.5x0.5 
Главное тут - поставить масштаб 0.5x0.5. Как результат - каждый пиксел изображения будет занимать 2х2 пиксела на экране, без всякого размазывания.

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

★★★★★

Что за программа? Шрифты конфигурируются? Через что? X ресурсы поддерживает? Прописать фонт побольше. Тогда и размер элементов станет больше. Должен, по идее.

Zubok ★★★★★ ()

Да, и на всякий случай: пока что масштабирование старых приложений с битмапными шрифтами не реализовано, но Кит Пакард это дело придумал как сделать [1], но вот в иксах этого нет. Поэтому сейчас вариант - это только шрифт увеличить, а что в итоге получится - ХЗ.

https://keithp.com/blogs/window-scaling/

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

Программа - A2, которая может запускаться как приложение.

Это баг в лоркоде что ли?

[url=ru.wikipedia.org/wiki/A2_(операционная_система)]A2[/url]
den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от Zubok

В ней никак на данный момент. Т.е. кое-как. Но на самом деле у меня не проблема, а решение :) Просто под рукой нет доступа к другим местам, куда я обычно такие вещи пишу.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Если я правильно понял, то ты предлагаешь использовать другой менеджер окон ради этой задачи. Я забыл упомянуть, что я сейчас гоняю старую версию, которая вообще запускается под wine. Под Linux запилили гораздо позже.

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

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от den73

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

Включаешь freely transformab windows, меняешь размер, ругаешься с того, какое оно кривое, пишешь нормальный плагин.

crutch_master ★★★★★ ()

Задача - как сделать неразмазанным?
xrandr --output HDMI-3 --mode 1920x1080 --primary --scale 0.5x0.5

Зачем патчить исходники, если в xrandr есть параметр --filter?

xrandr --output HDMI-3 --mode 1920x1080 --filter nearest --primary --scale 0.5x0.5
И это не тайные сакральные знания, в man'е все написано.

anonymous ()
Ответ на: комментарий от den73

какая у тебя версия xrandr? В моей 1.5.0 этого нет.

xrandr -v

xrandr program version       1.5.1
Server reports RandR version 1.5

Ага, так и есть — https://lists.x.org/archives/xorg-announce/2019-August/003018.html: Aaron Plattner (1): man: Document the new --filter option

Не совсем вчера версия вышла.

anonymous ()