LINUX.ORG.RU

Как повысить разрешение на 1366х768 до 1920х1080 или клонировать 1920х1080 наоборот?

 


0

1

Хочется — подключить телик по хдми1 и выставить нативное разрешение там, и чтобы дисплеи клонировались. Соответственно, на ноуте должно ненативное стоять.

Пробовал советы, но что-то не подходят

https://www.reddit.com/r/thinkpad/comments/2g933a/howto_scale_any_1366x768_di...

Пользовался этой инструкцией

После ввода

xrandr --output LVDS1 --panning 1920x1080 --scale 1.406x1.406

Экран ноутбука делится на 4 части, ничего не нажимается, курсор просто ходит

Минт 18-ый, проц i5, видеокарта есть АМДшка, но там сейчас хз что с драйверами.

Пытался сделать так, но ругается

abook@abook-notebook ~ $ gtf 1920 1080 60

  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

abook@abook-notebook ~ $ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
abook@abook-notebook ~ $ xrandr --addmode "1920x1080_60
> ^C
abook@abook-notebook ~ $ xrandr --addmode eDP1 "1920x1080_60"
xrandr: cannot find mode "1920x1080_60"
abook@abook-notebook ~ $ xrandr --addmode eDP1 "1920x1080_60.00"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  35
  Current serial number in output stream:  36


Последнее исправление: Dreamject (всего исправлений: 7)

--scale 1.41x1.41

Однако иксам это не нравится, например, мышь пускают в пределах реального разрешения.

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

Если скейл 2х2, при нативном разрешении, то экран делится на 4 монитора при сохранении разрешения.

Если скейл 1х1 при 1920х1080, то появляется прокрутка, когда к краю экрана проводишь, курсор есть, но ничего не нажимается.

Dreamject
() автор топика

pclk: 172.80 MHz

А твой монитор такую частоту держит? И вообще - повесь лог Xorg.0.log на pastebin.com. Чего это он на добавление режима ругается? А, и вывод xrandr --verbose тоже.

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

Хз, Интел старенький, Убунта, работало всегда.

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

eDP1, там опечатка

pclk: 172.80 MHz

Это хз что, автоматом ведь конфигурируется строка. В интернетах так же точно указано всё

Dreamject
() автор топика
Ответ на: комментарий от Dreamject

Это хз что, автоматом ведь конфигурируется строка. В интернетах так же точно указано всё

В интернетах все тупо получают эту строчку из gtf. И обычно не берут в голову, что там все эти цифры значат. Выкладывай все логи и выводы, что выше. Глянем.

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

Так... Это процесс добавления режима в терминале. Забавно, что утилита даже 1366х768 высчитать не может, округляет до 1368х768

http://pastebin.com/K8sM0Pb6

А это лог Xorg.0.log

http://pastebin.com/vJArZf3X

При этом добавление в HDMI1 работает успешно. Хотя всё перестаёт нажиматься, когда так делаешь (в смысле, ставишь 1368 на 768). Курсор есть, а вместо задника дисплея как будто картинка-скриншот того что было

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

А так добавится?

$ xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

$ xrandr --addmode eDP1 "1920x1080"

$ xrandr --output eDP1 --mode "1920x1080"
Zubok ★★★★★
()
Ответ на: комментарий от Dreamject

А это лог Xorg.0.log

Лог не помог - расшифровки EDID там нет почему-то.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok
abook@abook-notebook ~ $ xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
abook@abook-notebook ~ $ 
abook@abook-notebook ~ $ xrandr --addmode eDP1 "1920x1080"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  35
  Current serial number in output stream:  36
abook@abook-notebook ~ $ 


Не влияет включенность дисплея (если телик активным сделать, а встроенный выключить, тож самое)

Dreamject
() автор топика
Ответ на: комментарий от Dreamject

Да мне кажется, что режим по ограничениям выхода не проходит. И не пройдет, скорее всего. Почему-то из твоего EDID ограничения (pixel clock, horiz sync и vert refresh) программа parse-edid не выпарсивает. Вот надо разобраться. Эта ошибка в протоколе RandR обычно, когда режим не подходит для выхода:

┌───
    RRAddOutputMode
	output: OUTPUT
	mode: MODE
└───
	Errors: Output, Mode, Match

	'output' indicates which output is to be configured.

	'mode' specifies which mode to add. If 'mode' is not valid for
	'output', then a Match error is generated.

	This request generates OutputChangeNotify events.
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Вот пример, разрешение 1280х800.

К хдми успешно добавил и выставил, полёт нормальный, пропорции нарушены но всё ок. Но на ноут не получается.


abook@abook-notebook ~ $ gtf 1280 800 60

  # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
  Modeline "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync

abook@abook-notebook ~ $ xrandr --newmode "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
abook@abook-notebook ~ $ 
abook@abook-notebook ~ $ xrandr --addmode HDMI1 1280x800_60.00
abook@abook-notebook ~ $ xrandr --addmode eDP1 1280x800_60.00
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  37
  Current serial number in output stream:  38
abook@abook-notebook ~ $ xrandr
Screen 0: minimum 8 x 8, current 2646 x 800, maximum 32767 x 32767
eDP1 connected primary 1366x768+1280+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768      60.00*+
   1360x768      59.80    59.96  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   680x384       60.00  
   640x360       60.00  
HDMI1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080     60.00 +  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1280x1024     60.02  
   1360x768      60.02  
   1280x800      60.00* 
   1152x864      75.00  
   1280x720      60.96    60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
   720x400       70.08  
   1280x800_60.00  60.00  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
abook@abook-notebook ~ $ 
Dreamject
() автор топика
Ответ на: комментарий от Zubok

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

Dreamject
() автор топика
Ответ на: комментарий от Dreamject

У EDID напрочь отсутствуют диапазоны частот. Так что, никакой режим ты не сможешь добавить. Я думаю, что он максимум 70 МГц держит, а все, что больше - ошибка.

Скажи, а в твоем логе эта строчка последняя вообще?

[  1768.240] (II) intel(0): Modeline "1366x768"x0.0   70.00  1366 1402 1450 1492  768 771 776 782 -hsync -vsync (46.9 kHz eP)
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Кароч блин, получилось кое-что, но фигня получилась. Установил фб, смасштабировал через xrandr, в итоге тормоза и тиринг, хотя лаптоп клонирует телик, это да

Dreamject
() автор топика
Ответ на: комментарий от Dreamject

Ещё одно «получилось», со своими преимуществами и недостатками — склонировать изображения, но на ноутбуке будет видна лишь часть, пока мышку не поднесёшь к краю. Недостатки — видна только часть, а преимущества — нет тиринга жоского

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

Кому надо —

xrandr --output eDP1 --fb 1920x1080 --panning 1920x1080* --output HDMI1 --mode 1920x1080 --same-as eDP1

Примерно так.

Паннинг не устраивает (надо мышь подводить к краю)

xrandr --output eDP1 --scale-from 1920x1080

Тормоза не устаривают

xrandr --output eDP1 --scale-from 1366x768

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

Это всё что можно сделать? Как я понял, программное решение, когда не только копируется паннингом, но ещё и программно уменьшается масштаб, слишком затратно для графики или проца.

Или хардварно установить неподдерживаемое разрешение нельзя?

Dreamject
() автор топика
Ответ на: комментарий от Dreamject

Это всё что можно сделать? Как я понял, программное решение, когда не только копируется паннингом, но ещё и программно уменьшается масштаб, слишком затратно для графики или проца.

Я думаю, что да. Я так заглянул в код драйвера intel. Если типа выхода - panel, то он проверяет режим на непревышение разрешения панели:

Проверка при добавлении режима в RandR

RROutputAddUserMode(RROutputPtr output, RRModePtr mode)
{
    ...
    /* Check with the DDX to see if this mode is OK */
    if (pScrPriv->rrOutputValidateMode)
        if (!pScrPriv->rrOutputValidateMode(pScreen, output, mode))
            return BadMatch;
    ...
}

Реальная проверка осуществляется уже в драйверах. В данном случае sna, но такая же и в uxa есть, и в modesetting. И в других драйверах тоже.

sna_output_mode_valid(xf86OutputPtr output, DisplayModePtr mode)
{

        /*
         * If the connector type is a panel, we will use the panel limit to
         * verfiy whether the mode is valid.
         */
        if (sna_output->has_panel_limits) {
                if (mode->HDisplay > sna_output->panel_hdisplay ||
                    mode->VDisplay > sna_output->panel_vdisplay)
                        return MODE_PANEL;
        }

}

HDisplay и VDisplay - это твои 1920 на 1080. Тебе будет даваться отлуп на добавление такого режима.

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

К тому же, Intel не умеет делать downscale. Ситуация так обстоит: панели на LVDS и eDP имеют фиксированное разрешение, а внешние мониторы имеют на борту скалеры, поэтому они могут принять нестандартное разрешение, скалер их сожмет или растянет к нативному и выведет. Иногда GPU умеет делать upscale и даже иногда downscale. но вот в случае с Intel, я так понимаю, сжатия нет (https://communities.intel.com/thread/102428), поэтому попытка дать большое разрешение отклоняется:

https://raw.githubusercontent.com/torvalds/linux/master/drivers/gpu/drm/i915/...

	if (is_edp(intel_dp) && fixed_mode) {
		if (mode->hdisplay > fixed_mode->hdisplay)
			return MODE_PANEL;

		if (mode->vdisplay > fixed_mode->vdisplay)
			return MODE_PANEL;

		target_clock = fixed_mode->clock;
	}

Твоя панель работает в fixed_mode, поэтому отлуп.

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

И правда) Например, 1024х600 я добавил и нормально установилось на монитор

Dreamject
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.