Bug in graphics.library (UHD resolutions)

A forum for general AmigaOS 4.x support questions that are not platform-specific
User avatar
Raziel
Posts: 1099
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Bug in graphics.library (UHD resolutions)

Post by Raziel »

@devs

Ok, i need help with this one.

I checked with Hans deRuiter and he assured me it's no driver issue.
It seems to be coming from graphics.library, so i ask you kindly to confirm or reject, please.

Take a look here for the full "thread" (since i don't know if one can look the items if not registered, i will do a summarize)
http://www.amiga.org/developer/bugrepor ... php?id=857

Summarize:
I have a UHD capable monitor (LG 43BN70-U) and a UHD capable graphics card (RadeonHD 7950), but HDMI refuses to display the UHD resolution (3840x2160), only 2560x1440 is possible (or at least seen and used by ScreenMode Prefs).

The monitor itself *can* do UHD, this was tested with a lend PC, gfx card was a IntelHD 4000 connected through DisplayPort.

Going on, i have tried DDC and manually adding the screenmodes to no avail.

These are my monitor tooltypes:
CMPLENGTH=21
BOARDNAME=Radeon HD 7900 series
VSYNCMIN=56
VSYNCMAX=61
HSYNCMIN=30000
HSYNCMAX=135000
MODE=640x480@60
MODE=640x512@60
MODE=720x480@60
MODE=800x600@60
MODE=1024x768@60
MODE=1152x864@60
MODE=1280x512@60
MODE=1280x720@60
MODE=1280x800@60
MODE=1280x1024@60
MODE=1600x900@60
MODE=1680x1050@60
MODE=1920x1080@60
MODE=2560x1440@60
MODE=3840x2160@56
MODE=3840x2160@57
MODE=3840x2160@58
MODE=3840x2160@59
MODE=3840x2160@60
MODE=3840x2160@61
MODE=3840x2160@27
MODE=3840x2160@28
MODE=3840x2160@29
MODE=3840x2160@30
DISABLEFAKENATIVE=Yes
INTERRUPT=No
btw, it doesn't matter if i set interrupt to on or off

and this is what i get in serial with the above tooltypes in place
Hidden Text - Click to Show :
graphics.library AltiVec/VMX enabled
graphics.library PA6T optimizations enabled
RadeonHD.card (0): RadeonHD.chip 3.7 (19.11.2019)
RadeonHD (2): Graphics card name is: Radeon HD 7900 Series
RadeonHD (2): Identified the chipset as: TAHITI
RadeonHD (2): If - and only if - your card does not work or does not work optimally
        please submit a bug report at:
        http://www.amiga.org/developer/bugreports
        Remember to include the driver version, and the following card details:
        0x679A:0x174B:0xA003: <name of board>
        and *please* describe the problems you are seeing in detail.
RadeonHD.chip (0): Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
RadeonHD.chip (0): Object: ID: 310C name: HDMI_TYPE_A type: 3 id: C
RadeonHD.chip (0): Object: ID: 3104 name: DUAL_LINK_DVI_D type: 3 id: 4
RadeonHD.chip (0): Object: ID: 3102 name: DUAL_LINK_DVI_I type: 3 id: 2
RadeonHD.chip (0): Object: ID: 3111 name: CROSSFIRE type: 3 id: 11
RadeonHD.chip (0): Object: ID: 3211 name: CROSSFIRE type: 3 id: 11
RadeonHD.chip (0):
RadeonHD.chip (0): --------------------------------------
RadeonHD.chip (0): CONNECTOR TABLE:
RadeonHD.chip (0):
RadeonHD.chip (0): Connector[0] DisplayPort 1:
RadeonHD.chip (0): Type: RHD_CONNECTOR_DP
RadeonHD.chip (0): DDC bus: RHD I2C line 0
RadeonHD.chip (0): HPD: RHD_CONNECTOR_NONE (monitor not connected)
RadeonHD.chip (0): Outputs:
RadeonHD.chip (0): Output AtomOutputUniphyE:
RadeonHD.chip (0): Type: RHD_OUTPUT_UNIPHYE
RadeonHD.chip (0): Device Type: atomDFP1
RadeonHD.chip (0): Device Record: Type: atomDFP1, Connector Type: RHD_CONNECTOR_DP, ConnectorID: 0x13,
EncoderID: 0x21
RadeonHD.chip (0):
RadeonHD.chip (0): Connector[1] HDMI 1:
RadeonHD.chip (0): Type: RHD_CONNECTOR_HDMI_A
RadeonHD.chip (0): DDC bus: RHD I2C line 1
RadeonHD.chip (0): HPD: RHD_HPD_3 (monitor connected)
RadeonHD.chip (0): Outputs:
RadeonHD.chip (0): Output AtomOutputUniphyF:
RadeonHD.chip (0): Type: RHD_OUTPUT_UNIPHYF
RadeonHD.chip (0): Device Type: atomDFP2
RadeonHD.chip (0): Device Record: Type: atomDFP2, Connector Type: RHD_CONNECTOR_HDMI_A, ConnectorID: 0xC,
EncoderID: 0x21
RadeonHD.chip (0):
RadeonHD.chip (0): Connector[2] DVI-D 1:
RadeonHD.chip (0): Type: RHD_CONNECTOR_DVI
RadeonHD.chip (0): DDC bus: RHD I2C line 2
RadeonHD.chip (0): HPD: RHD_HPD_0 (monitor not connected)
RadeonHD.chip (0): Outputs:
RadeonHD.chip (0): Output AtomOutputUniphyC:
RadeonHD.chip (0): Type: RHD_OUTPUT_UNIPHYC
RadeonHD.chip (0): Device Type: atomDFP3
RadeonHD.chip (0): Device Record: Type: atomDFP3, Connector Type: RHD_CONNECTOR_DVI, ConnectorID: 0x4,
EncoderID: 0x20
RadeonHD.chip (0):
RadeonHD.chip (0): Connector[3] DVI-I 2:
RadeonHD.chip (0): Type: RHD_CONNECTOR_DVI
RadeonHD.chip (0): DDC bus: RHD I2C line 5
RadeonHD.chip (0): HPD: RHD_HPD_2 (monitor not connected)
RadeonHD.chip (0): Outputs:
RadeonHD.chip (0): Output AtomOutputUniphyA:
RadeonHD.chip (0): Type: RHD_OUTPUT_UNIPHYA
RadeonHD.chip (0): Device Type: atomDFP4
RadeonHD.chip (0): Device Record: Type: atomDFP4, Connector Type: RHD_CONNECTOR_DVI, ConnectorID: 0x2,
EncoderID: 0x1E
RadeonHD.chip (0): Output AtomOutputDACA:
RadeonHD.chip (0): Type: RHD_OUTPUT_DACA
RadeonHD.chip (0): Device Type: atomCRT1
RadeonHD.chip (0): Device Record: Type: atomCRT1, Connector Type: RHD_CONNECTOR_DVI, ConnectorID: 0x2,
EncoderID: 0x15
RadeonHD.chip (0):
RadeonHD.chip (0): --------------------------------------
RadeonHD.chip (0):
RadeonHD.chip (0): RadeonHD card successfully opened
Couldn't disable DMA engine
gfx PA6T DMA enabled
sb600sata.device 53.22 (28.6.2017)
000: 0040 3FFF C837 0010 0000 0000 003F 0000
008: 0000 0000 5332 314A 4E58 4147 3833 3233
016: 3932 4520 2020 2020 0000 0000 0000 454D
024: 5430 3142 3651 5361 6D73 756E 6720 5353
032: 4420 3835 3020 4556 4F20 3530 3047 4220
040: 2020 2020 2020 2020 2020 2020 2020 8001
048: 4001 2F00 4000 0200 0200 0007 3FFF 0010
056: 003F FC10 00FB 0101 FFFF 0FFF 0000 0007
064: 0003 0078 0078 0078 0078 0F10 0000 0000
072: 0000 0000 0000 001F 850E 00C4 016C 0060
080: 03FC 0039 746B 7D01 4163 7469 BC01 4163
088: 407F 0001 0004 0000 FFFE 0000 0000 0000
096: 0000 0000 0000 0000 6030 3A38 0000 0000
104: 0000 0008 4000 0000 5002 538D 4042 569F
112: 0000 0000 0000 0000 0000 0000 0000 401E
120: 401C 0000 0000 0000 0000 0000 0000 0000
128: 0021 0000 0000 0000 0000 0000 0000 0000
136: 0000 0000 0000 0000 0000 0000 0000 0000
144: 0000 0000 0000 0000 0000 0000 0000 0000
152: 0000 0000 0000 0000 0000 0000 0000 0000
160: 0000 0000 0000 0000 0000 0000 0000 0000
168: 0000 0001 2020 2020 2020 2020 0000 0000
176: 0000 0000 0000 0000 0000 0000 0000 0000
184: 0000 0000 0000 0000 0000 0000 0000 0000
192: 0000 0000 0000 0000 0000 0000 0000 0000
200: 0000 0000 0000 0000 0000 0000 003D 0000
208: 0000 4000 0000 0000 0000 0000 0000 0000
216: 0000 0001 0000 0000 0000 0000 107F 0000
224: 0000 0000 0000 0000 0000 0000 0000 0000
232: 0000 0000 0000 0800 0000 0000 0000 0000
240: 0000 0000 0000 4000 0000 0000 0000 0000
248: 0000 0000 0000 0000 0000 0000 0000 DEA5
000: 0C5A 3FFF C837 0010 0000 0000 003F 0000
008: 0000 0000 2020 2020 2020 2020 2020 2020
016: 5746 4C32 4241 3150 0000 0000 0000 3030
024: 3031 2020 2020 5354 3230 3030 444D 3030
032: 382D 3246 5231 3032 2020 2020 2020 2020
040: 2020 2020 2020 2020 2020 2020 2020 8010
048: 4000 2F00 4000 0200 0200 0007 3FFF 0010
056: 003F FC10 00FB 0110 FFFF 0FFF 0000 0007
064: 0003 0078 0078 0078 0078 0100 0000 0000
072: 0000 0000 0000 001F 870E 0004 00CC 0040
080: 07F0 006D 346B 7569 4163 3469 B449 4163
088: 407F 0066 0066 8080 FFFE 0000 D0D0 0000
096: 0000 0000 0000 0000 88B0 E8E0 0000 0000
104: 0000 0008 6003 0000 5000 C500 C078 ACCE
112: 0000 0000 0000 0000 0000 0000 0000 405E
120: 401C 0000 0000 0000 0000 0000 0000 0000
128: 0021 0000 0000 0000 0000 0000 0000 0000
136: 0000 5000 0000 0000 0000 0000 0000 0000
144: 0000 0000 BDFF 0000 0000 0000 0008 0000
152: BDFF 0827 0000 8000 0000 0184 AD00 8000
160: 0000 0000 0000 0000 0000 0000 0000 0000
168: 0002 0001 0000 0000 0000 0000 0000 0000
176: 0000 0000 0000 0000 0000 0000 0000 0000
184: 0000 0000 0000 0000 0000 0000 0000 0000
192: 0000 0000 0000 0000 0000 0000 0000 0000
200: 0000 0000 0000 0000 0000 0000 30A5 0000
208: 0000 4000 0000 0000 0000 0000 0000 0000
216: 0000 1C20 0000 0000 0000 0000 107F 0000
224: 0000 0000 0000 0000 0000 0000 0000 0000
232: 0000 0000 0000 0000 0000 0000 0000 0000
240: 0000 0000 0000 0000 0000 0000 0000 0000
248: 0000 0000 0000 0000 0000 0000 0000 B7A5
[sb600sata/ata_read_drive_properties] After-reset signature invalid for unit 3
[mediaboot] Diskboot is present. Skip mounting static devices.
Mode 3840x2160x 8@56 is not supported at the given frequency
Mode 3840x2160x16@56 is not supported at the given frequency
Mode 3840x2160x24@56 is not supported at the given frequency
Mode 3840x2160x 8@57 is not supported at the given frequency
Mode 3840x2160x16@57 is not supported at the given frequency
Mode 3840x2160x24@57 is not supported at the given frequency
Mode 3840x2160x 8@58 is not supported at the given frequency
Mode 3840x2160x16@58 is not supported at the given frequency
Mode 3840x2160x24@58 is not supported at the given frequency
Mode 3840x2160x 8@59 is not supported at the given frequency
Mode 3840x2160x16@59 is not supported at the given frequency
Mode 3840x2160x24@59 is not supported at the given frequency
Mode 3840x2160x 8@60 is not supported at the given frequency
Mode 3840x2160x16@60 is not supported at the given frequency
Mode 3840x2160x24@60 is not supported at the given frequency
Mode 3840x2160x 8@61 is not supported at the given frequency
Mode 3840x2160x16@61 is not supported at the given frequency
Mode 3840x2160x24@61 is not supported at the given frequency
Mode 3840x2160x 8@29 63.668kHz out of range
372: HSync Min/Max = 29900/135100, calc = 63668; VSync Min/Max = 55/62, calc = 29
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
Mode 3840x2160x16@29 63.668kHz out of range
372: HSync Min/Max = 29900/135100, calc = 63668; VSync Min/Max = 55/62, calc = 29
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
Mode 3840x2160x24@29 63.668kHz out of range
372: HSync Min/Max = 29900/135100, calc = 63668; VSync Min/Max = 55/62, calc = 29
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
Mode 3840x2160x 8@30 65.896kHz out of range
372: HSync Min/Max = 29900/135100, calc = 65896; VSync Min/Max = 55/62, calc = 30
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
Mode 3840x2160x16@30 65.896kHz out of range
372: HSync Min/Max = 29900/135100, calc = 65896; VSync Min/Max = 55/62, calc = 30
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
Mode 3840x2160x24@30 65.896kHz out of range
372: HSync Min/Max = 29900/135100, calc = 65896; VSync Min/Max = 55/62, calc = 30
Valid ranges are vsync 55 - 62hz, hsync 29900 - 135100hz
and this is the answer of Hans deRuiter:
That's very weird behaviour from the graphics library. The 56-61 Hz modes are being rejected with a vague error that the frequency isn't right, and the 29-30Hz modes are being treated as out of range, because it says that the vsync must be in the range 55-62. Not sure where it got that idea from, since the modes are coming from the EDID data (which is visible in the debug log).

This isn't a driver issue. If you can't get it to work, then submit a bug report to Hyperion.
So, here i am, please help

grpahics.library is 54.248 (23.02.2020)

I can do NDA betatests if no dev got any UHD monitors available :-)
edit: ...or letting a debug library run for more output, if that is not too much to ask?

Thank you
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
Raziel
Posts: 1099
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: Bug in graphics.library (UHD resolutions)

Post by Raziel »

And while we are at it, could someone please lift this limitation in graphics library?

VSYNCMIN below 50hz not supported (using default 56hz)!

Thank you
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1461
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Bug in graphics.library (UHD resolutions)

Post by tonyw »

I think the minimum VSYNC value was created back in the old analogue days when a monitor's scan circuits could indeed overheat and be damaged if scan rates were too low. IIRC it's not graphics that imposes this limit, it's something else at boot time. I'll take a look.

(time passes)

OK, found it, it IS in graphics.lib. What value do you want? 25?
cheers
tony
User avatar
Raziel
Posts: 1099
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: Bug in graphics.library (UHD resolutions)

Post by Raziel »

@tonyw

Oh, nice.

Can I come back to you for that?
I'm not at home and would like to do another test with a DP to HDMI cable from a PC to see what VSYNC values are actually used.

25 sounds about as low as it could or should go (since the monitor seems to use 29/30Hz on the IHD resolution), but maybe some lower values would be even better, maybe 15 or even 14, to really support all kinds of new monitors?

I'll post here once I can confirm the needed values.

Thank you very much
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
nbache
Beta Tester
Beta Tester
Posts: 1643
Joined: Mon Dec 20, 2010 7:25 pm
Location: Copenhagen, Denmark
Contact:

Re: Bug in graphics.library (UHD resolutions)

Post by nbache »

Sounds like it might be worth considering some form of warning about the risks related to old analogue monitors if the value is set below a certain level.

I realise it would be rare that someone actually uses one of those for OS4, but then again - you know those Amigans :-D.

Best regards,

Niels
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1461
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Bug in graphics.library (UHD resolutions)

Post by tonyw »

I don't know how you could warn them and have them take it seriously. Perhaps if gfx.lib raised a requester warning of the danger and the user had to click "I understand" to continue... but then, how do you display such a requester? In a basic 1024x768, before switching to what the user wanted?

Perhaps we could include a warning within the tooltypes?

Anyway, we've changed the hard-coded limit from 50 Hz down to 25 (and corrected the spelling of "Hz" from "hz").
cheers
tony
User avatar
nbache
Beta Tester
Beta Tester
Posts: 1643
Joined: Mon Dec 20, 2010 7:25 pm
Location: Copenhagen, Denmark
Contact:

Re: Bug in graphics.library (UHD resolutions)

Post by nbache »

It could also be a hint in the screenmode edit subwindow, whenever the frequency is set below some value.

Or it could even be a short text displayed in the GUI below the field when relevant.

I know, not everybody is using the hints, and a screenmode can also be created in the tooltypes of the monitor icon. But at least you'd catch the casual goofups.

Best regards,

Niels
User avatar
Raziel
Posts: 1099
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: Bug in graphics.library (UHD resolutions)

Post by Raziel »

tonyw wrote: Thu Jan 13, 2022 11:21 am I don't know how you could warn them and have them take it seriously. Perhaps if gfx.lib raised a requester warning of the danger and the user had to click "I understand" to continue... but then, how do you display such a requester? In a basic 1024x768, before switching to what the user wanted?

Perhaps we could include a warning within the tooltypes?

Anyway, we've changed the hard-coded limit from 50 Hz down to 25 (and corrected the spelling of "Hz" from "hz").
wrt warning
• You could make the color of the set Hz red once it's over or under a certain setting in screenmode prefs.
• You could make the *testing* of those settings mandatory and not skippable and display a warning on the test screen (though that could probably already damage the monitor)
• You could add a second warning when those settings get saved, one for the saving and rebooting part and one for the set Hz.

wrt the changes

First of all, thank you
Second I would like to know if there is any chance I could test it?
Maybe with a time-out after a week or so or a timer that counts the library open state and stops working after 50?

I'd like to see if that already fixes my monitor problems or if I maybe can provide more info and help fixing the issue?
Please

Thank you
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
User avatar
tonyw
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 1461
Joined: Wed Mar 09, 2011 1:36 pm
Location: Sydney, Australia

Re: Bug in graphics.library (UHD resolutions)

Post by tonyw »

WRT warnings: We are discussing what needs to be done for people with old analogue monitors. Thank you for the suggestions.

WRT testing:

I can't build the graphics library on my system, and it's not mine anyway, so I can't let you have a demo version, sorry. It will be released to betatesters in days and I should be able to test the VSync limits then.
cheers
tony
User avatar
Raziel
Posts: 1099
Joined: Sat Jun 18, 2011 4:00 pm
Location: a dying planet

Re: Bug in graphics.library (UHD resolutions)

Post by Raziel »

@tonyw

Ok, thank you anyway.
Maybe one of the betatesters own a uhd screen?
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
Post Reply