Corrupted text at boot when graphics mode begin - how to fix?

Font was not installed. Installed it. Font changed but the corruption remained.

My setup is similar except no 4K, just three 1080p screens and a T400 for encoding/decoding (and running the open source Nvidia driver).

inxi -zaSMCG

System:
Kernel: 5.18.2-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.18.2-1-default
root=UUID=2bf05dec-eccc-4077-a934-7e8106064659 splash=silent
intel_iommu=on amdgpu.dc=0 amdgpu.ppfeaturemask=0xffffffff
vconsole.font=ter-v32b video=1920x1080@60 loglevel=3 quiet
mitigations=auto
Desktop: GNOME v: 42.2 tk: GTK v: 3.24.34 wm: gnome-shell dm: GDM v: 42.0
Distro: openSUSE Tumbleweed 20220609
Machine:
Type: Desktop System: Hewlett-Packard product: HP Z440 Workstation v: N/A
serial: Chassis: type: 6 serial:
Mobo: Hewlett-Packard model: 212B v: 1.01 serial: N/A
UEFI: Hewlett-Packard v: M60 v02.58 date: 12/07/2021
CPU:
Info: model: Intel Xeon E5-2690 v3 socket: LGA2011-3 bits: 64 type: MT MCP
arch: Haswell family: 6 model-id: 0x3F (63) stepping: 2 microcode: 0x49
Topology: cpus: 1x cores: 12 tpc: 2 threads: 24 smt: enabled cache:
L1: 768 KiB desc: d-12x32 KiB; i-12x32 KiB L2: 3 MiB desc: 12x256 KiB
L3: 30 MiB desc: 1x30 MiB
Speed (MHz): avg: 1366 high: 1890 min/max: 1200/3500
base/boost: 2600/4000 scaling: driver: intel_cpufreq governor: schedutil
volts: 1.6 V ext-clock: 100 MHz cores: 1: 1732 2: 1836 3: 1198 4: 1198
5: 1198 6: 1197 7: 1198 8: 1197 9: 1198 10: 1197 11: 1851 12: 1197
13: 1766 14: 1611 15: 1198 16: 1198 17: 1746 18: 1198 19: 1198 20: 1198
21: 1890 22: 1198 23: 1198 24: 1198 bogomips: 124504
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
STIBP: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
driver: amdgpu v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8 ports:
active: HDMI-A-2,HDMI-A-3,HDMI-A-4 off: HDMI-A-1 empty: none
bus-ID: 02:00.0 chip-ID: 1002:699f class-ID: 0300
Device-2: NVIDIA TU117GLM [Quadro T400 Mobile] driver: nvidia
v: 515.48.07 alternate: nouveau,nvidia_drm non-free: 515.xx+
status: current (as of 2022-05) arch: Turing pcie: gen: 1 speed: 2.5 GT/s
lanes: 16 link-max: gen: 3 speed: 8 GT/s ports: active: none
empty: DP-1,DP-2,DP-3 bus-ID: 03:00.0 chip-ID: 10de:1fb2 class-ID: 0300
Display: server: X.Org v: 21.1.3 with: Xwayland v: 22.1.2
compositor: gnome-shell driver: X: loaded: amdgpu,nvidia
unloaded: fbdev,modesetting,vesa alternate: nouveau,nv gpu: amdgpu
display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 96 s-size: 1016x572mm (40.00x22.52")
s-diag: 1166mm (45.9")
Monitor-1: HDMI-A-1 mapped: HDMI-A-0 note: disabled model-id: AGO 0x0001
serial: built: 2013 res: N/A dpi: 87 gamma: 0.97
size: 256x192mm (10.08x7.56") diag: 378mm (14.9") ratio: 4:3, 5:4 modes:
max: 1024x768 min: 720x480
Monitor-2: HDMI-A-2 mapped: HDMI-A-1 pos: top-center model: Sceptre E24
serial: built: 2019 res: 1920x1080 dpi: 94 gamma: 1.2
size: 521x293mm (20.51x11.54") diag: 604mm (23.8") ratio: 16:9 modes:
max: 1920x1080 min: 720x400
Monitor-3: HDMI-A-3 mapped: HDMI-A-2 pos: primary,top-left
model: Sceptre E24 serial: built: 2018 res: 1920x1080 dpi: 94
gamma: 1.2 size: 521x293mm (20.51x11.54") diag: 604mm (23.8") ratio: 16:9
modes: max: 1920x1080 min: 720x400
Monitor-4: HDMI-A-4 mapped: HDMI-A-3 pos: primary,bottom-r
model: Sceptre E24 serial: built: 2020 res: 1920x1080 hz: 60
dpi: 94 gamma: 1.2 size: 521x293mm (20.51x11.54") diag: 604mm (23.8")
ratio: 16:9 modes: max: 1920x1080 min: 720x400
OpenGL: renderer: AMD Radeon RX 550 / 550 Series (polaris12 LLVM 14.0.4
DRM 3.46 5.18.2-1-default)
v: 4.6 Mesa 22.1.1 direct render: Yes

switcherooctl -g 1 inxi -zaSMCG


OpenGL: renderer: NVIDIA T400/PCIe/SSE2 v: 4.6.0 NVIDIA 515.48.07
direct render: Yes

Maybe I need to try out nvidia driver next. Start to be out of options.

It looks like the problems is from your high resolution monitor.
This is probably an EDID problem.

Can you post the output if you run in this terminal :

xrandr --props

If this isn’t yet solved, I suggest to uninstall plymouth, to confirm whether any boot actually occurred in which plymouth was in fact disabled but had no effect.

Note that I have several PCs with pre-Ryzen AMD graphics. I have at times noted on some, unexpected raster output very briefly, some of which may have (and probably did) happened sometime in between boot initialization, and login manager appearance. I just never have been bothered by it enough to investigate or report, and neither do I have any 4k screens.

I had the same problem and solved it by adding

plymouth.nolog

to my kernel command line.
However, YMMV, as I also had the problem that plymouth kept spitting millions of log lines at boot, some of which weren’t even displayed because

[Couldn't write a log entry: text too long]

.

I allege that plymouth is broken for TW currently.

xrandr --props 
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384 
HDMI-A-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 698mm x 393mm 
        EDID:  
                00ffffffffffff0005e377326b030000 
                1d1c0103804627782a5905af4f42af27 
                0e5054bd4b00d1c081808140950f9500 
                b30081c001014dd000a0f0703e803020 
                3500ba892100001aa36600a0f0701f80 
                30203500ba892100001a000000fc0055 
                3332373757420a2020202020000000fd 
                0017501ea03c000a2020202020200172 
                020333f14c9004031f1301125d5e5f60 
                6123090707830100006d030c00100038 
                7820006001020367d85dc401788003e3 
                0f000c011d007251d01e206e285500ba 
                892100001e8c0ad08a20e02d10103e96 
                00ba89210000184d6c80a070703e8030 
                203a00ba892100001a04740030f2705a 
                80b0588a00ba892100001a000000009e 
        TearFree: auto  
                supported: off, on, auto 
        dither: off  
                supported: off, on 
        audio: auto  
                supported: off, on, auto 
        scaling mode: None  
                supported: None, Full, Center, Full aspect 
        underscan vborder: 0  
                range: (0, 128) 
        underscan hborder: 0  
                range: (0, 128) 
        underscan: off  
                supported: off, on, auto 
        coherent: 1  
                range: (0, 1) 
        link-status: Good  
                supported: Good, Bad 
        CONNECTOR_ID: 50  
                supported: 50 
        non-desktop: 0  
                range: (0, 1) 
   3840x2160     30.00*   30.00    25.00    24.00    29.97    23.98    29.98   
   1920x2160     59.99   
   1920x1080     60.00    60.00    50.00    59.94   
   1680x1050     59.88   
   1280x1024     75.02    60.02   
   1440x900      74.98    59.90   
   1280x960      60.00   
   1280x720      60.00    50.00    59.94   
   1024x768      75.03    60.00   
   800x600       75.00    60.32   
   720x576       50.00   
   720x480       60.00    59.94   
   640x480       75.00    72.81    66.67    60.00    59.94   
   720x400       70.08   
DVI-D-0 disconnected (normal left inverted right x axis y axis) 
        TearFree: auto  
                supported: off, on, auto 
        dither: off  
                supported: off, on 
        audio: auto  
                supported: off, on, auto 
        scaling mode: None  
                supported: None, Full, Center, Full aspect 
        underscan vborder: 0  
                range: (0, 128) 
        underscan hborder: 0  
                range: (0, 128) 
        underscan: off  
                supported: off, on, auto 
        coherent: 1  
                range: (0, 1) 
        link-status: Good  
                supported: Good, Bad 
        CONNECTOR_ID: 52  
                supported: 52 
        non-desktop: 0  
                range: (0, 1)

Not sure what to make out of this.

Are all these installed?

  • kernel-firmware-amdgpu
  • kernel-firmware-radeon
  • libdrm_amdgpu1
  • libdrm_radeon1
  • ucode-amd
  • xf86-video-amdgpu
  • xf86-video-ati
    *]xf86-video-radeon

Yes, except xf86-video-radeon. Zypper cannot find it from repos either.

Additionally other radeon related packages:

  • libvdpau_radeonsi

  • libvulkan_radeon

Radeon is an oddball. That rpm doesn’t exist. Most xf86-video-* packages provide one driver. The radeon driver instead is provided by xf86-video-ati, which also provides r128 and mach64 ATI drivers, while the ati “driver” itself is not an actual driver, but instead an Xorg driver chooser for old ATI GPUs.

Tried this but made no difference. Text is corrupted the same way.

Any idea if this is good or not?

At least one point I realized. Update rate is 30Hz but according to specs it supports 60Hz at 3840x2160 resolution. This is not available due to EDID info. Not sure if this has anything to do with the problem though.

Have you tried booting with none of the highlighted options above?

nomode set

constitutes two non-options, while```
nomodeset

terminal=console

is not found on https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt, so AFAICT, is another non-option.

Once you've completed booting and logging into Plasma, does Ctrl-Alt-F3 produce a screen containing any corruption? Does a subsequent Alt-F7 to return to Plasma produce any corruption?

Quite a bit of difference from 4 of mine, none of which are 3840x2160, nor do I know what if anything might be relevant to your issue.

HDMI-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
	HDCP Content Type: HDCP Type0 
		supported: HDCP Type0, HDCP Type1
	Content Protection: Undesired 
		supported: Undesired, Desired, Enabled
	max bpc: 12 
		range: (8, 12)
	content type: No Data 
		supported: No Data, Graphics, Photo, Cinema, Game
	Colorspace: Default 
		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
	aspect ratio: Automatic 
		supported: Automatic, 4:3, 16:9
	Broadcast RGB: Automatic 
		supported: Automatic, Full, Limited 16:235
	audio: auto 
		supported: force-dvi, off, auto, on
	link-status: Good 
		supported: Good, Bad
	CONNECTOR_ID: 185 
		supported: 185
	non-desktop: 0 
		range: (0, 1)
   1920x1200     59.95*+
HDMI-2 connected 1920x1080+0+1200 (normal left inverted right x axis y axis) 160mm x 90mm
	HDCP Content Type: HDCP Type0 
		supported: HDCP Type0, HDCP Type1
	Content Protection: Undesired 
		supported: Undesired, Desired, Enabled
	max bpc: 12 
		range: (8, 12)
	content type: No Data 
		supported: No Data, Graphics, Photo, Cinema, Game
	Colorspace: Default 
		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
	aspect ratio: Automatic 
		supported: Automatic, 4:3, 16:9
	Broadcast RGB: Automatic 
		supported: Automatic, Full, Limited 16:235
	audio: auto 
		supported: force-dvi, off, auto, on
	link-status: Good 
		supported: Good, Bad
	CONNECTOR_ID: 195 
		supported: 195
	non-desktop: 0 
		range: (0, 1)
   1920x1080     60.00*+  59.94    30.00    24.00    29.97    23.98  
DP-1 connected primary 2560x1440+0+2280 (normal left inverted right x axis y axis) 598mm x 336mm
	HDCP Content Type: HDCP Type0 
		supported: HDCP Type0, HDCP Type1
	Content Protection: Undesired 
		supported: Undesired, Desired, Enabled
	vrr_capable: 1 
		range: (0, 1)
	Colorspace: Default 
		supported: Default, RGB_Wide_Gamut_Fixed_Point, RGB_Wide_Gamut_Floating_Point, opRGB, DCI-P3_RGB_D65, BT2020_RGB, BT601_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, BT2020_CYCC, BT2020_YCC
	max bpc: 12 
		range: (6, 12)
	Broadcast RGB: Automatic 
		supported: Automatic, Full, Limited 16:235
	audio: auto 
		supported: force-dvi, off, auto, on
	subconnector: Native 
		supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
	link-status: Good 
		supported: Good, Bad
	CONNECTOR_ID: 199 
		supported: 199
	non-desktop: 0 
		range: (0, 1)
   2560x1440     59.95*+  74.92
DP-1 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
        subconnector: Native
                supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
        dither: off
                supported: off, on
        audio: auto
                supported: off, on, auto
        scaling mode: None
                supported: None, Full, Center, Full aspect
        underscan vborder: 0
                range: (0, 128)
        underscan hborder: 0
                range: (0, 128)
        underscan: off
                supported: off, on, auto
        coherent: 1
                range: (0, 1)
        link-status: Good
                supported: Good, Bad
        CONNECTOR_ID: 50
                supported: 50
        non-desktop: 0
                range: (0, 1)
   1680x1050     59.97*+  74.89    59.95    59.88

As evident from looking, I left out the EDID blocks, and the non-native modes. The first 3 are from 1 PC with Intel graphics, the other from a PC with AMD graphics.

What is the native resolution of your monitor that you are using?
You may need perhaps to install the read-edid and edid-decode package to get the right edid.
Search the package in the hardware repositories if you find it add the repo and install it.
There are some howtos in the internet on how to use it.

When you have a problem running it, I think run it as root if it complain regarding i2c
do modrobe i2c-dev and run get-edid.

Follow up to my post above for some clarification:
In my desktop read-edid doesn’t work if I don’t

modprobe i2c-dev

or maybe it is
how it work.

To use the read-edid utility maybe you can refer to

man get-edid

and

man parse-edid

to give you an idea.
For edid-decode

man edid-decode

Example: of using it:
get-edid | parse-edid > /maybe/your_home/edid.bin
This will save a file of the edid in your /maybe/your_home/edid.bin in readable form.

get-edid |edid-decode > /maybe/your_home/edid2.bin will be saved in your /maybe/your_home/edid.bin

You can probably post the outcome here in the forum and someone who is expert in custom edid
configuration can help you out.

A bit more news to the problem.

I was in contact with AOC to get updated EDID but turned out to be waste of time. Yes, they sent me EDID but this was older than what I already had and contained exactly the same info. I found from elsewhere that there have been issues with YcBR mode and forcing EDID to RGB has solved some issues. I modified the EDID according to instructions but there’s a problem in loading it at boot phase. Everything should be OK but yet it fails to find the file (err -2).

Due to a need for 2nd UHD display I bought a new one and connected that instead. Still have an issue with 30Hz update rate but i need to tweak more.

Boot issue remains but now the monitor provided maybe crucial information. The resolution where the corruption exists is actually 1920x2160 - not 3840x2160. Dunno from where this comes from but clearly this is not valid resolution.

Correction: resolution is valid as such but according to xrandr --prop the update rate for 1920x2160 resolution should be 60 but it is 30. So this is mismatching at least.

Tried making 3840x2160@60 mode but that led to black screen. Pixel clock is higher than what DTD allows (594MHz vs 712MHz):

cvt 3840 2160 
# 3840x2160 59.98 Hz (CVT 8.29M9) hsync: 134.18 kHz; pclk: 712.75 MHz 
Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

Are you still using 5.18.9-1 or older kernel? 5.18.9-2 changes how graphics during boot are handled, so maybe this is now fixed. Be sure to try without any graphics options or non-essential optons on Grub’s linu line, with and without plymouth=0 if plymouth remains installed.

Problem finally solved. I suspected HDMI being the issue and that was it. Dunno why but that was the issue. Bought a new card (same RX550 chip) and connected via DisplayPort. No more corruption at boot texts and 60Hz update rate at 3840x2160 resolution.

Apparently there’s some issues in Radeon’s drivers related to HDMI. Both displays supported 3840x2160@60 via HDMI but neither worked at 60Hz but 30Hz at max.

Anyway, thanks to everyone whom tried to sort this problem out.

New issue arrived. Not a major but annoying.

Roughly 3cm of the right hand screen is a bit corrupted. All vertical lines are flickering (kinda like swapping odd and even lines all the time). At 30Hz there’s no issue but at 60Hz there’s this issue.