Wayland jak ustawić niestandardową rozdzielczość

15

Stary tytuł - „zmień rozdzielczość na 1280x1024 za pomocą xrandr daje: X Błąd nieudanego żądania: BadValue (parametr liczby całkowitej poza zakresem do działania)”

Zainstalowałem świeżego Ubuntu 17.10 i mam monitor o rozdzielczości 5: 4. ustawienia nie mają rozdzielczości wyższej niż 1024 x 768. Ale potrzebuję rozdzielczości 1280x1024 (5: 4). Używam domyślnej karty graficznej płyty głównej:

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

Również xrandr daje:

$ 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*+

Próbowałem dodać rozdzielczość 1280x1024 przy użyciu xrandr. więc najpierw utworzyłem informacje o rozdzielczości za pomocą 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

Następnie dodano do rezolucji:

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

następnie ponownie wykonał polecenie: xrandr --addmode XWAYLAND0 1280x1024_60.00

Wtedy nic się nie zmieniło. Kiedy próbowałem to zmienić, xrandr --output XWAYLAND0 --mode 1280x1024_60.00 --rate 60ale wystąpił błąd:

$ 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

Nie wiem co zrobiłem źle. Lub jak zmienić rozdzielczość na prawidłową: 1280x1024

Mohammad Etemaddar
źródło
3
Nie można używać xrandr do zarządzania fizycznym wyświetlaniem w Wayland. Spróbuj się wylogować i wybrać sesję Ubuntu (Xorg) na ekranie logowania i sprawdź, czy możesz tam zmienić rozdzielczość. Jeśli monitor jest podłączony kablem VGA lub nie podaje prawidłowych informacji EDID, zmiana rozdzielczości w Wayland może być obecnie niemożliwa.
dobey,
1
@dobey, co wtedy jest używane na Wayland?
George Udosen
2
@George Nie sądzę, że można obecnie przymusowo ustawić niestandardową rozdzielczość w Wayland. Gdybym wiedział jak, opublikowałbym odpowiedź.
dobey,
2
@Mohammad - Czy mogę zmienić tytuł pytania na „Jak ustawić niestandardową rozdzielczość w Wayland”?
Panther
Zapisałem twój oryginalny tytuł i w razie potrzeby mogę go przywrócić.
Panther,

Odpowiedzi:

10

Możesz spróbować ustawić niestandardową rozdzielczość z Wayland z pewnym wysiłkiem i mieszanymi rezultatami.

Prawdopodobnie powinieneś zacząć od złożenia raportu o błędzie, w tym karty graficznej i monitora (monitorów), w stosunku do Wayland

Jak zgłosić błąd?

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


Dodanie niestandardowej rozdzielczości

xrandr NIE będzie działać z Waylandem !!

Możesz spróbować dodać niestandardową rozdzielczość za pomocą modlina, podobnie jak w przypadku xrandr, ale z kilkoma dodatkowymi krokami.

Po pierwsze, nie jestem pewien, czy to działa z bezpiecznym uruchomieniem, więc radzę zacząć od wyłączenia bezpiecznego rozruchu

Od https://ask.fedoraproject.org/en/question/99867/how-to-add-a-custom-resolution-to-weyland-fedora-25/ i https://wiki.archlinux.org/index. php / Kernel_mode_setting # Forcing_modes_and_EDID

Najpierw musisz sklonować generator edid . Następnie możesz przekazać mu swoją modelkę (z tymi samymi argumentami, które podałeśxrandr --newmode

Od https://github.com/akatrevorjay/edid-generator

Zainstaluj wymagania

sudo apt install zsh edid-decode automake dos2unix

Pobierz i rozpakuj

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

Plik binarny znajduje się w ~ / edid-generator-master as modeline2edid

Uruchom modeline2edidze swoim modułem, korzystając z przykładu w linku 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

Zmodyfikuj to polecenie do żądanej rozdzielczości.

Zobacz Jak ustawić niestandardową rozdzielczość? po szczegóły (w razie potrzeby)

Następnie wygeneruj edid binarny z make

make #output not posted

W 3840x2160.bintym przypadku będziesz teraz mieć swój nowy plik .bin .

Teraz z The Arch wiki włącz niestandardową resoulution

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

Zmień 3840x2160.binna niestandardową rozdzielczość.

Uwaga: Jest już trochę niestandardowych plików .bin, możesz je zobaczyć z ls *.binNie jestem pewien, czy możesz ich używać bez marki, czy nie.

Przetestuj przez ponowne uruchomienie

Po ponownym uruchomieniu, edytuj linię jądra w grub, dodając

drm_kms_helper.edid_firmware=edid/3840x2160.bin

Zobacz Jak dodać parametr rozruchowy jądra? i https://wiki.ubuntu.com/Kernel/KernelBootParameters

Zejdź do linii zaczynając od linuxi dodaj drm_kms_helper.edid_firmware=edid/3840x2160.binna końcu linii poro quiet splash

Zakładając, że wszystko, co działa, uczyń to stałym

sudo nano /etc/default/grub

Dodaj niestandardową rezolucję

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

Zapisz swoją edycję Ctrl+x

aktualizacja grub

sudo update-grub

Uruchom ponownie i ciesz się swoją niestandardową rozdzielczością

Pantera
źródło
1
W przypadku problemów z .bindanymi wyjściowymi podczas dodawania , wyraźnie wskaż dane wyjściowe, do których chcesz dodać niestandardową rozdzielczość. Przykład: drm_kms_helper.edid_firmware=VGA-1:edid/your_edid.bin Źródło
apex39,
@ apex39 w Wayland nie ma czegoś takiego jak VGA-1(lub HDMI, DVI, DP itp.) Wyjście wideo - wszystko, co widzę, to XWAYLAND0/ XWAYLAND1/ itp. wyjścia wideo ...
Florian Castellane
Podczas mojej instalacji Fedory widziałem VGA-1wyjście wideo. Jednak zastąpienie go XWAYLAND0/ XWAYLAND1/ etc powinno wykonać tę samą pracę
apex39,
1
W moim przypadku nie działało. Testowałem jako opcję jądra. Najpierw stworzyłem 1280x1024_60.00.bin i dodałem do opcji jądra, próbowałem również z VGA-1: jak powiedział @ apex39. Ale nie zmienił rozdzielczości. Teraz mam Ubuntu 18.04.
Mohammad Etemaddar
czystym szaleństwem jest to, że nie można po prostu ustawić rozdzielczości ekranu: O
törzsmókus