You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6717 lines
515 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<meta name="viewport" content="width=device-width">
<style>
body {
overflow-y:scroll;
line-height:150%;
font-family:'Arial';
font-size:14px;
color:#000000;
}
a {
color:#555555;
}
a:hover {
color:#000000;
}
</style>
<html>
<head>
<title>
Display Cables and Adapters Guide
</title>
<script src="https://glenwing.github.io/jquery-3.2.0.min.js"></script>
</head>
<body>
<div style="font-family:'Arial'; font-size:14px;">
<div style="display:none;" hidden>Glenwing's Guide to Display Cables / Adapters (v2)<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>...<br /></div>
<div style="display:none;" hidden>
This Revision: 2.3.7 (2017-08-24)
<br /><br /></div>
<div style="display:none;" hidden>
(If you can see this message without needing to examine the page source, then something somewhere has gone terribly wrong)
BEHOLD,
the terrible programming of the one known as GLENWING, first of his name, bane of the spammers,
champion of thinking, denizen of the Internet (with a capital I), and a Senior Moderator of the
LINUS TECH TIPS forum (his lair lies herein: https://linustechtips.com/main/profile/2466-glenwing/
Venture with caution, and remember monsieur: your hand at the level of your eyes! If you can see this
message, it is not yet too late for you to heed this warning! Madness descends on all those who attempt
to read his writings and decipher his code.
Seek not logic, nor efficiency, nor sensible style, nor comments or documentation of any kind (mostly
because the forum strips all comments when posting), lest you end up ALT-F4-ing in a fit of rage and
losing the contents of your other tabs, causing an infinite loop of frustration:
(while (Frustration > 0) { Frustration++; });
The lines ahead contain only darkness and confusion. It is not for the timid, nor for anyone hoping to
easily understand what's even going on in this thing.
Continue reading at your own peril!
--- YE BE WARN'D ---
(verbal warning only, no points assigned)
</div>
<!-------------------------------- HTML BACKEND -------------------------------->
<!-------------------------------- TABLES -------------------------------->
<div style="display:none;" hidden>
<!-- DP TABLE -->
<div id="DP_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold;"><b>DisplayPort Version</b></td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">1.01.1</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">1.2</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">1.31.4</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Maximum Bandwidth</b></div>
<div>(Maximum Data Rate)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>10.80 Gbit/s</b></div>
<div>(8.64 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>21.60 Gbit/s</b></div>
<div>(17.28 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>32.40 Gbit/s</b></div>
<div>(25.92 Gbit/s)</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
<div>240 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>360 Hz</div>
<div>360 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>85 Hz</div>
<div>75 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>200 Hz</div>
<div>144 Hz</div>
<div>144 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>300 Hz</div>
<div>240 Hz</div>
<div>200 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>180 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>75 Hz</div>
<div>75 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>120 Hz</div>
<div>100 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>85 Hz</div>
<div>60 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- HDMI TABLE -->
<div id="HDMI_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold;">HDMI Version</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">1.01.2</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">1.31.4</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">2.0</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">2.1</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Maximum Bandwidth</b></div>
<div>(Maximum Data Rate)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>4.95 Gbit/s</b></div>
<div>(3.96 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>10.20 Gbit/s</b></div>
<div>(8.16 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>18.00 Gbit/s</b></div>
<div>(14.40 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>48.00 Gbit/s</b></div>
<div>(42.67 Gbit/s)</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
<div>200 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>540 Hz</div>
<div>540 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>85 Hz</div>
<div>75 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>180 Hz</div>
<div>144 Hz</div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>480 Hz</div>
<div>360 Hz</div>
<div>300 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>300 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>85 Hz</div>
<div>60 Hz</div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
<div>180 Hz</div>
<div>180 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>100 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- DVI TABLE -->
<div id="DVI_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold; white-space:nowrap;">DVI Type</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold; white-space:nowrap;"><span>Single-Link<br />DVI-D / DVI-I</span></td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold; white-space:nowrap;"><span>Dual-Link<br />DVI-D / DVI-I</span></td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Maximum Bandwidth</b></div>
<div>(Maximum Data Rate)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>4.95 Gbit/s</b></div>
<div>(3.96 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>9.90 Gbit/s</b></div>
<div>(7.92 Gbit/s)</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>120 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>75 Hz</div>
<div>60 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px;white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- THUNDERBOLT TABLE -->
<div id="TB_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold;"><b>Version</b></td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">Thunderbolt</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">Thunderbolt&nbsp;2</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Video Protocol Used</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>DisplayPort 1.1</b></div>
<div>(4 HBR Lanes)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>DisplayPort 1.2</b></div>
<div>(4 HBR2 Lanes)</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Maximum Data Rate</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>8.64 Gbit/s</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>17.28 Gbit/s</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>144 Hz</div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
<div>240 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>85 Hz</div>
<div>75 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>200 Hz</div>
<div>144 Hz</div>
<div>144 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>120 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>75 Hz</div>
<div>75 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>30 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- THUNDERBOLT 3 TABLE -->
<div id="TB3_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold; white-space:nowrap;">Thunderbolt 3<br />Video Mode</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold; white-space:nowrap;"><span>4-Lane Mode</span></td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold; white-space:nowrap;"><span>8-Lane Mode</span></td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>Maximum Data Rate</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>17.28 Gbit/s</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>34.56 Gbit/s</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
<div>240 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>480 Hz</div>
<div>420 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>200 Hz</div>
<div>144 Hz</div>
<div>144 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>360 Hz</div>
<div>300 Hz</div>
<div>240 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>120 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>240 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>100 Hz</div>
<div>75 Hz</div>
<div>75 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>200 Hz</div>
<div>144 Hz</div>
<div>144 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px;white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>120 Hz</div>
<div>90 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- DP to HDMI ADAPTER TABLE-->
<div id="DP_TO_HDMI_TABLE">
<div style="overflow-x:auto;">
<table style="border: 1px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:150px; text-align:center; font-weight:bold;">DisplayPort to HDMI<br />Passive Adapters</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">Type 1<br />(165&nbsp;MHz)</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">Type 2<br />(300&nbsp;MHz)</td>
<!----<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; min-width:100px; text-align:center; font-weight:bold;">Type 3 (?)*<br />(600&nbsp;MHz)</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>DisplayPort Version</b></div>
<div><b>Required</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>DP 1.1</b></div>
<div>or higher</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>DP 1.2</b></div>
<div>or higher</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>1.3</b></div>
<div>or higher</div>
</td><!---->
</tr>
<!----<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>HDMI Version</b></div>
<div><b>Provided</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>up to</div>
<div><b>HDMI 1.2</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>up to</div>
<div><b>HDMI 1.4</b></div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div>up to</div>
<div><b>2.0</b></div>
</td>
</tr><!---->
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Maximum Bandwidth</b></div>
<div>(Maximum Data Rate)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>4.95 Gbit/s</b></div>
<div>(3.96 Gbit/s)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>9.00 Gbit/s</b></div>
<div>(7.20 Gbit/s)</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>18.00 Gbit/s</b></div>
<div>(14.40 Gbit/s)</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;">
<div><b>Resolution</b></div>
</td>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; text-align:center; white-space:nowrap;" colspan="255">
<div><b>Maximum Refresh Frequency*</b></div>
</td>
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2K</b></div>
<div align="left">1920 × 1080 (16:9)</div>
<div align="left">1920 × 1200 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>60 Hz</div>
<div>60 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>120 Hz</div>
<div>100 Hz</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>240 Hz</div>
<div>200 Hz</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>2.5K</b></div>
<div align="left">2560 × 1080 (≈21:9)</div>
<div align="left">2560 × 1440 (16:9)</div>
<div align="left">2560 × 1600 (16:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>85 Hz</div>
<div>75 Hz</div>
<div>60 Hz</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>180 Hz</div>
<div>144 Hz</div>
<div>120 Hz</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>3.5K</b></div>
<div align="left">3440 × 1440 (≈21:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>50 Hz</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>100 Hz</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>4K</b></div>
<div align="left">3840 × 1600 (≈21:9)</div>
<div align="left">3840 × 2160 (16:9)</div>
<div align="left">4096 × 2160 (≈19:10)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>30 Hz</div>
<div>30 Hz</div>
<div>30 Hz</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>85 Hz</div>
<div>60 Hz</div>
<div>60 Hz</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>5K</b></div>
<div align="left">5120 × 2160 (≈21:9)</div>
<div align="left">5120 × 2880 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>24 Hz</div>
<div>-</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>50 Hz</div>
<div>30 Hz</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; white-space:nowrap;">
<div align="center"><b>8K</b></div>
<div align="left">7680 × 4320 (16:9)</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div><br /></div>
<div>-</div>
</td>
<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<<div><br /></div>
<div>-</div>
</td>
<!----<td style="border: 1px solid #000000; padding:8px; text-align:center;">
<div>&nbsp;</div>
<div>-</div>
</td><!---->
</tr>
<tr>
<td style="background-color:RGBA(100,100,100,0.25); border: 1px solid #000000; padding:8px; max-width:1px;" colspan="255">
<div style='font-size:12px; text-align:left; font-style:italic;'>
<!----* "Type 3" is an unofficial name. These HDMI&nbsp;2.0 passive adapters are defined in the DisplayPort&nbsp;1.3 specification, but no adapters of this type have been produced yet, so it is not possible to obtain one at the moment. Until then, adapting to HDMI&nbsp;2.0 must be done using an active adapter.
<br /><br /><!---->
* Only the highest common / standard frequencies are listed (24&nbsp;/ 30&nbsp;/ 50&nbsp;/ 60&nbsp;/ 75&nbsp;/ 85&nbsp;/ 100&nbsp;/ 120&nbsp;/ 144&nbsp;/ 180&nbsp;/ 200&nbsp;/ 240&nbsp;Hz, or higher multiples of 60). This table is not meant to list the absolute limits down to the very last Hz. For more exact limits, or for other resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
<br /><br />
Uncompressed 8&nbsp;bpc RGB color and <span style="white-space:nowrap;">CVT-R2</span> timing are assumed on this table. Maximum frequency may be different when different settings are used. For frequency limits at different settings or resolutions, refer to the bandwidth calculator <a style="text-decoration:underline; cursor:pointer;" onclick="openSpoiler('calc', { 'this is the': 'table id', 'scroll': true }); document.getElementById('CALC_MODE_FREQ').click();">here</a>.
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- DVI-D VS DVI-I IMAGE TABLE -->
<div id="DVI_TYPE_TABLE">
<table border="0" align="center">
<tr>
<td style="padding:4px;"><div align="center"><img src="https://linustechtips.com/main/uploads/monthly_2017_01/large.58849223ce79a_NewDL-DVI-D.jpg.5576f79a7412c2a269ae2435dee8c466.jpg" /></div></td>
<td style="padding:4px;"><div align="center"><img src="https://linustechtips.com/main/uploads/monthly_2017_01/large.5884922367b58_NewDL-DVI-I.jpg.8fcdc30ec28fb5d26cd907e0237be077.jpg" /></div></td>
</tr>
<tr>
<td style="padding:4px;"><div align="center" style="font-size:18px; white-space:nowrap;"><b>DVI-D</b></div></td>
<td style="padding:4px;"><div align="center" style="font-size:18px; white-space:nowrap;"><b>DVI-I</b></div></td>
</tr>
</table>
</div>
<!-- SL-DVI vs DL-DVI IMAGE TABLE -->
<div id="DVI_LINK_TABLE">
<table border="0" align="center">
<tr>
<td style="padding:4px;"><div align="center"><img src="https://linustechtips.com/main/uploads/monthly_2017_07/large.596958bb12dde_DVI-DSingle-Link.jpg.c9bc0aeaeba5d53ef0a46d2339e508a1.jpg" /></div></td>
<td style="padding:4px;"><div align="center"><img src="https://linustechtips.com/main/uploads/monthly_2017_07/large.596958baccd8e_DVI-DDual-Link.jpg.a77d4e40dcbe286af693ba4a7505bc05.jpg" /></div></td>
</tr>
<tr>
<td style="padding:4px;"><div align="center" style="font-size:18px; white-space:nowrap;"><b>Single-Link DVI</b></div></td>
<td style="padding:4px;"><div align="center" style="font-size:18px; white-space:nowrap;"><b>Single-Link or<br />Dual-Link DVI</b></div></td>
</tr>
</table>
</div>
<!-- CVT FORMULA TABLE -->
<div id="CVT_FORMULA">
<div style="overflow-x:scroll; overflow:auto;">
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan="255">Constants:</td></tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_VMIN_CONST">0.00055</span>&nbsp;seconds</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">D<span style="font-size:12px"><sub>MIN</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;">0.2 (Minimum value of D. If the D formula is less than 0.2, use 0.2 for D instead)</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan="255">Input Variables:</td></tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">H</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_H_CONST">4,096</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_V_CONST">2,560</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">F</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_F_CONST">240</span>&nbsp;Hz</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan=255>Formulas:</td></tr>
<tr>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">D</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">0.3&nbsp;&nbsp;</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;">3,000&nbsp;&nbsp;[&nbsp;(&nbsp;<sup>1</sup><sub>F</sub>&nbsp;)&nbsp;&nbsp;V<span style="font-size:12px"><sub>MIN</sub></span>&nbsp;]</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">0.3&nbsp;&nbsp;</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;">3,000&nbsp;&nbsp;[&nbsp;(&nbsp;<sup>1</sup><sub><span id="CVT_D_F_plugin">240</span></sub>&nbsp;)&nbsp;&nbsp;<span id="CVT_D_VMIN_plugin">0.00055</span>&nbsp;]</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">=</td>
<td rowspan="3" style="text-align:left; valign:center; padding:4px;"><span id="CVT_D_RESULT">0.296</span></td>
</tr>
<tr>
<td style="text-align:center; valign:center;"><hr /></td>
<td style="text-align:center; valign:center;"><hr /></td>
</tr>
<tr>
<td style="padding:4px; text-align:center; padding-top:0px;">V + 3</td>
<td style="padding:4px; text-align:center; padding-top:0px;"><span id="CVT_D_V+3_plugin">2,563</span></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">H<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;">H&nbsp;&nbsp;D</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px; padding-left:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;"><span id="CVT_HBLANK_H_plugin">4,096</span>&nbsp;&nbsp;<span id="CVT_HBLANK_D_plugin1">0.296</span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">(&nbsp;<span id="CVT_HBLANK_RESULT">1,720.3</span>&nbsp;)&darr;<sub>16</sub></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;"><span id="CVT_HBLANK_RND">1,712</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:center; valign:center;"><hr /></td>
<td style="text-align:center; valign:center;"><hr /></td>
</tr>
<tr>
<td style="padding:4px; text-align:center; padding-top:0px;">1&nbsp;&nbsp;D</td>
<td style="padding:4px; text-align:center; padding-top:0px;">1&nbsp;&nbsp;<span id="CVT_HBLANK_D_plugin2">0.296</span></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;">(V&nbsp;+&nbsp;3)&nbsp;&nbsp;V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">&nbsp;+&nbsp;4</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;"><span id="CVT_VBLANK_V+3_plugin">2,563</span>&nbsp;&nbsp;<span id="CVT_VBLANK_VMIN_plugin1">0.00055</span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">&nbsp;+&nbsp;4</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">(&nbsp;<span id="CVT_VBLANK_RESULT">393.765</span>&nbsp;)&darr;</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">=</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;"><span id="CVT_VBLANK_RND">393</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:center; valign:center;"><hr /></td>
<td style="text-align:center; valign:center;"><hr /></td>
</tr>
<tr>
<td style="padding:4px; text-align:center; padding-top:0px;">(&nbsp;<sup>1</sup><sub>F</sub>&nbsp;)&nbsp;&nbsp;V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td style="padding:4px; text-align:center; padding-top:0px;">(&nbsp;<sup>1</sup><sub><span id="CVT_VBLANK_F_plugin">240</span></sub>&nbsp;)&nbsp;&nbsp;<span id="CVT_VBLANK_VMIN_plugin2">0.00055</span></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px">
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">H<span style="font-size:12px"><sub>EFFECTIVE</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:center; padding:4px;">H&nbsp;+&nbsp;H<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_HEFF_H_plugin">4,096</span>&nbsp;+&nbsp;<span id="CVT_HEFF_HBLANK_plugin">1,712</span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_HEFF_RESULT">5,808</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>EFFECTIVE</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:center; padding:4px;">V&nbsp;+&nbsp;V<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_VEFF_V_plugin">2,560</span>&nbsp;+&nbsp;<span id="CVT_VEFF_VBLANK_plugin">393</span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVT_VEFF_RESULT">2,953</span>&nbsp;pixels</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px">
<tr><td>&nbsp;</td></tr>
<tr><td style="text-align:left;" colspan="255">Results can be checked against the official VESA CVT 1.2 spreadsheet, here:<br /><a class="ipsAttachLink" href="//linustechtips.com/main/applications/core/interface/file/attachment.php?id=238288">VESA CVT 1.2 Timing Generator.xlsx</a></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</div>
</div>
<!-- CVT-RB FORMULA TABLE -->
<div id="CVTRB_FORMULA">
<div style="overflow-x:scroll; overflow:auto;">
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan="255">Constants:</td></tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_VMIN_CONST">0.00046</span>&nbsp;seconds</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">H<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_HBLANK_CONST">80</span>&nbsp;pixels</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan="255">Input Variables:</td></tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">H</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_H_CONST">4,096</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_V_CONST">2,560</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">F</td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_F_CONST">240</span>&nbsp;Hz</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px;">
<tr><td style="text-align:left; padding:4px; font-weight:bold;" colspan=255>Formulas:</td></tr>
<tr>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;">V&nbsp;&nbsp;V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-right:12px; padding-left:12px;">=</td>
<td style="text-align:center; valign:center; padding:4px; padding-bottom:0px;"><span id="CVTRB_VBLANK_V_plugin">2,560</span>&nbsp;&nbsp;<span id="CVTRB_VBLANK_VMIN_plugin1">0.00046</span></td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px; padding-left:12px;">=</td>
<td rowspan="3" id="CVT_RB_CELL_V_BLANK_RAW" style="text-align:center; valign:center; padding:4px;">(&nbsp;<span id="CVTRB_VBLANK_RESULT">317.7</span>&nbsp;)&uarr;</td>
<td rowspan="3" style="text-align:center; valign:center; padding:4px;">=</td>
<td rowspan="3" id="CVT_RB_CELL_V_BLANK_RND" style="text-align:center; valign:center; padding:4px;"><span id="CVTRB_VBLANK_RND">318</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:center; valign:center;"><hr /></td>
<td style="text-align:center; valign:center;"><hr /></td>
</tr>
<tr>
<td style="padding:4px; text-align:center; padding-top:0px;">(&nbsp;<sup>1</sup><sub>F</sub>&nbsp;)&nbsp;&nbsp;V<span style="font-size:12px"><sub>MIN</sub></span></td>
<td style="padding:4px; text-align:center; padding-top:0px;">(&nbsp;<sup>1</sup><sub><span id="CVTRB_VBLANK_F_plugin">240</span></sub>&nbsp;)&nbsp;&nbsp;<span id="CVTRB_VBLANK_VMIN_plugin2">0.00046</span></td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px">
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">H<span style="font-size:12px"><sub>EFFECTIVE</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:center; padding:4px;">H + H<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_HEFF_H_plugin">4,096</span>&nbsp;+&nbsp;<span id="CVTRB_HEFF_HBLANK_plugin">80</span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_HEFF_RESULT">4,176</span>&nbsp;pixels</td>
</tr>
<tr>
<td style="text-align:left; padding:4px; padding-left:12px;">V<span style="font-size:12px"><sub>EFFECTIVE</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:center; padding:4px;">V + V<span style="font-size:12px"><sub>BLANK</sub></span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_VEFF_V_plugin">2,560</span>&nbsp;+&nbsp;<span id="CVTRB_VEFF_VBLANK_plugin">318</span></td>
<td style="text-align:center; padding:4px;">=</td>
<td style="text-align:left; padding:4px;"><span id="CVTRB_VEFF_RESULT">2,878</span>&nbsp;pixels</td>
</tr>
</table>
<table style="border: 0px solid #000000; border-collapse:collapse; line-height:120%; font-family: Arial; font-size: 14px">
<tr><td>&nbsp;</td></tr>
<tr><td style="text-align:left;" colspan="255">Results can be checked against the official VESA CVT 1.2 spreadsheet, here:<br /><a class="ipsAttachLink" href="//linustechtips.com/main/applications/core/interface/file/attachment.php?id=238288">VESA CVT 1.2 Timing Generator.xlsx</a></td></tr>
<tr><td>&nbsp;</td></tr>
</table>
</div>
</div>
<!-- YCBCR TEXT -->
<div style="display:none">
<span id="YCBCR">YC<sub style="vertical-align: baseline; position:relative; top:0.3em; line-height:0;">B</sub>C<sub style="vertical-align: baseline; position:relative; top:0.3em; line-height:0;">R</sub></span>
</div>
</div>
<!-------------------------------- ARTICLES -------------------------------->
<div style="display:none;" hidden>
<!-- Anything to DisplayPort -->
<div id="BLANK_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's DisplayPort Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=DP">Link</a>]</td>
</tr></table>
<br />
<div style="padding-left:20px;">
The only port that can be easily adapted to DisplayPort is a USB <span style="white-space:nowrap">Type-C</span> port with DisplayPort Alternate Mode support (this includes Thunderbolt&nbsp;3 ports), which can be done using a:
<ul><li><a style="cursor:pointer;" onclick="setIODropdowns('USBCDP', 'DP', { 'scroll': false });">USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter</a></li></ul>
Other than that, it is generally very difficult to connect to a monitor's DisplayPort input if you don't have a native DisplayPort output available from your computer/source device. There is no way to do this without an active adapter, and these adapters tend to be finicky and unreliable. If you don't have a native DisplayPort output on your device, consider trying to connect to a different type of port on the display. Active adapters to a DisplayPort input should only be considered as a last resort, if the display has no other available ports to connect to.<br /><br />
If you absolutely need to connect to a monitor's DisplayPort input from a non-DP output, then the following options are available:
<ul>
<li><a style="cursor:pointer;" onclick="setIODropdowns('HDMI', 'DP', { 'scroll': false });">HDMI to DisplayPort active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DVI', 'DP', { 'scroll': false });">DVI to DisplayPort active adapter</a></li>
</ul>
Neither of these options are really preferable over the other (both are finicky and unreliable), but HDMI to DisplayPort active adapters are slightly more common.<br /><br />
DisplayPort-to-DVI or DisplayPort-to-HDMI passive adapters will <b>NOT</b> work for this configuration. These adapters only work from DisplayPort <b>output</b> to DVI/HDMI <b>input</b>, not in the reverse configuration.
</div>
</div>
<!-- Anything to HDMI -->
<div id="BLANK_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's HDMI Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=HDMI">Link</a>]</td>
</tr></table>
<br />
<div style="padding-left:20px;">
If you need to connect to a display's HDMI input, then the following options are available (in order of preference):
<ul>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DVI', 'HDMI', { 'scroll': false });">DVI to HDMI passive adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DP', 'HDMI', { 'scroll': false });">DisplayPort to HDMI passive adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('USBCDP', 'HDMI', { 'scroll': false });">USB <span style="white-space:nowrap">Type-C</span> to HDMI active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('VGA', 'HDMI', { 'scroll': false });">VGA to HDMI active adapter</a></li>
</ul>
DVI to HDMI passive adapters and DisplayPort to HDMI passive adapters are both equally preferable. Both are inexpensive, support inline audio (yes, DVI to HDMI passive adapters will support inline audio), and provide image quality identical to native HDMI without any added latency. If you do not have a DVI or DisplayPort output available, you can use a VGA to HDMI active adapter, but the image quality will only be equivalent to VGA, and inline audio will not be supported (though some adapters support audio over a separate cable).
</div>
</div>
<!-- Anything to DVI -->
<div id="BLANK_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's DVI Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=DVI">Link</a>]</td>
</tr></table>
<br />
<div style='padding-left:20px;'>
<b><span style="white-space:nowrap;">Single-Link</span> DVI</b> provides enough bandwidth for 1920×1200 at 60&nbsp;Hz or 2560×1600 at 30&nbsp;Hz. Video formats which require more bandwidth than those (such as 1920×1080 at 144&nbsp;Hz or 2560×1600 at 60&nbsp;Hz) will require <b><span style="white-space:nowrap;">Dual-Link</span> DVI</b>.<br /><br />
If you need to connect to a display's DVI input, and the bandwidth of <b><span style="white-space:nowrap;">Single-Link</span> DVI</b> is enough for your display, then the following options are available (in order of preference):
<ul>
<li><a style="cursor:pointer;" onclick="setIODropdowns('HDMI', 'DVI', { 'scroll': false });">HDMI to DVI passive adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DP', 'DVI', { 'scroll': false });">DisplayPort to DVI passive adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DP', 'DVI', { 'scroll': false });">DisplayPort to (<span style="white-space:nowrap;">Single-Link</span>) DVI active adapter</a> (required for 3+ monitors on some older graphics cards; see <a style="cursor:pointer; text-decoration:underline;" onclick="openSpoiler('active_adapters_for_multi_display', { 'scroll': true, 'this is the': 'table id' });">here</a>)</li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('USBCDP', 'DVI', { 'scroll': false });">USB <span style="white-space:nowrap">Type-C</span> to DVI active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('VGA', 'DVI', { 'scroll': false });">VGA to <span style="white-space:nowrap;">DVI-I</span> passive adapter</a> (<b>ONLY</b> if the display has a <b><span style="white-space:nowrap">DVI-I</span></b> port; this is very unusual)</li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('VGA', 'DVI', { 'scroll': false });">VGA to <span style="white-space:nowrap;">DVI-D</span> active adapter</a></li>
</ul>
If the extra bandwidth of <b><span style="white-space:nowrap;">Dual-Link</span> DVI</b> is required, then only one option is available:
<ul>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DP', 'DVI', { 'scroll': false });">DisplayPort to Dual-Link DVI active adapter</a></li>
</ul>
HDMI to DVI passive adapters and DisplayPort to DVI passive adapters are both equally preferable. Both are inexpensive and provide image quality identical to native DVI without any added latency. These adapters only provide a <b><span style="white-space:nowrap;">Single-Link</span> DVI</b> connection, and will not work for video formats requiring more bandwidth than 1920×1200 at 60&nbsp;Hz or equivalent. Inline audio is generally not supported through these adapters, but it depends on the display.<br /><br />
VGA to DVI adapters (passive or active) will only provide image quality equivalent to native VGA.<br /><br />
For DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI conversion, keep in mind that even most DisplayPort to DVI active adapters are still <b><span style="white-space:nowrap;">Single-Link</span> only</b>. These are common because older graphics cards required active adapters for multi-monitor configurations beyond two screens. So not just any DP-to-DVI active adapter will work, it <b>must</b> be clearly identified as a <span style="white-space:nowrap">Dual-Link</span> DVI adapter, with support for up to 1920×1080 at 120/144&nbsp;Hz or 2560×1440/2560×1600 at 60&nbsp;Hz.
</div>
</div>
<!-- Anything to VGA -->
<div id="BLANK_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's VGA Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=VGA">Link</a>]</td>
</tr></table>
<br />
<div style="padding-left:20px">
If you need to connect to a display's VGA input, then the following options are available (in order of preference):<br />
<ul>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DVI', 'VGA', { 'scroll': false });"><span style="white-space:nowrap">DVI-I</span> to VGA passive adapter</a> (<b>ONLY</b> if the source device has a <b><span style="white-space:nowrap">DVI-I</span></b> port (shown below); this will not work in a <span style="white-space:nowrap">DVI-D</span> port)</li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DP', 'VGA', { 'scroll': false });">DisplayPort to VGA active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('USBCDP', 'VGA', { 'scroll': false });">USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('HDMI', 'VGA', { 'scroll': false });">HDMI to VGA active adapter</a></li>
<li><a style="cursor:pointer;" onclick="setIODropdowns('DVI', 'VGA', { 'scroll': false });"><span style="white-space:nowrap;">DVI-D</span> to VGA active adapter</a></li>
</ul><br />
<div id="ANY_TO_VGA_identifierContainer"></div>
<script>document.getElementById("ANY_TO_VGA_identifierContainer").innerHTML = document.getElementById("DVI_TYPE_TABLE").innerHTML;</script>
<br />
<span style="white-space:nowrap;">DVI-I</span> is a type of DVI + VGA combo port. A passive <span style="white-space:nowrap;">DVI-I</span> to VGA adapter provides access to the VGA section of the port, and therefore is equivalent to a native VGA connection. Graphics cards and motherboards which do not have native VGA capability will not have <span style="white-space:nowrap;">DVI-I</span> ports, and so these adapters will not work with those devices.<br /><br />
If your graphics card/motherboard does not have a <span style="white-space:nowrap;">DVI-I</span> port, then the next best option is a DisplayPort to VGA active adapter. These are inexpensive, reliable, and compact, and they are often mistaken as passive adapters. Passive DisplayPort to VGA adapters do not exist, but active DP to VGA adapters are very good.<br /><br />
HDMI to VGA active adapters are usually larger, less reliable, and may require a power cable or USB for power. They are usually slightly more expensive than DisplayPort to VGA active adapters.<br /><br />
<span style="white-space:nowrap;">DVI-D</span> to VGA active adapters are no better or worse than HDMI to VGA active adapters, but they are much more difficult to find since historically most graphics cards have been equipped with <span style="white-space:nowrap;">DVI-I</span> ports and shipped with a <span style="white-space:nowrap;">DVI-I</span> to VGA passive adapter included, which has resulted in very low demand for <span style="white-space:nowrap;">DVI-D</span> to VGA conversion devices.
</div>
</div>
<!-- Anything to USB-C Alt Mode -->
<div id="BLANK_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode input ports found on displays will only accept video from:<br />
<ul>
<li>USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode output ports</li>
<li>USB <span style="white-space:nowrap">Type-C</span> Thunderbolt&nbsp;3 Alternate Mode output ports</li>
</ul>
In both cases a standard USB&nbsp;3.1 <span style="white-space:nowrap">Type-C</span> cable can be used. No special adapter cables or active Thunderbolt cables are required, however it should be noted that not all USB <span style="white-space:nowrap">Type-C</span> cables are rated for USB&nbsp;3.1 speeds.<br /><br />
Normal DisplayPort / HDMI / etc. output ports cannot be connected to a monitor's USB <span style="white-space:nowrap">Type-C</span> input with a cheap passive adapter or cable, and there are currently (July 2017) no active adapters available which can do this.<br /><br />
<b>Not all USB <span style="white-space:nowrap">Type-C</span> ports have video capability</b>. The ports on both the source and display <b>must</b> support USB DisplayPort Alternate Mode to be used for video. This is an optional feature and is not supported by all <span style="white-space:nowrap">USB-C</span> ports; laptops or motherboards with <span style="white-space:nowrap">USB-C</span> ports may or may not support video output through those ports, and displays with <span style="white-space:nowrap">USB-C</span> ports may or may not accept video input through those ports. Check your product's specifications carefully.<br /><br />
Thunderbolt&nbsp;3 ports also include DisplayPort&nbsp;1.2 Alt Mode capability, so Thunderbolt&nbsp;3 output ports on laptop or motherboards <b>can</b> be connected to displays that have non-Thunderbolt USB <span style="white-space:nowrap">Type-C</span> inputs.<br /><br />
</div>
</div>
<!-- Anything to Thunderbolt 3 -->
<div id="BLANK_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Options for Connecting to a Display's Thunderbolt&nbsp;3 Input Port
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
Thunderbolt&nbsp;3 input ports will only accept video from Thunderbolt sources. Non-Thunderbolt USB <span style="white-space:nowrap">Type-C</span> ports using DisplayPort Alternate Mode are not compatible. No other connection types can be adapted to Thunderbolt&nbsp;3.<br />
<ul>
<li>Thunderbolt&nbsp;3 sources connected with a passive USB&nbsp;3.1 <span style="white-space:nowrap">Type-C</span> cable (20&nbsp;Gbit/s) will be limited to 4-lane mode (4K 60&nbsp;Hz)</li>
<li>Thunderbolt&nbsp;3 sources connected with an active Thunderbolt&nbsp;3 cable (40&nbsp;Gbit/s) will be able to use the full 8-lane mode (5K 60&nbsp;Hz)</li>
<li>Thunderbolt and Thunderbolt&nbsp;2 sources can be connected via an adapter, and will be limited to 4-lane mode</li>
</ul>
In addition, displays may have further limitations of their own. There is currently only one Thunderbolt&nbsp;3 monitor in existence (the LG 27MD5KA), and it only accepts input from Thunderbolt&nbsp;3 and Thunderbolt&nbsp;2 sources. Original Thunderbolt sources are not compatible.<br /><br />
</div>
</div>
<!-- Anything to Thunderbolt 1 or 2 -->
<!-- DisplayPort to DisplayPort -->
<div id="DP_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP">Link</a>]</td>
</tr>
</table>
<br />
<div align="center" id="DP_TO_DP_inlineTable">&nbsp;</div>
<script>document.getElementById("DP_TO_DP_inlineTable").innerHTML = document.getElementById("DP_TABLE").innerHTML;</script>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DisplayPort Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No (version 1.01.3)<br />
Yes (version 1.4+)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
1.65 W (3.3 V, 500 mA)
</td>
</tr>
</table>
</div>
<br />
<b>Cabling</b><br /><br />
<div style="padding-left:20px">
DisplayPort does not have different types of cable certifications. There are no cable versions, no certification tiers, and no bandwidth ratings. Although there are multiple versions of the DisplayPort video standard, all versions use the same cable. Every feature of every version of DisplayPort works on any spec-compliant cable. DisplayPort cables do not need to "support" any features like audio, FreeSync, or HDR for them to work, and they do not need to "support" a certain version of DisplayPort to get the full bandwidth. A standard DisplayPort cable is used for all configurations and all versions of DisplayPort. There is no such thing as a "DisplayPort&nbsp;1.1 cable" or a "DisplayPort&nbsp;1.2 cable". Please refer to the DisplayPort website <a target="_blank" href="https://www.displayport.org/cables/how-to-choose-a-displayport-cable-and-not-get-a-bad-one/">here</a>.<br /><br />
Please note that this does not mean "any DisplayPort cable you buy is as good as any other". It is possible to manufacture a cable that cannot handle higher data rates like 4K 60&nbsp;Hz. Such a cable would be non-compliant with the DisplayPort specification's cable requirements, but this does not stop the cable from being sold to consumers. Many DisplayPort cables on the market have not been certified by VESA (the creators of the DisplayPort standard), and therefore are not guaranteed to handle the full bandwidth of the latest DisplayPort version. It is advised to purchase cables which are certified by VESA. The official list of certified cables may be found <a style="text-decoration:underline; cursor:pointer;" href="https://www.displayport.org/products-database/?products_category%5b%5d=cables-connectors&products_manufacturer=">here</a> (unfortunately it is not a large list).<br /><br />
Since many people seem to be having trouble finding quality DisplayPort cables, here are some recommendations:<br /><br />
Accell DisplayPort to DisplayPort cable (VESA-certified):<br />
<a target="_blank" href="https://www.amazon.com/dp/B00CD1FB3A/?tag=linus21-20">B142C-007B-2 (2.0 meters / 6.6 feet)</a><br />
<a target="_blank" href="https://www.amazon.com/dp/B0163LQUH6/?tag=linus21-20">B142C-010B-2 (3.0 meters / 9.8 feet)</a><br /><br />
Accell DisplayPort to Mini DisplayPort cable (VESA-certified):<br />
<a target="_blank" href="https://www.amazon.com/dp/B0163LQUH6/?tag=linus21-20">B143B-007B (2.0 meters / 6.6 feet)</a><br /><br />
GearIT DisplayPort to DisplayPort cable (not VESA-certified, but reviews seem to indicate they handle full DP 1.2 bandwidth out to 15 feet (4.6 meters); 25 foot version does not):<br />
<a target="_blank" href="https://www.amazon.com/dp/B01JKH6LQK/?tag=linus21-20">B143B-007B (1.8 meters / 6.0 feet)</a><br />
<a target="_blank" href="https://www.amazon.com/dp/B01JKH6YIU/?tag=linus21-20">B143B-007B (3.0 meters / 10.0 feet)</a><br />
<a target="_blank" href="https://www.amazon.com/dp/B01JKH7DJY/?tag=linus21-20">B143B-007B (4.6 meters / 15.0 feet)</a><br />
<br />
</div>
<b>Compatibility</b><br /><br />
<div style="padding-left:20px;">
All DisplayPort devices are compatible with all other DisplayPort devices, regardless of the version of each device. When connecting two DisplayPort devices that have different versions, the capabilities and features available are determined by the lower of the two versions. For example if a GPU with DisplayPort&nbsp;1.4 support is plugged into a monitor with a DisplayPort&nbsp;1.2 port, the connection will be limited to only the bandwidth and features provided by DisplayPort&nbsp;1.2. DisplayPort cables themselves do not have versions.<br /><br />
</div>
<b>How is Mini DisplayPort different from full-size DisplayPort?</b><br /><br />
<div style="padding-left:20px;">
It isn't. Mini DisplayPort (mDP) is just a different shape connector. It is functionally identical to a full-size DisplayPort connector, there are no differences in capability, feature support, or compatibility with devices or adapters (other than the different physical shape). The data that goes through an mDP connector is exactly the same as the data that goes through a full-size DP connector. Passive DP-to-mDP adapters can be freely used to change between DisplayPort and Mini DisplayPort to match whichever connector your device has without affecting the signal in any way.<br /><br />
</div>
<b>How does the image quality of DisplayPort compare with DVI and HDMI?</b><br /><br />
<div style="padding-left:20px;">
The image quality of DisplayPort is identical to DVI and HDMI when set to the same image settings.<br /><br />
DisplayPort and HDMI do support a wider range of possible settings compared to DVI, but this does not affect anything on displays which don't take advantage of those extra capabilities. DVI supports up to 24&nbsp;bit/px color depth (16.7 million colors), which is what most computer monitors and TVs run at. DisplayPort and HDMI are capable of higher color depth than 24&nbsp;bit/px (like 30&nbsp;bit/px or 1.07 billion colors) while DVI isn't, but this does not make them any better at displaying 24&nbsp;bit/px color than DVI, so it is irrelevant on most standard displays.<br /><br />
Unless your display has capabilities that are beyond what DVI supports, there will be no advantage to using DP or HDMI instead of DVI.<br /><br />
</div>
<b>Do DisplayPort cables affect image quality?</b><br /><br />
<div style="padding-left:20px;">
No, DisplayPort cables do not affect image quality. DisplayPort transmits data in a digital format, which means that the distortion from electromagnetic interference can be corrected by the receiving device, and the final image is always identical to what was originally sent by the source device. The image quality cannot be degraded by the cable, so the "cable quality" or "signal strength" are irrelevant to the appearance of the image. Features such as "gold-plated connectors" or "high-quality shielding" are superfluous and do not affect the image quality.<br /><br />
</div>
<b>DisplayPort Standard</b><br /><br />
<div style="padding-left:20px;">
The latest version of the DisplayPort standard available to the public is version 1.1a:<br />
<div style="padding-left:20px;">
<a target="_blank" href="https://glenwing.github.io/docs/DP-1.1a.pdf">DisplayPort Standard v1.1a</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/DP-1.0.pdf">DisplayPort Standard v1.0</a><br />
</div><br />
Also available is the specification for the Mini DisplayPort connector:<br />
<div style="padding-left:20px;">
<a href="https://glenwing.github.io/docs/mDP-1.0.pdf">Mini DisplayPort Connector Standard v1.0</a><br />
</div><br />
</div>
</div>
<!-- DisplayPort to HDMI -->
<div id="DP_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=HDMI">Link</a>]</td>
</tr></table>
<br />
<!----
<b>Summary</b><br /><br />
<div style="padding-left:20px;">
<b>DisplayPort&nbsp;1.1</b>:
<ul>
<li>Passive adapters up to <b>HDMI&nbsp;1.2</b> speed (1080p&nbsp;60&nbsp;Hz)</li>
<li>Active adapters up to <b>HDMI&nbsp;1.4</b> speed (1080p&nbsp;144&nbsp;Hz / 1440p&nbsp;75&nbsp;Hz / 4K&nbsp;30&nbsp;Hz)</li>
</ul>
<b>DisplayPort&nbsp;1.2</b> and higher:
<ul>
<li>Passive adapters up to <b>≈HDMI&nbsp;1.4</b> speed (1080p&nbsp;120&nbsp;Hz / 1440p&nbsp;60&nbsp;Hz / 4K&nbsp;30&nbsp;Hz); <i><b>Type 2</b> adapter required for full speed; see below</i></li>
<li>Active adapters up to <b>HDMI&nbsp;2.0</b> speed (1440p&nbsp;144&nbsp;Hz / 4K&nbsp;60&nbsp;Hz)</li>
</ul>
Keep in mind the "UP TO" part. The <b>display's HDMI port</b> must also support these speeds. If your monitor only has an HDMI&nbsp;1.4 port, you will be limited to HDMI&nbsp;1.4 speeds even if you use a DP to HDMI&nbsp;2.0 active adapter.<br /><br />
</div><!---->
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DisplayPort Source to HDMI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Depends on equipment<br /><br /><a id="DP_TO_HDMI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DP_TO_HDMI', 'DP_TO_HDMI'); Configurator();">Show DisplayPort to HDMI Adapter Limits</a>
</td>
</tr>
</table>
</div>
<div id="DP_TO_HDMI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px;">
A simple and inexpensive passive adapter may be used to connect a DisplayPort source to an HDMI display. Any features common to both DisplayPort and HDMI will work through these adapters, such as inline audio, high color depth, or FreeSync if the monitor supports FreeSync-over-HDMI (not all FreeSync monitors support this). The maximum resolution and refresh frequency depend on the equipment used.<br /><br />
There are two types of passive DisplayPort to HDMI adapters which support different speeds:
<ul>
<li><b>Type 1 passive adapters</b> support up to 4.95&nbsp;Gbit/s (<b>HDMI&nbsp;1.2</b> speed; up to 1080p 60&nbsp;Hz)</li>
<li>
<b>Type 2 passive adapters</b> support up to 9.0&nbsp;Gbit/s (<b>≈HDMI&nbsp;1.4</b> speed; up to 1080p 120&nbsp;Hz / 4K 30&nbsp;Hz)<br />
(For a more detailed list of resolutions and refresh rates supported by each type, refer to the <a style="text-decoration:underline; cursor:pointer;" onclick="document.getElementById('DP_TO_HDMI_LINK').click();">table above</a>)
</li>
</ul>
<ul>
<li><b>DisplayPort&nbsp;1.1</b> only supports <b>Type&nbsp;1</b> adapters*.</li>
<li><b>DisplayPort&nbsp;1.2</b> (and higher) supports both <b>Type&nbsp;1</b> and <b>Type&nbsp;2</b> adapters.<br />
*(Type&nbsp;2 adapters will still work in a DP&nbsp;1.1 port, but will be capped to the same speed as a Type&nbsp;1 adapter)</li>
</ul>
DisplayPort&nbsp;1.3 and higher also have paper support for a third type of passive adapter which supports up to 18.0&nbsp;Gbit/s (full HDMI&nbsp;2.0 bandwidth), but no adapters of this type have been produced yet. As a result, HDMI&nbsp;2.0 speeds are currently only possible with active adapters, regardless of DisplayPort version.<br /><br />
Using a DisplayPort to HDMI passive adapter does not provide any special advantage compared to a straight HDMI-to-HDMI connection. No additional bandwidth, features, or image improvements are inherited from DisplayPort by using a DP to HDMI adapter instead of a native HDMI output.<br /><br />
Retailers do not usually label their passive adapters as "Type&nbsp;1" or "Type&nbsp;2", so they must be identified by the maximum resolution claimed by the manufacturer. Type&nbsp;1 passive adapters will usually list a maximum of 1920×1080 or 1920×1200 at 60&nbsp;Hz, while Type&nbsp;2 adapters will support up to 1920×1080 120&nbsp;Hz or 4K 30&nbsp;Hz.<br /><br />
Type&nbsp;2 passive adapters are generally around the same price as a Type&nbsp;1 adapter, so there is usually no reason to buy a Type&nbsp;1 adapter anymore.<br /><br />
DisplayPort to HDMI passive adapters are not bi-directional, so they cannot be used to connect an HDMI source to a DisplayPort display.<br /><br />
DisplayPort to HDMI Type&nbsp;2 passive adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01GW8DZV4/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00K0UDYLM/?tag=linus21-20">US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.co.uk/dp/B01GW8DZV4/?tag=linus21-20">UK</a>
&nbsp; <a target="_blank" href="https://www.amazon.de/dp/B01GW8DZV4/?tag=linus21-20">DE</a>
<br />
DisplayPort to HDMI Type&nbsp;2 passive adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B013G4F0D8/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01672IR6I/?tag=linus21-20">US (2)</a>
<br />
Mini DisplayPort to HDMI Type&nbsp;2 passive adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B019Q1DQKE/?tag=linus21-20">Amazon US</a>
&nbsp; <a target="_blank" href="https://www.amazon.co.uk/dp/B01GW8I2BM/?tag=linus21-20">UK</a>
&nbsp; <a target="_blank" href="https://www.amazon.de/dp/B01GW8I2BM/?tag=linus21-20">DE</a>
<br />
Mini DisplayPort to HDMI Type&nbsp;2 passive adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01DPUGRA8/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Using active adapters,
<ul>
<li><b>DisplayPort&nbsp;1.01.1</b> can support up to <b>HDMI&nbsp;1.4</b> speeds (10.2&nbsp;Gbit/s; 1080p&nbsp;144&nbsp;Hz / 4K&nbsp;30&nbsp;Hz)</li>
<li><b>DisplayPort&nbsp;1.21.4</b> can support up to <b>HDMI&nbsp;2.0</b> speeds (18.0&nbsp;Gbit/s; 1440p&nbsp;144&nbsp;Hz / 4K&nbsp;60&nbsp;Hz)</li>
</ul>
As with all active adapters, maximum resolution / refresh rate and features support are subject to each individual product's limitations, so read the product description. Not all DisplayPort to HDMI active adapters will support HDMI&nbsp;2.0 speeds.<br /><br />
The recommendations listed below all support both DP&nbsp;1.2+ to HDMI&nbsp;2.0 conversion and DP&nbsp;1.1 to HDMI&nbsp;1.4 conversion, with inline audio and full resolution/refresh rate/color support. They are not bi-directional, so they cannot be used to connect an HDMI computer/laptop/console to a DisplayPort display.<br /><br />
DisplayPort&nbsp;1.2+ to HDMI&nbsp;2.0 active adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00S0C7QO8/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B017BQ8I54/?tag=linus21-20">US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.co.uk/dp/B00S0C7QO8/?tag=linus21-20">UK (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.co.uk/dp/B017BQ8I54/?tag=linus21-20">UK (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.de/dp/B00S0C7QO8/?tag=linus21-20">DE (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.de/dp/B017BQ8I54/?tag=linus21-20">DE (2)</a>
<br />
Mini DisplayPort&nbsp;1.2+ to HDMI&nbsp;2.0 active adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00S0BWR2K/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B017BQCUGW/?tag=linus21-20">US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.co.uk/dp/B00S0BWR2K/?tag=linus21-20">UK</a>
&nbsp; <a target="_blank" href="https://www.amazon.de/dp/B00S0BWR2K/?tag=linus21-20">DE</a>
<br />
<br />
</div>
<b>Comments About Componentry Inside DisplayPort to HDMI Passive Adapters</b><br /><br />
<table id="dp_hdmi_adapter_note" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Click to expand
</td>
</tr>
<tr id="dp_hdmi_adapter_note_content" style="display:none;">
<td colspan="2" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
I have seen some controversy over whether DisplayPort to HDMI passive adapters count as "passive" or not, because they have an integrated circuit inside, so I want to comment on this point.<br /><br />
Although DisplayPort sources support the direct output of TMDS-encoded HDMI signals, it sends them at DisplayPort's native voltage (3.3&nbsp;V) with AC coupling instead of the DC-coupled 5&nbsp;V used by HDMI and DVI. Passive DisplayPort to HDMI adapters have a conversion circuit inside them which converts the voltage of the signals from AC-coupled 3.3&nbsp;V to DC-coupled 5&nbsp;V, called a level shifter. This does not make it an "active adapter", because it is not decoding DisplayPort packets and converting the information contained into an equivalent data stream in the 3-channel TMDS format that HDMI uses. The initial signal received by the adapter is <i>already in</i> the 3-channel TMDS format used by HDMI, and the adapter has no effect on the digital values of the signals passing through it, and so does not "convert" or modify any information in the data stream. It is a simple voltage change for electrical compatibility between the two systems, and the circuit is powered by the integrated 3.3&nbsp;V power line from the DisplayPort source.<br /><br />
The only real impact this has (from an engineering standpoint) is that it places a hard limit on what speeds a particular adapter can support, which is why there are different "types" of DP to HDMI adapters which support different speeds. This is because the output of the level shifter circuit needs to be able to keep up with frequency of the input signal (i.e. it needs to be able to change between 0&nbsp;V and 5&nbsp;V fast enough that it can generate digital signals at the required frequency). As new versions of HDMI keep doubling the frequency of the previous version, the DisplayPort to HDMI adapters made for the previous version are not suitable for supporting the newer speeds, so a new adapter using upgraded circuits is required each time.
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the':'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="2" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br />
<hr />
<b>Note 1:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.<br /><br />
<b>Note 2:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- DisplayPort to DVI -->
<div id="DP_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to DVI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=DVI">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DisplayPort Source to DVI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DVI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as Single-Link DVI<br /><br /><a id="DP_TO_DVI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DVI', 'DP_TO_DVI'); Configurator();">Show DVI Limits</a>
</td>
</tr>
</table>
</div>
<div id="DP_TO_DVI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px;">
There is some controversy over whether DisplayPort to HDMI passive adapters count as "passive" or not, because they have an integrated circuit inside, so I want to comment on this point.<br /><br />
A passive adapter can be used to connect a DisplayPort output to a DVI input. This is equivalent to a <b><span style="white-space:nowrap;">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span></b> connection. Inline audio is not supported. These adapters can still be used to connect to monitors that have <span style="white-space:nowrap">Dual-Link</span> DVI ports, but the connection will be limited to the capabilities of <span style="white-space:nowrap">Single-Link</span> DVI as outlined in the table above (<a style="text-decoration:underline; cursor:pointer;" onclick="document.getElementById('DP_TO_DVI_LINK').click();">click here</a>).<br /><br />
<b>All DisplayPort to DVI passive adapters are <u>Single-Link only</u></b>. DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapters <b>do not exist</b>. Although most DisplayPort to DVI passive adapters are advertised as "Dual-Link" and may appear to have "Dual-Link" connectors on them, please be warned that these are fake. The extra pins on these DVI connectors are dummy pins which are not connected to anything, and the adapter will still only function as a <span style="white-space:nowrap">Single-Link</span> DVI adapter. It is physically impossible to create a passive DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI adapter due to an insufficient number of pins on the DisplayPort connector.<br /><br />
DisplayPort to DVI passive adapters are not bi-directional, so they cannot be used to connect a DVI source to a DisplayPort display.<br /><br />
DisplayPort to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00ZMUL6SI/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00BI3YEQO/?tag=linus21-20">Amazon US (2)</a>
<br />
DisplayPort to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter cable (1.8 meters, latching):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B004C9M7UG/?tag=linus21-20">Amazon US</a>
<br />
DisplayPort to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter cable (1.8 meters, non-latching):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B014RWWURC/?tag=linus21-20">Amazon US</a>
<br />
Mini DisplayPort to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00ZMU9PQS/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00DRK716G/?tag=linus21-20">Amazon US (2)</a>
<br />
<br />
</div>
<b>Active Adapters (Single-Link DVI)</b><br /><br />
<div style="padding-left:20px;">
Inexpensive DisplayPort to <b><span style="white-space:nowrap;">Single-Link</span> DVI</b> active adapters exist. These are intended for multi-monitor configurations on some older graphics cards which do not support more than two monitors through DVI / HDMI, including DisplayPort to DVI / HDMI passive adapters; these graphics cards are identified <a href=".?section=active_adapters_for_multi_display">here</a>. Generally speaking, any inexpensive DisplayPort to DVI active adapter is <b><u>Single-Link-only</u></b>. As with passive adapters, these may appear to have "Dual-Link" connectors on them and may be advertised as "Dual-Link", so it is advised to read the description carefully to look for the maximum resolution and refresh frequency that the adapter claims to support. <span style="white-space:nowrap">Single-Link</span> DVI adapters will be limited to 1920×1200&nbsp;@&nbsp;60&nbsp;Hz or 2560×1600&nbsp;@&nbsp;30&nbsp;Hz.<br /><br />
DisplayPort to <span style="white-space:nowrap">Single-Link</span> DVI active adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00OQQ2HDC/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00EDT01TO/?tag=linus21-20">Amazon US (2)</a>
<br />
<br />
</div>
<b>Active Adapters (Dual-Link DVI)</b><br /><br />
<div style="padding-left:20px;">
A more complex active adapter is required to convert DisplayPort to a full <b><span style="white-space:nowrap;">Dual-Link</span> DVI</b> connection. Please note that DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI active adapters are expensive and generally unreliable, so these should only be considered as a last resort. Even if your monitor has a <span style="white-space:nowrap">Dual-Link</span> DVI port, it is usually not necessary to have a <span style="white-space:nowrap">Dual-Link</span> DVI connection. Passive and active DisplayPort to <span style="white-space:nowrap">Single-Link</span> DVI adapters still function in <span style="white-space:nowrap">Dual-Link</span> DVI ports. <span style="white-space:nowrap">Dual-Link</span> DVI active adapters should avoided unless the monitor's specifications exceed the limits of <span style="white-space:nowrap">Single-Link</span> DVI (listed in the table above).<br /><br />
DisplayPort to Dual-Link DVI active adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B002ISVI3U/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00A493CNY/?tag=linus21-20">Amazon US (2)</a>
<br />
Mini DisplayPort to Dual-Link DVI active adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0030XMREG/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B004I6L6DW/?tag=linus21-20">Amazon US (2)</a>
<br />
<br />
</div>
<b>Comments About Componentry Inside DisplayPort to DVI Passive Adapters</b><br /><br />
<table id="dp_dvi_adapter_note" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Click to expand
</td>
</tr>
<tr id="dp_dvi_adapter_note_content" style="display:none;">
<td colspan="2" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
I have seen some controversy over whether DisplayPort to DVI passive adapters count as "passive" or not, because they have an integrated circuit inside, so I want to comment on this point.<br /><br />
Although DisplayPort sources support the direct output of TMDS-encoded DVI signals, it sends them at DisplayPort's native voltage (3.3&nbsp;V) with AC coupling instead of the DC-coupled 5&nbsp;V used by HDMI and DVI. Passive DisplayPort to DVI adapters have a conversion circuit inside them which converts the voltage of the signals from AC-coupled 3.3&nbsp;V to DC-coupled 5&nbsp;V, called a level shifter. This does not make it an "active adapter", because it is not decoding DisplayPort packets and converting the information contained into an equivalent data stream in the 3-channel TMDS format that DVI uses. The initial signal received by the adapter is <i>already in</i> the 3-channel TMDS format used by DVI, and the adapter has no effect on the digital values of the signals passing through it, and so does not "convert" or modify any information in the data stream. It is a simple voltage change for electrical compatibility between the two systems, and the circuit is powered by the integrated 3.3&nbsp;V power line from the DisplayPort source.
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the':'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="2" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br />
<hr />
<b>Note 1:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.<br /><br />
<b>Note 2:</b> Any <span style="white-space:nowrap;">DVI-D</span> device or cable will also work in a <span style="white-space:nowrap;">DVI-I</span> port. If your display has a <span style="white-space:nowrap;">DVI-I</span> port, you do not need to search specifically for a "DisplayPort to <span style="white-space:nowrap;">DVI-I</span>" adapter.<br /><br />
<b>Note 3:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- DisplayPort to VGA -->
<div id="DP_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to VGA Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=VGA">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DisplayPort Source to VGA Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
Passive DisplayPort to VGA adapters do not actually exist, but active DisplayPort to VGA adapters are inexpensive and require no additional power, so they are often mistaken as passive adapters.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
DisplayPort to VGA active adapters are inexpensive and reliable, and require no additional power connectors. If your graphics card has no native VGA or <span style="white-space:nowrap;">DVI-I</span> output, then DisplayPort to VGA is the preferred way of connecting to a VGA display, generally more preferred than an HDMI to VGA or <span style="white-space:nowrap;">DVI-D</span> to VGA active adapter. Since DisplayPort to VGA adapters perform active conversion, they will also work in newer graphics cards without native VGA support, such as the AMD Radeon R9 290X or NVIDIA GeForce GTX 1080 or newer.<br /><br />
DisplayPort to VGA active adapters are often mistaken as passive adapters because of their low cost and size and lack of external power, but all DisplayPort to VGA adapters are active adapters.<br />
<img style="padding-top:8px; padding-bottom:8px;" src="http://puu.sh/twjbO/cb38e38dde.jpg" /><br />
Yes, even this is an active adapter, not a passive adapter.<br /><br />
DisplayPort to VGA active adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00Z08TZNU/?tag=linus21-20">Amazon US</a>
<br />
DisplayPort to VGA active adapter cable (1.8 meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B005RISB3S/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note 1:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.<br /><br />
<b>Note 2:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- DisplayPort to USB-C Alt Mode -->
<div id="DP_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A DisplayPort output cannot be connected to a USB <span style="white-space:nowrap">Type-C</span> input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapters work from a <span style="white-space:nowrap">USB-C</span> source to a DisplayPort display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- DisplayPort to Thunderbolt 3 -->
<div id="DP_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to Thunderbolt&nbsp;3 Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A DisplayPort output cannot be connected to a Thunderbolt&nbsp;3 input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapters work from a Thunderbolt&nbsp;3 source to a DisplayPort display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- DisplayPort to Thunderbolt 1 or 2 -->
<div id="DP_TO_TB">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DisplayPort Source to Thunderbolt or Thunderbolt&nbsp;2 Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DP&input=TB">Link</a>]</td>
</tr>
</table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DisplayPort Source to TB or TB2 Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
A plain DisplayPort source <b>cannot</b> connect to a display's Thunderbolt or Thunderbolt&nbsp;2 input port. Only a Thunderbolt source can connect to a Thunderbolt input port on a display. Furthermore, a <b>Thunderbolt cable</b> must be used, not a Mini DisplayPort cable. Despite having an identical connector, Thunderbolt cables have additional electronics inside which Mini DisplayPort cables do not have.<br /><br />
However, the Apple Thunderbolt Display was the only monitor ever produced with no other inputs besides Thunderbolt. All other monitors ever produced with Thunderbolt or Thunderbolt&nbsp;2 inputs also have native DisplayPort inputs which can be used if you need to connect a plain DisplayPort source.<br /><br />
</div>
<b>Active Adapters Adapters</b><br /><br />
<div style="padding-left:20px;">
There are no active adapters for converting a DisplayPort source to a Thunderbolt or Thunderbolt&nbsp;2 display.
</div>
</div>
<!-- HDMI to DisplayPort -->
<div id="HDMI_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI&input=DP">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
HDMI Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
An HDMI output <b>CANNOT</b> be connected to a DisplayPort input with a passive adapter. Passive DisplayPort to HDMI cables/adapters will only function from DisplayPort <b>output</b> to HDMI <b>input</b>, not the other way around.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Conversion from HDMI to DisplayPort requires an active adapter. Please note that these adapters are very unreliable and should only be considered as a last resort. Most HDMI to DisplayPort active adapters do not support the newest HDCP protocols and so they will not work with modern game consoles. I am not aware of any HDMI&nbsp;2.0+ to DisplayPort&nbsp;1.2+ active adapters at this time.<br /><br />
HDMI&nbsp;1.4 to DisplayPort&nbsp;1.1 active adapter dongle (use with DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0144NS4Z6/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01BXMOREI/?tag=linus21-20">Amazon US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00TCUY2AI/?tag=linus21-20">Amazon US (3)</a>
<br />
HDMI&nbsp;1.2 to DisplayPort&nbsp;1.1 active adapter dongle (use with an HDMI and a DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B004I6IYSM/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note 1:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.<br /><br />
<b>Note 2:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- HDMI to HDMI -->
<div id="HDMI_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI">Link</a>]</td>
</tr></table>
<br />
<div align="center" id="HDMI_TO_HDMI_inlineTable">&nbsp;</div>
<script>document.getElementById("HDMI_TO_HDMI_inlineTable").innerHTML = document.getElementById("HDMI_TABLE").innerHTML</script>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
HDMI Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No (version 1.02.0)<br />
Yes (version 2.0a+)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
None
</td>
</tr>
</table>
</div>
<br />
<b>Cabling</b><br /><br />
<div style="padding-left:20px;">
Main article <a onclick="openSpoiler('hdmi_cable_versions', { 'scroll': true, 'this is the': 'table id' });" style="text-decoration:underline; cursor:pointer;">here</a>.<br /><br />
HDMI cables do not have versions. There is no such thing as an "HDMI&nbsp;1.4 cable" or an "HDMI&nbsp;2.0 cable". All HDMI features such as inline audio, ARC, HDR, and others will work over any cable. There are however several different tiers of HDMI cable rated by bandwidth. High resolutions and refresh rates require better rated cables, but nothing else depends on the cable. See the main article for more details.<br /><br />
</div>
<b>Compatibility</b><br /><br />
<div style="padding-left:20px;">
All HDMI devices are compatible with all other HDMI devices and cables, regardless of the version of each device or cable certification tier. When connecting two HDMI devices that have different versions, the capabilities and features available are determined by the lower of the two versions. For example if a GPU with HDMI&nbsp;2.0 support is plugged into a monitor with an HDMI&nbsp;1.4 port, the connection will be limited to only the bandwidth and features provided by HDMI&nbsp;1.4. HDMI cables themselves do not have versions. They affect bandwidth, but not version or feature support.<br /><br />
</div>
<b>Do I need to get a special HDMI cable to handle 4K&nbsp;60&nbsp;Hz?</b><br /><br />
<div style="padding-left:20px;">
Main article <a onclick="openSpoiler('hdmi_cable_versions', { 'scroll': false, 'this is the': 'table id' }); scrollTo('HDMI_vers_p3');" style="text-decoration:underline; cursor:pointer;">here</a>.<br /><br />
Not usually. Although not guaranteed, most normal High Speed HDMI cables are capable of handling 4K&nbsp;60&nbsp;Hz just fine, and "4K compatible" HDMI cables are generally not necessary. See the main article for more details.<br /><br />
</div>
<b>Do HDMI cables affect image quality?</b><br /><br />
<div style="padding-left:20px;">
No, HDMI cables do not affect image quality. HDMI transmits data in a digital format, which means that the distortion from electromagnetic interference can be corrected by the receiving device, and the final image is always identical to what was originally sent by the source device. The image quality cannot be degraded by the cable, so the "cable quality" or "signal strength" are irrelevant to the appearance of the image. Features such as "gold-plated connectors" or "high-quality shielding" are superfluous and do not affect the image quality.<br /><br />
</div>
<b>How does the image quality of HDMI compare with DisplayPort and DVI?</b><br /><br />
<div style="padding-left:20px;">
The image quality of HDMI is identical to DisplayPort and DVI when set to the same image settings.<br /><br />
HDMI and DisplayPort do support a wider range of possible settings compared to DVI, but this does not affect anything on displays which don't take advantage of those extra capabilities. DVI supports up to 24&nbsp;bit/px color depth (16.7 million colors), which is what most computer monitors and TVs run at. DisplayPort and HDMI are capable of higher color depth than 24&nbsp;bit/px (like 30&nbsp;bit/px or 1.07 billion colors) while DVI isn't, but this does not make them any better at displaying 24&nbsp;bit/px color than DVI, so it is irrelevant on most standard displays.<br /><br />
Unless your display has capabilities that are beyond what DVI supports, there will be no advantage to using DP or HDMI instead of DVI.<br /><br />
</div>
<b>Is HDMI limited to 60&nbsp;Hz?</b><br /><br />
<div style="padding-left:20px;">
Main article <a onclick="openSpoiler('hdmi_60hz_limit', { 'scroll': true, 'this is the': 'table id' });" style="text-decoration:underline; cursor:pointer;">here</a>.<br /><br />
No, HDMI is not limited to 60&nbsp;Hz. Many 1080p&nbsp;120+&nbsp;Hz displays are limited to 60&nbsp;Hz on their HDMI ports, but that is a limitation of those particular products, not a limitation of the HDMI standard. See the main article for more details.<br /><br />
</div>
<b>HDMI&nbsp;2.1 Notes</b><br /><br />
<div style="padding-left:20px;">
The new HDMI&nbsp;2.1 version has recently (at the time of writing anyway) been announced. It increases the maximum transmission bandwidth to 48.0&nbsp;Gbit/s. New "48G" HDMI cables will be required to take advantage of the higher data rate, but other features of HDMI&nbsp;2.1 that are unrelated to bandwidth (such as dynamic HDR metadata or Game Mode VRR) will not require new cables.<br /><br />
HDMI&nbsp;2.1 achieves 48&nbsp;Gbit/s bandwidth by doubling the signaling frequency to 12&nbsp;GHz (compared to 6&nbsp;GHz in HDMI&nbsp;2.0), as well as adding an additional data channel (4 channels total, compared to 3 in HDMI&nbsp;2.0). This will not require a change in the physical connector, so 48G HDMI cables and HDMI&nbsp;2.1 devices will still be usable with previous-version HDMI devices and other HDMI cable types. The fourth data channel will use pins 10 and 12 on the HDMI connector, previously used for the TMDS clock signal (which is now embedded in the data channel signals in HDMI&nbsp;2.1). In previous HDMI versions, this clock signal ran at only one-tenth the frequency that the data channels ran at (600&nbsp;MHz in HDMI&nbsp;2.0), but in HDMI&nbsp;2.1 this channel runs at 12&nbsp;GHz like the other data channels, twenty times the frequency required by HDMI&nbsp;2.0. As a result, previous HDMI cables (Premium, High Speed, and Standard Speed HDMI cables) are not suitable for 12&nbsp;GHz signaling on these pins and will not be capable of facilitating the full 48&nbsp;Gbit/s bandwidth of HDMI&nbsp;2.0. New 48G cables with a much more tightly controlled pair on pins 10 and 12 will be required for this. These cables will still be compatible with previous HDMI versions.<br /><br />
What can be done with 48&nbsp;Gbit/s bandwidth? Some people say 8K 60&nbsp;Hz 4:4:4 uncompressed is possible, based on some quick math: 60&nbsp;frame/s × (7680&nbsp;×&nbsp;4320)&nbsp;px/frame × 24&nbsp;bit/px = 47,775,744,000&nbsp;bit/s, or 47.8&nbsp;Gbit/s, which does seem to fit (barely) within 48.0&nbsp;Gbit/s. However, this is incorrect as it is missing two things.<br /><br />
First, 48.0&nbsp;Gbit/s is the <i>transmission bandwidth</i> of HDMI&nbsp;2.1, not the data rate. The maximum data rate will be some fraction of the bandwidth, the exact numbers depending on the encoding scheme being used. Previous versions of HDMI used 8b/10b encoding, where the maximum data rate was 80% (8/10ths) of the bandwidth; for example, HDMI&nbsp;2.0 with a bandwidth of 18.0&nbsp;Gbit/s had a maximum data rate of 14.4&nbsp;Gbit/s. HDMI&nbsp;2.1 uses 16b/18b encoding, which gives it a maximum data rate of 42.<span style="text-decoration:overline">66</span>&nbsp;Gbit/s.<br /><br />
That alone is enough to show that HDMI&nbsp;2.1 isn't capable of 8K 60&nbsp;Hz uncompressed, since the 47.8&nbsp;Gbit/s data rate required is more than what HDMI&nbsp;2.1 provides. However, that isn't all; data rate required is actually greater than 47.8&nbsp;Gbit/s, because that calculation doesn't take timing format into account.<br /><br>
Timing format (such as CVT, CVT-RB, or CVT-R2) slightly increases the data rate required for a video signal. Displays need small pauses in the data stream between frames (known as blanking intervals), so in order to keep the framerate the same, during the time the data stream is active, it needs to be sent at a slightly higher rate than if it were being sent continuously. As such, the cabling system needs to be able to handle this slightly higher data rate. CVT-R2 is currently the most efficient standardized timing format. If you include overhead for CVT-R2 timing, 8K 60&nbsp;Hz with 24&nbsp;bit/px color would require 49.7&nbsp;Gbit/s, not 47.8.<br /><br />
So yes HDMI&nbsp;2.1 <b>does</b> need to use compression to achieve 8K 60&nbsp;Hz with 4:4:4 color, both in theory and in practice. According to the HDMI consortium, HDMI&nbsp;2.1 implements VESA's DSC&nbsp;1.2 compression algorithm for display modes beyond 8K with 4:2:0 subsampling. DSC is claimed to be "visually lossless" (meaning yes it's lossy, but very unlikely to be noticeable), with near-zero latency and low cost/complexity, although no actual implementations of DSC have been seen in the market yet so no consumer testing has been done.<br /><br />
</div>
<b>HDMI Standard</b><br /><br />
<div style="padding-left:20px;">
The latest version of the HDMI Specification available to the public is version 1.3a:<br />
<div style="padding-left:20px;">
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.3a.pdf">HDMI Specification v1.3a</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.3.pdf">HDMI Specification v1.3</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.2a.pdf">HDMI Specification v1.2a</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.2.pdf">HDMI Specification v1.2</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.1.pdf">HDMI Specification v1.1</a><br />
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.0.pdf">HDMI Specification v1.0</a><br />
</div><br />
Also available is the 3D portion of the HDMI 1.4a specification:<br />
<div style="padding-left:20px;">
<a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.4a-3D.pdf">HDMI Specification v1.4a 3D Signaling Extract</a><br />
</div><br />
</div>
</div>
<!-- HDMI to DVI -->
<div id="HDMI_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI Source to DVI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI&input=DVI">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
HDMI Source to DVI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
Not usually (depends on the display)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DVI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as Single-Link DVI<br /><br /><a id="HDMI_TO_DVI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DVI', 'HDMI_TO_DVI'); Configurator();">Show DVI Limits</a>
</td>
</tr>
</table>
</div>
<div id="HDMI_TO_DVI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px;">
A passive adapter can be used to connect an HDMI output to a DVI input. This is equivalent to a native <b><span style="white-space:nowrap;">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span></b> connection. Inline audio is not supported. These adapters can still be used to connect to monitors that have <span style="white-space:nowrap">Dual-Link</span> DVI ports, but the connection will be limited to the capabilities of <span style="white-space:nowrap">Single-Link</span> DVI as outlined in the table below.<br /><br />
<b>All HDMI to DVI passive adapters are <u>Single-Link only</u></b>. HDMI to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapters <b>do not exist</b>. Although most HDMI to DVI passive adapters are advertised as "Dual-Link" and may appear to have "Dual-Link" connectors on them, please be warned that these are fake. The extra pins on these DVI connectors are dummy pins which are not connected to anything, and the adapter will still only function as a <span style="white-space:nowrap">Single-Link</span> DVI adapter. It is physically impossible to create a passive HDMI to <span style="white-space:nowrap">Dual-Link</span> DVI adapter due to an insufficient number of pins on the HDMI connector.<br /><br />
Since HDMI is only capable of passively adapting to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span> (and not <span style="white-space:nowrap;">DVI-I</span>), this means it is not possible to make a chain of adapters from HDMI&nbsp;&nbsp;DVI&nbsp;&nbsp;VGA. Passive DVI to VGA adapters are not supported on all DVI ports, they only work in special DVI&nbsp;+&nbsp;VGA combo ports called <b><span style="white-space:nowrap">DVI-I</span></b>. An HDMI to DVI passive adapter only provides a standard <span style="white-space:nowrap;">DVI-D</span> port, not <span style="white-space:nowrap;">DVI-I</span>.<br /><br />
HDMI to DVI passive adapters are bi-directional, so the same adapter can be used both from an HDMI source to a DVI display, and from a DVI source to an HDMI display.<br /><br />
Standard Speed HDMI to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00B2HORS6/?tag=linus21-20">Amazon US</a>
<br />
Standard Speed HDMI to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00B2HP9T2/?tag=linus21-20">Amazon US</a>
<br />
High Speed HDMI to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> passive adapter cable (2.0&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B004S4R5CK/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
An active adapter would be required to convert HDMI output to a full <span style="white-space:nowrap">Dual-Link</span> DVI signal, but at the time of writing I am not aware of any such adapters existing.<br /><br />
</div>
<hr />
<b>Note 1:</b> Any <span style="white-space:nowrap;">DVI-D</span> device or cable will also work in a <span style="white-space:nowrap;">DVI-I</span> port. If your display has a <span style="white-space:nowrap;">DVI-I</span> port, you do not need to search specifically for an "HDMI to <span style="white-space:nowrap;">DVI-I</span>" adapter.
<br />
</div>
<!-- HDMI to VGA -->
<div id="HDMI_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI Source to VGA Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI&input=VGA">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
HDMI Source to VGA Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
It is not possible to connect HDMI output to VGA input with a passive adapter.<br /><br />
It is also not possible to create a chain of adapters from HDMI&nbsp;&nbsp;DVI&nbsp;&nbsp;VGA. Passive DVI to VGA adapters do not work in all DVI ports. They only work in special DVI + VGA combo ports called <span style="white-space:nowrap; font-weight:bold;">DVI-I</span>. HDMI only supports passive adapters to <span style="white-space:nowrap;">DVI-D</span>, not to <span style="white-space:nowrap;">DVI-I</span>.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Conversion from HDMI to VGA requires an active adapter. HDMI to VGA active adapters are fairly inexpensive and generally reliable.<br /><br />
HDMI to VGA active adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00ZMV7RL2/?tag=linus21-20">Amazon US</a>
<br />
HDMI to VGA active adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/product/B01GFMW91E/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- HDMI to USB-C Alt Mode -->
<div id="HDMI_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI&input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
An HDMI output cannot be connected to a USB <span style="white-space:nowrap">Type-C</span> input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters work from a <span style="white-space:nowrap">USB-C</span> source to an HDMI display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- HDMI to Thunderbolt 3 -->
<div id="HDMI_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
HDMI Source to Thunderbolt&nbsp;3 Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=HDMI&input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
An HDMI output cannot be connected to a Thunderbolt&nbsp;3 input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters work from a Thunderbolt&nbsp;3 source to an HDMI display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- HDMI to Thunderbolt 1 or 2 -->
<!-- DVI to DisplayPort -->
<div id="DVI_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI&input=DP">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DVI Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
A DVI output <b>CANNOT</b> be connected to a DisplayPort input with a passive adapter. Passive DisplayPort to DVI cables/adapters will only function from DisplayPort <b>output</b> to DVI <b>input</b>, not the other way around.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Conversion from DVI to DisplayPort requires an active adapter.<br /><br />
<span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span> to DisplayPort&nbsp;1.1 active adapter dongle (use with DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B007XQQ92M/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01IPYTFQM/?tag=linus21-20">Amazon US (2)</a>
<br />
<span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span> to Mini DisplayPort&nbsp;1.1 active adapter dongle (use with Mini DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B007VPFUA2/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note 1:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.<br /><br />
<b>Note 2:</b> Any <span style="white-space:nowrap;">DVI-D</span> device or cable will also work in a <span style="white-space:nowrap;">DVI-I</span> port. If your graphics card has a <span style="white-space:nowrap;">DVI-I</span> port, you do not need to search specifically for a "<span style="white-space:nowrap">DVI-I</span> to DisplayPort" active adapter.<br /><br />
<b>Note 3:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- DVI to HDMI -->
<div id="DVI_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI&input=HDMI">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DVI Source to HDMI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI (version depends on equipment)<br /><br /><a id="DVI_TO_HDMI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('HDMI', 'DVI_TO_HDMI'); Configurator();">Show HDMI Limits</a>
</td>
</tr>
</table>
</div>
<div id="DVI_TO_HDMI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px;">
A passive adapter can be used to connect a DVI output to an HDMI input. It does not matter what type of DVI port is used (<span style="white-space:nowrap;">DVI-D</span>, <span style="white-space:nowrap;">DVI-I</span>, Single/Dual-Link), all of them function identically when connected to an HDMI port.<br /><br />
A DVI output to HDMI input connection with a passive adapter has the same capabilities as a native <b>HDMI</b> connection. All HDMI-specific features such as inline audio <b>will</b> work when a DVI to HDMI adapter is used from a DVI source to an HDMI display.<br /><br />
DVI to HDMI adapters are <b>not</b> strictly limited to the speed <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span>. Some adapters will only support speeds up to 165&nbsp;MHz (4.95&nbsp;Gbit/s, the speed of HDMI&nbsp;1.2 and <span style="white-space:nowrap">Single-Link</span> DVI), but some will support up to 340&nbsp;MHz (10.2&nbsp;Gbit/s, the speed of HDMI&nbsp;1.4). DVI ports on graphics cards do support the output of these high-frequency <span style="white-space:nowrap">Single-Link</span> signals, even though they are only used by HDMI, not by DVI. Modern DVI output ports are designed to be able to send HDMI signals.<br /><br />
Please note that this information only applies from DVI output to HDMI input. It does not apply to the reverse configuration (HDMI source to DVI display). Adapter compatibility and rules are <b>not</b> symmetric. Please <a style="text-decoration:underline; cursor:pointer;" onclick="IO_switch_button.click();">click here</a> to see information for a DVI source to an HDMI display.<br /><br />
DVI to HDMI passive adapters are bi-directional, so the same adapters are used for both DVI source to HDMI display and HDMI source to DVI display.<br /><br />
<span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> to Standard Speed HDMI passive adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00B2HORS6/?tag=linus21-20">Amazon US</a>
<br />
<span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> to Standard Speed HDMI passive adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00B2HP9T2/?tag=linus21-20">Amazon US</a>
<br />
<span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> to High Speed HDMI passive adapter cable (2.0&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B004S4R5CK/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
To my knowledge, there are no active adapters available for converting DVI to HDMI, but there is really no reason for them to exist anyway. Modern graphics cards allow HDMI&nbsp;1.4 signals to be sent through Single-Link DVI to HDMI passive adapters, which gives equivalent bandwidth to Dual-Link DVI. Therefore Dual-Link DVI to HDMI active adapters are not necessary.<br /><br />
</div>
<hr />
<b>Note 1:</b> Any <span style="white-space:nowrap;">DVI-D</span> device or cable will also work in a <span style="white-space:nowrap;">DVI-I</span> port. If your graphics card has a <span style="white-space:nowrap;">DVI-I</span> port, you do not need to search specifically for a "<span style="white-space:nowrap;">DVI-I</span> to HDMI" adapter.
<br />
</div>
<!-- DVI to DVI-->
<div id="DVI_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI">Link</a>]</td>
</tr></table>
<br />
<div align="center" id="DVI_TO_DVI_inlineTable">&nbsp;</div>
<script>document.getElementById("DVI_TO_DVI_inlineTable").innerHTML = document.getElementById("DVI_TABLE").innerHTML</script>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DVI Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
None
</td>
</tr>
</table>
</div>
<br />
<div id="DVI_TO_DVI_identifierContainer"></div>
<script>document.getElementById("DVI_TO_DVI_identifierContainer").innerHTML = document.getElementById("DVI_TYPE_TABLE").innerHTML;</script>
<br />
<b>What kind of DVI cable do I need?</b><br /><br />
<div style="padding-left:20px;">
If you are connecting two DVI devices together, a standard <b><span style="white-space:nowrap;">Dual-Link</span> <span style="white-space:nowrap;">DVI-D</span></b> cable will work between any two DVI ports and will allow their maximum capability. It doesn't matter what types of DVI ports they are, whether they are <span style="white-space:nowrap;">DVI-D</span>, <span style="white-space:nowrap;">DVI-I</span>, <span style="white-space:nowrap;">Single-Link</span>, or <span style="white-space:nowrap;">Dual-Link</span> ports. For a <span style="white-space:nowrap;">DVI-to-DVI</span> connection, use a <span style="white-space:nowrap;">Dual-Link</span> <span style="white-space:nowrap;">DVI-D</span> cable.<br /><br />
</div>
<b>What's the difference between <span style="white-space:nowrap;">DVI-D</span> and <span style="white-space:nowrap;">DVI-I</span>?</b><br /><br />
<div style="padding-left:20px;">
<span style="white-space:nowrap; font-weight:bold;">DVI-I</span> is a <span style="white-space:nowrap;">DVI + VGA</span> combo port. Passive <span style="white-space:nowrap;">DVI-to-VGA</span> adapters will only work in these special combo ports, they will not work in standard <span style="white-space:nowrap; font-weight:bold;">DVI-D</span> ports. <span style="white-space:nowrap;">DVI-I</span> ports can be identified by four extra pins surrounding the long pin on the side of the connector (refer to the images above), which are used for the VGA signals. These pins are not present on DVI ports that don't have VGA capability (<span style="white-space:nowrap;">DVI-D</span> ports), to prevent VGA adapters from fitting into these ports.<br /><br />
All other DVI cables and adapters will function identically in <span style="white-space:nowrap;">DVI-D</span> ports and <span style="white-space:nowrap;">DVI-I</span> ports. A <span style="white-space:nowrap;">DVI-I</span> port can do everything that a <span style="white-space:nowrap;">DVI-D</span> port can do, plus VGA adapter compatibility. If you are not using a VGA adapter, there is no difference between a <span style="white-space:nowrap;">DVI-D</span> and a <span style="white-space:nowrap;">DVI-I</span> port.<br /><br />
</div>
<b>What's the difference between <span style="white-space:nowrap;">Single-Link</span> DVI and <span style="white-space:nowrap;">Dual-Link</span> DVI?</b><br /><br />
<div style="padding-left:20px;">
A DVI port operating in <span style="white-space:nowrap;">Single-Link</span> mode can only transmit half as much data per second compared to the standard (<span style="white-space:nowrap;">Dual-Link</span>) signaling mode. This means the maximum refresh frequency at any given resolution is only half of what <span style="white-space:nowrap;">Dual-Link</span> DVI can support. For example, at 2560×1600 <span style="white-space:nowrap;">Dual-Link</span> DVI can support up to a 60&nbsp;Hz refresh frequency, but <span style="white-space:nowrap;">Single-Link</span> DVI can only support up to 30&nbsp;Hz.<br /><br />
<span style="white-space:nowrap;">Single-Link</span> mode is generally only used by DisplayPort-to-DVI and HDMI-to-DVI passive adapters, because DisplayPort and HDMI ports do not have enough pins to transmit native <span style="white-space:nowrap;">Dual-Link</span> DVI signals. However, occasionally you may see cheap DVI-to-DVI cables that are also only wired for <span style="white-space:nowrap;">Single-Link</span> mode, mostly on cables that come included with an inexpensive monitor. There is no reason to specifically buy one of these <span style="white-space:nowrap;">Single-Link-only</span> cables, since <span style="white-space:nowrap;">Dual-Link</span> cables are usually the same price and are still compatible with all DVI devices.<br /><br />
</div>
<div id="DVI_LINK_identifierContainer"></div>
<script>document.getElementById("DVI_LINK_identifierContainer").innerHTML = document.getElementById("DVI_LINK_TABLE").innerHTML;</script>
<br />
<div style="padding-left:20px;">
Some <span style="white-space:nowrap;">Single-Link</span> DVI cables can be identified by a section of missing pins in the center of the connector (shown above), but many <span style="white-space:nowrap;">Single-Link</span> connectors, especially on HDMI-to-DVI and DisplayPort-to-DVI adapters, will still have dummy pins present in those positions, making them indistinguishable from <span style="white-space:nowrap;">Dual-Link</span> DVI connectors.<br /><br />
DVI ports may support both <span style="white-space:nowrap;">Single-Link</span> and <span style="white-space:nowrap;">Dual-Link</span> mode (most do), or they may only support <span style="white-space:nowrap;">Single-Link</span> mode (uncommon), but all DVI ports are compatible with both <span style="white-space:nowrap;">Single-Link</span> and <span style="white-space:nowrap;">Dual-Link</span> DVI cables/connectors even if the port only supports the <span style="white-space:nowrap;">Single-Link</span> signaling mode. There are no compatibility considerations involving <span style="white-space:nowrap;">Single-Link</span> versus <span style="white-space:nowrap;">Dual-Link</span> cables and ports.<br /><br />
You may come across diagrams like <a target="_blank" href="https://linustechtips.com/main/uploads/monthly_2017_07/large.596996468af5c_DVIDiagram.jpg.ef6a511a16dedd0caeaaab077460a075.jpg" style="text-decoration: underline;">this</a> which indicate that <span style="white-space:nowrap;">Single-Link</span> DVI ports have no center pinholes, making them visually identifiable and also incompatible with <span style="white-space:nowrap;">Dual-Link</span> DVI cables. These diagrams are incorrect. In the real world, even DVI ports that only support <span style="white-space:nowrap;">Single-Link</span> mode still have holes for the extra <span style="white-space:nowrap;">Dual-Link</span> pins to allow compatibility with <span style="white-space:nowrap;">Dual-Link</span> cables. DVI ports with blocked center pins do not exist.<br /><br />
</div>
<b>How does the image quality of DVI compare with DisplayPort and HDMI?</b><br /><br />
<div style="padding-left:20px;">
DVI lacks most of the ancillary features that HDMI and DisplayPort have (such as inline audio, HDR, or FreeSync), but picture-wise there will be no visual difference between any of these three interfaces on most displays.<br /><br />
DVI provides enough video bandwidth for 1920×1080 at 144&nbsp;Hz or 2560×1600 at 60&nbsp;Hz, and is limited to 24&nbsp;bit/px color depth (16.7 million colors) in practice (the DVI specification allows support for higher color depth, but no existing displays have implemented support for it over DVI). Most displays do not exceed these limits, and so on these displays there is no visual disadvantage to using DVI, it produces an image identical to what HDMI and DisplayPort produce. HDMI and DisplayPort are only necessary for monitors which exceed those specs, such as 4K 60&nbsp;Hz monitors, in which case DVI is not an option.<br /><br />
</div>
<b>Isn't DVI limited to 2560×1600?</b><br /><br />
<div style="padding-left:20px;">
No, DVI does not have any inherent limit on resolution. Any combination of resolution and refresh frequency is allowed as long as it fits within DVI's maximum bandwidth. Refer to the table above for some valid combinations.<br /><br />
Sometimes, specific products (such as a certain graphics card or monitor) may be limited to 2560×1600 over DVI, but that is a limitation of that particular product, not DVI as a whole. Sometimes, this is a software restriction which may be updated over time or overridden with custom resolutions. Even more often (especially with graphics card spec sheets) the supposed "2560×1600" maximum is simply incorrect, and was written into the spec sheet because 2560×1600 was the highest resolution available at the time and the manufacturer wanted to reassure people that the graphics card would support those monitors, when in reality it can go even higher. For example, the NVIDIA GeForce GTX 580 lists a maximum resolution of 2560×1600 over DVI, but can be used with 4K monitors at 30&nbsp;Hz without issue.<br /><br />
</div>
<b>DVI Standard</b><br /><br />
<div style="padding-left:20px;">
The DVI Specification v1.0 (the only version) is available to the public and may be downloaded here:<br />
<div style="padding-left:20px;">
<a href="https://glenwing.github.io/docs/DVI-1.0.pdf">DVI Specification v1.0</a><br />
</div><br />
</div>
</div>
<!-- DVI to VGA -->
<div id="DVI_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI Source to VGA Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI&input=VGA">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
DVI Source to VGA Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#FCE8B2; vertical-align:top; max-width:300px; border:1px solid #000000;">
No (<span style="white-space:nowrap;">DVI-D</span>) / Yes (DVI-I)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
</table>
</div>
<br />
<div id="DVI_TO_VGA_identifierContainer"></div>
<script>document.getElementById("DVI_TO_VGA_identifierContainer").innerHTML = document.getElementById("DVI_TYPE_TABLE").innerHTML;</script>
<br />
<div style="padding-left:20px;">
A passive adapter can be used to connect a DVI output to a VGA input. <b>These adapters will only work in special DVI + VGA combo ports called <u><span style="white-space:nowrap">DVI-I</span></u></b>. They will <b>NOT</b> work in a standard <span style="white-space:nowrap;">DVI-D</span> port.<br /><br />
Using a passive DVI to VGA adapter is equivalent to a native VGA connection from the source device.<br /><br />
DVI to VGA passive adapters are bi-directional, so the same adapter can be used both from a DVI source to a VGA display, and from a VGA source to a DVI display, if the display's DVI port is <span style="white-space:nowrap">DVI-I</span>. However, this is very rare; most displays have <span style="white-space:nowrap">DVI-D</span> ports, which will <b>not</b> accept VGA passive adapters.<br /><br />
<span style="white-space:nowrap">DVI-I</span> to VGA passive adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B000067SOH/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00VLN3D8Q/?tag=linus21-20">Amazon US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01LPO2IW2/?tag=linus21-20">Amazon US (3)</a>
<br />
<span style="white-space:nowrap">DVI-I</span> to VGA passive adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0001PFPZ4/?tag=linus21-20">Amazon US</a>
<br />
<span style="white-space:nowrap">DVI-I</span> to VGA passive adapter cable (1.5&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00B2HP8AW/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
If your computer only has a <span style="white-space:nowrap;">DVI-D</span> port available (not <span style="white-space:nowrap;">DVI-I</span>), then a <span style="white-space:nowrap;">DVI-D</span> to VGA active adapter is required.<br /><br />
<span style="white-space:nowrap;">DVI-D</span> to VGA active adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01FL7H7HA/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- DVI to USB-C Alt Mode -->
<div id="DVI_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI&input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A DVI output cannot be connected to a USB <span style="white-space:nowrap">Type-C</span> input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters work from a <span style="white-space:nowrap">USB-C</span> source to a DVI display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- DVI to Thunderbolt 3 -->
<div id="DVI_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
DVI Source to Thunderbolt&nbsp;3 Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=DVI&input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A DVI output cannot be connected to a Thunderbolt&nbsp;3 input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters work from a Thunderbolt&nbsp;3 source to a DVI display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- DVI to Thunderbolt 1 or 2 -->
<!-- VGA to DisplayPort -->
<div id="VGA_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA&input=DP">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
VGA Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
It is not possible to connect VGA output to DisplayPort input with a passive adapter.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
An active adapter would be required to convert VGA to DisplayPort, but at the time of writing I am not aware of any such adapters existing.
</div>
</div>
<!-- VGA to HDMI -->
<div id="VGA_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA&input=HDMI">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
VGA Source to HDMI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; min-width: 150px; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
It is not possible to connect VGA output to HDMI input with a passive adapter.<br /><br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Conversion from VGA to HDMI requires an active adapter.<br /><br />
VGA to HDMI active adapter dongle (video + audio; use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00Y3IGB62/?tag=linus21-20">Amazon US</a>
<br />
VGA to HDMI active adapter dongle (video only; use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00IDFGK1W/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- VGA to DVI -->
<div id="VGA_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA Source to DVI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA&input=DVI">Link</a>]</td>
</tr></table>
<br />
<b>Passive Adapters</b><br /><br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
VGA Source to DVI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with a passive adapter?
</td>
<td style="padding:8px; text-align:left; background-color:#FCE8B2; vertical-align:top; max-width:300px; border:1px solid #000000;">
No (<span style="white-space:nowrap;">DVI-D</span>) / Yes (DVI-I)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
</table>
</div>
<br />
<div id="VGA_TO_DVI_identifierContainer"></div>
<script>document.getElementById("VGA_TO_DVI_identifierContainer").innerHTML = document.getElementById("DVI_TYPE_TABLE").innerHTML;</script>
<br />
<div style="padding-left:20px;">
A passive adapter can be used to connect VGA output to DVI input <b>only if the DVI input is a <u><span style="white-space:nowrap">DVI-I</span></u> port</b> (this is very uncommon). Most displays have <span style="white-space:nowrap;">DVI-D</span> input ports, not <span style="white-space:nowrap;">DVI-I</span>. Passive DVI to VGA adapters will not work in <span style="white-space:nowrap;">DVI-D</span> ports.<br /><br />
Using a passive DVI to VGA adapter is equivalent to a native VGA connection from the source device.<br /><br />
DVI to VGA passive adapters are bi-directional, so the same adapter can be used both from a DVI source to a VGA display, and from a VGA source to a DVI display, if the display's DVI port is <span style="white-space:nowrap">DVI-I</span>. However, this is very rare; most displays have <span style="white-space:nowrap">DVI-D</span> ports, which will <b>not</b> accept VGA passive adapters.<br /><br />
DVI to VGA passive adapter:
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0026JMO16/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B000067SOH/?tag=linus21-20">Amazon US (2)</a>
<br />
<br />
</div>
<b>Active Adapters</b><br /><br />
<div style="padding-left:20px;">
Conversion from VGA to <span style="white-space:nowrap;">DVI-D</span> would require an active adapter, but I'm not aware of any such adapters existing at the time of writing.<br /><br />
</div>
</div>
<!-- VGA to VGA -->
<div id="VGA_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;"><tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA">Link</a>]</td>
</tr></table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
VGA Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
None
</td>
</tr>
</table>
</div>
<br />
<b>What is the maximum resolution / refresh frequency of VGA?</b><br /><br />
<div style="padding-left:20px;">
VGA does not have any defined limits. Its capabilities are dependent on the individual limits of the graphics device and the display, which vary by product. The last generations of VGA devices could rival the capabilities of <span style="white-space:nowrap;">Dual-Link</span> DVI, with some VGA displays handling signals as high as 2304×1440 at 80&nbsp;Hz (like the Sony GDM-FW900). While many graphics cards list a maximum analog resolution of 2048×1536, this is often incorrect, and they do work with higher resolutions as long as the monitor supports it.<br /><br />
</div>
<b>Can VGA be used for 1080p 60&nbsp;Hz?</b><br /><br />
<div style="padding-left:20px;">
Yes, any reasonably modern VGA device will handle 1080p 60&nbsp;Hz over VGA.<br /><br />
</div>
<b>Is VGA limited to 60&nbsp;Hz?</b><br /><br />
<div style="padding-left:20px;">
No, VGA is not limited to 60&nbsp;Hz. Many CRT monitors (which only took VGA input) operated at 75&nbsp;Hz or 85&nbsp;Hz standard. VGA has no defined limit on refresh frequency, and can (and has) been used for video formats exceeding 120&nbsp;Hz or even 240&nbsp;Hz on high-end CRTs, if the resolution is lowered enough.<br /><br />
At medium-to-high resolutions like 1920×1080 or above, 120+&nbsp;Hz should not be expected since this does push the limits of what most VGA devices are capable of handling, but VGA is in no way limited to 60&nbsp;Hz as a whole.<br /><br />
</div>
<b>How does the image quality of VGA compare to more modern interfaces like DVI, HDMI, and DisplayPort?</b><br /><br />
<div style="padding-left:20px;">
In general, the image quality of VGA is acceptable and usually difficult to distinguish from DVI, HDMI, and DisplayPort, but it depends on the specific situation and equipment. VGA signals can be degraded by electromagnetic interference, so the image quality may suffer depending on the quality of shielding in the VGA cable. Damage to the cable may also lead to a color-tinted screen if one of the color channels drops out. Image artifacts such as VGA ghosting (the echo/smearing effect; not to be confused with motion trails left behind fast-moving objects, which is also called ghosting) may also appear as a result of poor quality VGA cables.<br /><br />
VGA also lacks some of the image handshake protocols that digital interfaces have, which can lead to the image being "off-center". Most displays have adjustment options built into their on-screen menu to align the image manually.<br /><br />
VGA is generally considered a fallback option for situations in which DVI, HDMI, or DisplayPort are not available.<br /><br />
</div>
</div>
<!-- VGA to USB-C Alt Mode -->
<div id="VGA_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA&input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A VGA output cannot be connected to a USB <span style="white-space:nowrap">Type-C</span> input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters work from a <span style="white-space:nowrap">USB-C</span> source to a VGA display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- VGA to Thunderbolt 3 -->
<div id="VGA_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
VGA Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=VGA&input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px;">
A VGA output cannot be connected to a Thunderbolt&nbsp;3 input. No passive or active adapters exist for this combination.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters work from a Thunderbolt&nbsp;3 source to a VGA display, but not the reverse configuration.<br /><br />
</div>
</div>
<!-- VGA to Thunderbolt 1 or 2 -->
<!-- USB-C Alt Mode to DisplayPort -->
<div id="USBCDP_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC&input=DP">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
<span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort (dependent on source and adapter; see article below)<br /><br /><a id="USBCDP_TO_DP_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DP', 'USBCDP_TO_DP'); Configurator();">Show DisplayPort Limits</a>
</td>
</tr>
</table>
</div>
<div id="USBCDP_TO_DP_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> video output ports can be connected to a DisplayPort input using a passive USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter. <b>Not all USB <span style="white-space:nowrap">Type-C</span> ports support video output.</b> These adapters will only function from USB <span style="white-space:nowrap">Type-C</span> ports that support video output via <i>DisplayPort Alternate Mode</i> (any video-capable USB <span style="white-space:nowrap">Type-C</span> port will support this).<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapters operate passively via the <i>USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode</i> protocol, which allows native DisplayPort signals to be sent through the USB <span style="white-space:nowrap">Type-C</span> interface. These adapters do have a chip inside to negotiate the initial USB connection and switch the host port to DisplayPort output mode, so it is more expensive than a typical passive adapter, but there is no active format conversion involved with the actual video transmission.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> adapters provide a complete DisplayPort signal, with all the capabilities that a standard DisplayPort connection has, including audio. Current adapters support the full bandwidth of DisplayPort&nbsp;1.2 (21.6&nbsp;Gbit/s; see <a style="text-decoration:underline; cursor:pointer;" onclick="document.getElementById('USBDP_TO_DP_LINK').click();">here</a>). The image produced is identical to that of a native DisplayPort connection. Using an adapter does not compromise any aspect of the connection.<br /><br />
A USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter can only provide a DisplayPort signal, it cannot switch modes to output DVI or HDMI signals like a normal DisplayPort port can. For this reason, DisplayPort to DVI and DisplayPort to HDMI passive adapters will not function when chained from a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter, since they rely on that capability to operate.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapters are not bi-directional, so they cannot be used to connect a DisplayPort source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter dongle (use with DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01M9AWPXL/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01K51GM46/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01EXKDRAC/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01J6DT070/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to Mini DisplayPort adapter dongle (use with Mini DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01N2ORP84/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- USB-C Alt Mode to HDMI -->
<div id="USBCDP_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC&input=HDMI">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
<span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Source to HDMI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI (version depends on adapter)<br /><br /><a id="USBCDP_TO_HDMI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('HDMI', 'USBCDP_TO_HDMI'); Configurator();">Show HDMI Limits</a>
</td>
</tr>
</table>
</div>
<div id="USBCDP_TO_HDMI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> video output ports can be connected to an HDMI input port using a USB <span style="white-space:nowrap">Type-C</span> to HDMI active adapter. <b>Not all USB <span style="white-space:nowrap">Type-C</span> ports support video output.</b> These adapters will only function from USB <span style="white-space:nowrap">Type-C</span> ports that support video output via <i>DisplayPort Alternate Mode</i> (any video-capable USB <span style="white-space:nowrap">Type-C</span> port will support this).<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to HDMI active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date. Although a "USB <span style="white-space:nowrap">Type-C</span> HDMI Alternate Mode" specification exists, it is not used in most devices because it was not published until a long time after DisplayPort Alternate Mode had already been universally adopted, and furthermore HDMI Alternate Mode is limited to HDMI version 1.4 and therefore has seen little interest.<br /><br />
Passive USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters are possible in theory via the HDMI Alternate Mode protocol, but to my knowledge have never been produced due to lack of HDMI Alternate Mode support. Since these passive adapters would still require a chip to negotiate the USB connection, they likely would not be much cheaper than the active adapters currently in use.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters are not bi-directional, so they cannot be used to connect an HDMI source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to HDMI&nbsp;2.0 active adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01FIVSC6Y/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00X4S5C7G/?tag=linus21-20">Amazon US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01MYUCWOK/?tag=linus21-20">Amazon US (3)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI&nbsp;2.0 active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0727QQLV2/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- USB-C Alt Mode to DVI -->
<div id="USBCDP_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Source to DVI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC&input=DVI">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
<span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Source to DVI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DVI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as Single-Link DVI<br /><br /><a id="USBCDP_TO_DVI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DVI', 'USBCDP_TO_DVI'); Configurator();">Show DVI Limits</a>
</td>
</tr>
</table>
</div>
<div id="USBCDP_TO_DVI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> video output ports can be connected to a display's DVI input port using a USB <span style="white-space:nowrap">Type-C</span> to DVI active adapter. <b>Not all USB <span style="white-space:nowrap">Type-C</span> ports support video output.</b> These adapters will only function from USB <span style="white-space:nowrap">Type-C</span> ports that support video output via <i>DisplayPort Alternate Mode</i> (any video-capable USB <span style="white-space:nowrap">Type-C</span> port will support this).<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to DVI active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date.<br /><br />
Currently only <span style="white-space:nowrap">Single-Link</span> DVI adapters are available. As with other DVI adapters, these may appear to have <span style="white-space:nowrap">Dual-Link</span> connectors on them, so you will not be able to tell whether it is a <span style="white-space:nowrap">Single-Link</span> or <span style="white-space:nowrap">Dual-Link</span> DVI adapter by looking at it.<br /><br />
<b>All USB <span style="white-space:nowrap">Type-C</span> to DVI adapters currently available are <span style="white-space:nowrap">Single-Link</span> only.</b> Even adapters that claim to support formats like 2560×1440 at 60&nbsp;Hz or 3840×2160 at 30&nbsp;Hz, normally achieved with <span style="white-space:nowrap">Dual-Link</span> DVI, are actually still only <span style="white-space:nowrap">Single-Link</span> DVI adapters. They can support higher modes by operating in <span style="white-space:nowrap">Single-Link</span> mode at double frequency, but this is outside DVI spec and will only work on very specific displays such as the Dell U2711. On all other displays, these adapters will be limited to 1080p 60&nbsp;Hz like any other <span style="white-space:nowrap">Single-Link</span> DVI adapter, so they cannot be used with 1080p 144&nbsp;Hz or 1440p 60&nbsp;Hz monitors as a substitute for a <span style="white-space:nowrap">Dual-Link</span> DVI connection.<br /><br />
In addition, most <span style="white-space:nowrap">USB-C</span> to DVI adapters provide a <span style="white-space:nowrap">DVI-D</span> connection even though they appear to have a <span style="white-space:nowrap">DVI-I</span> connector. In reality the extra <span style="white-space:nowrap">DVI-I</span> pins are simply dummies and are not really wired to anything, so despite appearances these adapters are actually <span style="white-space:nowrap">DVI-D</span> adapters, meaning a chain of adapters from <span style="white-space:nowrap">USB-C</span>&nbsp;&nbsp;DVI&nbsp;&nbsp;VGA is not possible.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters are not bi-directional, so they cannot be used to connect a DVI source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> active adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B012B58JRM/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01FM52F00/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B015RIVZY4/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- USB-C Alt Mode to VGA -->
<div id="USBCDP_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Source to VGA Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC&input=VGA">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
<span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Source to VGA Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px">
A USB <span style="white-space:nowrap">Type-C</span> video output port can be connected to a display's VGA input port using a USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter. <b>Not all USB <span style="white-space:nowrap">Type-C</span> ports support video output.</b> These adapters will only function from USB <span style="white-space:nowrap">Type-C</span> ports that support video output via <i>DisplayPort Alternate Mode</i> (any video-capable USB <span style="white-space:nowrap">Type-C</span> port will support this).<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to VGA active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date.<br /><br />
Using a USB <span style="white-space:nowrap">Type-C</span> to VGA adapter is equivalent to using a native VGA connection. There are no special advantage gained by using an adapter from USB <span style="white-space:nowrap">Type-C</span>.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters are not bi-directional, so they cannot be used to connect a VGA source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0126ZFTZM/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01M9AWON7/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B072DX5Z5S/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- USB-C Alt Mode to USB-C Alt Mode -->
<div id="USBCDP_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div align="center" id="USBCDP_TO_USBCDP_inlineTable">&nbsp;</div>
<script>document.getElementById("USBCDP_TO_USBCDP_inlineTable").innerHTML = document.getElementById("DP_TABLE").innerHTML</script>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
<span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Up to 100&nbsp;W (Optional; varies by device)
</td>
</tr>
</table>
</div>
<br />
<b>What is DisplayPort Alternate Mode?</b><br /><br />
<div style="padding-left:20px;">
DisplayPort Alternate Mode is an optional feature for USB <span style="white-space:nowrap">Type-C</span> ports which allows DisplayPort signals to be routed through the USB port. This is how USB <span style="white-space:nowrap">Type-C</span> ports output video. USB <span style="white-space:nowrap">Type-C</span> ports that do not have this feature cannot output video.<br /><br />
Technically there are other video-over-<span style="white-space:nowrap">USB-C</span> standards such as HDMI Alternate Mode or MHL Alternate Mode, but these are not supported by any devices in the real world. DisplayPort Alternate Mode is the ubiquitous standard for video over USB and is used by all current devices. Even <span style="white-space:nowrap">USB-C</span> to HDMI adapters operate using DisplayPort Alternate Mode.<br /><br />
The DisplayPort signal sent over a USB <span style="white-space:nowrap">Type-C</span> port is exactly the same as the one sent over a normal DisplayPort connection. There is no compromise in image quality, features, or bandwidth when using <span style="white-space:nowrap">USB-C</span>. The DisplayPort version is dependent on the source device. Currently all devices use DisplayPort&nbsp;1.2.<br /><br />
</div>
<b>What kind of cable do I need?</b><br /><br />
<div style="padding-left:20px">
Video over USB uses standard USB <span style="white-space:nowrap">Type-C</span> cables. It does not require any "special" USB cables designed specifically for video or anything like that, but it does require USB <span style="white-space:nowrap">Type-C</span> cables that can handle high bandwidth. Not all USB <span style="white-space:nowrap">Type-C</span> cables are suitable for video transmission.<br /><br />
Some of the names and bandwidth ratings for <span style="white-space:nowrap">USB-C</span> cables that you may commonly see are:
<ul>
<li>USB&nbsp;2.0 (480&nbsp;Mbit/s)</li>
<li>USB&nbsp;3.0 or USB&nbsp;3.1 or "USB&nbsp;3.1 Gen&nbsp;1" (5&nbsp;Gbit/s)</li>
<li>USB&nbsp;3.1 or "USB&nbsp;3.1 Gen&nbsp;2" (10&nbsp;Gbit/s)</li>
<li>Thunderbolt&nbsp;3 Passive Cable (20&nbsp;Gbit/s)</li>
<li>Thunderbolt&nbsp;3 Active Cable (40&nbsp;Gbit/s)</li>
</ul><br />
A cable with a 10&nbsp;Gbit/s or 20&nbsp;Gbit/s rating should be used. A 10&nbsp;Gbit/s cable is sufficient for formats up to around 1920×1080&nbsp;@&nbsp;144&nbsp;Hz, 2560×1600&nbsp;@&nbsp;60&nbsp;Hz, or 3840×2160&nbsp;@&nbsp;30&nbsp;Hz, or lower. Higher formats like 4K&nbsp;60&nbsp;Hz will require cables rated for 20&nbsp;Gbit/s.<br /><br />
Thunderbolt&nbsp;3 <b>active</b> cables (40&nbsp;Gbit/s) can <i>only</i> be used for Thunderbolt&nbsp;3 devices, they <b>cannot</b> be used for plain USB <span style="white-space:nowrap">Type-C</span> devices despite using the same connector. Thunderbolt&nbsp;3 <b>passive</b> cables on the other hand are just normal (though high-grade) USB <span style="white-space:nowrap">Type-C</span> cables and are fully compatible with all USB <span style="white-space:nowrap">Type-C</span> devices.<br /><br />
</div>
</div>
<!-- USB-C Alt Mode to Thunderbolt 3 -->
<div id="USBCDP_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Source to Thunderbolt&nbsp;3 Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBC&input=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alt Mode output ports cannot be connected to a Thunderbolt&nbsp;3 display. Thunderbolt&nbsp;3 input ports on displays only accept video input from a Thunderbolt source. No adapters exist that can make this connection possible.<br /><br />
</div>
</div>
<!-- USB-C Alt Mode to Thunderbolt 1 or 2 -->
<!-- Thunderbolt 3 to DisplayPort -->
<div id="USBCTB3_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt&nbsp;3 Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3&input=DP">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt&nbsp;3 Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort 1.2<br /><br /><a id="TB3_TO_DP_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DP', 'TB3_TO_DP'); Configurator();">Show DisplayPort Limits</a>
</td>
</tr>
</table>
</div>
<div id="TB3_TO_DP_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
Thunderbolt&nbsp;3 output ports can be connected to a display's DisplayPort input port using a standard USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter. There are no special "Thunderbolt&nbsp;3 to DisplayPort" adapters needed.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapters operate passively via the <i>USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode</i> protocol, which allows native DisplayPort signals to be sent through the USB <span style="white-space:nowrap">Type-C</span> interface. These adapters do have a chip inside to negotiate the initial USB connection and switch the host port to DisplayPort output mode, so it is more expensive than a typical passive adapter, but there is no active format conversion involved with the actual video transmission.<br /><br />
DisplayPort-to-DVI and DisplayPort-to-HDMI passive adapters will not function when chained off of a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter dongle (use with DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01M9AWPXL/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01K51GM46/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to DisplayPort adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01EXKDRAC/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01J6DT070/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to Mini DisplayPort adapter dongle (use with Mini DisplayPort cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01N2ORP84/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Mini DisplayPort is functionally identical to DisplayPort, the only difference is the physical shape. Additional adapters to change between DisplayPort and Mini DisplayPort can be used freely without affecting the operation or compatibility of other devices in any way.
<br />
</div>
<!-- Thunderbolt 3 to HDMI -->
<div id="USBCTB3_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt&nbsp;3 Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3&input=HDMI">Link</a>]</td>
</tr>
</table>
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt&nbsp;3 Source to HDMI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as HDMI (version depends on adapter)<br /><br /><a id="TB3_TO_HDMI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('HDMI', 'TB3_TO_HDMI'); Configurator();">Show HDMI Limits</a>
</td>
</tr>
</table>
</div>
<div id="TB3_TO_HDMI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
Thunderbolt&nbsp;3 output ports can be connected to a display's HDMI input port using a standard USB <span style="white-space:nowrap">Type-C</span> to HDMI adapter. There are no special "Thunderbolt&nbsp;3 to HDMI" adapters needed.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to HDMI active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date. Although a "USB <span style="white-space:nowrap">Type-C</span> HDMI Alternate Mode" specification exists, it is not used in most devices because it was not published until a long time after DisplayPort Alternate Mode had already been universally adopted, and furthermore HDMI Alternate Mode is limited to HDMI version 1.4 and therefore has seen little interest.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to HDMI&nbsp;2.0 active adapter dongle (use with HDMI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01FIVSC6Y/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B00X4S5C7G/?tag=linus21-20">Amazon US (2)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01MYUCWOK/?tag=linus21-20">Amazon US (3)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to HDMI&nbsp;2.0 active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0727QQLV2/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- Thunderbolt 3 to DVI -->
<div id="USBCTB3_TO_DVI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt&nbsp;3 Source to DVI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3&input=DVI">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt&nbsp;3 Source to DVI Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DVI
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as Single-Link DVI<br /><br /><a id="TB3_TO_DVI_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DVI', 'TB3_TO_DVI'); Configurator();">Show DVI Limits</a>
</td>
</tr>
</table>
</div>
<div id="TB3_TO_DVI_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
Thunderbolt&nbsp;3 output ports can be connected to a display's DVI input port using a standard USB <span style="white-space:nowrap">Type-C</span> to DVI adapter. There are no special "Thunderbolt&nbsp;3 to DVI" adapters needed.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to DVI active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date.<br /><br />
Currently only <span style="white-space:nowrap">Single-Link</span> DVI adapters are available. As with other DVI adapters, these may appear to have <span style="white-space:nowrap">Dual-Link</span> connectors on them, so you will not be able to tell whether it is a <span style="white-space:nowrap">Single-Link</span> or <span style="white-space:nowrap">Dual-Link</span> DVI adapter by looking at it.<br /><br />
<b>All USB <span style="white-space:nowrap">Type-C</span> to DVI adapters currently available are <span style="white-space:nowrap">Single-Link</span> only.</b> Even adapters that claim to support formats like 2560×1440 at 60&nbsp;Hz or 3840×2160 at 30&nbsp;Hz, normally achieved with <span style="white-space:nowrap">Dual-Link</span> DVI, are actually still only <span style="white-space:nowrap">Single-Link</span> DVI adapters. They can support higher modes by operating in <span style="white-space:nowrap">Single-Link</span> mode at double frequency, but this is outside DVI spec and will only work on very specific displays such as the Dell U2711. On all other displays, these adapters will be limited to 1080p 60&nbsp;Hz like any other <span style="white-space:nowrap">Single-Link</span> DVI adapter, so they cannot be used with 1080p 144&nbsp;Hz or 1440p 60&nbsp;Hz monitors as a substitute for a <span style="white-space:nowrap">Dual-Link</span> DVI connection.<br /><br />
In addition, most <span style="white-space:nowrap">USB-C</span> to DVI adapters provide a <span style="white-space:nowrap">DVI-D</span> connection even though they appear to have a <span style="white-space:nowrap">DVI-I</span> connector. In reality the extra <span style="white-space:nowrap">DVI-I</span> pins are simply dummies and are not really wired to anything, so despite appearances these adapters are actually <span style="white-space:nowrap">DVI-D</span> adapters, meaning a chain of adapters from <span style="white-space:nowrap">USB-C</span>&nbsp;&nbsp;DVI&nbsp;&nbsp;VGA is not possible.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to DVI adapters are not bi-directional, so they cannot be used to connect a DVI source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> active adapter dongle (use with DVI cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B012B58JRM/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01FM52F00/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap">DVI-D</span> active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B015RIVZY4/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- Thunderbolt 3 to VGA -->
<div id="USBCTB3_TO_VGA">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt&nbsp;3 Source to VGA Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3&input=VGA">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt&nbsp;3 Source to VGA Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:top; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as VGA
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px">
Thunderbolt&nbsp;3 output ports can be connected to a display's VGA input port using a standard USB <span style="white-space:nowrap">Type-C</span> to VGA adapter. There are no special "Thunderbolt&nbsp;3 to VGA" adapters needed.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters are configured internally as a USB <span style="white-space:nowrap">Type-C</span> to DisplayPort passive adapter with a DisplayPort to VGA active adapter attached to it. These adapters work on any USB <span style="white-space:nowrap">Type-C</span> port that supports video output via DisplayPort Alternate Mode, which is the video protocol used by all video-capable USB <span style="white-space:nowrap">Type-C</span> devices to date.<br /><br />
Using a USB <span style="white-space:nowrap">Type-C</span> to VGA adapter is equivalent to using a native VGA connection. There are no special advantage gained by using an adapter from USB <span style="white-space:nowrap">Type-C</span>.<br /><br />
USB <span style="white-space:nowrap">Type-C</span> to VGA adapters are not bi-directional, so they cannot be used to connect a VGA source to a <span style="white-space:nowrap">USB-C</span> display.<br /><br />
</div>
<div style="padding-left:20px">
USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter dongle (use with VGA cable):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B0126ZFTZM/?tag=linus21-20">Amazon US (1)</a>
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01M9AWON7/?tag=linus21-20">Amazon US (2)</a>
<br />
USB <span style="white-space:nowrap">Type-C</span> to VGA active adapter cable (1.8&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B072DX5Z5S/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
<hr />
<b>Note:</b> Resolution and refresh frequency limitations on active adapters are subject to each individual product's limitations. Read the product description.
<br />
</div>
<!-- Thunderbolt 3 to USB-C Alt Mode -->
<div id="USBCTB3_TO_USBCDP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt&nbsp;3 Source to USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3&input=USBC">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt&nbsp;3 Source to <span style="white-space:nowrap">USB-C</span> (DP Alt Mode) Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Same as DisplayPort&nbsp;1.2<br /><br /><a id="USBCTB3_TO_USBCDP_LINK" style="text-decoration:underline; color:#000000; cursor:pointer;" onclick="toggleTable('DP', 'USBCTB3_TO_USBCDP'); Configurator();">Show DisplayPort Limits</a>
</td>
</tr>
</table>
</div>
<div id="USBCTB3_TO_USBCDP_CONTAINER" align="center">&nbsp;</div>
<div style="padding-left:20px">
All Thunderbolt&nbsp;3 output ports also have support for DisplayPort&nbsp;1.2 Alternate Mode, which gives them full compatibility with non-Thunderbolt USB <span style="white-space:nowrap">Type-C</span> displays.<br /><br />
A <span style="white-space:nowrap">USB-C</span> Thunderbolt&nbsp;3 output can be connected to a non-Thunderbolt <span style="white-space:nowrap">USB-C</span> input using a standard USB&nbsp;3.1 <span style="white-space:nowrap">Type-C</span> cable rated for at least 20&nbsp;Gbit/s. These may be sold as "Thunderbolt&nbsp;3 passive cables". Please note that <i>active</i> Thunderbolt 3 cables will only work with Thunderbolt 3 devices, they <b>cannot</b> be used for connecting a Thunderbolt 3 device to a non-Thunderbolt <span style="white-space:nowrap">USB-C</span> device.<br /><br />
</div>
<div style="padding-left:20px">
USB&nbsp;3.1 <span style="white-space:nowrap">Type-C</span> 20&nbsp;Gbit/s passive cable (2.0&nbsp;meters):
&nbsp; <a target="_blank" href="https://www.amazon.com/dp/B01AS8U9KE/?tag=linus21-20">Amazon US</a>
<br />
<br />
</div>
</div>
<!-- Thunderbolt 3 to Thunderbolt 3 -->
<div id="USBCTB3_TO_USBCTB3">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
USB <span style="white-space:nowrap">Type-C</span> Thunderbolt&nbsp;3 Alternate Mode
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB3">Link</a>]</td>
</tr>
</table>
<br />
<div align="center" id="TB3_TO_TB3_inlineTable">&nbsp;</div>
<script>document.getElementById("TB3_TO_TB3_inlineTable").innerHTML = document.getElementById("TB3_TABLE").innerHTML;</script>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt 3 Capabilities
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Inline Audio
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
HDR
</td>
<td style="padding:8px; text-align:left; background-color:#F4C7C3; vertical-align:middle; max-width:300px; border:1px solid #000000;">
No
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Power Delivery
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Up to 100 W (Optional; varies by device)
</td>
</tr>
</table>
</div>
<br />
<b>Cabling</b><br /><br />
<div style="padding-left:20px;">
Standard USB <span style="white-space:nowrap">Type-C</span> cables can be used with Thunderbolt&nbsp;3 devices, but are usually limited to 20&nbsp;Gbit/s. Special "active" USB <span style="white-space:nowrap">Type-C</span> cables are available to ensure full 40&nbsp;Gbit/s operation. Although official documentation states that active cables are required for 40&nbsp;Gbit/s, it is possible using standard (passive) cables at very short cable lengths (typically no longer than 0.5 meters). Beyond this, active cables are necessary for the full 40&nbsp;Gbit/s.<br /><br />
Video over Thunderbolt&nbsp;3 uses either 4 or 8 lanes of DisplayPort&nbsp;1.2 (HBR2), depending on the video bandwidth required. For 4-lane operation (up to ≈4K&nbsp;75&nbsp;Hz), passive USB <span style="white-space:nowrap">Type-C</span> cables rated for 20&nbsp;Gbit/s are sufficient. 8-lane operation, which is necessary for higher modes like 5K&nbsp;60&nbsp;Hz, will require cables rated for 40&nbsp;Gbit/s.<br /><br />
</div>
<b>Display Capabilities</b><br /><br />
<div style="padding-left:20px;">
Thunderbolt&nbsp;3 uses the DisplayPort&nbsp;1.2 video protocol (HBR2) for its display capabilities. Not all Thunderbolt&nbsp;3 devices have the same capabilities. Depending on implementation, a Thunderbolt&nbsp;3 port may have a maximum of either:
<ul>
<li>4 lanes of HBR2 (17.28&nbsp;Gbit/s total); sufficient for a single 4K&nbsp;75&nbsp;Hz or 5K&nbsp;30&nbsp;Hz display</li>
<li>8 lanes of HBR2 (34.56&nbsp;Gbit/s total); sufficient for dual 4K&nbsp;75&nbsp;Hz displays, or a single 4K&nbsp;144&nbsp;Hz or 5K&nbsp;75&nbsp;Hz display.</li>
</ul>
Not all Thunderbolt&nbsp;3 ports are capable of the full 8-lane configuration. Thunderbolt&nbsp;3 ports advertised with a maximum of 20&nbsp;Gbit/s bandwidth (or 2 PCIe lanes) are limited to 4 lanes of DisplayPort. Thunderbolt&nbsp;3 ports which support the full 40&nbsp;Gbit/s bandwidth (or 4 PCIe lanes) are capable of the full 8-lane DisplayPort configuration.<br /><br />
Usually when a Thunderbolt&nbsp;3 port supports the full 8-lane configuration, it is part of a dual-port set controlled by the same chip, and only 8 lanes <b>total</b> are available which are shared by both ports. In these systems, if one Thunderbolt&nbsp;3 port consumes all 8 lanes (for example by connecting a 5K&nbsp;60&nbsp;Hz monitor) then video output will be disabled entirely on the second port.<br /><br />
Standard ("passive") USB <span style="white-space:nowrap">Type-C</span> cables rated for 20&nbsp;Gbit/s can be used for 4-lane operation, but display modes higher than ≈4K&nbsp;75&nbsp;Hz require the full 8-lane configuration. The 8-lane configuration requires <span style="white-space:nowrap">USB-C/Thunderbolt 3</span> cables rated for 40&nbsp;Gbit/s<br /><br />
</div>
<b>Compatibility</b><br /><br />
<div style="padding-left:20px;">
All Thunderbolt&nbsp;3 output ports also support USB <span style="white-space:nowrap">Type-C</span> DisplayPort Alternate Mode output up to 4 lanes of HBR2, so can be connected to any monitor equipped with a USB <span style="white-space:nowrap">Type-C</span> video input even if it isn't a Thunderbolt&nbsp;3 monitor. This also makes Thunderbolt&nbsp;3 ports compatible with all USB <span style="white-space:nowrap">Type-C</span> adapters to DisplayPort, HDMI, DVI, and VGA.<br /><br />
Thunderbolt&nbsp;3 outputs can also be connected to monitors that have Thunderbolt or Thunderbolt&nbsp;2 inputs via an adapter.<br /><br />
Thunderbolt&nbsp;3 inputs will only accept video from a Thunderbolt&nbsp;3 source, or a Thunderbolt or Thunderbolt&nbsp;2 source via an adapter.<br /><br />
</div>
<b>Technical Overview</b><br /><br />
<div style="padding-left:20px;">
Thunderbolt&nbsp;3 is an additional data transfer protocol that can be included with USB <span style="white-space:nowrap">Type-C</span> ports to give them additional functionality, known as a USB <span style="white-space:nowrap">Type-C</span> Alternate Mode extension. USB ports which support Thunderbolt&nbsp;3 Alt Mode can still be used as normal USB&nbsp;3.1 <span style="white-space:nowrap">Type-C</span> ports, but also have special capabilities unique to these Thunderbolt-enabled USB ports.<br /><br />
The extent of the capabilities of a Thunderbolt-enabled <span style="white-space:nowrap">USB-C</span> port depends on the control chip chosen by the device manufacturer. Not all Thunderbolt&nbsp;3 ports have equal capabilities. Thunderbolt&nbsp;3 controllers (USB controllers with support for the Thunderbolt&nbsp;3 protocol) are only available from Intel, and are integrated into systems in a similar way to other third party I/O controllers.<br /><br />
They are connected to the system via PCI Express lanes—either primary lanes from the CPU or auxiliary lanes from the chipset. A GPU is also connected to the controller with several lanes of DisplayPort to provide video output capability. On laptops this is configured internally by the motherboard designer, but on PC motherboards an external DisplayPort cable is necessary to route video output from a graphics card through a Thunderbolt&nbsp;3 port on the motherboard. The motherboard designer may also choose to simply route lanes from the CPU's integrated graphics instead, in which case a dedicated graphics card cannot be used to drive monitors through the Thunderbolt&nbsp;3 port; if the motherboard does not have a DisplayPort <b>input</b> port, it is likely configured in this way.<br /><br />
The PCI Express connection to the system consists of either 2 or 4 lanes of PCI Express&nbsp;3.0, providing either 16&nbsp;Gbit/s or 32&nbsp;Gbit/s of data transfer capability. The connection to the GPU consists of either 4 or 8 lanes of DisplayPort&nbsp;1.2, providing either 17.28&nbsp;Gbit/s or 34.56&nbsp;Gbit/s of video bandwidth (a standard DisplayPort connection is 4 lanes). Only a combined maximum of 40&nbsp;Gbit/s may be sent out across the <span style="white-space:nowrap">USB-C/Thunderbolt 3</span> interface, so the data transfer capability and video transfer capability cannot both be used at maximum capacity at the same time. Some Thunderbolt controllers may also support dual Thunderbolt&nbsp;3 ports, which must share the PCIe and DisplayPort connections to the system.<br /><br />
Most laptops or motherboard with a single Thunderbolt&nbsp;3 port use a lower tier controller connected with PCIe&nbsp;3.0&nbsp;×2 and DisplayPort&nbsp;1.2 ×4. These can only output up to 20&nbsp;Gbit/s and are not capable of higher video modes such as 5K&nbsp;60&nbsp;Hz.<br /><br />
Most products with two or more Thunderbolt&nbsp;3 ports use one or several dual-port controllers, which have the full PCIe&nbsp;3.0&nbsp;×4 / DisplayPort&nbsp;1.2 ×8 connection, but these resources are shared by both ports. High-bandwidth video modes such as 5K&nbsp;60&nbsp;Hz or high data transfer rates up to 32&nbsp;Gbit/s are possible on one port, but fully saturating one port will severely reduce similar capabilities on the second port.<br /><br />
When connected to a Thunderbolt&nbsp;3 display, video will be transmitted using the Thunderbolt protocol (in either 20&nbsp;Gbit/s or 40&nbsp;Gbit/s mode, depending on device support). Either 4 lanes (17.28&nbsp;Gbit/s) or 8 lanes (34.56&nbsp;Gbit/s) of DisplayPort video are multiplexed into the 20&nbsp;Gbit/s or 40&nbsp;Gbit/s Thunderbolt link (respectively), and the remainder of the link can be saturated with additional traffic such as simultaneous USB&nbsp;3.1 data.<br /><br />
When connected to a normal DisplayPort input on a display, the Thunderbolt&nbsp;3 output port will use <span style="white-space:nowrap">USB-C</span> DisplayPort Alt Mode to establish a full 4-lane DisplayPort&nbsp;1.2 (17.28&nbsp;Gbit/s) link. This includes the DisplayPort auxiliary channel, so low-bandwidth I/O such as USB&nbsp;2.0 can potentially be carried simultaneously, but this depends on monitor design.<br /><br />
When connected to a <span style="white-space:nowrap">USB-C</span> DisplayPort Alt Mode input port on a display, the Thunderbolt&nbsp;3 output port will again use <span style="white-space:nowrap">USB-C</span> DisplayPort Alt Mode to transmit video. This can be configured (by the monitor manufacturer) either as 4 lanes of DisplayPort&nbsp;1.2 (17.28&nbsp;Gbit/s) with perhaps USB&nbsp;2.0 over the auxiliary channel, or as 2 lanes of DisplayPort&nbsp;1.2 (8.64&nbsp;Gbit/s) and 2 lanes of USB&nbsp;3.1 <span style="white-space:nowrap">(510&nbsp;Gbit/s?)</span>, for high-speed USB data transfer over the same cable. Monitor manufacturers may choose to implement it this way if the monitor's resolution / refresh rate do not require the bandwidth of a 4-lane configuration (i.e. 1080p&nbsp;@&nbsp;144&nbsp;Hz or 1440p&nbsp;@&nbsp;60&nbsp;Hz) and it has a built-in USB&nbsp;3.0/3.1 hub.<br /><br />
</div>
</div>
<!-- Thunderbolt 3 to Thunderbolt 1 or 2 -->
<!-- Thunderbolt 1 or 2 to DisplayPort -->
<div id="TB_TO_DP">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt or Thunderbolt&nbsp;2 Source to DisplayPort Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB&input=DP">Link</a>]</td>
</tr>
</table>
<br />
<div align="center">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="2" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Thunderbolt or Thunderbolt&nbsp;2 Source to DisplayPort Display
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Possible with passive cables?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes (standard mDPto-mDP/DP cable)
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Inline audio supported?
</td>
<td style="padding:8px; text-align:left; background-color:#B7E1CD; vertical-align:top; max-width:300px; border:1px solid #000000;">
Yes
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Image Quality:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Identical to DisplayPort
</td>
</tr>
<tr>
<td style="padding:8px; font-weight:bold; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Maximum Resolution / Frequency:
</td>
<td style="padding:8px; text-align:left; background-color:#ffffff; vertical-align:top; max-width:300px; border:1px solid #000000;">
Identical to DisplayPort
</td>
</tr>
</table>
</div>
<br />
<div style="padding-left:20px;">
Thunderbolt and Thunderbolt&nbsp;2 output ports on a computer also double as a Mini DisplayPort output. They can be connected to any DisplayPort monitor using a standard Mini DisplayPort to Mini/Full-Size DisplayPort cable. No special "Thunderbolt-compatible" cables or adapters are required.<br />
<ul>
<li>Thunderbolt ports act as a DisplayPort&nbsp;1.1 output</li>
<li>Thunderbolt&nbsp;2 ports act as a DisplayPort&nbsp;1.2 output</li>
</ul>
<b>Daisy-Chaining</b><br /><br />
Although Thunderbolt supports daisy-chaining devices, you cannot daisy-chain standard DisplayPort monitors through a Thunderbolt monitor or device.<br /><br />
There are two protocols that can be used for daisy-chaining displays: Thunderbolt and DisplayPort MST.<br /><br />
Original Thunderbolt ports ("Thunderbolt 1") only support daisy-chaining via the Thunderbolt protocol, with a maximum of 2 displays. Non-Thunderbolt monitors cannot be used while daisy-chaining displays, even if they support daisy-chaining via DisplayPort MST. Both monitors must support Thunderbolt.<br /><br />
Thunderbolt&nbsp;2 supports both Thunderbolt daisy-chaining and DisplayPort MST. These daisy-chaining technologies are not cross-compatible, so the display chain must be either all Thunderbolt displays or all DisplayPort MST (non-Thunderbolt) displays. A Thunderbolt monitor cannot be driven from a DisplayPort daisy-chain output port or vice versa.
DisplayPort MST (daisy-chaining) was introduced in DisplayPort&nbsp;1.2. This is a separate capability from the Thunderbolt protocol's daisy-chaining capability. Both methods can be used to daisy-chain displays, but they are not cross-compatible. Displays that support daisy-chaining via MST cannot be chained to displays that support daisy-chaining via the Thunderbolt protocol.<br /><br />
Original Thunderbolt ports ("Thunderbolt 1") do not support DisplayPort MST since they only use DisplayPort version 1.1, which predates the existence of MST. Thunderbolt 1 ports can only daisy-chain displays via the Thunderbolt protocol, so all displays in the chain must support Thunderbolt. You cannot
Since original Thunderbolt (henceforth called Thunderbolt&nbsp;1) only uses DisplayPort&nbsp;1.1, it does not support standard DisplayPort daisy-chaining (MST), which was not introduced until DisplayPort&nbsp;1.2. While Apple Thunderbolt Displays can be daisy-chained from Apple MacBook Pro computers with Thunderbolt&nbsp;1 ports, this is <b>not</b> accomplished via DisplayPort MST, but rather a Thunderbolt controller with two display channels.<br /><br />
Daisy-chaining these Thunderbolt displays can only be done from computers with these controllers; products using the smaller Thunderbolt&nbsp;1 controllers are not able to daisy-chain those same displays (such as the MacBook Airs of the same generation). In addition, all other daisy-chainable displays produced since then work via DisplayPort&nbsp;1.2 MST which is not supported by Thunderbolt&nbsp;1, so computers with Thunderbolt&nbsp;1 ports are not capable of daisy-chaining any displays other than the Apple Thunderbolt displays.<br /><br />
Thunderbolt&nbsp;2 on the other hand supports the DisplayPort&nbsp;1.2 protocol, so should work with any displays that use the standard DisplayPort MST implementation of daisy-chaining.
</div>
</div>
<!-- Thunderbolt 1 or 2 to HDMI -->
<div id="TB_TO_HDMI">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt or Thunderbolt&nbsp;2 Source to HDMI Display
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=TB&input=HDMI">Link</a>]</td>
</tr>
</table>
<br />
<div style="padding-left:20px">
Thunderbolt and Thunderbolt&nbsp;2 output ports function as a Mini DisplayPort output when connected to a <span style="white-space:nowrap">non-Thunderbolt</span> display input. Any Mini DisplayPort to HDMI adapter will function the same way in a Thunderbolt output port as it does in a Mini DisplayPort output. No special "Thunderbolt to HDMI" adapters or cables are required. Thunderbolt provides a DisplayPort&nbsp;1.1 interface, while Thunderbolt&nbsp;2 provides a DisplayPort&nbsp;1.2 interface. Adapter compatibility of Thunderbolt is derived from DisplayPort; go to the <a style="cursor:pointer; text-decoration:underline" onClick="setIODropdowns('DP', 'HDMI', { 'scroll': true });">DisplayPort to HDMI</a> section for details about adapters between DisplayPort / Thunderbolt and HDMI.<br /><br />
</div>
</div>
<!-- Thunderbolt 1 or 2 to DVI -->
<!-- Thunderbolt 1 or 2 to VGA -->
<!-- Thunderbolt 1 or 2 to USB-C Alt Mode -->
<!-- Thunderbolt 1 or 2 to Thunderbolt 3 -->
<!-- Thunderbolt 1 or 2 to Thunderbolt 1 or 2 -->
<div id="TB_TO_TB">
<table style="width:100%; table-layout:fixed; border-collapse:collapse; border:0px #000000 solid;">
<tr>
<td style="width:40px; min-width:40px; max-width:40px;"></td>
<td style="text-align:center; font-size:18px; font-weight:bold;">
Thunderbolt and Thunderbolt&nbsp;2
</td>
<td style="width:40px; min-width:40px; max-width:40px; text-align:right; vertical-align:top;">[<a href=".?output=USBCTB">Link</a>]</td>
</tr>
</table>
<br />
<div align="center" id="TB_TO_TB_inlineTable">&nbsp;</div>
<script>document.getElementById("TB_TO_TB_inlineTable").innerHTML = document.getElementById("TB_TABLE").innerHTML</script>
<br />
</div>
</div>
<!-------------------------------- HTML FRONTEND -------------------------------->
<div align="center" width="100%">
<div align="left">
<table align="center">
<tr>
<td style="padding-bottom:10px">
<b>How to use:</b><br />
<ul>
<li>Use the <u><b>output</b></u> (left) dropdown only, for general information about an interface (DVI, HDMI, etc.)</li>
<li>Use the <u><b>input</b></u> (right) dropdown only, to see all options for connecting to a specific port on a display</li>
<li>Use <u><b>both</b></u> dropdowns for information about a specific adapter combination — make sure they are in the right order!</li>
</ul>
</td>
</tr>
</table>
</div>
<div style="overflow-x:auto" id="TOP";>
<table align="center" style="border:0px solid #000000; border-spacing:0px; font-family:Arial; font-size:14px;">
<tr>
<td>&nbsp;</td>
<td style="text-align:center;">
<b>Output</b>
</td>
<td>&nbsp;</td>
<td style="text-align:center;">
<b>Input</b>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td style="text-align:right; vertical-align:middle; padding:4px; width:160px; min-width:160px;">(Computer / Source)</td>
<td style="text-align:center; vertical-align:middle; padding:4px; width:100px; min-width:100px;">
<select id="Output" onchange="Configurator();">
<option value="BLANK">&nbsp;</option>
<option value="DP">DisplayPort</option>
<option value="HDMI">HDMI</option>
<option value="DVI">DVI</option>
<option value="VGA">VGA</option>
<!----><option value="USBCDP">USB-C DisplayPort</option><!---->
<!----><option value="USBCTB3">Thunderbolt 3</option><!---->
<!----<option value="TB">Thunderbolt 1 or 2</option><!---->
</select>
</td>
<td style="text-align:center; vertical-align:middle; padding:4px; width:100px; min-width:100px;">
<button id="IO_switch_button" onclick="switchIO();" type="button"><span style="color:#000000; white-space:nowrap;">&nbsp;<span style="vertical-align: baseline; position:relative; top:-0.1em; line-height:0;">&larr;</span> Switch <span style="vertical-align: baseline; position:relative; top:-0.1em; line-height:0;">&rarr;</span>&nbsp;</span></button>
</td>
<td style="text-align:center; vertical-align:middle; padding:4px; width:100px; min-width:100px;">
<select id="Input" onchange="Configurator();">
<option value="BLANK">&nbsp;</option>
<option value="DP">DisplayPort</option>
<option value="HDMI">HDMI</option>
<option value="DVI">DVI</option>
<option value="VGA">VGA</option>
<!----><option value="USBCDP">USB-C DisplayPort</option><!---->
<!----><option value="USBCTB3">Thunderbolt 3</option><!---->
<!----<option value="TB">Thunderbolt 1 or 2</option><!---->
</select>
</td>
<td style="text-align:left; vertical-align:middle; padding:4px; width:160px; min-width:160px;">(Monitor / TV / Display)</td>
</tr>
<tr>
<td style="text-align:center; padding-top:4px;" colspan="255">
(Note: <b>Order matters!</b> Make sure that the Output / Input are in the correct order and not reversed.)
</td>
</tr>
</table>
</div>
<hr />
<div align="left" style="max-width:1000px; line-height:150%;">
<div id="maintext">&nbsp;</div>
<div id="maintextfooter" style="display:none;">
<br />
<a style="text-decoration:underline; cursor:pointer;" onclick="scrollTo('TOP')">Back to top</a>
&nbsp;&nbsp;
<a style="text-decoration:underline; cursor:pointer;" onclick="setIODropdowns('BLANK', 'BLANK', { 'scroll': true, 'up_only': true })">Close</a>
<hr /><br />
</div>
</div>
<!-- SPOILER SECTION -->
<div id="LTT_Section" align="left" style="max-width:1000px;">
<div><b>Click to Expand:</b><br /><br /></div>
<!-- Maximum Refresh Frequency and Resolution of Everything -->
<table id="maximum_limits" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Maximum Refresh Frequency and Resolution of Everything
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=maximum_limits">Link</a>]</td>
</tr>
<tr id="maximum_limits_content" style="display:none;"><td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
<div align="center">
<div style="font-size:18px; font-weight:bold; padding:8px;">DisplayPort</div>
<div id="LIMIT_SECTION_DP"></div><br />
<div style="font-size:18px; font-weight:bold; padding:8px;">HDMI</div>
<div id="LIMIT_SECTION_HDMI"></div><br />
<div style="font-size:18px; font-weight:bold; padding:8px;">DVI</div>
<div id="LIMIT_SECTION_DVI"></div><br />
<div style="font-size:18px; font-weight:bold; padding:8px;">Thunderbolt 3</div>
<div id="LIMIT_SECTION_TB3"></div><br />
<!--<div style="font-size:18px; font-weight:bold; padding:8px;">Thunderbolt and Thunderbolt 2</div>
<div id="LIMIT_SECTION_TB"></div><br />-->
</div>
<script>
document.getElementById("LIMIT_SECTION_DVI").innerHTML = document.getElementById("DVI_TABLE").innerHTML;
document.getElementById("LIMIT_SECTION_HDMI").innerHTML = document.getElementById("HDMI_TABLE").innerHTML;
document.getElementById("LIMIT_SECTION_DP").innerHTML = document.getElementById("DP_TABLE").innerHTML;
document.getElementById("LIMIT_SECTION_TB3").innerHTML = document.getElementById("TB3_TABLE").innerHTML;
//document.getElementById("LIMIT_SECTION_TB").innerHTML = document.getElementById("TB_TABLE").innerHTML;
</script>
</div>
</td></tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the':'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Which Cable Type Should I Use? -->
<table id="which_cable_type" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Which Cable Type Should I Use? (DisplayPort vs. HDMI vs. DVI vs. VGA)
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=which_cable_type">Link</a>]</td>
</tr>
<tr id="which_cable_type_content" style="display:none;"><td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
<b>Which Cable Type Should I Use?</b><br /><br />
<div style="padding-left:20px;">
It's generally recommended to avoid using VGA for computer monitors when possible. While it does work fine for most situations, the image quality can be degraded depending on the quality of the cable, and it's relatively easy to damage the cable which often results in color channels dropping out and requiring you to wiggle the cable around, and eventually replace it. On the other hand, VGA can be useful in some situations for consoles, and for using computers/laptops on TVs, since it usually avoids the overscan problems seen with HDMI (where the desktop is cut off on the edges), as well as HDCP compatibility issues that consoles sometimes have.
<br /><br />
</div>
<b>Between DVI, HDMI, and DisplayPort:</b>
<div style="padding-left:20px;">
<ul>
<li>DVI can do up to 1920×1080 at 144&nbsp;Hz or 2560×1600 at 60&nbsp;Hz (using <span style="white-space:nowrap;">Dual-Link</span> DVI)</li>
<li>DVI has a maximum color depth of 24&nbsp;bit/px (16.7 million colors)</li>
<li>DVI does not support any extra features like audio, HDR, or FreeSync</li>
</ul>
But if your monitor's specs don't go beyond these limitations, then there is no difference between using DVI, HDMI, and DisplayPort. For a standard monitor which is limited to (for example) 1080p 60&nbsp;Hz 24&nbsp;bit/px, all three will produce identical images.<br /><br />
</div>
<b>So HDMI and DisplayPort don't have better image quality than DVI?</b><br /><br />
<div style="padding-left:20px;">
That's correct. Between DVI, HDMI, and DisplayPort, there is no difference in image quality when the same image settings are used. The difference is that HDMI and DisplayPort support a wider range of possible settings, so they can be used for situations that DVI can't be used for, like 4K 60&nbsp;Hz or 30&nbsp;bit/px color depth. But these extra capabilities don't make them any better at doing the other things.
<br /><br />
Basically it works like this; DVI can do some stuff. HDMI and DisplayPort can do all the stuff that DVI can do, plus some more. But the stuff that they have in common with DVI, they don't do any better than DVI does, it's just that they have extra capabilities beyond that. If you don't have a monitor that actually uses those extra capabilities, then there is no advantage to using DisplayPort or HDMI compared to DVI.
<br /><br />
At the moment, the vast majority of displays still fall within the capabilities of DVI, so HDMI and DisplayPort are only necessary if you want the extra features like inline audio, or for higher-end display formats like 2560×1440 at 144&nbsp;Hz, or 4K.
<br /><br />
</div>
<b>What about between HDMI and DisplayPort?</b><br /><br />
<div style="padding-left:20px;">
It's pretty much the same as between DVI and HDMI / DP, just between the different versions of HDMI and DisplayPort instead. There is no difference in image quality between HDMI and DisplayPort. They both produce identical images when the same image settings are used. The choice between HDMI and DisplayPort only matters if one of them (usually HDMI) doesn't support the full specs of your monitor. For example, some 4K displays only have HDMI&nbsp;1.4 and DisplayPort&nbsp;1.2. Since HDMI&nbsp;1.4 can't do 4K 60&nbsp;Hz, but DisplayPort&nbsp;1.2 can, you should use DisplayPort. However, if the monitor has an HDMI version which <i>does</i> support 4K&nbsp;60&nbsp;Hz (like HDMI&nbsp;2.0), then it doesn't matter whether you use HDMI or DisplayPort.
<br /><br />
You can check the maximum resolution and refresh frequency of each interface and version <a style="cursor: pointer; text-decoration: underline;" onclick="openSpoiler('maximum_limits', { 'scroll': true, 'this is the':'table id' });">here</a>.
<br /><br />
</div>
</div>
</td></tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Connecting to a 120+ Hz Display -->
<table id="high_refresh_displays" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Connecting to a 120+ Hz Display
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=high_refresh_displays">Link</a>]</td>
</tr>
<tr id="high_refresh_displays_content" style="display:none;">
<td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
<b>Index:</b>
<div style="padding-left:20px;">
<table style="border:1px RGBA(0,0,0,0) solid; border-collapse:collapse;">
<tr onclick="scrollTo('120Hz_interface_support');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
Which connections can support 120+&nbsp;Hz?
</td>
</tr>
<tr onclick="scrollTo('120Hz_which_to_use');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
Which one should I use?
</td>
</tr>
<tr onclick="scrollTo('120Hz_HDMI_limit');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
Isn't HDMI limited to 60&nbsp;Hz?
</td>
</tr>
<tr onclick="scrollTo('120Hz_DP_adapters');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
Can I use a DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapter/cable?
</td>
</tr>
<tr onclick="scrollTo('120Hz_HDMI_adapters');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
Can I use an HDMI to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapter/cable?
</td>
</tr>
<tr onclick="scrollTo('120Hz_no_DP');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px;">
I have a BenQ XL2411Z / ASUS VG248QE / Acer GN246HL or another 120+&nbsp;Hz monitor with no DisplayPort input. What should I do?
</td>
</tr>
</table>
</div>
<br /><hr /><br />
<span id="120Hz_interface_support"><b>Which connections can support 120+ Hz?</b></span><br /><br />
<div style="padding-left:20px;">
In order of preference:<br /><br />
(Note that the <b>source device</b> and the <b>display</b> must <b><i>BOTH</i></b> support the required HDMI / DisplayPort version. Connections will be limited to the lower version between the two. HDMI and DisplayPort cables themselves do not have "versions", though may have bandwidth limitations. See here for more details on HDMI and DisplayPort cable selection: <a style="cursor:pointer; text-decoration:underline;" onclick="setIODropdowns('HDMI', 'BLANK', { 'scroll': true });">HDMI</a> <a style="cursor:pointer; text-decoration:underline;" onclick="setIODropdowns('DP', 'BLANK', { 'scroll': true });">DisplayPort</a>)<br /><br />
At 1920×1080 (2K):<br />
<ul>
<li>DisplayPort (any version)</li>
<li><span style="white-space:nowrap">Dual-Link</span> DVI</li>
<li>HDMI&nbsp;1.3 or above (some monitors do not accept >60&nbsp;Hz over HDMI, so don't count on this option)</li>
</ul>
At 2560×1440 (2.5K):<br />
<ul>
<li>DisplayPort&nbsp;1.2 or above</li>
<li>HDMI&nbsp;2.0 or above</li>
<li>Unofficially, <span style="white-space:nowrap">Dual-Link</span> DVI can sometimes work via overclocking (i.e. setting custom resolutions), but don't count on this</li>
</ul>
At 3840×2160 (4K):<br />
<ul>
<li>DisplayPort&nbsp;1.3 or above</li>
</ul><br />
</div>
<span id="120Hz_which_to_use"><b>Which one should I use?</b></span><br /><br />
<div style="padding-left:20px;">
A straight DisplayPort connection is the preferred option in all cases.<br /><br />
At 1920×1080 if DisplayPort is not available, then use <span style="white-space:nowrap">Dual-Link</span> DVI. If <span style="white-space:nowrap">Dual-Link</span> DVI is not available, you can try HDMI as a last resort, but it is not guaranteed to work for 120+&nbsp;Hz (it depends on the monitor; some work, some don't). HDMI&nbsp;1.3 and above are capable of 1080p 120+&nbsp;Hz, but not all monitors implement this capability, some are limited to 60&nbsp;Hz over HDMI.<br /><br />
At 2560×1440 if DisplayPort is not available, then HDMI can be used if the monitor and source both support HDMI&nbsp;2.0 or above. If the monitor and source do not both support HDMI&nbsp;2.0 or above, then it will not be possible to use HDMI for 120+&nbsp;Hz at 2560×1440. In this case, it may be possible to use <span style="white-space:nowrap">Dual-Link</span> DVI by setting a custom resolution, but it depends on monitor support and is not guaranteed to work.<br /><br />
At 3840×2160 without compression, DisplayPort&nbsp;1.3 or 1.4 can be used up to 120&nbsp;Hz. Frequencies higher than these limits (such as 4K&nbsp;144&nbsp;Hz) will require Display Stream Compression (DSC), only supported by DisplayPort&nbsp;1.4 or higher.
</div><br />
<span id="120Hz_HDMI_limit"><b>Isnt HDMI limited to 60&nbsp;Hz?</b></span><br /><br />
<div style="padding-left:20px;">
No, HDMI is not limited to 60&nbsp;Hz. This is a common myth. Many 1080p&nbsp;120+&nbsp;Hz displays are capped at 60&nbsp;Hz over HDMI, but this is a limitation of those particular displays, not a limitation of the HDMI standard. HDMI itself allows unlimited refresh frequencies, and this has been the case since version 1.2 in 2005. Please refer to the main article <a onclick="openSpoiler('hdmi_60hz_limit', { 'scroll': true, 'this is the': 'table id' });" style="text-decoration:underline; cursor:pointer;">here</a>.<br /><br />
Conspicuous examples of such displays include the ASUS VG248QE, the BenQ XL2411Z, and the Acer GN246HL. All of these are 1080p&nbsp;144&nbsp;Hz monitors with HDMI&nbsp;1.4a ports, but do not support more than 60&nbsp;Hz over HDMI. However, other monitors like the ViewSonic XG2401, Nixeus NX-VUE24A, and Samsung C24FG70 <i>do</i> accept 1080p 120+&nbsp;Hz through HDMI&nbsp;1.4a.
The refresh frequency limits of HDMI at some common resolutions are listed in the table <a style="cursor: pointer; text-decoration: underline;" onclick="openSpoiler('maximum_limits', { 'scroll': false, 'this is the': 'table id' }); scrollTo('LIMIT_SECTION_HDMI');">here</a>. HDMI&nbsp;1.3 and above are capable of 144&nbsp;Hz at 1080p, and HDMI&nbsp;2.0 is capable of 144&nbsp;Hz at 1440p.<br /><br />
</div>
<span id="120Hz_DP_adapters"><b>Can I use a DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapter&nbsp;/&nbsp;cable?</b></span><br /><br />
<div style="padding-left:20px;">
No. DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapters / cables do not actually exist. Even though most DisplayPort to DVI adapters you see for sale are labeled as "<span style="white-space:nowrap">Dual-Link</span>", all of these are fake, they are only <span style="white-space:nowrap">Single-Link</span> DVI adapters in disguise.<br /><br />
The DisplayPort connector has 20 pins, which means it can be used as a <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span> port via a passive adapter. However, <span style="white-space:nowrap">Dual-Link</span> DVI requires 25 pins, so a DisplayPort connector does not have enough pins to emulate a <span style="white-space:nowrap">Dual-Link</span> DVI connection. The additional DVI pins on "DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI" adapters are not connected to anything at all, they are just for show, for marketing purposes. It is nothing but a <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span> adapter dressed up to appear like a <span style="white-space:nowrap">Dual-Link</span> <span style="white-space:nowrap;">DVI-D</span> adapter.<br /><br />
</div>
<span id="120Hz_HDMI_adapters"><b>Can I use an HDMI to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapter&nbsp;/&nbsp;cable?</b></span><br /><br />
<div style="padding-left:20px;">
No, for the same reason as in the above section. HDMI to <span style="white-space:nowrap">Dual-Link</span> DVI passive adapters/cables do not exist. HDMI only has 19 pins, like <span style="white-space:nowrap">Single-Link</span> <span style="white-space:nowrap;">DVI-D</span>. Even though most HDMI to DVI adapters you see for sale are "<span style="white-space:nowrap">Dual-Link</span>", all of these are fake, they are only <span style="white-space:nowrap">Single-Link</span> DVI adapters in disguise.<br /><br />
These HDMI to <span style="white-space:nowrap">Single-Link</span> DVI passive adapters <b>may</b> work for 120+&nbsp;Hz if used from a DVI <b>output</b> (computer/source) to an HDMI <b>input</b> (display) because it acts as an HDMI connection when used in this configuration, and HDMI&nbsp;1.3+ can support 1080p 120&nbsp;Hz as mentioned previously, but this does require the monitor to accept 120+&nbsp;Hz over HDMI, so it will not work on monitors like the BenQ XL2411Z or ASUS VG248QE, which are limited to 60&nbsp;Hz on their HDMI ports.<br /><br />
</div>
<span id="120Hz_no_DP"><b>I have a BenQ XL2411Z / ASUS VG248QE / Acer GN246HL or another 120+&nbsp;Hz monitor with no DisplayPort input. What should I do?</b></span><br /><br />
<div style="padding-left:20px;">
<b>Connecting to the display's HDMI input</b><br /><br />
HDMI&nbsp;1.3 and 1.4 can support up to 144&nbsp;Hz at 1080p, but this will not work on all monitors. Some monitors such as the BenQ-Zowie XL2411(Z), the ASUS VG248QE, and the Acer GN246HL will not accept >60&nbsp;Hz over HDMI even though they have HDMI&nbsp;1.4a inputs. This is not because "HDMI is limited to 60&nbsp;Hz" (it isn't), this is just a limitation of these particular products.<br /><br />
On monitors that <i>do</i> accept >60&nbsp;Hz over HDMI (such as the ViewSonic XG2401), you can use either a straight HDMI connection, a DVI to HDMI adapter, or a DisplayPort to HDMI Type&nbsp;2 passive adapter (up to 120&nbsp;Hz at 1080p). A DisplayPort to HDMI Type&nbsp;1 passive adapter will be limited to HDMI&nbsp;1.2 speeds (60&nbsp;Hz at 1080p).<br /><br />
<b>Connecting to the display's DVI input</b><br /><br />
<span style="white-space:nowrap">Single-Link</span> DVI only supports up to 60&nbsp;Hz at 1080p, so <span style="white-space:nowrap">Dual-Link</span> DVI is required for 120+&nbsp;Hz. This means inexpensive DisplayPort-to-DVI or HDMI-to-DVI passive adapters / cables cannot be used, because DisplayPort and HDMI only support passive adapters to <i>Single-Link</i> DVI, not to <span style="white-space:nowrap">Dual-Link</span>. <b>Almost all DisplayPort-to-DVI and HDMI-to-DVI cables / adapters have fake "<span style="white-space:nowrap">Dual-Link</span>" connectors on them, but don't be fooled; they are still <span style="white-space:nowrap">Single-Link</span> DVI adapters in disguise. DisplayPort and HDMI <u>do not support</u> passive adapters to <span style="white-space:nowrap">Dual-Link</span> DVI; it is <i>physically impossible</i> to create such an adapter due to an insufficient number of pins on the DP and HDMI connectors.</b><br /><br />
If you are using a monitor that only has DVI and HDMI inputs (no DisplayPort) and also doesn't accept >60&nbsp;Hz over HDMI (like the BenQ XL2411Z), then you <i>must</i> use the <span style="white-space:nowrap">Dual-Link</span> DVI input. If your computer does not have a native DVI output to connect to it, you <i>must</i> use a DisplayPort to <span style="white-space:nowrap">Dual-Link</span> DVI <b>active</b> adapter.<br /><br />
<b>Not just any DisplayPort to DVI active adapter will work</b>. There are plenty of DisplayPort to <span style="white-space:nowrap">Single-Link</span> DVI active adapters, intended for multi-monitor configurations on some older AMD graphics cards (detailed <a style="cursor:pointer; text-decoration:underline;" onclick="openSpoiler('active_adapters_for_multi_display', { 'scroll': true, 'this is the': 'table id' });">here</a>). Inexpensive DisplayPort to DVI active adapters are all <span style="white-space:nowrap">Single-Link</span>-only and will not work for 1080p 120+&nbsp;Hz. True DP to <span style="white-space:nowrap;">DL-DVI</span> active adapters are very expensive, and generally quite unreliable. They should only be used as a last resort. If you haven't purchased your monitor yet, don't buy one that only has HDMI and DVI. Look for one that has native DisplayPort input instead.<br /><br />
DisplayPort&nbsp;1.1 to Dual-Link DVI active adapter:&nbsp;<a target="_blank" href="https://www.amazon.com/Accell-B087B-002B-UltraAV-DisplayPort-Dual-Link/dp/B002ISVI3U/">Amazon US</a><br />
DisplayPort&nbsp;1.1 to Dual-Link DVI active adapter:&nbsp;<a target="_blank" href="https://www.amazon.com/StarTech-com-DisplayPort-Active-Adapter-Converter/dp/B00A493CNY/">Amazon US</a><br />
Mini DisplayPort&nbsp;1.1 to Dual-Link DVI active adapter:&nbsp;<a target="_blank" href="https://www.amazon.com/StarTech-com-MDP2DVID-DisplayPort-Dual-Link-Powered/dp/B004I6L6DW/">Amazon US</a><br /><br />
</div>
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Active vs. Passive Adapters -->
<table id="active_vs_passive_adapters" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Active vs. Passive Adapters
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=active_vs_passive_adapters">Link</a>]</td>
</tr>
<tr id="active_vs_passive_adapters_content" style="display:none;">
<td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
<b>Index:</b>
<div style="padding-left:20px;">
<table style="border:1px RGBA(0,0,0,0) solid; border-collapse:collapse;">
<tr onclick="scrollTo('Adapters_Preface');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:bold; vertical-align:top; padding:6px;">
What's the Difference? (Preface)
</td>
</tr>
<tr onclick="scrollTo('Adapters_Passive');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:bold; vertical-align:top; padding:6px;">
Passive Adapters
</td>
</tr>
<tr onclick="scrollTo('Adapters_Analog_Digital');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Passive adapter compatibility has nothing to do with analog and digital
</td>
</tr>
<tr onclick="scrollTo('Adapters_Bandwidth');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Passive adapter compatibility has nothing to do with bandwidth
</td>
</tr>
<tr onclick="scrollTo('Adapters_LCD');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Passive adapters are not necessarily limited to the lowest common denominator
</td>
</tr>
<tr onclick="scrollTo('Adapters_Passive_Latency');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Do passive adapters add any latency?
</td>
</tr>
<tr onclick="scrollTo('Adapters_Passive_Image_Quality');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Do passive adapters reduce image quality?
</td>
</tr>
<tr onclick="scrollTo('Adapters_Active');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:bold; vertical-align:top; padding:6px;">
Active Adapters
</td>
</tr>
<tr onclick="scrollTo('Adapters_Active_Latency');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Do active adapters add any latency?
</td>
</tr>
<tr onclick="scrollTo('Adapters_Active_Image_Quality');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:normal; vertical-align:top; padding:6px; padding-left:20px;">
Do active adapters reduce image quality?
</td>
</tr>
<tr onclick="scrollTo('Adapters_How_to_Tell');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:bold; vertical-align:top; padding:6px;">
How can I tell if an adapter is passive or active?
</td>
</tr>
<tr onclick="scrollTo('Adapters_Which_to_Use');"
onmouseover="this.style.backgroundColor='RGBA(128, 128, 128, .32)'" onmouseout="this.style.backgroundColor='RGBA(128, 128, 128, 0)'" style="cursor:pointer">
<td style="font-weight:bold; vertical-align:top; padding:6px;">
Which type should I use?
</td>
</tr>
</table>
</div>
<br /><hr /><br />
<span id="Adapters_Preface"><b>What's the difference between a passive adapter and an active adapter? (Preface)</b></span><br /><br />
<div style="padding-left:20px;">
There are a lot of myths and confusion surrounding passive and active adapters, and there seems to be very little understanding of exactly what they are, how they both work, and how to identify them. Hopefully this article will help clear things up.<br /><br />
First, to make some general points clear since there is a lot of misinformation spread around:<br /><br />
Passive Adapters:
<ul>
<li>Compatibility is completely arbitrary and is based on how each interface (DVI, HDMI, etc.) is designed. It has <b>absolutely nothing to do</b> with whether signals are digital or analog.</li>
<li>Passive adapters are <b>not</b> necessarily limited to the lowest common denominator in terms of bandwidth / feature support, etc.; this depends on the specific interfaces involved.</li>
<li>Passive adapters may or may not work in both directions; this depends on the specific interfaces involved (DVI, HDMI, etc.), it does not depend on the adapter itself.</li>
</ul>
Active Adapters:
<ul>
<li>Active adapters may or may not require additional power connectors; some do and some don't.</li>
<li>Active adapters may or may not be expensive or bulky; some are and some aren't, usually it depends on the specific interfaces being converted, as some conversions are more complex than others.</li>
<li>Any two interfaces can (in theory) be connected with an active adapter, although in practice not every conceivable combination of interfaces has an adapter manufactured for it.</li>
<li>Capabilities (maximum bandwidth, feature support such as audio, etc.) are limited to the lowest common denominator; if one of the interfaces doesn't support something, it won't carry through an active adapter.</li>
<li>Active adapters may or may not work in both directions; it depends on the specific adapter. The vast majority of active adapters only work in one direction, but it is not <i>impossible</i> for an active adapter to be bi-directional.</li>
</ul><br />
From a technical standpoint, the difference between an active adapter and a passive adapter is in the basic principle of operation. Being able to tell the difference between a passive and active adapter isn't as simple as looking for external features like power cables, bulkiness, or cost. Some active adapters require power cables, but less complex ones can get enough power directly from the port. Some active adapters, like DisplayPort to VGA, can be very inexpensive, compact, reliable, and require no power cables, and for this reason they are often mistaken or mislabeled as "passive adapters". However, these external features are not the criteria which actually define whether an adapter is passive or active.
<br /><br />
So what is the difference exactly? Well...
<br /><br />
There are many different signaling formats, or methods of representing and transmitting the information that makes up a video signal. Each different interface (VGA, HDMI, DisplayPort, etc.) uses a different format; they represent the information in different ways. If you (as a system designer) want your device to be able to communicate information to another device which uses a different format, there are two ways for this to happen. You can design your device to be able to communicate using the other device's format (make it "multi-lingual" in a sense), or you can insert a third-party device between them to convert the information from one format to the other en route (a "translator" if you will). A passive adapter works via the first approach, and an active adapters works via the second approach.
<br /><br />
</div>
<span id="Adapters_Passive"><b>Passive Adapters</b></span><br /><br />
<div style="padding-left:20px;">
A passive adapter works via the first approach described in the preface. As it turns out, the ports on your graphics card or laptop or other source device can output signals in multiple different formats. For example, DisplayPort ports are not just limited to sending DisplayPort signals; they can send signals in the HDMI or DVI formats if required. Of course, the only problem is that the DisplayPort port cannot physically morph itself into an HDMI port to allow you to plug in HDMI cables, so this is why the "passive adapter" is needed; the adapter does not do anything at all to the format of the electrical signal, it is just there to change the shape of the port to allow you to plug the correct cable in. When you use a DisplayPort to HDMI passive adapter, the adapter is not "converting" DisplayPort signals into HDMI signals. The electrical signals coming from the DP port are already in the HDMI format, the adapter is just changing the physical shape of the port.
<br /><br />
Since passive adapters don't actually do anything themselves, they will only work for some very specific combinations of ports which have been pre-designed with the ability to communicate in other formats. The table below shows which connections are possible using passive adapters:
<br /><br />
</div>
<div align="center" style="overflow-x:auto;">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:120%;">
<tr>
<td colspan="4" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
Every Possible Passive Adapter Combination
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#D9D9D9; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;" colspan="2">
<b>Output Port</b><br />(Computer / Source)
</td>
<td style="padding:8px; text-align:center; background-color:#D9D9D9; vertical-align:middle; max-width:300px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;">
<b>Possible<br />Output Signals</b>
</td>
<td style="padding:8px; text-align:center; background-color:#D9D9D9; vertical-align:middle; max-width:300px; border:1px solid #000000; border-left:0px solid #000000;">
<b>Comments</b><br />
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;" rowspan="3">
DisplayPort
</td>
<td style="padding:8px; font-size:20px; text-align:center; background-color:#ffffff; width:16px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;" rowspan="3">&rarr;</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-left:1px solid #000000; border-bottom-color:#D8D8D8;">
DisplayPort<br />
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-left:1px solid #000000; border-bottom-color:#D8D8D8;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI version/bandwidth dependent on source device and adapter
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
<span style="white-space:nowrap;">
Single-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Can be connected to <span style="white-space:nowrap;">Dual-Link</span> DVI ports, but will still be limited to <span style="white-space:nowrap;">Single-Link</span> speed
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;" rowspan="2">
HDMI
</td>
<td style="padding:8px; font-size:20px; text-align:center; background-color:#ffffff; width:16px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;" rowspan="2">&rarr;</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
<span style="white-space:nowrap;">
Single-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Can be connected to <span style="white-space:nowrap;">Dual-Link</span> DVI ports, but will still be limited to <span style="white-space:nowrap;">Single-Link</span> speed
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;" rowspan="3">
<span style="white-space:nowrap;">
Dual-Link DVI-D
</span>
</td>
<td style="padding:8px; font-size:20px; text-align:center; background-color:#ffffff; width:16px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;" rowspan="3">&rarr;</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI version/bandwidth dependent on source device and adapter
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
<span style="white-space:nowrap;">
Single-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
<span style="white-space:nowrap;">
Dual-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;" rowspan="4">
<span style="white-space:nowrap;">
Dual-Link DVI-I
</span>
</td>
<td style="padding:8px; font-size:20px; text-align:center; background-color:#ffffff; width:16px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;" rowspan="4">&rarr;</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
HDMI version/bandwidth dependent on source device and adapter
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
<span style="white-space:nowrap;">
Single-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;">
<span style="white-space:nowrap;">
Dual-Link DVI
</span>
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-bottom-color:#D8D8D8;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
VGA
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;"></td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000; border-right:0px solid #000000;">
VGA
</td>
<td style="padding:8px; font-size:20px; text-align:center; background-color:#ffffff; width:16px; border:1px solid #000000; border-left:0px solid #000000; border-right:0px solid #000000;">&rarr;</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
VGA
</td>
<td style="padding:8px; text-align:center; background-color:#ffffff; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Can be received by either a VGA port or a <span style="white-space:nowrap">DVI-I</span> input port (<span style="white-space:nowrap">DVI-I</span> inputs are very rare, most displays have <span style="white-space:nowrap">DVI-D</span> inputs, not <span style="white-space:nowrap">DVI-I</span>)
</td>
</tr>
</table>
</div><br />
<div style="padding-left:20px;">
This table is an <b>exhaustive list</b> of all possible connections that can be made using passive adapters between DP, HDMI, DVI, and VGA. If it is not listed above, it is not possible with a passive adapter.<br /><br />
While output ports can send multiple types of signals, most input ports will only accept signals in their native format. For example, if your display has a <span style="white-space:nowrap;">DVI-D</span> input, it will only accept DVI signals. This means that you can connect to it from a DisplayPort, HDMI, or DVI output port, because all three of those ports know how to send the DVI signals that the input port requires.<br /><br />
On the other hand, if your monitor has a DisplayPort input, you can only connect to it from a DisplayPort source. Neither DVI nor HDMI output ports know how to send DisplayPort signals, so they cannot communicate with just a passive adapter. In this case, an active adapter would be required to convert one of the other signals into the DisplayPort format, since DVI and HDMI ports cannot output DisplayPort signals themselves.<br /><br />
The only type of input port that will accept more than one format is <span style="white-space:nowrap;">DVI-I</span>, which can accept both DVI and VGA signals. However, it is very rare for a display to have a <span style="white-space:nowrap;">DVI-I</span> input. Almost all DVI ports found on displays are <span style="white-space:nowrap;">DVI-D</span>.<br /><br />
</div>
<span id="Adapters_Analog_Digital"><b>Passive adapter compatibility has nothing to do with analog and digital</b></span><br /><br />
<div style="padding-left:20px;">
Something important to notice about the table above is that the compatibility between formats has no relation to whether each format is analog or digital.<br /><br />
DisplayPort outputs are capable of sending DVI and HDMI signals, so a passive adapter can be used to connect a DisplayPort output to a DVI or HDMI input. However, DVI and HDMI outputs are not capable of sending DisplayPort signals, so a passive adapter cannot be used to connect a DVI or HDMI output to a DisplayPort input. Just because "they're both digital" doesn't mean passive adapters can be used.<br /><br />
<span style="white-space:nowrap;">DVI-I</span> outputs are capable of sending VGA signals, so a passive adapter can be used to connect a <span style="white-space:nowrap;">DVI-I</span> output to a VGA input. Just because "one's a digital standard and one's an analog standard" doesn't mean passive adapters can't be used. If your digital standard includes the ability to send analog signals when requested, then it's possible to use passive adapters to an analog standard, and that's all there is to it.<br /><br />
People imagine that when one signal is digital and the other is analog, this makes it impossible change one to the other without some processing involved, making passive conversion impossible. Meanwhile if they are both digital, they are more closely related and this makes conversion very simple (insert hand-waving here).<br /><br />
This talk about how easy or difficult it is to convert one signal to another is irrelevant here. Converting one signal to another is what an active adapter does. Passive adapters do not convert any signals. Yes, it is impossible to convert an analog format into a digital format without any processing. That's because it's impossible to convert ANY format to ANY OTHER format without processing. There is no such thing as "passively converting" a signal. It doesn't matter whether it is analog to digital or digital to digital; ANY kind of signal conversion is impossible without an active adapter, period.<br /><br />
Passive adapters work because source ports can output video in multiple different formats, so no conversion is necessary. These formats do not have to be related in any way. If you want to know whether or not you can use a passive adapter for a certain format, the answer has nothing to do with the port's other formats.<br /><br />
For example, if you want to know whether or not DVI ports can support passive adapters to VGA, DVI being a digital format doesn't have anything to do with VGA adapter support, because the DVI format isn't being used when you're using a passive adapter. The correct question is, "are DVI ports capable of sending VGA signals instead of DVI signals?", and the answer is "yes, if it's a <span style="white-space:nowrap;">DVI-I</span> port". Thus, passive DVI to VGA adapters are possible, despite the DVI format itself being digital.<br /><br />
Likewise, if you want to know whether DisplayPort to VGA passive adapters exist or not, asking "is the DisplayPort format digital or analog" is completely irrelevant, because there aren't any DisplayPort signals involved when a passive adapters is used. The question is "are DisplayPort ports capable of sending VGA signals instead of DisplayPort signals?", and the answer is "no", so DisplayPort to VGA signals are therefore not possible. It has nothing to do with the DisplayPort format being digital, DisplayPort simply wasn't designed with the ability to alternatively send VGA signals, while DVI was.<br /><br />
There are no rules of thumb, like "digital to digital is possible passively, analog to digital isn't". The compatibility of passive adapters is completely arbitrary and just comes down to what capabilities each video standard was designed with.<br /><br />
</div>
<span id="Adapters_Bandwidth"><b>Passive adapter compatibility has nothing to do with bandwidth</b></span><br /><br />
<div style="padding-left:20px;">
Another surprise to most people is that DisplayPort&nbsp;1.2 doesn't support passive adapters to HDMI&nbsp;2.0, or that DisplayPort and HDMI don't support passive adapters to <span style="white-space:nowrap;">Dual-Link</span> DVI, only to <span style="white-space:nowrap;">Single-Link</span> DVI. Upon being informed of this, the response is usually something along the lines of "well that doesn't make any sense; they're both digital, and the bandwidth of DisplayPort is greater than <span style="white-space:nowrap;">Dual-Link</span> DVI / HDMI&nbsp;2.0, etc. so a passive adapter should work!" But again, this is based on a misunderstanding of how passive adapters work.<br /><br />
People imagine that a passive DP to DVI adapter is "converting" DisplayPort signals into DVI signals, as if the image is originally sent as a DisplayPort signal and an adapter transforms it into an equivalent <span style="white-space:nowrap;">Dual-Link</span> DVI signal, which should work because any <span style="white-space:nowrap;">Dual-Link</span> DVI data stream will "fit" inside a DisplayPort signal since the bandwidth of DisplayPort is greater than that of <span style="white-space:nowrap;">DL-DVI</span>. This is all very sensible sounding, and is a wonderful description of how an <i>active</i> adapter works, not a passive adapter.<br /><br />
A passive adapter does not "convert" a signal from format to another. The original signal is sent in the desired format to begin with, and the adapter is just changing the physical shape of the port so that the correct cables can be plugged in. In a DisplayPort to DVI (or HDMI to DVI) passive adapter, the DisplayPort output port is essentially used as a DVI port; all of the pins are used to send the same electrical signals that a DVI port's pins would (more or less). Of course, the DisplayPort port is still shaped like a DisplayPort port and so DVI cables will not fit—that's what the passive adapter is needed for—but electrically it is acting as a DVI port. But a DisplayPort port also only has 20 pins (compared to 19 pins on <span style="white-space:nowrap;">SL-DVI-D</span> and 25 pins on <span style="white-space:nowrap;">DL-DVI-D</span>), so it can only send signals that a <span style="white-space:nowrap;">Single-Link</span> DVI port would send; it is physically impossible for it to send <span style="white-space:nowrap;">Dual-Link</span> DVI signals in this manner, because it simply doesn't have enough pins to send the same signals that a <span style="white-space:nowrap;">DL-DVI</span> port would. HDMI ports (which have 19 pins) are also subject to the same restriction; they can only send <span style="white-space:nowrap;">Single-Link</span> DVI signals, not <span style="white-space:nowrap;">Dual-Link</span>.<br /><br />
And again a similar concept applies to DisplayPort to HDMI adapters; many people are perplexed when they discover that DisplayPort&nbsp;1.2 only supports adapters up to HDMI&nbsp;1.4. "But DP&nbsp;1.2 has more bandwidth than HDMI&nbsp;2.0!" Yes it does—but since adapters don't work by "converting" DisplayPort signals into equivalent HDMI signals, it doesn't matter if HDMI&nbsp;2.0 signals "fit" inside a DisplayPort&nbsp;1.2 signal. The bandwidth of DisplayPort is irrelevant, because there are no DisplayPort signals involved at all. DisplayPort&nbsp;1.2 only supports adapters to HDMI&nbsp;1.4 because the DisplayPort control chips are not designed to send HDMI signals greater than that (mostly because DisplayPort&nbsp;1.2 was published in 2009 and HDMI&nbsp;2.0 didn't exist until around 2013 or so). DisplayPort&nbsp;1.3 (2014) does support passive adapters to HDMI&nbsp;2.0.<br /><br />
</div>
<span id="Adapters_LCD"><b>Passive adapters are not necessarily limited to the lowest common denominator</b></span><br /><br />
<div style="padding-left:20px;">
Another bit of seemingly sensible wisdom which turns out to be not always true is that when using a passive adapter, you'll be limited to lowest capabilities of the two interfaces involved. For example, if using a DVI to HDMI adapter, many people will tell you that audio won't work. After all, DVI signals contain no audio, and converting an audio-free signal to the HDMI format won't make audio magically appear. But again, this is based on the idea that an adapter "converts" DVI signals into HDMI signals, so this is information that applies to <i>active</i> adapters, not passive adapters. When using a passive adapter from a DVI source to an HDMI display, the output device detects an HDMI display and sends HDMI signals to it, including audio. Whether DVI signals contain audio or not is irrelevant, because there are no DVI signals involved. The adapter isn't "converting" DVI signals into HDMI signals, the signals are sent in the HDMI format to begin with.<br /><br />
While it is <i>sometimes</i> true that you'll be limited to the lowest capabilities between the two interfaces, it isn't always true. Check the specific adapter combination you are wondering about using the dropdown interface at the top of this guide.<br /><br />
</div>
<span id="Adapters_Passive_Latency"><b>Do passive adapters add any latency?</b></span><br /><br />
<div style="padding-left:20px;">No.<br /><br /></div>
<span id="Adapters_Passive_Image_Quality"><b>Do passive adapters reduce image quality?</b></span><br /><br />
<div style="padding-left:20px;">No.<br /><br /></div>
<span id="Adapters_Active"><b>Active Adapters</b></span><br /><br />
<div style="padding-left:20px;">
Active adapters (or "signal converters") use the second approach described in the preface; both the source device and the display send/receive signals in their native formats, but there is a device in the middle (the adapter) which converts the information from one format to the other. Active adapters are required for any combination of ports that isn't possible with passive adapters (as listed above). Active adapters have also been used in some situations historically to circumenvent limitations of passive adapters; for example, some older AMD graphics cards could support up to 6 monitors, but only maximum of two could be using DVI/HDMI signals (including sending DVI/HDMI signals through a DisplayPort port via a passive adapter); the rest had to use native DisplayPort output. DisplayPort to DVI/HDMI <i>active</i> adapters were useful in this case to allow additional DVI/HDMI connections, since the graphics card would send native DisplayPort signals, which were then intercepted by the adapter and converted to the DVI/HDMI format en route.
<br /><br />
Active adapters have a processor which converts between the two formats, so they are more expensive than passive adapters and may require a power cable, depending on the complexity of the conversion. Since active adapters convert information from one format into its equivalent in a different format, they are limited only to the features and capabilities supported by <b>both</b> formats. This means active adapters won't support anything that isn't supported by <b>both</b> sides of the connection, including limitations on maximum bandwidth, audio support, and any other features such as <span style="white-space:nowrap;">G-Sync</span> or daisy-chaining. In addition, certain active adapters may have their own limitations depending on what the signal processor can handle. For example, many (but not all) HDMI to DisplayPort active adapters are limited to 1920×1200 at 60&nbsp;Hz. Even though both connections can go beyond that, the processor used inside those adapters cant process data quickly enough to do more than that. For 1440p or 4K resolutions, even more expensive adapters with more powerful processors must be used.
<br /><br />
Active adapters usually only work in one direction. An active adapter that receives a VGA signal and converts it into HDMI usually isnt equipped to receive HDMI signals and turn them into VGA instead. When purchasing an active adapter, read the product description carefully.
<br /><br />
In theory, any signal can be converted to any other signal with an active adapter, although in practice there is not an adapter manufactured for every conceivable combination of ports.
<br /><br />
</div>
<span id="Adapters_Active_Latency"><b>Do active adapters add any latency?</b></span><br /><br />
<div style="padding-left:20px;">
Depends on the adapter, but usually they do not add any meaningful amount of latency.
<br /><br />
</div>
<span id="Adapters_Active_Image_Quality"><b>Do active adapters reduce image quality?</b></span><br /><br />
<div style="padding-left:20px;">
No. But when converting between two different formats the image quality will only be as good as the worse format.
<br /><br />
</div>
<span id="Adapters_How_to_Tell"><b>How can I tell if an adapter is passive or active?</b></span><br /><br />
<div style="padding-left:20px;">
Some people think that "active adapter" means it has an additional plug for power, but this is not the case. If an adapter needs a power cable, it is definitely an active adapter, but if it doesn't need a power cable, it could still be either an active or a passive adapter. It is not possible to tell the difference between them by looking at them, because "active" and "passive" aren't defined by any external feature, as explained above. Some active adapters may have conversion circuitry so small that it can be powered from the port and embedded in the cable termination, so that it appears just like any normal passive adapter cable.
<br /><br />
Sometimes it isn't possible to tell whether an adapter is active or passive, but there are some steps you can take to rule out one or the other. Only specific combinations of ports are possible with passive adapters, listed in the table a few paragraphs above. If the adapter you are looking at isn't a type listed on that table, it must be an active adapter (or fake). If it <i>is</i> a combination listed on that table, then it could be either passive or active. Usually the product description will tell you, but if it doesn't, you should generally assume it is passive, because companies don't normally make active adapters for port combinations that can already be done using passive adapters.
<br /><br />
However, there are some exceptions to this. Even though DisplayPort supports passive adapters to HDMI and <span style="white-space:nowrap">Single-Link</span> DVI, there are many active adapters also available for these combinations due to restrictions on multi-monitor configurations on some older AMD graphics cards (<a style="cursor:pointer; text-decoration:underline;" onclick="openSpoiler('active_adapters_for_multi_display', { 'scroll': true, 'this is the': 'table id' });">see here</a>). So DisplayPort to DVI adapters or DisplayPort to HDMI adapters may either be passive or active; reading the product description will usually tell you.
<br /><br />
In addition sometimes active adapters may be required between DisplayPort and HDMI depending on which versions you want; for example, DisplayPort&nbsp;1.2 does support passive adapters to HDMI, but only up to HDMI&nbsp;1.4; to get a full HDMI&nbsp;2.0 connection from DisplayPort&nbsp;1.2, you need an active adapter.
<br /><br />
More specific information on what combinations are supported with passive adapters can be found by entering a specific combination of ports in the dropdown menus at the top of this guide.
<br /><br />
</div>
<span id="Adapters_Which_to_Use"><b>Which type should I use?</b></span><br /><br />
<div style="padding-left:20px;">
If a passive adapter is possible for the configuration you want (check using the utility at the top of this guide), then usually you should use the passive adapter. Active adapters tend to be more expensive and less reliable, and only exist for situations where passive adapters won't work.
<br /><br />
</div>
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Active Adapter Requirements for Multi-Monitor Configurations -->
<table id="active_adapters_for_multi_display" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Active Adapter Requirements for Multi-Monitor Configurations
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=active_adapters_for_multi_display">Link</a>]</td>
</tr>
<tr id="active_adapters_for_multi_display_content" style="display:none;">
<td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
Certain older AMD graphics cards require a native DisplayPort connection or DisplayPort <b>active</b> adapters to connect more than 2 monitors. DisplayPort to <span style="white-space:nowrap">Single-Link</span> DVI active adapters are useful in this situation to avoid the cost of an active <span style="white-space:nowrap">Dual-Link</span> adapter. <b>This limitation ONLY applies to certain older AMD graphics cards.</b> NVIDIA graphics cards have never had this limitation, and newer AMD graphics cards also no longer have it, so these cards DO NOT require DisplayPort or active DisplayPort adapters for <u>any</u> multi-monitor configurations.<br /><br />
Graphics cards with this limitation can still support 3+ monitors, but only a maximum of two may be connected through any combination of the following:<br />
<ul>
<li>VGA</li>
<li>DVI</li>
<li>HDMI</li>
<li>Any active or passive adapters from VGA / DVI / HDMI to anything else</li>
<li>DisplayPort to DVI / HDMI passive adapters</li>
</ul>
Any additional monitors beyond 2 must be connected with one of the following:<br />
<ul>
<li>DisplayPort / Mini DisplayPort</li>
<li>DisplayPort to VGA / DVI / HDMI active adapter</li>
</ul><br />
<b>The&nbsp;following graphics cards are subject to the&nbsp;limitation described above:</b><br />
<ul>
<li>AMD Radeon R7 370</li>
<li>AMD Radeon R7 265, R9 270, R9 270X, R9 280, and R9 280X</li>
<li>AMD/ATI Radeon HD 5000, 6000, 7000, and 8000 series</li>
</ul><br />
<b>The following graphics cards do not support more than 2 monitors <u>at all</u> (regardless of whether DisplayPort or active DP adapters are used):</b><br />
<ul>
<li>NVIDIA GeForce GT 610, GT 620, GT 630 (Fermi version), and GT 705</li>
<li>NVIDIA GeForce GTX 500 series and below</li>
<li>ATI Radeon HD 4000 series and below</li>
</ul><br />
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Do HDMI Cables Have Versions? -->
<table id="hdmi_cable_versions" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Do HDMI Cables Have Versions?
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=hdmi_cable_versions">Link</a>]</td>
</tr>
<tr id="hdmi_cable_versions_content" style="display:none;"><td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div>
<span id="HDMI_vers_p1"><b>Do HDMI cables have versions?</b></span><br /><br />
<div style="padding-left:20px;">
No, HDMI cables do not have versions. In fact, advertising a cable as an "HDMI&nbsp;1.4 cable" or "HDMI&nbsp;2.0 cable" or "HDMI&nbsp;2.0 compliant" (etc.) has been banned by the HDMI Licensing authority since 2009, and any cable product which references HDMI version numbers is considered a non-compliant cable.<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<b>What are the rules for referencing HDMI® version numbers?</b><br /><br />
Effective January 1, 2012 [for non-cable products; this policy was effective immediately (2009) for HDMI cables], when marketing an HDMI Product, any references to HDMI version numbers is prohibited.<br /><br />
<b>HDMI Cables</b><br /><br />
Using HDMI version numbers in the labeling, packaging, or promotion of any cable product is prohibited. This includes releases of the HDMI Specification (for example, HDMI 1.4, 1.3, etc.), interim version numbers (for example, HDMI 1.4a, 1.3a, etc.) and CTS (Compliance Test Specification) version numbers (for example, 1.4a, 1.3c, etc.).<br /><br />
<b>Cable products that refer to version numbers are considered non-compliant and subject to trademark enforcement actions.</b><br /><br />
<a target="_blank" href="http://www.hdmi.org/learningcenter/trademark_logo_pub.aspx">http://www.hdmi.org/learningcenter/trademark_logo_pub.aspx</a><br />
<a target="_blank" href="http://www.hdmi.org/learningcenter/videos_player.aspx?v=trademark_cables">http://www.hdmi.org/learningcenter/videos_player.aspx?v=trademark_cables</a>
</div><br />
</div>
<span id="HDMI_vers_p2"><b>So does that mean all HDMI cables are the same?</b></span><br /><br />
<div style="padding-left:20px;">
No. There are several different types (or "categories") of HDMI cables, rated by bandwidth. This is <i>not</i> the same as an "HDMI version". The HDMI cable category certifies that the cable can handle a certain amount of bandwidth. Higher resolutions and higher refresh rates increase the bandwidth required for video transmission, so for high-bandwidth formats like 4K&nbsp;60&nbsp;Hz not all HDMI cables will function properly. All other features* of all HDMI versions do not depend on the cable to "support it". Features like HDR, audio, ARC, 3D, variable refresh, and anything else will work on any cable. HDMI&nbsp;2.0 features do not require a so-called "HDMI&nbsp;2.0 cable" rated for 18&nbsp;Gbit/s, which is why they are not called "HDMI&nbsp;2.0 cables" in the first place, they are called Premium High Speed HDMI cables (as listed in the table below). The only thing that requires these cables is high-bandwidth video like 4K&nbsp;60&nbsp;Hz. The cable does not affect support for any other feature of any HDMI version. (*The only exception to this is inline Ethernet, which does require a special "HDMI with Ethernet" cable.)<br /><br />
<div align="center" style="overflow-x:auto;">
<table style="color:#000000; border-collapse:collapse; border:1px solid #000000; font-family:Arial; font-size:14px; line-height:150%;">
<tr>
<td colspan="3" style="padding:8px; font-weight:bold; text-align:center; background-color:#D9D9D9; border:1px solid #000000;">
HDMI Cable Categories
</td>
</tr>
<tr>
<td style="padding:8px; text-align:center; background-color:RGBA(100,100,100,0.25); vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
<b>Certification Name</b>
</td>
<td style="padding:8px; text-align:center; background-color:RGBA(100,100,100,0.25); vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
<b>Tested up to...</b>
</td>
<td style="padding:8px; text-align:center; background-color:RGBA(100,100,100,0.25); vertical-align:middle; max-width:240px; border:1px solid #000000; white-space:nowrap;">
<b>Equivalent to (approx.)...</b>
</td>
</tr>
<tr>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Category 1 ("Standard Speed")
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
2.25&nbsp;Gbit/s<br />(75&nbsp;MHz TMDS clock)
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:240px; border:1px solid #000000; white-space:nowrap;">
1280 × 720 at 60&nbsp;Hz<br />
1920 × 1080 at 30&nbsp;Hz<br />
</td>
</tr>
<tr>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000;">
Category 2 ("High Speed")
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
10.2&nbsp;Gbit/s<br />(340&nbsp;MHz TMDS clock)
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:240px; border:1px solid #000000; white-space:nowrap;">
1920 × 1080 at 144&nbsp;Hz<br />
2560 × 1440 at 75&nbsp;Hz<br />
3840 × 2160 at 30&nbsp;Hz<br />
</td>
</tr>
<tr>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000;">
"Premium High Speed"
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
18.0&nbsp;Gbit/s<br />(600&nbsp;MHz TMDS clock)
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:240px; border:1px solid #000000; white-space:nowrap;">
1920 × 1080 at 240&nbsp;Hz<br />
2560 × 1440 at 144&nbsp;Hz<br />
3840 × 2160 at 60&nbsp;Hz<br />
5120 × 2880 at 30&nbsp;Hz<br />
</td>
</tr>
<tr>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000;">
48G
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:300px; border:1px solid #000000; white-space:nowrap;">
48.0&nbsp;Gbit/s<br />(1.2&nbsp;GHz TMDS clock)
</td>
<td style="padding:8px; text-align:left; vertical-align:middle; max-width:240px; border:1px solid #000000;">
<span style="white-space:nowrap;">
2560 × 1440 at 360&nbsp;Hz<br />
3840 × 2160 at 180&nbsp;Hz<br />
5120 × 2880 at 100&nbsp;Hz<br />
7680 × 4320 at 50&nbsp;Hz<br />
</span>
(HDMI&nbsp;2.1 uses compression to achieve higher modes like 8K&nbsp;60&nbsp;Hz)
</td>
</tr>
</table>
</div><br />
Because HDMI version 1.4 allows a maximum bandwidth of 10.2&nbsp;Gbit/s and High Speed HDMI cables are certified to handle 10.2&nbsp;Gbit/s, it seems natural to call them "HDMI&nbsp;1.4 cables". Likewise, HDMI&nbsp;2.0 allows up to 18.0&nbsp;Gbit/s and Premium High Speed HDMI cables are certified for that speed, so it seems natural to call those cables "HDMI&nbsp;2.0 cables". However, this should be avoided. Even if an HDMI cable can only handle 10.2&nbsp;Gbit/s, using it with an HDMI&nbsp;2.0 system will not "downgrade the connection to HDMI&nbsp;1.4". It will limit the bandwidth (the maximum resolution and refresh rate) to 10.2&nbsp;Gbit/s, but all other HDMI&nbsp;2.0 features will not be affected and will work just fine. Cables do not affect feature/version support or compatibility, they only affect maximum bandwidth, which is why they are classified by bandwidth ratings and not by their "HDMI version", which is a property that cables do not actually have.<br /><br />
It should also be noted that a certification is not a maximum bandwidth rating. If a cable carries a "High Speed" certification, it simply means that the cable was tested at 340&nbsp;MHz (10.2&nbsp;Gbit/s) and functioned properly at that speed. It may or may not continue to function properly at higher speeds, the certification doesn't test that. If you ask whether a regular High Speed (10.2&nbsp;Gbit/s) HDMI cable will handle 18&nbsp;Gbit/s speeds, the response is often "It won't be able to, High Speed cables can only handle up to 10.2&nbsp;Gbit/s". No; High Speed cables can handle <i>at least</i> 10.2&nbsp;Gbit/s. The bandwidth requirement of the certification is the <i>minimum</i> guaranteed, not the maximum it can handle. In fact quite a lot of normal High Speed HDMI cables can handle 4K&nbsp;60&nbsp;Hz perfectly well, but there's no way to tell whether it can or can't from the product description. Customer reviews can be enlightening in this situation. Just be wary of retailers like Amazon, which combine reviews from cables with multiple length options. Just because a 6&nbsp;foot High Speed cable works at 4K&nbsp;60&nbsp;Hz doesn't mean the 10&nbsp;foot variant of the same cable will also work at 4K&nbsp;60&nbsp;Hz. Length is the main factor in signal distortion in twisted-pair cable, so a longer version of a cable may not handle as much bandwidth as its shorter versions, even if they're all cut from the exact same cable stock.<br /><br />
Of course, one might think "Well, if a cable were capable of handling 18&nbsp;Gbit/s, it would have a Premium High Speed certification, not a High Speed certification". But actually, it wouldn't if it was certified during the first few years after HDMI&nbsp;2.0 was released, when the Premium High Speed certification didn't exist. Every cable made during that time that functioned properly at 10.2&nbsp;Gbit/s was given a High Speed certification, and that was that. Some of them could also handle 18&nbsp;Gbit/s while others couldn't, but the High Speed certification doesn't discriminate between the two.<br /><br />
</div>
<span id="HDMI_vers_p3"><b>High Speed HDMI Cables and HDMI&nbsp;2.0</b></span><br /><br />
<div style="padding-left:20px;">
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<b>TLDR:</b><br /><br />
The vast majority of normal High Speed HDMI cables will work at 4K&nbsp;60&nbsp;Hz, they don't need to be special "4K" HDMI cables. If you're buying a new 4K display and already have some HDMI cables laying around, try them first. If it turns out they can't handle 4K&nbsp;60&nbsp;Hz (it's not absolutely guaranteed) <i>then</i> go look for a Premium High Speed certified HDMI cable, but in most cases you will not need any new cables.<br /><br />
For existing High Speed cables with long lengths (10+&nbsp;meters), it is less likely that they will be able to handle 4K&nbsp;60&nbsp;Hz. A Premium High Speed certified cable will probably be required.
</div><br />
Due to the way HDMI&nbsp;2.0 was released (without an 18&nbsp;Gbit/s certification for cables), there is some ambiguity as to whether or not High Speed HDMI cables (certified at 10.2&nbsp;Gbit/s) will work at 18.0&nbsp;Gbit/s. There is testimony for both sides; some people report that they tried several High Speed cables which failed at 18&nbsp;Gbit/s speeds, and finally bought a cable advertising 18&nbsp;Gbit/s (or "HDMI&nbsp;2.0") which did work, and therefore insist that cables rated for HDMI&nbsp;1.4 speeds are insufficient, and "HDMI&nbsp;2.0 cables" are a real thing. And yet others report that they bought an "HDMI&nbsp;1.4" cable rated for 10.2&nbsp;Gbit/s, which worked perfectly at HDMI&nbsp;2.0 speeds, and therefore insist that there are no special cables needed for HDMI&nbsp;2.0, and that any normal High Speed HDMI cable will work fine at HDMI&nbsp;2.0 speeds.<br /><br />
The latter position can be hard to argue with, given that the HDMI Consortium gave <a target="_blank" href="http://www.hdmi.org/manufacturer/hdmi_2_0/hdmi_2_0_faq.aspx#144">this official statement</a> when HDMI&nbsp;2.0 was released:<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<b>Can existing HDMI cables support the higher bandwidths of HDMI 2.0 Specification?</b><br /><br />
Yes, existing High Speed HDMI Cables (wire only) will support the new higher bandwidths (up to 18Gbps).<br />
</div><br />
Numerous accounts of people using regular 10.2&nbsp;Gbit/s-advertised High Speed HDMI cables for 4K&nbsp;60&nbsp;Hz add further support to this and make it a very solid position indeed. Unfortunately, it is not always true. Not all High Speed cables can handle 18&nbsp;Gbit/s. Granted, <i>most</i> of them can, which is why many people have successfully used High Speed HDMI cables at 18&nbsp;Gbit/s, but not <i>all</i> of them can, which is why others have experienced failures.<br /><br />
Since signal integrity gets more and more difficult to control as the cable gets longer, it's mostly only with long cables that you start seeing High Speed certified cables that can't deliver 18&nbsp;Gbit/s. Most of the time people deal with cables on the shorter side, maybe 2 to 3 meters long, where handling 18&nbsp;Gbit/s is not much more difficult than 10.2&nbsp;Gbit/s, so almost any cable capable of 10.2&nbsp;Gbit/s can also be used for 18&nbsp;Gbit/s at those lengths unless it really just barely passed the High Speed certification.<br /><br />
However, at longer distances like 10 or 15 meters, manufacturing tolerances need to be a lot tighter to minimize distortion, and it's far less likely that a High Speed certified cable will continue to operate flawlessly all the way up to 18&nbsp;Gbit/s. But, since most consumers only deal with shorter lengths where most High Speed cables do indeed work at HDMI&nbsp;2.0 speeds, the failures at longer lengths went mostly unnoticed, and there have been countless articles written and shared across the internet about how all HDMI cables are the same and that any High Speed cable will work for HDMI&nbsp;2.0 speeds, when in fact that isn't quite true in all situations.<br /><br />
The HDMI Consortium has since created the Premium High Speed certification, which actually tests cables at 18&nbsp;Gbit/s, to address this problem.<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
HDMI Licensing acknowledges the issue of some "high speed" cable not quite being up to the task of actually handling the full 2.0 bandwidth, saying:<br /><br />
"Although many current High Speed HDMI Cables in the market will perform as originally expected (and support 18Gbps), some unanticipated technical characteristics of some compliant High Speed HDMI Cables that affect performance at higher speeds have been found. These cables are compliant with the Category 2 HDMI Cable requirements and perform successfully at 10.2Gbps, but may fail at 18 Gbps."
</div><br />
Of course, some people dismiss the "Premium High Speed" certification as a marketing ploy (or even deny that <a href="http://www.hdmi.org/manufacturer/premiumcable/Premium_HDMI_Cable_Certification_Program.aspx">the certification exists</a>) and continue to insist that any High Speed cable will work at 18&nbsp;Gbit/s and that Premium High Speed cables are exactly the same. While it's true that most of the time a High Speed cable will do the job, in which case using a Premium High Speed cable makes exactly zero difference, it's simply false to say that all High Speed cables will work at 18&nbsp;Gbit/s, despite what the HDMI Consortium's HDMI&nbsp;2.0 FAQ page says. And in those cases, having a Premium High Speed certification does matter. They aren't just the same thing as High Speed cables re-labeled for marketing. As said of course, usually you won't need a Premium certified cable, but in some circumstances you might.<br /><br />
BJC sums it up quite nicely in a sentence:<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
There is, therefore, for most users no reason to rush out and buy new cables to handle HDMI 2.0. It's quite possible, for reasons we'll get to, that you may find that you need to do this, but it's by no means a foregone conclusion.
</div><br />
In short, if you're buying a new 4K&nbsp;60&nbsp;Hz display and already have some HDMI cables laying around, try them first. The vast majority of normal High Speed HDMI cables will work at 4K&nbsp;60&nbsp;Hz, they don't need to be special "4K" HDMI cables. If it does turn out that they don't work, <i>then</i> go look for a Premium High Speed certified cable.<br /><br />
I would recommend reading these articles for more detail:<br />
<a target="_blank" href="http://www.bluejeanscable.com/articles/note-about-hdmi-2.htm">http://www.bluejeanscable.com/articles/note-about-hdmi-2.htm</a><br />
<a target="_blank" href="http://www.bluejeanscable.com/articles/premium-hdmi-cable.htm">http://www.bluejeanscable.com/articles/premium-hdmi-cable.htm</a>
<br /><br />
</div>
</div>
</td></tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><br />
<!-- Is HDMI Limited to 60 Hz? -->
<table id="hdmi_60hz_limit" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Is HDMI Limited to 60&nbsp;Hz?
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=hdmi_60hz_limit">Link</a>]</td>
</tr>
<tr id="hdmi_60hz_limit_content" style="display:none;">
<td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<b>Is HDMI Limited to 60&nbsp;Hz?</b><br /><br />
<div style="padding-left:20px;">
No, HDMI is not limited to 60&nbsp;Hz. Only HDMI&nbsp;1.0 and 1.1 were restricted to specific formats (which were all 60&nbsp;Hz and under), but this restriction was removed in HDMI&nbsp;1.2 in 2005, and HDMI has not had any hard limit on refresh frequency since then. 720p&nbsp;120&nbsp;Hz is in fact explicitly listed in HDMI&nbsp;1.2 as a supported format, although at 1080p it was still limited to 60&nbsp;Hz by bandwidth constraints. HDMI&nbsp;1.3 in 2006 alleviated these bandwidth constraints, increasing it to surpass <span style="white-space:nowrap;">Dual-Link</span> DVI, and display makers have been free to implement 1080p&nbsp;144&nbsp;Hz over HDMI ever since then.<br /><br />
</div>
<b>But I have an ASUS VG248QE / BenQ XL2411Z / Acer GN246HL and it's capped at 60&nbsp;Hz over HDMI!</b><br /><br />
<div style="padding-left:20px;">
Yes; these and many other 1080p&nbsp;144&nbsp;Hz monitors are equipped with HDMI&nbsp;1.4a inputs, yet are still limited to 60&nbsp;Hz over HDMI. This is just an unfortunate limitation of those particular monitors, it is not a limitation of the HDMI standard. Other monitors, such as the ViewSonic XG2401, the Nixeus <span style="white-space:nowrap">NX-VUE24A</span>, and the Samsung C24FG70 are also 1080p&nbsp;144&nbsp;Hz monitors with HDMI&nbsp;1.4a ports, and they <i>do</i> accept 1080p&nbsp;120/144&nbsp;Hz over HDMI. It's purely a matter of manufacturer's discretion whether they want to implement that capability or not. Sadly, many instead choose to implement HDMI&nbsp;1.4a with reduced bandwidth, presumably for cost-saving reasons.<br /><br />
The long and short of it is, some displays support 1080p&nbsp;120+&nbsp;Hz over HDMI&nbsp;1.4, and some don't. It just depends on the display, so you'll need to do some research on whatever product you're considering.<br /><br />
</div>
<b>But if a product doesn't support the full bandwidth of HDMI&nbsp;1.4a, surely it can't be HDMI&nbsp;1.4a-compliant!</b><br /><br />
<div style="padding-left:20px;">
Unfortunately it still can. Support for the full bandwidth is not a requirement for a device or control chip to be HDMI&nbsp;1.4a-compliant. Very few displays (certainly during the peak years of HDMI&nbsp;1.3/1.4) have specs that can even use the full bandwidth, so it wouldn't make sense to require that all devices wishing to implement any HDMI&nbsp;1.4 features must use a more expensive control chip capable of the full bandwidth, when virtually none of them have any use for it.<br /><br />
</div>
<b>Isn't the extra bandwidth in HDMI&nbsp;1.3+ only used for 3D at 60&nbsp;Hz per eye?</b><br /><br />
<div style="padding-left:20px;">
No. This is something that people often repeat for some reason, that although HDMI&nbsp;1.4 has over twice as much bandwidth as 1080p&nbsp;60&nbsp;Hz requires, that extra bandwidth is apparently only allowed to be used for 3D frame packing. While it is true that 3D is one of the uses for the extra bandwidth, there is no restriction on using it for other purposes, such as standard video transmission at higher resolutions and refresh frequencies. This claim that the extra bandwidth is only allowed to be used for 3D is a bit of a head scratcher when you consider that the bandwidth increase has been there since HDMI&nbsp;1.3, but the 3D format definitions (such as frame packing) weren't added until HDMI&nbsp;1.4.<br /><br />
But if you do meet anyone who insists that the extra bandwidth really is only allowed to be used for 3D, please feel free to ask them which page or section of the HDMI Specification establishes this supposed restriction, I'd be interested to find out. I've never had an answer.<br /><br />
</div>
<b>Wasn't support for 1080p&nbsp;120&nbsp;Hz only added in HDMI&nbsp;1.4b (and therefore not supported in 1.4a and earlier)?</b><br /><br />
<div style="padding-left:20px;">
No. This claim comes from people reading it on Wikipedia but not checking the citation, which was just a youtube video of some random guy saying so. Speaking as someone who has read the actual HDMI&nbsp;1.4/a/b Specification documents, this claim of 1080p&nbsp;120&nbsp;Hz support being introduced in HDMI&nbsp;1.4b is completely false. Nothing noteworthy was introduced in HDMI&nbsp;1.4b (see <a href="https://glenwing.github.io/docs/HDMI-1.4b-history.pdf">here</a>).<br /><br />
1080p&nbsp;120&nbsp;Hz has been explicitly listed in the HDMI Specification as a supported format since HDMI&nbsp;1.4 (not just 1.4b), but even under HDMI&nbsp;1.3 or 1.3a it can be implemented as a vendor-specific format which is a perfectly valid approach. Video formats do not require "support" from the HDMI Specification to work, because the word "support" does not mean what most people think it means in this case.<br /><br />
When the HDMI Specification "adds support" for a certain format, it doesn't mean it in the conventional sense of "adding the capability" as if it wasn't previously possible. They mean it in a more literal sense of adding supporting material to help strengthen it, by defining standardized timings for the format to help with compatibility and ease of implementation instead of leaving it purely to the vendor's discretion.<br /><br />
A more obvious example of this usage of the term "support" is ultrawide formats; HDMI&nbsp;2.0 "added support" for the 21:9 ratio, even though ultrawide resolutions were available before HDMI&nbsp;2.0 even existed and were working just fine over HDMI&nbsp;1.4a. "Adding support" for 21:9 just meant the HDMI&nbsp;2.0 spec added material to help establish standardized formats and timings, not that 21:9 formats weren't possible in previous versions, and indeed the majority of ultrawide monitors use HDMI&nbsp;1.4a even though it "doesn't support" 21:9 ratio formats.<br /><br />
</div>
<b>Citation Needed !!!</b><br /><br />
<div style="padding-left:20px;">
Indeed.<br /><br />
Here's the <b>first sentence</b> of the video section of the HDMI&nbsp;1.4a Specification:<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<i><a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.4a-sec6.pdf">HDMI Specification Version 1.4a (2010), §6.1</a></i><br /><br />
<b>6.1&nbsp;&nbsp;Overview</b><br /><br />
<b>HDMI allows any video format timing to be transmitted and displayed</b>. To maximize interoperability between products, common DTV formats have been defined. These video format timings define the pixel and line counts and timing, synchronization pulse positions and duration, and whether the format is interlaced or progressive. HDMI also allows vendor-specific formats to be used.
</div>
<br />
"Any video format timing". Am I just taking it out of context and applying it beyond its intended meaning? No. Here's the same section from <a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.1.pdf">HDMI&nbsp;1.1</a>:<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<i><a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.1-sec6.pdf">HDMI Specification Version 1.1 (2004), §6.1</a></i><br /><br />
<b>6.1&nbsp;&nbsp;Overview</b><br /><br />
<b>HDMI allows a wide variety of explicity defined video format timings to be transmitted and displayed</b>. These video format timings define the pixel and line counts and timing, synchronization pulse positions and duration, and whether the format is interlaced or progressive.
</div>
<br />
In HDMI&nbsp;1.0 and 1.1, only certain pre-defined formats were allowed (listed in §6.16.3; all of them are 60&nbsp;Hz and under, so HDMI was indirectly limited to 60&nbsp;Hz by that). In 2005 with the release of <a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.2.pdf">HDMI&nbsp;1.2</a>, that clause was specifically changed to say what it still says today, that <i>any</i> format is allowed. It's quite deliberate.<br /><br />
HDMI&nbsp;1.2 was designed to make HDMI more viable for the PC space, by allowing any arbitrary resolution and refresh rate (within the bandwidth limit), as opposed to the strict adherence to only standardized home theater formats required by HDMI&nbsp;1.0 and 1.1. Although it does still have a list of pre-defined formats (to maximize interoperability between products, as it says), any format which is not explicitly defined in the HDMI Specification may still be implemented as a vendor-specific format.<br /><br />
HDMI&nbsp;1.2 also expanded the list of explicitly defined formats itself to include some >60&nbsp;Hz formats like 720p&nbsp;120&nbsp;Hz, so the claim that it or later versions of HDMI impose a flat 60&nbsp;Hz limit is pure nonsense.<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<i><a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.2-sec6.pdf#page=3">HDMI Specification Version 1.2 (2005), §6.3.2</a></i><br /><br />
<b>6.3.2&nbsp;&nbsp;Secondary Video Format Timings</b><br />
<ul>
<li>720(1440)x240p @ 59.94/60Hz</li>
<li>2880x480i @ 59.94/60Hz</li>
<li>[...]</li>
<li>1920x1080i @ 119.88/120Hz</li>
<li>1280x720p @ 119.88/120Hz</li>
<li>720(1440)x480i @ 239.76/240Hz</li>
<li>720x480p @ 239.76/240Hz</li>
</ul>
</div>
<br />
However, the maximum bandwidth of HDMI&nbsp;1.2 was the same as 1.0 and 1.1, so at 1080p it was still limited to 60&nbsp;Hz due to bandwidth constraints.<br /><br />
In 2006, <a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.3.pdf">HDMI&nbsp;1.3</a> increased the maximum bandwidth by over double, enough for up to 144&nbsp;Hz at 1080p. From this point onwards display manufacturers have been free to implement 1080p&nbsp;120/144&nbsp;Hz as a vendor-specific format.<br /><br />
HDMI&nbsp;1.4 added 1080p&nbsp;120&nbsp;Hz to the list of explicitly defined formats, so it is no longer even necessary for the manufacturer to have to define their own timings for the format:<br /><br />
<div style="border:1px #000000 solid; background-color:RGBA(128,128,128,0.1); font-family:'Consolas', 'Lucida Console', monospace; padding:4px;">
<i><a target="_blank" href="https://glenwing.github.io/docs/HDMI-1.4-sec6.pdf#page=4">HDMI Specification Version 1.4 (2009), §6.3.2</a></i><br /><br />
<b>6.3.2&nbsp;&nbsp;Secondary Video Format Timings</b><br />
<ul>
<li>720(1440)x240p @ 59.94/60Hz</li>
<li>2880x480i @ 59.94/60Hz</li>
<li>[...]</li>
<li>1920x1080p @ 119.88/120Hz</li>
<li>1920x1080p @ 100Hz</li>
</ul>
</div>
<br />
As for 1080p&nbsp;144&nbsp;Hz, as before, manufacturers are still free to implement it as a vendor-specific format, and some have done so already.<br /><br />
If a 1080p&nbsp;120+&nbsp;Hz display doesn't support 120+&nbsp;Hz over HDMI, it's the fault of that display model, not a limitation of the HDMI standard.<br /><br />
</div>
</td>
</tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
<br /><hr /><br /><br />
<!-- Bandwidth / Maximum Refresh Frequency Calculator -->
<table id="calc" style="width:100%; padding:8px; border-collapse:collapse; border:1px solid RGBA(192,192,192,0.25); table-layout:fixed;">
<tr onclick="toggleSpoiler(this)" style="background-color:RGBA(0,0,0,0.16); cursor:pointer;">
<td style="max-width:20px; min-width:20px; width:20px; text-align:center; vertical-align:middle; padding-left:12px;"><span style="font-size: 22px; position:relative; top:-0.05em;">&#8250;</span></td>
<td style="padding:8px; padding-left:12px; font-weight:bold;">
Bandwidth / Maximum Refresh Frequency Calculator
</td>
<td style="max-width:40px; min-width:40px; width:40px; text-align:right; padding-right:8px; white-space:nowrap;">[<a href=".?section=calc">Link</a>]</td>
</tr>
<tr id="calc_content" style="display:none;"><td colspan="3" style="padding:16px; background-color:RGBA(40,40,40,0.02);">
<div id="Bandwidth Calc Div" style="padding-left:16px;">
<label style="cursor:pointer;"><input type="radio" name="CALC_MODE" id="CALC_MODE_DATA" onchange="CalcModeSwitch(); Calculator();" checked />&nbsp;<b>Bandwidth:</b> Calculate the data rate required at a certain resolution and refresh frequency</label>
<br />
<label style="cursor:pointer;"><input type="radio" name="CALC_MODE" id="CALC_MODE_FREQ" onchange="CalcModeSwitch(); Calculator();" />&nbsp;<b>Max. Refresh Frequency:</b> Calculate the maximum refresh frequency of every interface at a certain resolution</label>
<br />
<div style="overflow-x:auto;">
<table cellspacing="0" style="font-family:inherit; font-size:inherit;">
<tr>
<td valign="top">
<table cellspacing="0" cellpadding="4" style="font-family:inherit; font-size:inherit;">
<tr>
<td style="padding:4px; padding-top:12px; width:100px; min-width:100px; white-space:nowrap;"><b>Resolution:</b></td>
<td style="padding:4px; padding-top:12px; text-align:right;"><input style="text-align:center; width:64px; background-color: rgba(128,128,128,.2);" id="HRES_BOX" type="text" onchange="Calculator(this);" oninput="this.onchange();" align="left" /></td>
<td style="padding:4px; padding-top:12px; text-align:center; font-size:10px; font-family:'Courier New';">&#10005;</td>
<td style="padding:4px; padding-top:12px; text-align:left; "><input style="text-align:center; width:64px; background-color: rgba(128,128,128,.2);" id="VRES_BOX" type="text" onchange="Calculator(this);" oninput="this.onchange();" /></td>
</tr>
<tr>
<td style="padding:4px; padding-bottom:16px; white-space:nowrap;"><b>Frequency:</b></td>
<td style="padding:4px; padding-bottom:16px; text-align:right"><input style="text-align:center; width:64px; background-color: rgba(128,128,128,.2);" id="FREQ_BOX" type="text" onchange="Calculator(this);" oninput="this.onchange();" /></td>
<td style="padding:4px; padding-bottom:16px; text-align:left;" colspan="2">Hz</td>
</tr>
<tr>
<td style="padding:4px; border-top:1px solid #BBBBBB; border-left:1px solid #BBBBBB; padding-top:8px; white-space:nowrap;"><b>Color&nbsp;Depth:</b></td>
<td style="padding:4px; border-top:1px solid #BBBBBB; border-right:1px solid #BBBBBB; padding-top:8px;" colspan="3">
<select id="DEPTH_DROP" onchange="Calculator(this)">
<option value=24 selected>8 bpc (24 bit/px)</option>
<option value=30>10 bpc (30 bit/px)</option>
<option value=36>12 bpc (36 bit/px)</option>
<option value=42>14 bpc (42 bit/px)</option>
<option value=48>16 bpc (48 bit/px)</option>
</select>
</td>
</tr>
<tr>
<td style="padding:4px; border-left:1px solid #BBBBBB; white-space:nowrap;"><b>Color&nbsp;Format:</b></td>
<td style="padding:4px; border-right:1px solid #BBBBBB;" colspan="3">
<select id="MODEL_DROP" onchange="Calculator(this);">
<option value="RGB" selected>RGB</option>
<option value="YCBCR 444">YCbCr 4:4:4</option>
<option value="YCBCR 422">YCbCr 4:2:2</option>
<option value="YCBCR 420">YCbCr 4:2:0</option>
</select>
</td>
</tr>
<tr>
<td style="padding:4px; border-left:1px solid #BBBBBB; white-space:nowrap;"><b>Compression:</b></td>
<td style="padding:4px; border-right:1px solid #BBBBBB;" colspan="3">
<select id="COMP_DROP" onchange="Calculator(this);">
<option value="None" selected>None</option>
<option value="DSC 2.0x">DSC (2.0× ratio)</option>
<option value="DSC 2.5x">DSC (2.5× ratio)</option>
<option value="DSC 3.0x">DSC (3.0× ratio)</option>
</select>
</td>
</tr>
<tr>
<td style="padding:4px; border-left:1px solid #BBBBBB; white-space:nowrap;"><b>Timing&nbsp;Format:</b></td>
<td style="padding:4px; border-right:1px solid #BBBBBB;" colspan="3">
<select id="TIMING_DROP" onchange="Calculator(this);">
<option value="None">None</option>
<option value="CVT">CVT</option>
<option value="CVT-RB">CVT-RB</option>
<option value="CVT-R2" selected>CVT-R2</option>
</select>
</td>
</tr>
<tr>
<td style="padding:4px; border-left:1px solid #BBBBBB;">&nbsp;</td>
<td style="padding:4px; border-right:1px solid #BBBBBB; white-space:nowrap;" colspan="3">
<label><input type="checkbox" id="SHOW_CALC" onclick="if (document.getElementById('CALC_MODE_FREQ').checked == false) { Calculator(); }" />&nbsp;Show calculations</label><br />
<label><input type="checkbox" id="SHOW_FORMULA" onclick="if (document.getElementById('CALC_MODE_FREQ').checked == false) { Calculator(); }" />&nbsp;Show timing formula</label>
</td>
</tr>
<tr>
<td style="padding:4px; border-left:1px solid #BBBBBB; border-bottom:1px solid #BBBBBB; padding-bottom:8px;">&nbsp;</td>
<td style="padding:4px; border-right:1px solid #BBBBBB; border-bottom:1px solid #BBBBBB; padding-bottom:8px; white-space:nowrap;" colspan="3">
<a id="CALC_SET_DEFAULTS" style="cursor: pointer; text-decoration:underline;" onclick="setCalcDefaults(); Calculator();">Set to defaults</a><br />
<a href="./?section=calc" id="band_calc_settings_link">Link with these settings</a>
</td>
</tr>
<tr><td style="height:16px"></td></tr>
<tr>
<td style="padding:4px; border:1px solid #BBBBBB; padding-top:8px; padding-bottom:16px; text-align:center;" colspan="4">
<table id="RefTable" align="center" cellspacing="0" style="padding:8px; border-width:0px"></table>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
</td>
<td style="padding:4px; padding-top:12px; padding-left:32px; min-width:32px;" valign="top" id="RESULTS_BOX"><div id="Results"></div></td>
</tr>
</table>
</div>
</div>
</td></tr>
<tr onclick="closeSpoiler(this, { 'scroll': true, 'this is the': 'footer row' });" style="background-color:RGBA(0,0,0,0.16); cursor:pointer; display:none;"><td colspan="3" style="padding:8px; padding-left:16px; font-weight:bold;">Close</td></tr>
</table>
</div><br />
</div>
</div>
<!-------------------------------- MAIN JAVASCRIPT -------------------------------->
<script>
/* SETUP */
/* Manage section IDs and add new display interfaces here */
function IO_Validity_Check(io_value, direction) {
if (direction == 'Output') { var menu = document.getElementById('Output'); }
if (direction == 'Input') { var menu = document.getElementById('Input'); }
nameChange = { /* Previous : Changed To */
'blank': 'BLANK',
'USBC': 'USBCDP',
'TB3': 'USBCTB3',
};
if (io_value in nameChange) {
var prev_names = [io_value];
do { /* Covers multiple name changes chained together */
if (prev_names.includes(nameChange[io_value])) { /* If name is changed to something that was already previously changed away from */
console.log(arguments.callee.name, '::', direction, 'name change \"' + io_value + '\" —> \"' + nameChange[io_value] + '\" aborted; infinite loop was detected');
break;
}
else {
console.log(arguments.callee.name, '::', direction, 'name change detected: \"' + io_value + '\" —> \"' + nameChange[io_value] + '\"');
io_value = nameChange[io_value];
prev_names.push(io_value);
}
} while (io_value in nameChange);
}
/* else { console.log(arguments.callee.name, '::', 'No matches on name change list for', direction); } */
for (x = 0; x < menu.options.length; x++) {
if (menu.options[x].value == io_value) {
return x;
}
}
console.log(arguments.callee.name, '::', 'IO value \"' + io_value + '\" not present on ' + direction + ' menu; value fails validity check');
return null;
}
function sectionList(section) {
whiteList =
[
/* The element IDs of each spoiler table, for checking whether a section exists when URL query string contains a section (since users could type anything in) */
'maximum_limits',
'which_cable_type',
'hdmi_cable_versions',
'hdmi_60hz_limit',
'high_refresh_displays',
'active_vs_passive_adapters',
'active_adapters_for_multi_display',
'calc'
];
nameChange =
{ /*
Deprecated ID list; if the ID of a section is changed (for some reason), add it here so that old links floating around the internet will still work
Example: 'old_id': 'new_id',
Example: 'maximum_limits_of_everything': 'maximum_limits',
(New ID should match something in the whiteList above)
*/
'bandwidth_calculator': 'calc',
'120Hz_displays': 'high_refresh_displays'
};
if (whiteList.indexOf(section) == -1) {
/* If not in whiteList, check if it was a previous name that was changed.
Loops in case a section's name was changed multiple times; */
while (section in nameChange) { section = nameChange[section]; }
}
if (whiteList.indexOf(section) != -1) { return section; }
else {
console.log(arguments.callee.name, '::', 'No such section "' + section + '"');
return null;
}
}
function importInterfaces() {
return [
/*
Stores max data rate of each interface. The actual numbered stored in the array is in bits per second
Data is formatted below as the transmission bandwidth (in gbit/s) * encoding overhead factor (i.e. 8b/10b encoding scheme applies
a factor of 8/10 to the bandwidth) * 1,000,000,000).
The "maxfreq" is a placeholder, it is filled in dynamically as the program executes
Note that En-dashes are used between version numbers (i.e. 1.31.4), not a hyphen-minus. Use ALT+0150 on windows, or simply copy-paste the character when adding new versions.
A hyphen-minus is used in "Dual-Link" and "Single-Link" though.
*/
{ internal_name: 'DP 1.4', name: "DisplayPort 1.31.4", datarate: 32.40 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'DP 1.2', name: "DisplayPort 1.2", datarate: 21.60 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'DP 1.1', name: "DisplayPort 1.01.1", datarate: 10.80 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'HDMI 2.1', name: "HDMI 2.1", datarate: 48.00 * (16 / 18) * 1000000000, maxfreq: null },
{ internal_name: 'HDMI 2.0', name: "HDMI 2.0", datarate: 18.00 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'HDMI 1.4', name: "HDMI 1.31.4", datarate: 10.20 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'HDMI 1.2', name: "HDMI 1.01.2", datarate: 4.95 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'DL-DVI', name: "Dual-Link DVI", datarate: 9.90 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'SL-DVI', name: "Single-Link DVI", datarate: 4.95 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'TB3', name: 'Thunderbolt 3', datarate: 34.56 * ( 1 / 1) * 1000000000, maxfreq: null },
{ internal_name: 'TB2', name: 'Thunderbolt 2', datarate: 21.60 * ( 8 / 10) * 1000000000, maxfreq: null },
{ internal_name: 'TB1', name: 'Thunderbolt', datarate: 10.80 * ( 8 / 10) * 1000000000, maxfreq: null },
];
}
function MakeRefTable() {
var Interface = importInterfaces();
var RefTable = document.getElementById("RefTable");
var tBody = document.createElement("tbody");
RefTable.style.padding = "4px";
RefTable.style.fontFamily = "Arial";
RefTable.style.fontSize = "14px";
var tRow = document.createElement("tr");
var tCell = document.createElement("td");
tCell.colSpan = "2";
tCell.style.padding = "8px";
tCell.style.textAlign = "center";
tCell.innerHTML = "<b>Max. Data Rate Reference Table:" + "<" + "/" + "b>";
tRow.appendChild(tCell);
tBody.appendChild(tRow);
for (var x = 0; x < Interface.length; x++) {
tRow = document.createElement("tr");
tCell = document.createElement("td");
tCell.innerHTML = Interface[x]["name"];
tCell.style.padding = "8px";
tCell.style.textAlign = "left";
if (x % 2 == 0) { tCell.style.background = "rgba(128,128,128,0.2)"; }
tRow.appendChild(tCell);
tCell = document.createElement('td');
tCell.style.textAlign = "right";
tCell.style.padding = "8px";
tCell.style.paddingLeft = "12px";
if (x % 2 == 0) { tCell.style.background = "rgba(128,128,128,0.2)"; }
tCell.innerHTML = (Number(Interface[x]["datarate"] / 1000000000).toFixed(2) + "&nbsp;Gbit/s");
tRow.appendChild(tCell);
tBody.appendChild(tRow);
}
RefTable.appendChild(tBody);
return;
}
/* MAIN STUFF */
function Configurator() {
var out_dropdown = document.getElementById('Output');
var out_slct = out_dropdown.options[out_dropdown.selectedIndex].value;
var in_dropdown = document.getElementById('Input');
var in_slct = in_dropdown.options[in_dropdown.selectedIndex].value;
if (in_slct == 'BLANK') {
in_slct = out_slct;
}
if (document.getElementById(out_slct + '_TO_' + in_slct)) {
document.getElementById('maintext').innerHTML = document.getElementById(out_slct + '_TO_' + in_slct).innerHTML;
}
else {
console.log(arguments.callee.name, '::', 'Unable to find article \"' + out_slct + '_TO_' + in_slct + '\"');
document.getElementById('maintext').innerHTML = '&nbsp;';
}
var prev_state = document.getElementById('maintextfooter').style.display;
if (document.getElementById('maintext').innerHTML == '&nbsp;') {
document.getElementById('maintextfooter').style.display = 'none';
}
else {
document.getElementById('maintextfooter').style.display = 'inline';
}
if (document.getElementById('maintextfooter').style.display != prev_state) {
console.log(arguments.callee.name, '::', 'Maintext footer display set to \"' + document.getElementById('maintextfooter').style.display + '\"');
}
return;
}
function switchIO() {
var out_dropdown = document.getElementById("Output");
var out_index = out_dropdown.selectedIndex;
var in_dropdown = document.getElementById("Input");
var in_index = in_dropdown.selectedIndex;
out_dropdown.selectedIndex = in_index;
in_dropdown.selectedIndex = out_index;
Configurator();
return;
}
function Calculator(Caller) {
/* Preliminary Cutoff Check */
if (typeof (Caller) === 'undefined') { /* If no Caller is given, then calculator skips checking whether the previous value has changed; used for trigger points that have no value */
console.log(arguments.callee.name, '::', 'Calculator triggered anonymously (false positive detection bypass)');
}
else {
if (Caller.oldvalue != Caller.value) {
console.log(arguments.callee.name, '::', 'Calculator triggered by:', Caller.id, '(' + Caller.oldvalue, '—>', Caller.value + ')');
Caller.oldvalue = Caller.value;
}
else {
console.log(arguments.callee.name, '::', 'Early cutoff (false positive onChange trigger);', Caller.id + ' (' + Caller.value + ')');
return;
}
}
/* Initialization */
var MODE;
if (document.getElementById("CALC_MODE_DATA").checked == true && document.getElementById("CALC_MODE_FREQ").checked == false) { MODE = "data"; }
if (document.getElementById("CALC_MODE_FREQ").checked == true && document.getElementById("CALC_MODE_DATA").checked == false) { MODE = "freq"; }
var H = document.getElementById("HRES_BOX").value;
var V = document.getElementById("VRES_BOX").value;
var F = document.getElementById("FREQ_BOX").value;
var Results = document.getElementById('Results');
/* Other Early Cutoff Checks */
if (
(MODE == 'data' && (H == '' || V == '' || F == '')) ||
(MODE == 'freq' && (H == '' || V == ''))
)
{ $('#Results').html('').css({ 'min-width': '1px' }); console.log(arguments.callee.name, '::', 'Early cutoff (blank fields)'); return; }
if (isNaN(parseInt(H)) == true || isNaN(parseInt(V)) == true || (MODE == 'data' && isNaN(parseFloat(F)) == true)) { console.log(arguments.callee.name, '::', 'Early cutoff (invalid input)'); return; }
/* Generate Settings Link */
var LINK = document.getElementById('band_calc_settings_link');
LINK.href = './?section=calc';
if ($('#CALC_MODE_DATA').get(0).checked == true) { LINK.href += ''; }
else if ($('#CALC_MODE_FREQ').get(0).checked == true) { LINK.href += '&mode=maxfreq'; }
if ($('#HRES_BOX').get(0).value != '') { LINK.href += '&H=' + $('#HRES_BOX').get(0).value; }
if ($('#VRES_BOX').get(0).value != '') { LINK.href += '&V=' + $('#VRES_BOX').get(0).value; }
if ($('#FREQ_BOX').get(0).value != '') { LINK.href += '&F=' + $('#FREQ_BOX').get(0).value; }
if ($('#DEPTH_DROP').get(0).value == 24) { LINK.href += ''; }
else if ($('#DEPTH_DROP').get(0).value == 30) { LINK.href += '&bpc=10'; }
else if ($('#DEPTH_DROP').get(0).value == 36) { LINK.href += '&bpc=12'; }
else if ($('#DEPTH_DROP').get(0).value == 42) { LINK.href += '&bpc=14'; }
else if ($('#DEPTH_DROP').get(0).value == 48) { LINK.href += '&bpc=16'; }
if ($('#MODEL_DROP').get(0).value == 'RGB') { LINK.href += ''; }
else if ($('#MODEL_DROP').get(0).value == 'YCBCR 444') { LINK.href += '&format=ycbcr444'; }
else if ($('#MODEL_DROP').get(0).value == 'YCBCR 422') { LINK.href += '&format=ycbcr422'; }
else if ($('#MODEL_DROP').get(0).value == 'YCBCR 420') { LINK.href += '&format=ycbcr420'; }
if ($('#COMP_DROP').get(0).value == 'None') { LINK.href += ''; }
else if ($('#COMP_DROP').get(0).value == 'DSC 2.0x') { LINK.href += '&compression=dsc2.0x'; }
else if ($('#COMP_DROP').get(0).value == 'DSC 2.5x') { LINK.href += '&compression=dsc2.5x'; }
else if ($('#COMP_DROP').get(0).value == 'DSC 3.0x') { LINK.href += '&compression=dsc3.0x'; }
if ($('#TIMING_DROP').get(0).value == 'None') { LINK.href += '&timing=none'; }
else if ($('#TIMING_DROP').get(0).value == 'CVT') { LINK.href += '&timing=cvt'; }
else if ($('#TIMING_DROP').get(0).value == 'CVT-RB') { LINK.href += '&timing=cvtrb'; }
else if ($('#TIMING_DROP').get(0).value == 'CVT-R2') { LINK.href += ''; }
if ($('#SHOW_CALC').get(0).checked == true) { LINK.href += '&calculations=show'; }
if ($('#SHOW_FORMULA').get(0).checked == true) { LINK.href += '&formulas=show'; }
console.log(arguments.callee.name, '::', 'Settings link generated');
/* Main Setup */
var Interface = importInterfaces();
var CD = document.getElementById("DEPTH_DROP").value;
var TF = document.getElementById("TIMING_DROP").value;
var Model = document.getElementById("MODEL_DROP").value;
var CompMode = document.getElementById("COMP_DROP").value;
H = Math.abs(parseInt(H));
V = Math.abs(parseInt(V));
if (H == 0 && V == 0) { AR = '0:0'; }
else if (H == 0 && V != 0) { AR = '1:∞'; }
else if (H != 0 && V == 0) { AR = '∞:1'; }
else { AR = (H / GCD(H, V)) + ':' + (V / GCD(H, V)); }
TOTAL_PX_RAW = H * V;
H_RND = Math.floor(H / 8) * 8;
var H_BLANK, V_BLANK, H_EFF, V_EFF;
var TOTAL_PX_RAW, TOTAL_PX_EFF, PX_PER_SEC;
var BITS_PER_SEC, BITS_PER_SEC_MODEL, BITS_PER_SEC_COMP;
var DATARATE;
var CM = 1;
var CM_FACTOR = 1;
var CM_NAME;
if (Model == "RGB") { CM = 1; CM_FACTOR = 1; CM_NAME = 'RGB'; }
else if (Model == "YCBCR 444") { CM = 1; CM_FACTOR = 1; CM_NAME = $('#YCBCR').html() + ' 4:4:4'; }
else if (Model == "YCBCR 422") { CM = (2 / 3); CM_FACTOR = 1.5; CM_NAME = $('#YCBCR').html() + ' 4:2:2'; }
else if (Model == "YCBCR 420") { CM = (1 / 2); CM_FACTOR = 2; CM_NAME = $('#YCBCR').html() + ' 4:2:0'; }
var COMP_RATIO = 1;
var COMP_FACTOR = 1;
if (CompMode == "None") { COMP_RATIO = 1; COMP_FACTOR = 1; }
else if (CompMode == "DSC 2.0x") { COMP_RATIO = 1 / 2; COMP_FACTOR = 2; }
else if (CompMode == "DSC 2.5x") { COMP_RATIO = 2 / 5; COMP_FACTOR = 2.5; }
else if (CompMode == "DSC 3.0x") { COMP_RATIO = 1 / 3; COMP_FACTOR = 3; }
/* MAX DATA RATE CALCULATOR */
if (MODE == 'data') {
$('#Results').css({ 'min-width': '300px' });
F = Math.abs(parseFloat(F));
/* HIGH FREQUENCY ERROR MESSAGES */
if ((TF == "CVT") && (F > (1 / 0.00055))) {
$('#Results').html($('<span>').html('Refresh frequency greater than or equal to 1,818.'));
$('#Results').append($('<span>').html('18').css({ 'text-decoration': 'overline' }));
$('#Results').append($('<span>').html('&nbsp;Hz (1 ÷ 0.00055&nbsp;s) is not possible with the CVT timing format. Due to a minimum vertical blanking period requirement of 550&nbsp;µs (0.55 ms), bandwidth requirements will approach infinity as the period of a single refresh cycle approaches 550&nbsp;µs.'));
return;
}
else if ((TF == "CVT-RB" || TF == "CVT-R2") && (F > (1 / 0.00046))) {
$('#Results').html($('<span>').html('Refresh frequency greater than or equal to ≈2,173.91&nbsp;Hz (1 ÷ 0.00046&nbsp;s) is not possible with the '));
$('#Results').append($('<span>').html(TF).css({ 'white-space': 'nowrap' }));
$('#Results').append($('<span>').html(' timing format. Due to a minimum vertical blanking period requirement of 460&nbsp;µs (0.46&nbsp;ms), bandwidth requirements will approach infinity as the period of a single refresh cycle approaches 460&nbsp;µs.'));
return;
}
/* MATH */
console.log(arguments.callee.name, '::', 'Beginning Mode:Data calculations')
if (TF == "CVT") { H_BLANK = CVT(H_RND, V, F)[0]; }
else if (TF == "CVT-RB") { H_BLANK = CVT_RB(H_RND, V, F, 1)[0]; }
else if (TF == "CVT-R2") { H_BLANK = CVT_RB(H, V, F, 2)[0]; }
else if (TF == "None") { H_BLANK = 0; }
H_EFF = H + H_BLANK;
if (TF == "CVT") { V_BLANK = CVT(H_RND, V, F)[1]; }
else if (TF == "CVT-RB") { V_BLANK = CVT_RB(H_RND, V, F, 1)[1]; }
else if (TF == "CVT-R2") { V_BLANK = CVT_RB(H, V, F, 2)[1]; }
else if (TF == "None") { V_BLANK = 0; }
V_EFF = V + V_BLANK;
TOTAL_PX_EFF = H_EFF * V_EFF;
PX_PER_SEC = TOTAL_PX_EFF * F;
BITS_PER_SEC = PX_PER_SEC * CD;
BITS_PER_SEC_MODEL = BITS_PER_SEC * CM;
BITS_PER_SEC_COMP = BITS_PER_SEC_MODEL * COMP_RATIO;
DATARATE = BITS_PER_SEC_COMP;
/* DISPLAY OUTPUT */
console.log(arguments.callee.name, '::', 'Beginning Mode:Data display output')
if (isNaN(DATARATE) == false) {
$('#Results').css({ 'min-width': '300px', 'line-height': '150%' });
/* Data Rate Required: [...] Gbit/s */
$('#Results').html($('<span>').html(`Data Rate Required: ${bitPrefix(DATARATE, 2)}<br /><br />`).css({ 'white-space': 'nowrap', 'font-weight': 'bold' }));
/* Video Format: */
$('#Results').append($('<span>').html('Video Format:<br />').css({ 'white-space': 'nowrap' }));
/* Example Output: 4096 × 2560 (8:5 ratio) at 120 Hz */
$('#Results').append($('<span>').html(H + ' × ' + V + ' (' + AR + ' ratio) at ' + F + ' Hz<br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
/* Ex: 10 bpc (30 bit/px) RGB color */
var CM_NAME;
if (Model == 'RGB') { CM_NAME = 'RGB'; }
else if (Model == 'YCBCR 444') { CM_NAME = $('#YCBCR').html() + ' 4:4:4'; }
else if (Model == 'YCBCR 422') { CM_NAME = $('#YCBCR').html() + ' 4:2:2'; }
else if (Model == 'YCBCR 420') { CM_NAME = $('#YCBCR').html() + ' 4:2:0'; }
$('#Results').append($('<span>').html(`${CD / 3} bpc (${CD} bit/px) ${CM_NAME} color<br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
/* Ex: Display Stream Compression (2.0×) */
if (CompMode == "None") { $('#Results').append($('<span>').html('Uncompressed<br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' })); }
else if (CompMode == "DSC 2.0x") { $('#Results').append($('<span>').html('Display Stream Compression (2.0× ratio)<br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' })); }
else if (CompMode == "DSC 2.5x") { $('#Results').append($('<span>').html('Display Stream Compression (2.5× ratio)<br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' })); }
else if (CompMode == "DSC 3.0x") { $('#Results').append($('<span>').html('Display Stream Compression (3.0× ratio)<br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' })); }
/* Ex: CVT-R2 timing format */
if (TF == "CVT" || TF == "CVT-RB" || TF == "CVT-R2") { $('#Results').append($('<span>').html(TF + ' timing format<br /><br />').css({ 'white-space': 'nowrap', 'padding-left': '12px' })); }
else { Results.innerHTML += '<br /><br />'; }
if (document.getElementById("SHOW_CALC").checked == true) {
/* Frame Size: */
$('#Results').append($('<span>').html('Frame Size:<br />').css({ 'white-space': 'nowrap' }));
$('#Results').append($('<span>').html(`${Commas(H)} × ${Commas(V)} = ${Commas(TOTAL_PX_RAW)} pixels per frame (${pxPrefix(TOTAL_PX_RAW, 1)})<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
/* Effective Frame Size with [...] Blanking Intervals: */
if (TF != "None") {
$('#Results').append($('<span>').html(`Effective Frame Size with ${TF} Blanking Intervals:<br />`).css({ 'white-space': 'nowrap' }));
$('#Results').append($('<span>').html(`${Commas(H_EFF)} × ${Commas(V_EFF)} = ${Commas(TOTAL_PX_EFF)} pixels per frame (${pxPrefix(TOTAL_PX_EFF, 1)})<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
}
/* Effective Pixel Rate: */
$('#Results').append($('<span>').html('Effective Pixel Rate:<br />').css({ 'white-space': 'nowrap' }));
$('#Results').append($('<span>').html(`${Commas(TOTAL_PX_EFF)} px per frame × ${Commas(F)} frames per second = ${Commas(PX_PER_SEC)} pixels per second<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
/* Bit Rate: */
$('#Results').append($('<span>').html('Bit Rate:<br />').css({ 'white-space': 'nowrap' }));
$('#Results').append($('<span>').html(`${Commas(PX_PER_SEC)} px/s × ${CD} bit/px = ${Commas(BITS_PER_SEC)} bits per second (${bitPrefix(BITS_PER_SEC, 2)})<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
/* YCBCR Data Reduction */
if (Model == "YCBCR 422" || Model == "YCBCR 420") {
$('#Results').append($('<span>').html(`${CM_NAME} color format reduces data rate by a factor of ${CM_FACTOR}:<br />`));
$('#Results').append($('<span>').html(`${Commas(BITS_PER_SEC)} bit/s ÷ ${CM_FACTOR} = ${Commas(BITS_PER_SEC_MODEL)} bit/s (${bitPrefix(BITS_PER_SEC_MODEL, 2)})<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
}
/* Compression Data Reduction */
if (CompMode != "None") {
$('#Results').append($('<span>').html(`Display Stream Compression with a ${COMP_FACTOR}-to-1 compression ratio reduces data rate by a factor of ${COMP_FACTOR}:<br />`));
$('#Results').append($('<span>').html(`${Commas(BITS_PER_SEC_MODEL)} bit/s ÷ ${COMP_FACTOR} = ${Commas(BITS_PER_SEC_COMP)} bit/s (${bitPrefix(BITS_PER_SEC_COMP, 2)})<br /><br />`).css({ 'white-space': 'nowrap', 'padding-left': '12px' }));
}
}
/* Notice for "Timing Format: None" selection */
if (TF == "None") {
$('#Results').append($('<span>').html('Note: ').css({ 'font-weight': 'bold' }));
$('#Results').append($('<span>').html('Actual video transmission does require blanking intervals. The \"Timing Format: None\" option should only be used for mathematical curiosity, not to determine how much bandwidth a video signal actually needs. Even though modern non-CRT displays do not actually need blanking intervals to physically operate, these intervals have been repurposed in interfaces like HDMI for transmitting auxiliary data such as inline audio and control signals, and therefore are still required for the operation of display devices.'));
}
/* Timing formula */
if (TF != "None" && document.getElementById("SHOW_FORMULA").checked == true && document.getElementById("SHOW_CALC").checked == true) {
$('#Results').append($('<span>').html(`${TF} Timing Formula:<br />`).css({ 'font-weight': 'bold' }));
if (TF == "CVT") { $('#Results').append($('#CVT_FORMULA').html()); }
if (TF == "CVT-RB" || TF == "CVT-R2") { $('#Results').append($('#CVTRB_FORMULA').html()); }
}
}
else { console.log(arguments.callee.name, '::', 'Datarate is NaN'); }
}
/* MAX FREQUENCY CALCULATOR */
else if (MODE == 'freq') {
$('#Results').css({ 'min-width': '300px' });
/* MATH */
console.log(arguments.callee.name, '::', 'Beginning Mode:Freq calculations');
if (TF == "CVT") {
for (var x = 0; x < Interface.length; x++) {
/*
For each interface, this section finds the approximate maximum frequency via division by 2 (Log(N) time).
Since CVT has a maximum limit of 1818.18 Hz (or 1/V_MIN), checking frequencies within the range 01920 is sufficient.
This approximation method executes [Rounds] number of times (in this case Rounds = 16). More rounds increases precision.
In the first round, the program determines if the maximum frequency is in the upper or lower half of the 1920 Hz range
The second round determines whether it is in the upper or lower half of that half, and so on and so forth
After 16 rounds, the maximum frequency is determined within 1920/(2^16) precision (≈0.03 Hz).
*/
var CheckRange = 1920;
var Rounds = 16;
var F = CheckRange / 2;
var n = CheckRange / 4;
var V_MIN = 0.00055;
for (var y = 0; y < Rounds; y++) {
DATARATE = ((H + CVT(H, V, F)[0]) * (V + CVT(H, V, F)[1]) * F * CD * CM * COMP_RATIO);
if (DATARATE >= Interface[x]["datarate"] || F >= (1 / V_MIN)) { F -= n; }
else { F += n; }
n /= 2;
}
if (F > (1 / V_MIN)) { Interface[x]["maxfreq"] = "1818.2&nbsp;Hz"; }
else { Interface[x]["maxfreq"] = F; }
}
}
else if (TF == "CVT-RB" || TF == "CVT-R2") {
if (TF == "CVT-RB") { H_BLANK = 160; }
else if (TF == "CVT-R2") { H_BLANK = 80; }
var V_MIN = 0.00046;
for (var x = 0; x < Interface.length; x++) {
F = (Interface[x]["datarate"]) / (((H + H_BLANK) * V * CD * CM * COMP_RATIO) + (V_MIN * Interface[x]["datarate"]));
if (F > (1 / V_MIN)) { Interface[x]["maxfreq"] = "2173.9&nbsp;Hz"; }
else { Interface[x]["maxfreq"] = F; }
}
}
else if (TF == "None") {
for (var x = 0; x < Interface.length; x++) {
Interface[x]["maxfreq"] = Interface[x]["datarate"] / (H * V * CD * CM * COMP_RATIO);
}
}
/* Generate Results Table */
console.log(arguments.callee.name, '::', 'Beginning construction of frequency table');
var FreqContainer = document.createElement("div");
var FreqTable = document.createElement("table");
var tBody = document.createElement("tbody");
FreqTable.cellSpacing = "0";
FreqTable.style.fontFamily = "Arial";
FreqTable.style.fontSize = "14px";
FreqTable.style.minWidth = "240px";
var tRow = document.createElement("tr");
var tCell = document.createElement("td");
tCell.colSpan = "2";
tCell.style.padding = "4px";
tCell.style.paddingLeft = "0px";
tCell.style.textAlign = "left";
tCell.innerHTML = "<b>Video Format:<" + "/" + "b>";
tRow.appendChild(tCell);
tBody.appendChild(tRow);
tRow = document.createElement("tr");
tCell = document.createElement("td");
tCell.colSpan = "2";
tCell.style.padding = "4px";
tCell.style.paddingLeft = "8px";
tCell.style.textAlign = "left";
tCell.innerHTML += H + "&nbsp;×&nbsp;" + V + "&nbsp;(" + (H / GCD(H, V)) + ":" + (V / GCD(H, V)) + "&nbsp;ratio)<br />";
tCell.innerHTML += ((CD / 3) + "&nbsp;bpc&nbsp;(" + CD + "&nbsp;bit/px)&nbsp;");
if (Model == "RGB") { tCell.innerHTML += "RGB&nbsp;color"; }
else if (Model == "YCBCR 444") { tCell.innerHTML += $('#YCBCR').html() + "&nbsp;4:4:4&nbsp;color"; }
else if (Model == "YCBCR 422") { tCell.innerHTML += $('#YCBCR').html() + "&nbsp;4:2:2&nbsp;color"; }
else if (Model == "YCBCR 420") { tCell.innerHTML += $('#YCBCR').html() + "&nbsp;4:2:0&nbsp;color"; }
if (CompMode == "None") { tCell.innerHTML += "<br />Uncompressed" }
else if (CompMode == "DSC 2.0x") { tCell.innerHTML += "<br />Display Stream Compression (2.0× ratio)"; }
else if (CompMode == "DSC 2.5x") { tCell.innerHTML += "<br />Display Stream Compression (2.5× ratio)"; }
else if (CompMode == "DSC 3.0x") { tCell.innerHTML += "<br />Display Stream Compression (3.0× ratio)"; }
if (TF == "None") { tCell.innerHTML += "<br />&nbsp;"; }
else if (TF == "CVT") { tCell.innerHTML += "<br />CVT&nbsp;timing format"; }
else if (TF == "CVT-RB") { tCell.innerHTML += "<br />CVT-RB&nbsp;timing format"; }
else if (TF == "CVT-R2") { tCell.innerHTML += "<br />CVT-R2&nbsp;timing format"; }
tRow.appendChild(tCell);
tBody.appendChild(tRow);
FreqTable.appendChild(tBody);
FreqContainer.appendChild(FreqTable);
FreqTable = document.createElement("table");
tBody = document.createElement("tbody");
FreqTable.cellSpacing = "0";
FreqTable.style.fontFamily = "Arial";
FreqTable.style.fontSize = "14px";
FreqTable.style.minWidth = "240px";
tRow = document.createElement("tr");
tCell = document.createElement("td");
tCell.colSpan = "2";
tCell.style.padding = "4px";
tCell.style.paddingLeft = "0px";
tCell.style.paddingBottom = "8px";
tCell.style.textAlign = "left";
tCell.innerHTML = "<b>Maximum Refresh Frequency:" + "<" + "/" + "b>";
tRow.appendChild(tCell);
tBody.appendChild(tRow);
console.log(arguments.callee.name, '::', 'Frequency table header completed');
for (var x = 0; x < Interface.length; x++) {
tRow = document.createElement("tr");
tCell = document.createElement("td");
tCell.innerHTML = Interface[x]["name"];
tCell.style.padding = "8px";
tCell.style.textAlign = "left";
tCell.style.minWidth = "125px";
tCell.style.border = "0px solid #000000";
if (x % 2 == 0) { tCell.style.background = "rgba(128,128,128,0.2)"; }
tRow.appendChild(tCell);
tCell = document.createElement('td');
tCell.style.textAlign = "right";
tCell.style.padding = "8px";
tCell.style.paddingLeft = "12px";
tCell.style.minWidth = "75px";
if (x % 2 == 0) { tCell.style.background = "rgba(128,128,128,0.2)"; }
if (isNaN(Interface[x]["maxfreq"]) == true) { tCell.innerHTML = Interface[x]["maxfreq"]; }
else {
if (Interface[x]["maxfreq"] >= 1000000000000) { tCell.innerHTML = (Commas(Number(Interface[x]["maxfreq"] / 1000000000000).toFixed(2)) + "&nbsp;THz"); }
else if (Interface[x]["maxfreq"] >= 1000000000) { tCell.innerHTML = (Commas(Number(Interface[x]["maxfreq"] / 1000000000).toFixed(2)) + "&nbsp;GHz"); }
else if (Interface[x]["maxfreq"] >= 1000000) { tCell.innerHTML = (Commas(Number(Interface[x]["maxfreq"] / 1000000).toFixed(2)) + "&nbsp;MHz"); }
else if (Interface[x]["maxfreq"] >= 10000) { tCell.innerHTML = (Commas(Number(Interface[x]["maxfreq"] / 1000).toFixed(2)) + "&nbsp;KHz"); }
else { tCell.innerHTML = (Commas(Number(Interface[x]["maxfreq"]).toFixed(1)) + "&nbsp;Hz"); }
}
tRow.appendChild(tCell);
tBody.appendChild(tRow);
}
FreqTable.appendChild(tBody);
FreqContainer.appendChild(FreqTable);
console.log(arguments.callee.name, '::', 'Frequency table body completed');
$('#Results').html(FreqContainer.innerHTML);
if (TF == "None") {
$('#Results').append('<br />');
$('#Results').append($('<span>').html('Note: ').css({ 'font-weight': 'bold' }));
$('#Results').append($('<span>').html('Actual video transmission does require blanking intervals. The \"Timing Format: None\" option should only be used for mathematical curiosity, not to determine how much bandwidth a video signal actually needs. Even though modern non-CRT displays do not actually need blanking intervals to physically operate, these intervals have been repurposed in interfaces like HDMI for transmitting auxiliary data such as inline audio and control signals, and therefore are still required for the operation of display devices.'));
}
}
/* Blank if neither mode (somehow) */
else {
$('#Results').html('').css({ 'min-width': '1px' });
console.log(arguments.callee.name, '::', 'Data/Freq mode not selected');
}
return;
}
function CalcModeSwitch() {
if (document.getElementById("CALC_MODE_DATA").checked == true) {
document.getElementById("FREQ_BOX").disabled = false;
}
else if (document.getElementById("CALC_MODE_FREQ").checked == true) {
document.getElementById("FREQ_BOX").disabled = true;
/* document.getElementById("FREQ_BOX").value = ""; */
}
return;
}
function setCalcDefaults() {
document.getElementById("DEPTH_DROP").selectedIndex = 0;
document.getElementById("MODEL_DROP").selectedIndex = 0;
document.getElementById("COMP_DROP").selectedIndex = 0;
document.getElementById("TIMING_DROP").selectedIndex = 3;
return;
}
function setCalcSettings() {
var MODE = getQuery('mode');
var H = getQuery('H');
var V = getQuery('V');
var F = getQuery('F');
var bpc = getQuery('bpc');
var format = getQuery('format');
var comp = getQuery('compression');
var timing = getQuery('timing');
var formulas = getQuery('formulas');
var calculations = getQuery('calculations');
if (MODE == 'datarate' || MODE == null) { document.getElementById('CALC_MODE_DATA').checked = true; }
else if (MODE == 'maxfreq') { document.getElementById('CALC_MODE_FREQ').checked = true; document.getElementById("FREQ_BOX").disabled = true; }
if (isNaN(parseFloat(H)) == false) { document.getElementById('HRES_BOX').value = H; }
if (isNaN(parseFloat(V)) == false) { document.getElementById('VRES_BOX').value = V; }
if (isNaN(parseFloat(F)) == false) { document.getElementById('FREQ_BOX').value = F; }
var whitelist = {};
whitelist = {
'8': 0,
'10': 1,
'12': 2,
'14': 3,
'16': 4,
};
if (bpc in whitelist) { document.getElementById('DEPTH_DROP').selectedIndex = whitelist[bpc]; }
whitelist = {
'rgb': 0,
'ycbcr444': 1,
'ycbcr422': 2,
'ycbcr420': 3,
};
if (format in whitelist) { document.getElementById('MODEL_DROP').selectedIndex = whitelist[format]; }
whitelist = {
'none': 0,
'dsc2x': 1,
'dsc2.0x': 1,
'dsc2.5x': 2,
'dsc3x': 3,
'dsc3.0x': 3
};
if (comp == null) { document.getElementById('COMP_DROP').selectedIndex = 0; }
else if (comp in whitelist) { document.getElementById('COMP_DROP').selectedIndex = whitelist[comp]; }
whitelist = {
'none': 0,
'cvt': 1,
'cvtrb': 2,
'cvt-rb': 2,
'cvt_rb': 2,
'cvtr': 2,
'cvt-r': 2,
'cvt_r': 2,
'cvtr1': 2,
'cvt-r1': 2,
'cvt_r1': 2,
'cvtr2': 3,
'cvt-r2': 3,
'cvt_r2': 3,
'cvtrb2': 3,
'cvt-rb2': 3,
'cvt_rb2': 3
};
if (timing in whitelist) { document.getElementById('TIMING_DROP').selectedIndex = whitelist[timing]; }
else { document.getElementById('TIMING_DROP').selectedIndex = 3; }
if (calculations == 'show') { document.getElementById('SHOW_CALC').checked = true; }
else { document.getElementById('SHOW_CALC').checked = false; }
if (formulas == 'show') { document.getElementById('SHOW_FORMULA').checked = true; }
else { document.getElementById('SHOW_FORMULA').checked = false; }
return;
}
function CVT(H, V, F) {
var V_MIN = 0.00055; /* Minimum vertical blanking period (in seconds), defined by VESA CVT standard */
var V_PER = 1 / F; /* Vertical refresh period */
var IDEAL_DUTY_CYCLE = 30 - ((300000 * (V_PER - V_MIN)) / (V + 3));
if (IDEAL_DUTY_CYCLE < 20) { IDEAL_DUTY_CYCLE = 20; }
var H_BLANK = (Math.floor((H * IDEAL_DUTY_CYCLE) / ((100 - IDEAL_DUTY_CYCLE) * 16)) * 16);
var V_BLANK = Math.floor(((V + 3) * V_MIN) / (V_PER - V_MIN)) + 4;
/* Must now check if V_BLANK is below the minimum required V_BLANK line count, which is the sum of the vertical front porch, back porch, and sync width */
var V_PORCH_F = 3; /* Vertical front porch, defined by VESA CVT standard */
var V_PORCH_B = 6; /* Vertical back porch, defined by VESA CVT standard */
var V_SYNC_WIDTH_REF = [ /* Table of magic numbers defined in VESA CVT standard; sync width depends on aspect ratio */
[ 4 / 3, 4],
[16 / 9, 5],
[ 8 / 5, 6],
[ 5 / 3, 7],
[ 5 / 4, 7],
];
var V_SYNC_W;
for (var x = 0; x < V_SYNC_WIDTH_REF.length; x++) {
if (SameRatio(H, V, V_SYNC_WIDTH_REF[x][0]) == true) {
V_SYNC_W = V_SYNC_WIDTH_REF[x][1];
break;
}
else {
V_SYNC_W = 10;
continue;
}
}
if (V_BLANK < (V_PORCH_F + V_PORCH_B + V_SYNC_W)) {
V_BLANK = V_PORCH_F + V_PORCH_B + V_SYNC_W;
}
/* Fill in values in the formula table in case the table is to be shown */
document.getElementById("CVT_VMIN_CONST").innerHTML = V_MIN;
document.getElementById("CVT_H_CONST").innerHTML = Commas(H);
document.getElementById("CVT_V_CONST").innerHTML = Commas(V);
document.getElementById("CVT_F_CONST").innerHTML = Commas(F);
document.getElementById("CVT_D_VMIN_plugin").innerHTML = V_MIN;
document.getElementById("CVT_D_F_plugin").innerHTML = Commas(F);
document.getElementById("CVT_D_V+3_plugin").innerHTML = Commas(V + 3);
document.getElementById("CVT_D_RESULT").innerHTML = Number(0.3 - ((3000 * (V_PER - V_MIN)) / (V + 3))).toFixed(3);
document.getElementById("CVT_HBLANK_H_plugin").innerHTML = Commas(H);
document.getElementById("CVT_HBLANK_D_plugin1").innerHTML = Number(IDEAL_DUTY_CYCLE / 100).toFixed(3);
document.getElementById("CVT_HBLANK_D_plugin2").innerHTML = Number(IDEAL_DUTY_CYCLE / 100).toFixed(3);
document.getElementById("CVT_HBLANK_RESULT").innerHTML = Commas(Number((H * IDEAL_DUTY_CYCLE) / (100 - IDEAL_DUTY_CYCLE)).toFixed(1));
document.getElementById("CVT_HBLANK_RND").innerHTML = Commas(Math.floor(((H * IDEAL_DUTY_CYCLE) / (100 - IDEAL_DUTY_CYCLE)) / 16) * 16);
document.getElementById("CVT_VBLANK_V+3_plugin").innerHTML = Commas(V + 3);
document.getElementById("CVT_VBLANK_F_plugin").innerHTML = Commas(F);
document.getElementById("CVT_VBLANK_VMIN_plugin1").innerHTML = V_MIN;
document.getElementById("CVT_VBLANK_VMIN_plugin2").innerHTML = V_MIN;
document.getElementById("CVT_VBLANK_RESULT").innerHTML = Commas(Number((((V + 3) * V_MIN) / (V_PER - V_MIN)) + 4).toFixed(1));
document.getElementById("CVT_VBLANK_RND").innerHTML = Commas(V_BLANK);
document.getElementById("CVT_HEFF_H_plugin").innerHTML = Commas(H);
document.getElementById("CVT_HEFF_HBLANK_plugin").innerHTML = Commas(H_BLANK);
document.getElementById("CVT_HEFF_RESULT").innerHTML = Commas(H + H_BLANK);
document.getElementById("CVT_VEFF_V_plugin").innerHTML = Commas(V);
document.getElementById("CVT_VEFF_VBLANK_plugin").innerHTML = Commas(V_BLANK);
document.getElementById("CVT_VEFF_RESULT").innerHTML = Commas(V + V_BLANK);
return [H_BLANK, V_BLANK];
}
function CVT_RB(H, V, F, R) { /* R = 1 for CVT-RB, R = 2 for CVT-R2 */
var V_MIN = 0.00046; /* Minimum vertical blanking period (in seconds), defined by VESA CVT 1.1/1.2 standards */
var V_PER = 1 / F; /* Vertical refresh period */
var H_BLANK;
if (R == 1) { H_BLANK = 160; }
else if (R == 2) { H_BLANK = 80; }
var V_BLANK = Math.floor((V * V_MIN) / (V_PER - V_MIN)) + 1;
/* Must now check if V_BLANK is below the minimum required V_BLANK line count, which is the sum of the vertical front porch, back porch, and sync width */
var V_PORCH_F;
if (R == 1) { V_PORCH_F = 3; } /* Vertical front porch for Reduced Blanking v1, defined by VESA CVT 1.1 standard */
else if (R == 2) { V_PORCH_F = 1; } /* Vertical front porch for Reduced Blanking v2, defined by VESA CVT 1.2 standard */
var V_PORCH_B = 6; /* Vertical back porch, defined by VESA CVT standard */
var V_SYNC_WIDTH_REF = [ /* Table of magic numbers defined in VESA CVT standard; sync width depends on aspect ratio */
[4 / 3, 4],
[16 / 9, 5],
[8 / 5, 6],
[5 / 3, 7],
[5 / 4, 7],
];
var V_SYNC_W;
if (R == 1) {
for (var x = 0; x < V_SYNC_WIDTH_REF.length; x++) {
if (SameRatio(H, V, V_SYNC_WIDTH_REF[x][0]) == true) { V_SYNC_W = V_SYNC_WIDTH_REF[x][1]; break; }
else { V_SYNC_W = 10; continue; }
}
}
else if (R == 2) { V_SYNC_W = 8; }
if (V_BLANK < (V_PORCH_F + V_PORCH_B + V_SYNC_W)) {
V_BLANK = V_PORCH_F + V_PORCH_B + V_SYNC_W;
}
/* Fill in values in the formula table in case the table is to be shown */
document.getElementById("CVTRB_VMIN_CONST").innerHTML = V_MIN;
document.getElementById("CVTRB_HBLANK_CONST").innerHTML = H_BLANK;
document.getElementById("CVTRB_H_CONST").innerHTML = Commas(H);
document.getElementById("CVTRB_V_CONST").innerHTML = Commas(V);
document.getElementById("CVTRB_F_CONST").innerHTML = Commas(F);
document.getElementById("CVTRB_VBLANK_V_plugin").innerHTML = Commas(V);
document.getElementById("CVTRB_VBLANK_F_plugin").innerHTML = Commas(F);
document.getElementById("CVTRB_VBLANK_VMIN_plugin1").innerHTML = V_MIN;
document.getElementById("CVTRB_VBLANK_VMIN_plugin2").innerHTML = V_MIN;
document.getElementById("CVTRB_VBLANK_RESULT").innerHTML = Commas(Number((V * V_MIN) / (V_PER - V_MIN)).toFixed(1));
document.getElementById("CVTRB_VBLANK_RND").innerHTML = Commas(V_BLANK);
document.getElementById("CVTRB_HEFF_H_plugin").innerHTML = Commas(H);
document.getElementById("CVTRB_HEFF_HBLANK_plugin").innerHTML = Commas(H_BLANK);
document.getElementById("CVTRB_HEFF_RESULT").innerHTML = Commas(H + H_BLANK);
document.getElementById("CVTRB_VEFF_V_plugin").innerHTML = Commas(V);
document.getElementById("CVTRB_VEFF_VBLANK_plugin").innerHTML = Commas(V_BLANK);
document.getElementById("CVTRB_VEFF_RESULT").innerHTML = Commas(V + V_BLANK);
return [H_BLANK, V_BLANK];
}
/* NAVIGATION AND ELEMENT CONTROL */
function scrollTo(elementID) {
obj = document.getElementById(elementID);
if (obj == null) { console.log(arguments.callee.name, '::', 'No such element "' + elementID + '" found; function aborted'); return; }
offset = 50;
var curtop = 0 - offset;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
y = [curtop];
}
window.scroll(0, y);
return;
}
function scrollUp(elementID) {
obj = document.getElementById(elementID);
offset = 50;
Y0 = window.pageYOffset;
var curtop = 0 - offset;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
y = [curtop];
}
if (y[0] < Y0) { /* If current position is lower than the scroll target location */
window.scroll(0, y);
}
else { console.log(arguments.callee.name, '::', 'Page scroll skipped; Current position', Y0, 'is above destination', y[0]); }
return;
}
function getQuery(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
function setIODropdowns(output, input, options) {
defaultOpt = {
'scroll': false,
'up_only': false,
};
if (typeof (options) === 'undefined') {
console.log(arguments.callee.name, '::', 'Caller did not include optional parameters');
var options = {};
for (var entry in defaultOpt) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
else { console.log(arguments.callee.name, '::', 'Caller has included optional parameters:', options); }
/* Any unspecified options are added with their default settings */
for (var entry in defaultOpt) {
if (entry in options == false) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Unspecified option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
var out_index = IO_Validity_Check(output, 'Output');
var in_index = IO_Validity_Check(input, 'Input');
if (out_index != null) { document.getElementById('Output').selectedIndex = out_index; }
else { document.getElementById('Output').selectedIndex = IO_Validity_Check('BLANK', 'Output'); }
if (in_index != null) { document.getElementById('Input').selectedIndex = in_index; }
else { document.getElementById('Input').selectedIndex = IO_Validity_Check('BLANK', 'Input'); }
Configurator();
if (options['scroll'] == true && options['up_only'] == false) { scrollTo('TOP'); }
else if (options['scroll'] == true && options['up_only'] == true) { scrollUp('TOP'); }
return;
}
function toggleTable(tableName, parentName) {
var oldLabel = document.getElementById(parentName + "_LINK").innerHTML;
if (document.getElementById(parentName + "_CONTAINER").innerHTML == "&nbsp;") {
document.getElementById(parentName + "_LINK").innerHTML = "Hide" + oldLabel.substring(4, oldLabel.length);
document.getElementById(parentName + "_CONTAINER").innerHTML = "<br />" + document.getElementById(tableName + "_TABLE").innerHTML + "<br />";
}
else {
document.getElementById(parentName + "_LINK").innerHTML = "Show" + oldLabel.substring(4, oldLabel.length);
document.getElementById(parentName + "_CONTAINER").innerHTML = "&nbsp;";
}
return;
}
function toggleSpoiler(arg, options) {
defaultOpt = {
'scroll': false,
'up_only': false,
'this is the': 'header row',
};
/* if no options argument is given at all, create one with the default values as set above. */
if (typeof (options) === 'undefined') {
console.log(arguments.callee.name, '::', 'Caller did not include optional parameters');
var options = {};
for (var entry in defaultOpt) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
else { console.log(arguments.callee.name, '::', 'Caller has included optional parameters:', options); }
/* if an options argument is given, but not all options are defined, set the default values for the missing ones */
for (var entry in defaultOpt) {
if (entry in options == false) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Unspecified option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
var spoiler;
var id;
var body;
if (options['this is the'] == 'table') {
spoiler = arg;
}
else if (options['this is the'] == 'header row' || options['this is the'] == 'footer row') {
spoiler = arg.parentElement.parentElement;
}
else if (options['this is the'] == 'table id') {
arg = sectionList(arg);
if (arg == null) { return; }
else { spoiler = document.getElementById(arg); }
}
id = spoiler.id;
body = spoiler.rows[1];
var state = body.style.display;
console.log(arguments.callee.name, '::', 'Current table display state:', state);
if (state == 'none') { openSpoiler(spoiler, { 'scroll': options['scroll'], 'up_only': options['up_only'], 'this is the': 'table' }); }
else { closeSpoiler(spoiler, { 'scroll': options['scroll'], 'up_only': options['up_only'], 'this is the': 'table' }); }
}
function openSpoiler(arg, options) { /* Use this for links which auto-open the spoiler. Use toggleSpoiler() function for the spoiler header itself. */
defaultOpt = {
'scroll': false,
'up_only': false,
'this is the': 'table' /* valid options: 'table', 'header row', 'table id', 'header id' */
};
/* if no options argument is given at all, create one with the default values as set above. */
if (typeof (options) === 'undefined') {
console.log(arguments.callee.name, '::', 'Caller did not include optional parameters');
var options = {};
for (var entry in defaultOpt) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
else { console.log(arguments.callee.name, '::', 'Caller has included optional parameters', options); }
/* if an options argument is given, but not all options are defined, set the default values for the missing ones */
for (var entry in defaultOpt) {
if (entry in options == false) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Unspecified option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
var spoiler;
var id;
var body;
var footer;
if (options['this is the'] == 'table') {
spoiler = arg;
}
else if (options['this is the'] == 'header row') {
spoiler = arg.parentElement.parentElement;
}
else if (options['this is the'] == 'table id') {
arg = sectionList(arg);
if (arg == null) { return; }
else { spoiler = document.getElementById(arg); }
}
id = spoiler.id;
body = spoiler.rows[1];
footer = null;
if (spoiler.rows.length > 2) { footer = spoiler.rows[2]; }
body.style.display = 'table-row';
footer.style.display = 'table-row';
if (options['scroll'] == true) {
if (options['up_only'] == true) { scrollUp(id); }
else { scrollTo(id); }
}
return;
}
function closeSpoiler(arg, options) { /* Use this for the "close" button/footer at the bottom of the spoiler. Use toggleSpoiler() function for the spoiler header. */
defaultOpt = { /* Same opening as openSpoiler function */
'scroll': false, /* scroll option for closing the spoiler has no effect if spoiler does not have a "Close" footer. */
'up_only': false, /* currently this does nothing */
'this is the':'table',
};
/* if no options argument is given at all, create one with the default values as set above. */
if (typeof (options) === 'undefined') {
console.log(arguments.callee.name, '::', 'Caller did not include optional parameters');
var options = {};
for (var entry in defaultOpt) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
else { console.log(arguments.callee.name, '::', 'Caller has included optional parameters:', options); }
/* if an options argument is given, but not all options are defined, set the default values for the missing ones */
for (var entry in defaultOpt) {
if (entry in options == false) {
options[entry] = defaultOpt[entry];
console.log(arguments.callee.name, '::', 'Unspecified option \"' + entry + '\" set to default value of: ' + defaultOpt[entry]);
}
}
var spoiler;
var id;
var body;
var footer;
if (options['this is the'] == 'table') {
spoiler = arg;
}
else if (options['this is the'] == 'footer row') {
spoiler = arg.parentElement.parentElement;
}
else if (options['this is the'] == 'table id') {
arg = sectionList(arg);
if (arg == null) { return; }
else { spoiler = document.getElementById(arg); }
}
id = spoiler.id;
header = spoiler.rows[0];
body = spoiler.rows[1];
footer = null;
if (spoiler.rows.length > 2) { footer = spoiler.rows[2]; }
if (options['scroll'] == true && footer != null) { /* scrolls the page so that spoiler header is at the Y position that the footer used to be at */
var diff = ($(footer).offset()).top - ($(header).offset()).top;
window.scroll(0, window.scrollY - (diff - 1));
}
body.style.display = 'none';
footer.style.display = 'none';
return;
}
/* small utilities */
function Commas(num) {
var parts = num.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
return parts.join(".");
}
function GCD(a, b) {
a = Math.abs(a);
b = Math.abs(b);
if (b > a) { var temp = a; a = b; b = temp; }
while (true) {
if (b == 0) return a;
a %= b;
if (a == 0) return b;
b %= a;
}
}
function SameRatio(H, V, A) {
/* Checks if the ratio H/V is equal to the given ratio A (within a defined margin of error E) */
/* Negative signs on H, V, and A are ignored */
var E = 0.001; /* E is a percent error written as a decimal (i.e. E = 0.001 would give an acceptable error margin of 0.1%) */
if (Math.abs((Math.abs(H / V) / Math.abs(A)) - 1) <= E) { return true; }
else { return false; }
}
function prefixGen(num, precision) {
var out_num;
var out_prefix;
var prefixDef = {
'-8': 'y',
'-7': 'z',
'-6': 'a',
'-5': 'f',
'-4': 'p',
'-3': 'n',
'-2': 'µ',
'-1': 'm',
'0': '',
'1': 'K',
'2': 'M',
'3': 'G',
'4': 'T',
'5': 'P',
'6': 'E',
'7': 'Z',
'8': 'Y'
};
var magnitude = Math.floor(Math.log(num)/Math.log(1000));
if (magnitude >= -8 && magnitude <= 8) {
out_num = Commas(Number(num / Math.pow(1000, magnitude)).toFixed(precision));
out_prefix = prefixDef[magnitude];
}
else {
out_num = Commas(num);
out_prefix = '';
}
return {
'num': out_num,
'prefix': out_prefix
};
}
function bitPrefix(num, precision) {
var x = prefixGen(num, precision);
return (x['num'] + '&nbsp;' + x['prefix'] + 'bit/s');
}
function pxPrefix(num, precision) {
var x = prefixGen(num, precision);
return (x['num'] + '&nbsp;' + x['prefix'] + 'px');
}
window.onload = function pageLoad () {
MakeRefTable();
/* openSpoiler('calc', { 'scroll': false }); */
var section = sectionList(getQuery('section'));
var output = getQuery('output');
var input = getQuery('input');
if (section == null && output == null && input == null) { return; }
else if (section != null) {
console.log(arguments.callee.name, '::', 'Received section from URL:', section);
openSpoiler(section, { 'scroll': true, 'this is the': 'table id' });
if (section == 'calc') {
setCalcSettings();
Calculator();
}
}
else if (output != null || input != null) {
if (output != null) {
console.log(arguments.callee.name, '::', 'Received output from URL:', output);
}
if (input != null) {
console.log(arguments.callee.name, '::', 'Received input from URL:', input);
}
setIODropdowns(output, input, { 'scroll': true });
}/*
else {
if (output != null || input != null) { setIODropdowns(output, input, { 'scroll': true }); }
if (section != null) {
openSpoiler(section, { 'scroll': true, 'this is the': 'table id' });
if (section == 'calc') {
setCalcSettings();
Calculator();
}
}
}*/
return;
}
Configurator();
</script>
</body>
</html>