web-dev-qa-db-fra.com

Wayland comment définir une résolution personnalisée

Ancien titre - "Changer la résolution en 1280x1024 en utilisant xrandr donne: X Erreur de la requête en échec: BadValue (paramètre entier hors de la plage de fonctionnement)"

J'ai installé une nouvelle Ubuntu 17.10 et un moniteur avec une résolution de 5: 4. settings n'a pas de résolution supérieure à 1024x768. Mais j'ai besoin de la résolution 1280x1024 (5: 4). J'utilise la carte graphique par défaut de la carte mère:

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

Aussi xrandr donne ce qui suit:

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

J'ai essayé d'ajouter la résolution 1280x1024 en utilisant xrandr. donc d'abord créé les informations de résolution en utilisant 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

Puis ajouté aux résolutions:

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

puis à nouveau fait la commande: xrandr --addmode XWAYLAND0 1280x1024_60.00

Puis rien n'a changé. Quand j'ai essayé de le changer en utilisant xrandr --output XWAYLAND0 --mode 1280x1024_60.00 --rate 60 Mais une erreur est survenue:

$ 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

Je ne sais pas ce que j'ai mal fait. Ou comment changer la résolution à la bonne: 1280x1024

13

Vous pouvez essayer de définir une résolution personnalisée avec wayland avec quelques efforts et des résultats mitigés.

Vous devriez probablement commencer par déposer un rapport de bogue, incluant votre carte graphique et votre (vos) moniteur (s), contre wayland

Comment signaler un bogue?

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


Ajout d'une résolution personnalisée

xrandrne fonctionnera PAS avec Wayland !!

Vous pouvez essayer d’ajouter une résolution personnalisée à l’aide de votre ligne de base, comme vous le feriez avec xrandr, mais avec quelques étapes supplémentaires.

Premièrement, je ne suis pas sûr que cela fonctionne avec le démarrage sécurisé, je vous conseille donc de commencer par Désactiver le démarrage sécurisé

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

Tout d'abord, vous aurez besoin de cloner edid-generator . Ensuite, vous pouvez lui passer votre modeline (avec les mêmes arguments que vous avez donnés xrandr --newmode

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

Exigences d'installation

Sudo apt install zsh edid-decode automake dos2unix

Télécharger et extraire

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

Le binaire est dans ~/edid-generator-master en tant que modeline2edid

Exécutez modeline2edid avec votre modline, en utilisant l'exemple du lien 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

Modifiez cette commande à la résolution souhaitée.

Voir Comment définir une résolution personnalisée? pour plus de détails (si nécessaire)

Générez ensuite le binaire edid avec make

make #output not posted

Vous allez maintenant avoir votre nouveau .bin, 3840x2160.bin dans ce cas.

Maintenant, à partir de The Arch wiki activer votre resoulution personnalisée

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

Changez 3840x2160.bin en votre résolution personnalisée.

Remarque: Certains fichiers .bin personnalisés sont déjà inclus. Vous pouvez les voir avec ls *.bin. Je ne sais pas si vous pouvez les utiliser sans marque ou non.

Testez en redémarrant

Lorsque vous redémarrez, éditez la ligne du noyau dans grub, en ajoutant

drm_kms_helper.edid_firmware=edid/3840x2160.bin

Voir Comment ajouter un paramètre de démarrage du noyau? et https://wiki.ubuntu.com/Kernel/KernelBootParameters

Descendez à la ligne commençant par linuxet ajoutez drm_kms_helper.edid_firmware=edid/3840x2160.bin à la fin de la ligne après ro quiet splash

En supposant que tout fonctionne, rendez-le permanent

Sudo nano /etc/default/grub

Ajouter dans la résolution personnalisée

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

Enregistrez votre modification Ctrl+x

mettre à jour grub

Sudo update-grub

Redémarrez et profitez de votre résolution personnalisée

9
Panther