Эквивалент Xrandr в Wayland? [дубликат]

Старый заголовок - «изменение разрешения на 1280x1024 с использованием xrandr дает: X Ошибка неудачного запроса: BadValue (целочисленный параметр вне допустимого диапазона для работы)»

Я установил свежий Ubuntu 17.10 и имею монитор с соотношением сторон 5: 4 разрешающая способность. settings не имеет разрешения выше 1024x768. Но мне нужно разрешение 1280х1024 (5: 4). Я использую видеокарту материнской платы по умолчанию:

# lspci|grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)

Также xrandr дает следующее:

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
XWAYLAND0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      59.92*+

Я попытался добавить разрешение 1280x1024 с помощью xrandr. поэтому сначала создал информацию о разрешении с помощью gtf:

$ gtf 1280 1024 60

  # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
  Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

Затем добавил к разрешениям:

xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

, затем снова выполнил команду: xrandr --addmode XWAYLAND0 1280x1024_60.00

Затем ничего не изменилось. Когда я попытался изменить его с помощью xrandr --output XWAYLAND0 --mode 1280x1024_60.00 --rate 60 Но произошла ошибка:

$ xrandr --output XWAYLAND0 --mode 1280x1024  --rate 60
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Value in failed request:  0x0
  Serial number of failed request:  21
  Current serial number in output stream:  22

Я не знаю, что я сделал не так. Или как изменить разрешение на правильное: 1280x1024

20
задан 6 November 2017 в 19:53

2 ответа

sudo $EDITOR /etc/default/grub

Найдите строку GRUB_CMDLINE_LINUX_DEFAULT , добавьте в конце кавычки (обычно после заставки ):

video=VGA-1:1920x1080@60

Замените VGA-1 с вашим выходом X (т.е. HDMI-1 , DVI-0 , DP-1 и т. Д.), Сохраните, выйдите из редактора, затем:

sudo update-grub

После перезагрузки grub сообщит вашему ядру, что все, что подключено к VGA-1 поддерживает 1920x1080 при 60 Гц. И Xorg, и Wayland получают эту информацию из ядра. Мне удалось запустить старый Samsung SyncMaster 2343NW в качестве второго экрана через адаптер DVI-D-SUB.

2
ответ дан 5 January 2021 в 22:26

Вы можете попробуйте установить собственное разрешение с помощью Wayland с некоторыми усилиями и неоднозначными результатами.

Вероятно, вам следует начать с подачи отчета об ошибке, включая вашу видеокарту и монитор (ы), в отношении Wayland

Как мне сообщить об ошибке?

https://help.ubuntu.com/community/ReportingBugs


Добавление специального разрешения

xrandr НЕ будет работать с Wayland !!

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

Во-первых, я не уверен, работает ли это с безопасной загрузкой, поэтому я советую вам начать с Отключение безопасной загрузки

From ] https://ask.fedoraproject.org/en/question/99867/how-to-add-a-custom-resolution-to-weyland-fedora-25/ и https: // wiki. archlinux.org/index.php/Kernel_mode_setting#Forc ing_modes_and_EDID

Сначала вам нужно клонировать edid-generator . Затем вы можете передать ему свою модель (с теми же аргументами, которые вы указали xrandr --newmode

Из https://github.com/akatrevorjay/edid-generator

Требования для установки

sudo apt install zsh edid-decode automake dos2unix

Загрузить & extract

wget https://github.com/akatrevorjay/edid-generator/archive/master.zip
unzip master.zip 
cd edid-generator-master

Двоичный файл находится в ~ / edid-generator-master как modeline2edid

Запустите modeline2edid со своей строкой мод, используя пример в ссылке askfedora,

./modeline2edid - <<< 'Modeline "3840x2160" 533.6 3840 3982 4027 4064 2160 2170 2180 2190 +hsync +vsync'
Searching for runaway unicorns in '/dev/stdin'
-- Found naughty unicorn: Modeline "3840x2160" 533.6 3840 3982 4027 4064 2160 2170 2180 2190 +hsync +vsync
Wrote 3840x2160.S

Измените эту команду на желаемое разрешение.

См. Как установить собственное разрешение? для подробностей (при необходимости)

Затем сгенерируйте двоичный файл edid с помощью make

make #output not posted

Теперь у вас будет новый .bin, 3840x2160.bin в данном случае.

Теперь из Arch wiki активируйте ваше индивидуальное разрешение

sudo mkdir /usr/lib/firmware/edid
sudo cp 3840x2160.bin /usr/lib/firmware/edid

Измените 3840x2160.bin на ваше индивидуальное разрешение.

Примечание: уже есть некоторые пользовательские .bin, вы можете увидеть их с помощью ls * .bin Я не уверен, можете ли вы использовать их без make или нет.

Протестируйте, перезагрузив

] Whe После перезагрузки отредактируйте строку ядра в grub, добавив

drm_kms_helper.edid_firmware=edid/3840x2160.bin

См. Как мне добавить параметр загрузки ядра? и https://wiki.ubuntu.com/Kernel/KernelBootParameters

Перейдите к строке, начинающейся с linux , и добавьте drm_kms_helper.edid_firmware = edid / 3840x2160.bin в конце строки после ro quiet splash

Предполагая, что все это работает, сделайте его постоянным

sudo nano /etc/default/grub

Добавьте в настраиваемое разрешение

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm_kms_helper.edid_firmware=edid/3840x2160.bin"

Сохраните изменения Ctrl + x

update grub

sudo update-grub

Перезагрузитесь и наслаждайтесь собственным разрешением

12
ответ дан 5 January 2021 в 22:26

Другие вопросы по тегам:

Похожие вопросы: