Skip to content

Commit

Permalink
Deploying to gh-pages from @ 28ac188 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
giulianopz committed Sep 14, 2023
1 parent 4a30e3a commit 4d83d29
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 16 deletions.
13 changes: 6 additions & 7 deletions 7-bonus-miscellanea/edid.html
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ <h2 id="how-to-fix-low-screen-resolution"><a class="header" href="#how-to-fix-lo
<p>In such cases, you can have to grab the EDID data from another pc connected to this monitor or online, if you are lucky enough to find it.</p>
<p>Firstly, you should verify that the graphic card(s) of your pc can match the recommended resolution of your monitor: typically, 1920x1080 at 60 refresh rate (a standard also know as 1080p, Full HD or FHD,). For Intel cards, see <a href="https://www.intel.com/content/www/us/en/support/articles/000023781/graphics.html">here</a>.</p>
<p>Once this is verified, you may try to just add the the intended resolution (let's tick to the default scenario, i.e. 1920x1080) with <a href="https://www.x.org/releases/X11R7.5/doc/man/man1/xrandr.1.html">xrandr</a>:</p>
<pre><code># show available resolutions for common display types (VGA, HDMI, etc.)
<pre><code class="language-bash"># show available resolutions for common display types (VGA, HDMI, etc.)
xrandr
# generate correct params for the target resolution
cvt 1920 1080 60
Expand Down Expand Up @@ -235,7 +235,7 @@ <h2 id="how-to-fix-low-screen-resolution"><a class="header" href="#how-to-fix-lo
</li>
</ul>
<p>Once you have it, use the first hexadecimal block at the beginning of the output of the command to generate the binary file:</p>
<pre><code>$ HEXSTR=&quot;\
<pre><code class="language-bash">$ HEXSTR=&quot;\
00 ff ff ff ff ff ff 00 09 d1 51 79 45 54 00 00\
1f 1d 01 03 80 35 1e 78 2a 05 61 a7 56 52 9c 27\
0f 50 54 a5 6b 80 d1 c0 81 c0 81 00 81 80 a9 c0\
Expand All @@ -249,21 +249,20 @@ <h2 id="how-to-fix-low-screen-resolution"><a class="header" href="#how-to-fix-lo
# check that the file is readable
$ edid-decode edid.bin
</code></pre>
<p>In order to apply it only to a specific connector with a specific resolution, <a href="https://wiki.archlinux.org/title/kernel_mode_setting#Forcing_modes_and_EDID">force</a> this kernel mode setting (KMS) by naming the file (<code>edid.bin</code> in the example) according to the following pattern (as in the code snippet above): <code>CONNECTOR:edid/RESOLUTION.bin</code> (e.g. <code>VGA-1:edid/1920x1080.bin</code>).</p>
<p>After having prepared your EDID, place it in a directory, e.g. called <code>edid</code> under <code>/usr/lib/firmware</code> and copy your binary into it.</p>
<p>In order to apply it only to a specific connector with a specific resolution, <a href="https://wiki.archlinux.org/title/kernel_mode_setting#Forcing_modes_and_EDID">force</a> this kernel mode setting (KMS) by copying the file (<code>edid.bin</code> in the example) into <code>/usr/lib/firmware</code> (create it if it does not exists) with a proper name and parent folder according to the following pattern: <code>CONNECTOR:edid/RESOLUTION.bin</code> (e.g. <code>/usr/lib/firmware/VGA-1:edid/1920x1080.bin</code>).</p>
<p>You now have two options to make this file available to the display manager (e.g. <a href="https://en.wikipedia.org/wiki/Simple_Desktop_Display_Manager">SDDM</a>):</p>
<ul>
<li>adding a config file to the <code>xorg.conf.d</code> directory with the relevant info, as described <a href="https://gist.github.com/hinell/0ebaad01b771a70844204f295aaf03b7#via-xorgconf">here</a></li>
<li>modifying the Linux Kernel parameters to include a directive for reading the EDID file at boot time. </li>
</ul>
<p>The first option is lengthy and required you to understand how to properly configure <a href="https://wiki.archlinux.org/title/xorg#Configuration">Xorg</a>.</p>
<p>The first option is lengthy and requires you to understand how to properly configure <a href="https://wiki.archlinux.org/title/xorg#Configuration">Xorg</a>.</p>
<p>The second is quicker but error-prone, so be extra-careful if going through the following steps:</p>
<ul>
<li>reboot the system, wait for the system to restart and then press and hold <code>Esc</code> key until the GRUB menu appears</li>
<li>reboot the system, wait for the system to restart and then press and hold the <code>Esc</code> key until the GRUB menu appears</li>
<li>if it doesn't appear at all after multiple retries, chanches are that you must set a longer <a href="https://linuxhint.com/change-grub-timeout-linux/">timeout</a> for the GRUB</li>
<li>press <code>e</code> when the menu appears and add the <code>drm.edid_firmware</code> argument to the end of the line starting with <code>linux</code>:</li>
</ul>
<pre><code>linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw [...] drm.edid_firmware=VGA-1:edid/1920x1080.bin
<pre><code class="language-bash">linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw [...] drm.edid_firmware=VGA-1:edid/1920x1080.bin
</code></pre>
<p>Boot the system to verify if the change had the desired effect.</p>
<p>If so, make the change permanent by editing the <code>/etc/default/grub</code> to set <code>GRUB_CMDLINE_LINUX_DEFAULT</code> option to the new parameter (e.g. <code>GRUB_CMDLINE_LINUX_DEFAULT=&quot;drm.edid_firmware=VGA-1:edid/your_edid.bin&quot;</code>) and then regenerating the GRUB config with: <code>grub-mkconfig -o /boot/grub/grub.cfg</code>.</p>
Expand Down
13 changes: 6 additions & 7 deletions print.html
Original file line number Diff line number Diff line change
Expand Up @@ -5735,7 +5735,7 @@ <h3 id="dynamic-port-forwarding-dpf"><a class="header" href="#dynamic-port-forwa
<p>In such cases, you can have to grab the EDID data from another pc connected to this monitor or online, if you are lucky enough to find it.</p>
<p>Firstly, you should verify that the graphic card(s) of your pc can match the recommended resolution of your monitor: typically, 1920x1080 at 60 refresh rate (a standard also know as 1080p, Full HD or FHD,). For Intel cards, see <a href="https://www.intel.com/content/www/us/en/support/articles/000023781/graphics.html">here</a>.</p>
<p>Once this is verified, you may try to just add the the intended resolution (let's tick to the default scenario, i.e. 1920x1080) with <a href="https://www.x.org/releases/X11R7.5/doc/man/man1/xrandr.1.html">xrandr</a>:</p>
<pre><code># show available resolutions for common display types (VGA, HDMI, etc.)
<pre><code class="language-bash"># show available resolutions for common display types (VGA, HDMI, etc.)
xrandr
# generate correct params for the target resolution
cvt 1920 1080 60
Expand Down Expand Up @@ -5792,7 +5792,7 @@ <h3 id="dynamic-port-forwarding-dpf"><a class="header" href="#dynamic-port-forwa
</li>
</ul>
<p>Once you have it, use the first hexadecimal block at the beginning of the output of the command to generate the binary file:</p>
<pre><code>$ HEXSTR=&quot;\
<pre><code class="language-bash">$ HEXSTR=&quot;\
00 ff ff ff ff ff ff 00 09 d1 51 79 45 54 00 00\
1f 1d 01 03 80 35 1e 78 2a 05 61 a7 56 52 9c 27\
0f 50 54 a5 6b 80 d1 c0 81 c0 81 00 81 80 a9 c0\
Expand All @@ -5806,21 +5806,20 @@ <h3 id="dynamic-port-forwarding-dpf"><a class="header" href="#dynamic-port-forwa
# check that the file is readable
$ edid-decode edid.bin
</code></pre>
<p>In order to apply it only to a specific connector with a specific resolution, <a href="https://wiki.archlinux.org/title/kernel_mode_setting#Forcing_modes_and_EDID">force</a> this kernel mode setting (KMS) by naming the file (<code>edid.bin</code> in the example) according to the following pattern (as in the code snippet above): <code>CONNECTOR:edid/RESOLUTION.bin</code> (e.g. <code>VGA-1:edid/1920x1080.bin</code>).</p>
<p>After having prepared your EDID, place it in a directory, e.g. called <code>edid</code> under <code>/usr/lib/firmware</code> and copy your binary into it.</p>
<p>In order to apply it only to a specific connector with a specific resolution, <a href="https://wiki.archlinux.org/title/kernel_mode_setting#Forcing_modes_and_EDID">force</a> this kernel mode setting (KMS) by copying the file (<code>edid.bin</code> in the example) into <code>/usr/lib/firmware</code> (create it if it does not exists) with a proper name and parent folder according to the following pattern: <code>CONNECTOR:edid/RESOLUTION.bin</code> (e.g. <code>/usr/lib/firmware/VGA-1:edid/1920x1080.bin</code>).</p>
<p>You now have two options to make this file available to the display manager (e.g. <a href="https://en.wikipedia.org/wiki/Simple_Desktop_Display_Manager">SDDM</a>):</p>
<ul>
<li>adding a config file to the <code>xorg.conf.d</code> directory with the relevant info, as described <a href="https://gist.github.com/hinell/0ebaad01b771a70844204f295aaf03b7#via-xorgconf">here</a></li>
<li>modifying the Linux Kernel parameters to include a directive for reading the EDID file at boot time. </li>
</ul>
<p>The first option is lengthy and required you to understand how to properly configure <a href="https://wiki.archlinux.org/title/xorg#Configuration">Xorg</a>.</p>
<p>The first option is lengthy and requires you to understand how to properly configure <a href="https://wiki.archlinux.org/title/xorg#Configuration">Xorg</a>.</p>
<p>The second is quicker but error-prone, so be extra-careful if going through the following steps:</p>
<ul>
<li>reboot the system, wait for the system to restart and then press and hold <code>Esc</code> key until the GRUB menu appears</li>
<li>reboot the system, wait for the system to restart and then press and hold the <code>Esc</code> key until the GRUB menu appears</li>
<li>if it doesn't appear at all after multiple retries, chanches are that you must set a longer <a href="https://linuxhint.com/change-grub-timeout-linux/">timeout</a> for the GRUB</li>
<li>press <code>e</code> when the menu appears and add the <code>drm.edid_firmware</code> argument to the end of the line starting with <code>linux</code>:</li>
</ul>
<pre><code>linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw [...] drm.edid_firmware=VGA-1:edid/1920x1080.bin
<pre><code class="language-bash">linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw [...] drm.edid_firmware=VGA-1:edid/1920x1080.bin
</code></pre>
<p>Boot the system to verify if the change had the desired effect.</p>
<p>If so, make the change permanent by editing the <code>/etc/default/grub</code> to set <code>GRUB_CMDLINE_LINUX_DEFAULT</code> option to the new parameter (e.g. <code>GRUB_CMDLINE_LINUX_DEFAULT=&quot;drm.edid_firmware=VGA-1:edid/your_edid.bin&quot;</code>) and then regenerating the GRUB config with: <code>grub-mkconfig -o /boot/grub/grub.cfg</code>.</p>
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion searchindex.json

Large diffs are not rendered by default.

0 comments on commit 4d83d29

Please sign in to comment.