Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| user:rion [2021/09/15 09:44] – [Switchres- Minimum Dot Clock] rion | user:rion [2024/11/30 15:15] (current) – rion | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | <WRAP center round important 90%> | + | Work in progress on updated CRT guide... |
| - | Under Construction!</ | + | |
| - | ===== Switchres- Minimum Dot Clock ===== | + | ====== Batocera native CRT output ====== |
| - | Specify the lowest acceptable pixel/dot clock for the video system. | + | <WRAP center round alert> |
| + | [[https:// | ||
| + | </ | ||
| - | To overcome issues where the video card is limited to how low a dot clock it can output and going below the limit produces no display or can freeze the hardware. | ||
| - | The video connector (either because of its internals or technical specifications), | ||
| - | You do want to force the use of super resolutions regardless of the capabilities of your video system. | ||
| - | In this case, set to 25.0. | ||
| + | Batocera has the capability to natively output an analogue signal, should you have the hardware to do so. The specifics are later in this guide, but that basically means you have a VGA/DVI-I port on your graphics card (which is becoming exceedingly rare with modern graphics cards) or on your motherboard (the CPU will need integrated graphics to support it and must not have a DAC altering the signal, probably along with particular BIOS settings). Modern cards with only digital outputs have a minimum bandwidth that's above the acceptable rate that CRTs can interpret, and thus won't be compatible for use in this guide. | ||
| - | Switchres will automatically calculate correct super resolutions based on the number you put in by integer multiplying the horizontal resolution per modeline. | + | <WRAP center round tip> |
| - | So say it's 640x480i and that' | + | You can however use an active converter ([[# |
| - | it will do 1280x480i | + | </ |
| - | if it's still below it, it will do 1920(3x width)x480i and so on | + | |
| - | Same goes for any other modeline, like 256x224 it would do 512(2x)x224, 768(3x)x224 | + | |
| - | In Retroarch and GroovyMame all super resolutions are integer scaled and aspect ratio corrected to match the original resolution. | + | Recommended watching: |
| + | * [[https:// | ||
| - | No standalone emulators or Application in Batocera has support for this. So if your card can only output 640x480i | + | Recommended reading: |
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | With Super resolution width: above this width, fractional scaling on the horizontal axis is applied without penalization | + | ===== Foreword ===== |
| - | So say you have a card that can't output a Progressive: | + | <WRAP center round alert> |
| - | 2560x224 | + | It should go without saying, but unlike digital signals, analogue signals and the devices that receive them tend not to have safety limitations on what they are capable of. This can result in breaking displays, blowing old fuses, overheating ancient capacitors, making things catch fire, etc. You should perform adequate research before attempting any of this with your old equipment. Although this guide has safety precautions built into it, the safety of you and your equipment is solely your own responsibility. |
| + | </ | ||
| - | Then switchres will apply the scaling mode (fractional or integer) that best fits the situation. | + | This guide would not have been possible without |
| - | Fractional scaling | + | * jfroco' |
| + | * rtissera' | ||
| + | * Calamity for his knowledge, drivers, tools, GroovyMame, Switchres, etc. | ||
| + | * Substring' | ||
| + | * D0023R Doozer' | ||
| + | * dmanlcf' | ||
| + | * Rion and Atari for compiling this guide. | ||
| + | ===== Glossary ===== | ||
| - | ===== Switchres- Minimum Dot Clock - Test modelines ===== | + | The field of analog signals and CRT-related standards is very complex and occasionally misleading. We won't dive into every aspect in this guide but we will explain some relevant terms here (sorted in alphabetical order) to avoid confusion. Feel free to come back to this section at any time throughout this guide: |
| - | {{:user:crt_switchres_grid_test_example.jpg?200|}} | + | * **Active converters** Little boxes that convert one signal to another. These use tiny computers with processors and RAM to process the image digitally and send it out the other side as appropriate. Generally undesirable, |
| + | * **BNC cables** These are standard aerial coaxial cords that can carry any analogue signal. For our purposes, they will be carrying an RGB video signal. There were not many consumer TVs that utilized this type of connection, but they were common with professional/ | ||
| + | * **Component video cables** The three red blue green cable connection. Not to be confused with the similarly spelled composite cable, as it uses three cables instead of one. Not to be confused with RGB signal, as this uses a YPbPr signal. Them being colored red blue and green is purely coincidental and not related to RGB at all.{{ hardware: | ||
| + | * **Composite signal** An // | ||
| + | * **Composite video cable** The yellow cable. That's enough, you know what I'm talking about already.{{ hardware: | ||
| + | * **DisplayPort** The modern digital video connection port, common on modern graphics cards. Compatible with both DP and HDMI signals. This port cannot be used to send a native analogue signals so it is not recommended for use with CRT, but this can be worked around if you have the right equipment as explained further on in the guide. | ||
| + | * **DVI-I port** This is the 29 pin port in your graphics card, capable of analogue signals. You will typically find this port alongside the VGA port. Newer cards no longer include this port. It is of extreme importance to not confuse this with the identical-looking DVI-**D** port, which is only capable of digital signals. The DVI-I port has additional pins above and below the flat tongue, whereas DVI-D doesn' | ||
| + | * **EDID** Extended Display Identification Data (EDID) is a //digital// metadata signal used by display devices to describe their capabilities to a video source (in this case, your Batocera computer). Modern digital displays all have this, and Batocera uses that to automatically switch to a compatible resolution. Certain VGA-compatible CRT monitors also use this, but not all of them. This standard was introduced in 1994, so monitors manufactured before then do **not** have EDID. | ||
| + | * **Horizontal scan rate** Usually expressed in kilohertz. This is the number of times per second that a horizontal line is drawn on a display, as opposed to vertical refresh rate which is the number of times per second that an entire screen of image data is displayed. | ||
| + | * **Passive adapter/ | ||
| + | * **RGB video signal** In this context, refers to the // | ||
| + | * **SCART** This is the 21 pin port that superseded the standard composite video output. Popular in Europe and Japan, but not many other places. Carries both analog video and audio signals. Natively uses an RGB video signal, but is backwards compatible with YPbPr, composite and S-video signals.{{ hardware: | ||
| + | * **S-video port** A slightly better version of composite video. This separated the color and luminance signals into two separate wires each, reducing color bleed and artifacts, but in practice the difference wasn't that significant. Common with DVD players, but not much else.{{ hardware: | ||
| + | * **S-video signal** An // | ||
| + | * **RF modulator** This is a device that can translate composite, component or RGB analogue signals into a radio frequency. This is required for CRT displays that only have an RF input. VCRs usually had one of these built-in to them, and make for a fine substitute.{{ hardware: | ||
| + | * **Three-pole A/V composite cable** A more modern analogue signal cable which violates standards by running a video signal through a 3.5mm headphone jack splitting into RCA cables. This is specifically designed to be used in the Raspberry Pi in its composite video modes, and will not be compatible with other devices/ | ||
| + | * **Transcoder** A device that can convert an RGB signal into an inferior signal like component/ | ||
| + | * **Vertical refresh rate** The number you're probably more familiar with, typically measured in just hertz. This is the number of full frames drawn per second. Typically this is 60 Hz for all modern displays, but older CRTs were split between 60 Hz and 50 Hz depending on where you lived. | ||
| + | * **VGA port** This is the 15 pin port ubiquitous with old computer video output and classroom projectors. It is important to note the distinction between a VGA signal and the DSUB connector used to carry that signal, as not all DSUB connectors actually send a VGA signal. Refer to this console-related [[http:// | ||
| + | * **VGA signal** A unique hybrid // | ||
| + | * **YPbPr video signal** A lower-bandwidth form of RGB, which has both the green and luminance channels on one wire. Used by component video cables, but can also be sent through a SCART connection. | ||
| - | configure switchres.ini to your monitor (WinScp) | + | ===== Prerequisites ===== |
| - | Connect to Batocera via SSH | + | To achieve a native analogue signal on your setup, the following elements are needed: |
| - | Have a keyboard connected | + | * A network connection (wired is preferred, as it needs no configuration) |
| + | * For x86_64: | ||
| + | * A graphics card or integrated graphics with RGB analogue output | ||
| + | * **AMD**/ | ||
| + | * **Radeon RX** up to the **300** series (excluding the **R9 390**) (**R9 380X** is the newest and most powerful AMD card supporting analogue) | ||
| + | * **Workstation** up to the **FirePro W5000** | ||
| + | * **Nvidia** graphics cards with **VGA** or **DVI-I** ports (major flaws and limited to Super Resolutions, | ||
| + | * **GTX** up to the **900** series cards (**980** is the recommended card to use) <WRAP center round tip> | ||
| + | Cards older than the **GTX 600** series may not be supported by the official Nvidia drivers, though performance with 5th gen systems and below is adequate with the nouveau drivers. | ||
| + | </ | ||
| + | * **Titan** cards up to the **Titan X** (but excluding **Titan X Pascal**) (**Titan X** is the most powerful card supporting analogue) | ||
| + | * **Quadro** cards up to the **Quadro K5200** | ||
| + | * **Nvidia** graphics card with **DisplayPort** (no native analog signal, requires disabling low-level driver limitations which are potentially dangerous, requires additional ratnest of cables): | ||
| + | * If opting to go this route, an active converter or the CableDeconn DP to VGA adapter will be required. In general, this is not recommended as it is not a native analogue signal. | ||
| + | * A transcoder will still be required. | ||
| + | * **AMD** APUs with **VGA** or **DVI-I** ports on the motherboard (hit or miss, highly dependent on hardware limitations, | ||
| + | * **Intel** integrated graphics with **VGA** or **DVI-I** ports on the motherboard (has some flaws and limitations, | ||
| + | * If using a TV/PVM/BVM with **SCART**/ | ||
| + | * If using a computer monitor with **VGA** input, simply a **VGA** cable | ||
| + | * If using a TV with **component**/ | ||
| + | * If using a TV that only has **RF** input, you will need a **composite** to **RF** modulator in addition to the transcoder | ||
| + | * A way to [[: | ||
| + | * A way to edit files over the network (for Windows, WinScp and Notepad++ work fine) | ||
| - | Exit Emulation Station | + | <WRAP center round tip> |
| - | <code> | + | It is highly recommended using an external editor like [[http://notepad-plus-plus.org/|Notepad++]] and [[https:// |
| - | /etc/init.d/S31emulationstation stop | + | </WRAP> |
| - | </code> | + | |
| - | or | + | If any of that was confusing here's a professional-grade flowchart explaining what is required for each type of display (on PC): |
| - | Exit to terminal | + | {{ hardware: |
| - | '' | + | |
| - | From putty type for this to test modeline 640x480@60 with configured monitor profile | + | ===== Component Transcoders ===== |
| - | < | + | |
| - | DISPLAY=:0 switchres 640 480 60 -i switchres.ini -s -l grid | + | |
| - | </ | + | |
| - | You can change between 2 types of grids with Tab. | + | |
| - | Exit pressing Escape from keyboard | + | Some appropriate VGA-to-component adapters: |
| - | Go back to Es with command | + | RGB VGA to YPbPr Component transcoder/converter by linuxbot3000 |
| - | < | + | |
| - | /etc/ | + | |
| - | </ | + | |
| - | or restart with | + | |
| - | < | + | |
| - | reboot | + | |
| - | </ | + | |
| - | Modelines to test your switchres.ini settings with | + | |
| - | < | + | |
| - | [[https://gitlab.com/groovyarcade/support/-/wikis/4-Issues-and-Troubleshooting/ | + | * [[https://www.ebay.com/itm/174166352619]] |
| + | * [[http://wakabavideo.com/|homepage]] | ||
| + | {{hardware: | ||
| - | For example the Arcade game Dottori Kun ([[http:// | + | GreenAntz RGB to component transcoder |
| - | < | + | |
| - | DISPLAY=:0 switchres 128 192 61.035156 -i switchres.ini -s -l grid | + | |
| - | </ | + | |
| - | ===== AMD Troubleshooting Tearfree and Freezes ===== | + | {{hardware: |
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | Retrotink RGB2COMP (Scart to Component) | ||
| - | If you get uneven frame-pacing and microstutters in Mame and/or Retroarch we need to disable the option | + | {{hardware: |
| - | '' | + | |
| - | | + | RGBS VGA SCART to YPBPR Component Transcoder |
| - | < | + | |
| - | Section " | + | {{hardware: |
| - | | + | {{hardware: |
| - | | + | |
| - | | + | |
| - | | + | |
| - | EndSection | + | |
| - | </ | + | |
| - | * 20-radeon.conf (TeraScale and older, GCN 1 & GCN 2) or download an already fixed [[https:// | + | <WRAP center round info> |
| - | <code> | + | Color coding is a little different on this |
| - | Section " | + | * Green -> Pb |
| - | Identifier "Fix AMD Radeon Tearing" | + | * Red -> Y |
| - | Driver " | + | * Blue -> Pr |
| - | MatchDriver " | + | </WRAP> |
| - | | + | |
| - | EndSection | + | |
| - | </code> | + | |
| - | Don't forget | + | RGBS / SCART to YCBCR / YPBPR / S-Video converter adapter |
| - | **Games freeze or EmulationStation freeze.** | + | {{hardware: |
| + | Convert VGA to Scart cable to YCBCR & S-Video | ||
| + | | ||
| + | Can also be found by searching AliExpress for "SCART RGBS to YUV YCBCR Video Converter" | ||
| - | This has been reported by some users and myself included. | + | ===== Composite/ |
| - | It's not know yet what is the underlying reason. It could be a driver or kernel issue. | + | |
| - | We need to add **Option " | + | If you need composite/ |
| - | '' | + | * [[https://www.ebay.com/itm/ |
| + | {{hardware: | ||
| - | * 20-amdgpu.conf (GCN 3, GCN 4, GCN 5, RDNA & RDNA 2) or download an already fixed [[https:// | + | RGB to Composite |
| - | < | + | {{hardware: |
| - | Section " | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | EndSection | + | |
| - | </ | + | |
| - | * 20-radeon.conf (TeraScale and older, GCN 1 & GCN 2) or download an already fixed [[https://drive.google.com/file/ | + | * [[https://www.axunworks.com/product-p341706.html]] |
| - | < | + | ===== DisplayPort to VGA DAC ===== |
| - | Section " | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | EndSection | + | |
| - | </ | + | |
| - | Don't forget | + | If you only have a DP connection, use the CableDeconn DP to VGA adapter before sending the signal to the transcoder of your choice: |
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | {{: | ||
| - | * Short explanation | + | <WRAP center round info> |
| + | If you are in a situation where you must use an active adapter, the CableDeconn DP to VGA adapter is one of the best options. It uses a repurposed Realtek RTD 2168 audio chip for its conversion, which doesn' | ||
| + | </ | ||
| - | //TearFree is a tearing prevention option which prevents tearing by using the hardware page flipping mechanism// | + | ===== USB-C to VGA DAC ===== |
| - | //Microstutter short irregular frame dips// | + | If you only have a USB-C connection, use the StartTech.com USB type C to VGA, 3m, CDP2VGA3MBNL (Note: this 3m cable has the RTD2166 chip. Shorter versions of the same brand use a different chip that may not be compatible) before sending the signal to the transcoder of your choice: |
| + | * [[https://www.startech.com/en-us/audio-video-products/ | ||
| + | * [[https:// | ||
| + | {{: | ||
| - | //Frame-pacing uneven distribution | + | <WRAP center round info> |
| + | If you are in a situation where you must use an active adapter and only have a USB type C connection the StartTech.com USB type C to VGA adapter is one of the best options. It uses a repurposed Realtek RTD 2166 audio chip for its conversion, which doesn' | ||
| + | </WRAP> | ||
| + | ===== Connecting the PC to a CRT display ===== | ||
| + | |||
| + | The first step is to safely connect your Batocera computer to the CRT display itself. If using a VGA connection with a EDID CRT monitor, it is as simple as connecting the display, turning it on and then turning the Batocera machine on. Keep reading this section for all other displays. If your CRT monitor does not send an EDID (the standard was introduced in 1994, so monitors manufactured before then **do not have EDID**), then you should still follow the following instructions just to be safe. | ||
| + | |||
| + | <WRAP center round important> | ||
| + | During the boot process and resizing of the partition it will boot up in a non-supported resolution. Keep the CRT TV off for the moment or on another AV channel so it doesn' | ||
| + | |||
| + | Also keep in mind that during the BIOS boot process the same rule applies. Have the CRT TV off or on another input when first booting up.</ | ||
| + | |||
| + | **To solve this we have 4 options:** | ||
| + | * Do the aforementioned, | ||
| + | * Have a look at gambaman' | ||
| + | * Use buttersoft' | ||
| + | * Flash you AMD/ATI card with [[http:// | ||
| + | |||
| + | Once everything is safe, you can turn on your Batocera machine. If you'd like to edit files using the Batocera machine itself, you can hook up a secondary digital display in the meantime. If you have multiple ports and use another port, then you'll not be able to do this once you disable the other port outputs in the upcoming section. If you have a modern digital display that can handle older standard signals over older standards cables without blowing up (such as a LCD monitor with both HDMI and VGA ports), you can use that in place of your CRT until everything is configured correctly for it. | ||
- user/rion.1631699043.txt.gz
- Last modified: 5 years ago
- by rion