FW16 built-in display claims to offer 4096xN resolution in some things

The issue, briefly (I’ll stick more details at the bottom if needed):

Fedora (I don’t recall seeing this in my brief Ubuntu experiment, but I’m definitely not certain) seems to think the built-in display goes up to 4096x2560, but I’m… reasonably sure that isn’t correct?

$ xrandr
Screen 0: minimum 16 x 16, current 4096 x 2560, maximum 32767 x 32767
eDP-1 connected primary 4096x2560+0+0 (normal left inverted right x axis y axis) 340mm x 220mm
   4096x2560    164.98*+
   2048x1536    164.95  
   1920x1440    164.87  
   1600x1200    164.88  
   1440x1080    164.85  
...

AFAICT xrandr even seems to think it’s selected, but the settings application and common sense disagrees:

This is causing many games to offer 4096x[varies] though it doesn’t actually “work”. The behavior in these when selecting it varies a lot and probably isn’t all that useful to detail. Mostly it just does nothing, or some seem to think it did work but now I have 8192x[varies] available.

It’s not a huge issue or anything, but it does seem to imply a problem of some kind. Anything I can do to help figure it out and squash it?


Which Linux distro are you using?

Fedora 41, workstation edition.
It’s ~maximally up to date for the past week, I update every day or two.

Which kernel are you using?

$ uname -r
6.11.8-300.fc41.x86_64

Which BIOS version are you using?

I think this is the info this is looking for?

$ sudo dmidecode
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.6.0 present.
Table at 0x58E72000.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: INSYDE Corp.
	Version: 03.03
	Release Date: 03/27/2024
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 32 MB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 3.3

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)

7840HS, integrated graphics only

That is a result of GNOME 47’s approach to fractional scaling in X11 apps.

(Most) X11 apps (such as xrandr) don’t support scaling by non-integer ratios such as the 1.25x that you have selected.

GNOME 46 addressed this by running X11 apps at 2048x1280p (resolution ÷ 1.25) and then having the OS scale them up by 1.25x to 2560x1600p.

However having the OS scale apps up like that tends to be pretty bad for quality (although the OS scaling down usually gives decent results). Whereas if the app is responsible for scaling itself then the quality is much better.

GNOME 47 however runs X11 apps at a 4096x2560p (resultution × 2 ÷ 1.25) with the app scaling itself by 2x and then the OS applies 0.625x scaling on top of that to overall run at 1.25x scaling (because 2 × 0.625 = 1.25). This achieves much better quality.

Wayland apps (Wayland is the successor of X11) are able to just scale themselves by 1.25x, so this only applies to apps running through XWayland (a compatibility layer for X11 apps running on Wayland systems).

1 Like

Makes sense. And yea, that does seem to produce better results / more consistent across apps (from past Linux fractional scaling excursions), so it seems like one of those “awful elegant hacks” computers are jammed full of :slight_smile:

Thanks! I suppose this thread is at least a semi-discoverable way to find this info now. My google-fu was failing me rather spectacularly.

I suggest using drm_info when using Wayland to get similar information as previously provided by xrandr on X11.