Cathodic Ray Tube (CRT) monitor detection. Resolutions and refresh rates

Long story very short:

I have multiple CRTs and ways to connect them to my main PC, which soon may or may not get an update to use an iGPU for native VGA output if my RAM order doesn’t get deleted…

That said (specs put at the end) I am too (chronically) ill to diligently put my mind to it.
Back in the “the GT 710 was still supported by drivers on W10” days (death in October 2021) Nvidia just worked with CRTs, and then DVI-D>VGA, HDMI>VGA, and finally DP>VGA (what I am currently using) still managed to detect the data of my monitors.

I am, obviously, not on W10 anymore, and I have a Rx 6650xt (instead of my old RTX 2070) now.
I am using Fedora KDE 44.


I found this page/guide to "add custom resolutions",

but I believe (in my foggy mind) that Linux should just be able to understand which model of CRT this is, and thus add the proper resolutions and hz-s.



(I have the FE770 model[1]. Any and all resolution options top at 75Hz. The adapter can do 1600x1200p at 90hz or something like that. It’s an expensive model.)

The problem is that even the LCD and Oled I have don’t show all the res+hz they DO support[2].


So, as closure:
Fedora, KDE, DP>VGA, CRT.
It looks as it should and doesn’t make bad noises.
I want it detected properly and/or be able to set custom resolutions without blowing the tube.

  • The possible upgrade to AM5 would give me native VGA output, which may solve the problem.

I’d appreciate any help which would demistifies Linux’ alien way to control resolutions and refresh rates[3] because, from the first Windowses with a GUI up to at least Windows 10, Nvidia, AMD and Intel were all able to not only just easily detect ANY AND ALL res+hz, but ALSO to create custom ones fairly easily.


~$ inxi -Fzxx
System:
  Kernel: 7.0.11-200.fc44.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 16.1.1
  Desktop: KDE Plasma v: 6.6.5 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
    Distro: Fedora Linux 44 (KDE Plasma Desktop Edition)
Machine:
  Type: Desktop Mobo: ASUSTeK model: PRIME B450-PLUS v: Rev X.0x
    serial: <superuser required> part-nu: SKU Firmware: UEFI
    vendor: American Megatrends v: 3211 date: 08/10/2021
CPU:
  Info: 6-core model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3+
    rev: 0 cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB
  Speed (MHz): avg: 1738 min/max: 561/4654 boost: enabled cores: 1: 1738
    2: 1738 3: 1738 4: 1738 5: 1738 6: 1738 7: 1738 8: 1738 9: 1738 10: 1738
    11: 1738 12: 1738 bogomips: 88790
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a
    ssse3 svm
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 23 [Radeon RX 6650 XT /
    6700S 6800S] vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-2 pcie:
    speed: 16 GT/s lanes: 16 ports: active: DP-1,DP-3 off: DP-2
    empty: HDMI-A-1,Writeback-1 bus-ID: 09:00.0 chip-ID: 1002:73ef
  Display: wayland server: Xwayland v: 24.1.12 compositor: kwin_wayland
    driver: gpu: amdgpu display-ID: 0
  Monitor-1: DP-1 model: Philips 27M2N3500AM res: 2560x1440 hz: 180 dpi: 109
    diag: 685mm (27")
  Monitor-2: DP-2 model: Philips 27M2N8500 res: 2560x1440 dpi: 110
    diag: 678mm (26.7")
  Monitor-3: DP-3 model: Invalid Vendor Codename - RTK 0x1D1A res: 1024x768
    hz: 75 dpi: 25 diag: 1168mm (46")
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
    gbm: drv: kms_swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 26.0.8 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 6650 XT (radeonsi navi23 ACO DRM
    3.64 7.0.11-200.fc44.x86_64) device-ID: 1002:73ef display-ID: :0.0
  API: Vulkan v: 1.4.341 surfaces: N/A device: 0 type: discrete-gpu
    driver: mesa radv device-ID: 1002:73ef device: 1 type: cpu
    driver: mesa llvmpipe device-ID: 10005:0000
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info x11: xdriinfo,
    xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 21/23 HDMI/DP Audio
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 09:00.1 chip-ID: 1002:ab28
  Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio
    vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s
    lanes: 16 bus-ID: 0b:00.4 chip-ID: 1022:1487
  Device-3: HP HyperX Cloud III driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 3-3:3 chip-ID: 03f0:089d
  API: ALSA v: k7.0.11-200.fc44.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.6.6 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK RTL8111H driver: r8169 v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: e000 bus-ID: 04:00.0 chip-ID: 10ec:8168
  IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 18.4 TiB used: 10.55 TiB (57.3%)
  ID-1: /dev/nvme0n1 vendor: Kingston model: SA2000M8500G size: 465.76 GiB
    speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 33.9 C
  ID-2: /dev/sda vendor: Seagate model: ST10000NM0046 size: 9.1 TiB
    speed: 6.0 Gb/s serial: <filter>
  ID-3: /dev/sdb vendor: Mushkin model: MKNSSDEL2TB size: 1.82 TiB
    speed: 6.0 Gb/s serial: <filter>
  ID-4: /dev/sdc vendor: Kingston model: SA400S37960G size: 894.25 GiB
    speed: 6.0 Gb/s serial: <filter>
  ID-5: /dev/sdd vendor: Integral Memory model: V Series SATA SSD 250GB
    size: 232.89 GiB speed: 6.0 Gb/s serial: <filter>
  ID-6: /dev/sde model: SSD 512GB size: 476.94 GiB speed: 6.0 Gb/s
    serial: <filter>
  ID-7: /dev/sdf vendor: Western Digital model: WD20PURZ-85AKKY0
    size: 1.82 TiB speed: 6.0 Gb/s serial: <filter>
  ID-8: /dev/sdg vendor: Seagate model: ST4000DM004-2U9104 size: 3.64 TiB
    speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 93.13 GiB used: 56.15 GiB (60.3%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 4.5 GiB used: 620.8 MiB (13.5%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 190.8 MiB used: 20 MiB (10.5%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 3.68 GiB used: 0 KiB (0.0%)
    priority: -1 dev: /dev/nvme0n1p5
Sensors:
  System Temperatures: cpu: 46.2 C mobo: N/A gpu: amdgpu temp: 53.0 C
    mem: 48.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Memory: total: 16 GiB available: 15.52 GiB used: 5.68 GiB (36.6%)
  Processes: 433 Power: uptime: 25m wakeups: 0 Init: systemd v: 259
    default: graphical
  Packages: pm: rpm pkgs: N/A note: see --rpm pm: flatpak pkgs: 27
    Compilers: gcc: 16.1.1 Shell: Bash v: 5.3.9 running-in: konsole inxi: 3.3.40

  1. Text version of the error’s name in the last screenshot: invalid vendor codename - rtk 0x1d1a ↩︎

  2. and so don’t all the other PCs in the house, so maybe this is just a Skill Issue on the side of the software ↩︎

  3. BOTH with Xorg, which I will not be using on any of my PCs, Fedora KDE doesn’t support it anymore!!! ↩︎

Btw around 8 years ago I’ve backupped the PDFs of my CRTs, just in case.

It turned out to be a great move, because (at least the sources I’ve used) are gone.

I’d’ve uploaded the PDF/s, but I don’t seem to be able to do it directly.
If anyone has “a companion website” where I can upload them to then link them here, I’d be happy to.


Here’s recent proof that it can still be done (dual booting W10 just for testing).

Nvidia was much more flexible for handling CRTs, but I don’t have Nvidia anymore.

Once again, maybe the new hardware (which may or may not arrive) will fix it by connecting the CRT directly to the MOBO instead of passing via the converter, but I can’t test that until it comes (technically I have other PCs with either a VGA GPU or an iGPU, but I am not healthy enough to test them right now).

I am also trying to solve it on a parallel forum:

Just proof that even tho I am using a DP>VGA adapter, I can just make the custom resolutions, even if it’s not as easy as it was with the Nvidia Control Panel.