Machine: MacBook Pro 16" (M2 Max, 2023)
OS: Fedora 44 Asahi Remix
External monitor: LG 27us550-w
Connection: HDMI
The external display reports3840x2160@60as its preferred mode.
KDE Plasma runs correctly at 3840x2160.
However, in TTY, the monitor OSD will show an warning that say it is rendered at 2560x1440 instead. Text is clipped on the right and bottom edges of the screen.
video=HDMI-A-1:3840x2160@60 has no effect.
video=2560x1440 has no effect
Monitor overscan is disabled (Just Scan).
some debug info:
when i am in kde
journalctl -k | grep -i fbcon
asahi kernel: fbcon: Deferring console take-over
asahi kernel: fbcon: Deferring console take-over
when i switch to tty:
asahi kernel: fbcon: Taking over console
i also captured the difference between /sys/kernel/debug/dri/2/state in KDE vs TTY: (both -u and -y version are pasted here, -y side by side at the bottom)
--- state-kde.txt
+++ state-tty.txt
@@ -1,6 +1,23 @@
plane[35]: plane-0
- crtc=(null)
- fb=0
+ crtc=crtc-0
+ fb=61
+ allocated by = [fbcon]
+ refcount=3
+ format=XR24 little-endian (0x34325258)
+ modifier=0x0
+ size=3456x2160
+ layers:
+ size[0]=3456x2160
+ pitch[0]=13824
+ offset[0]=0
+ obj[0]:
+ name=0
+ refcount=3
+ start=00040000
+ size=29868032
+ imported=no
+ dma_addr=0x0000010ffe000000
+ vaddr=000000002476eb09
crtc-pos=3456x2160+0+0
src-pos=3456.000000x2160.000000+0.000000+0.000000
rotation=1
@@ -22,26 +39,26 @@
color-pipeline=0
plane[48]: plane-2
crtc=crtc-1
- fb=62
- allocated by = kwin_wayland
- refcount=2
- format=AR30 little-endian (0x30335241)
+ fb=61
+ allocated by = [fbcon]
+ refcount=3
+ format=XR24 little-endian (0x34325258)
modifier=0x0
- size=3840x2160
+ size=3456x2160
layers:
- size[0]=3840x2160
- pitch[0]=15360
+ size[0]=3456x2160
+ pitch[0]=13824
offset[0]=0
obj[0]:
name=0
- refcount=2
- start=000456bc
- size=33177600
- imported=yes
- dma_addr=0x0000010ff8000000
- vaddr=0000000000000000
- crtc-pos=3840x2160+0+0
- src-pos=3840.000000x2160.000000+0.000000+0.000000
+ refcount=3
+ start=00040000
+ size=29868032
+ imported=no
+ dma_addr=0x0000010ffe000000
+ vaddr=000000002476eb09
+ crtc-pos=2560x1440+0+0
+ src-pos=2560.000000x1440.000000+0.000000+0.000000
rotation=1
normalized-zpos=0
color-encoding=ITU-R BT.709 YCbCr
@@ -60,18 +77,18 @@
color_mgmt_changed=0
color-pipeline=0
crtc[45]: crtc-0
- enable=0
- active=0
+ enable=1
+ active=1
self_refresh_active=0
planes_changed=1
- mode_changed=1
- active_changed=1
- connectors_changed=1
- color_mgmt_changed=0
- plane_mask=0
- connector_mask=0
- encoder_mask=0
- mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
+ mode_changed=0
+ active_changed=0
+ connectors_changed=0
+ color_mgmt_changed=0
+ plane_mask=1
+ connector_mask=1
+ encoder_mask=1
+ mode: "3456x2160": 120 1042130 3456 3464 3496 3536 2160 2278 2360 2456 0x48 0x0
background_color=ffff000000000000
crtc[58]: crtc-1
enable=1
@@ -85,10 +102,10 @@
plane_mask=4
connector_mask=2
encoder_mask=2
- mode: "3840x2160": 60 594000 3840 4016 4104 4400 2160 2168 2178 2250 0x48 0x0
+ mode: "2560x1440": 60 241500 2560 2608 2640 2720 1440 1443 1448 1481 0x40 0x0
background_color=ffff000000000000
connector[47]: eDP-1
- crtc=(null)
+ crtc=crtc-0
self_refresh_aware=0
interlace_allowed=0
ycbcr_420_allowed=0
plane[35]: plane-0 plane[35]: plane-0
crtc=(null) | crtc=crtc-0
fb=0 | fb=61
> allocated by = [fbcon]
> refcount=3
> format=XR24 little-endian (0x34325258)
> modifier=0x0
> size=3456x2160
> layers:
> size[0]=3456x2160
> pitch[0]=13824
> offset[0]=0
> obj[0]:
> name=0
> refcount=3
> start=00040000
> size=29868032
> imported=no
> dma_addr=0x0000010ffe000000
> vaddr=000000002476eb09
crtc-pos=3456x2160+0+0 crtc-pos=3456x2160+0+0
src-pos=3456.000000x2160.000000+0.000000+0.000000 src-pos=3456.000000x2160.000000+0.000000+0.000000
rotation=1 rotation=1
normalized-zpos=0 normalized-zpos=0
color-encoding=ITU-R BT.709 YCbCr color-encoding=ITU-R BT.709 YCbCr
color-range=YCbCr limited range color-range=YCbCr limited range
color_mgmt_changed=0 color_mgmt_changed=0
color-pipeline=0 color-pipeline=0
plane[40]: plane-1 plane[40]: plane-1
crtc=(null) crtc=(null)
fb=0 fb=0
crtc-pos=0x0+0+0 crtc-pos=0x0+0+0
src-pos=0.000000x0.000000+0.000000+0.000000 src-pos=0.000000x0.000000+0.000000+0.000000
rotation=1 rotation=1
normalized-zpos=1 normalized-zpos=1
color-encoding=ITU-R BT.709 YCbCr color-encoding=ITU-R BT.709 YCbCr
color-range=YCbCr limited range color-range=YCbCr limited range
color_mgmt_changed=0 color_mgmt_changed=0
color-pipeline=0 color-pipeline=0
plane[48]: plane-2 plane[48]: plane-2
crtc=crtc-1 crtc=crtc-1
fb=62 | fb=61
allocated by = kwin_wayland | allocated by = [fbcon]
refcount=2 | refcount=3
format=AR30 little-endian (0x30335241) | format=XR24 little-endian (0x34325258)
modifier=0x0 modifier=0x0
size=3840x2160 | size=3456x2160
layers: layers:
size[0]=3840x2160 | size[0]=3456x2160
pitch[0]=15360 | pitch[0]=13824
offset[0]=0 offset[0]=0
obj[0]: obj[0]:
name=0 name=0
refcount=2 | refcount=3
start=000456bc | start=00040000
size=33177600 | size=29868032
imported=yes | imported=no
dma_addr=0x0000010ff8000000 | dma_addr=0x0000010ffe000000
vaddr=0000000000000000 | vaddr=000000002476eb09
crtc-pos=3840x2160+0+0 | crtc-pos=2560x1440+0+0
src-pos=3840.000000x2160.000000+0.000000+0.000000 | src-pos=2560.000000x1440.000000+0.000000+0.000000
rotation=1 rotation=1
normalized-zpos=0 normalized-zpos=0
color-encoding=ITU-R BT.709 YCbCr color-encoding=ITU-R BT.709 YCbCr
color-range=YCbCr limited range color-range=YCbCr limited range
color_mgmt_changed=0 color_mgmt_changed=0
color-pipeline=0 color-pipeline=0
plane[53]: plane-3 plane[53]: plane-3
crtc=(null) crtc=(null)
fb=0 fb=0
crtc-pos=0x0+0+0 crtc-pos=0x0+0+0
src-pos=0.000000x0.000000+0.000000+0.000000 src-pos=0.000000x0.000000+0.000000+0.000000
rotation=1 rotation=1
normalized-zpos=1 normalized-zpos=1
color-encoding=ITU-R BT.709 YCbCr color-encoding=ITU-R BT.709 YCbCr
color-range=YCbCr limited range color-range=YCbCr limited range
color_mgmt_changed=0 color_mgmt_changed=0
color-pipeline=0 color-pipeline=0
crtc[45]: crtc-0 crtc[45]: crtc-0
enable=0 | enable=1
active=0 | active=1
self_refresh_active=0 self_refresh_active=0
planes_changed=1 planes_changed=1
mode_changed=1 | mode_changed=0
active_changed=1 | active_changed=0
connectors_changed=1 | connectors_changed=0
color_mgmt_changed=0 | color_mgmt_changed=0
plane_mask=0 | plane_mask=1
connector_mask=0 | connector_mask=1
encoder_mask=0 | encoder_mask=1
mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0 | mode: "3456x2160": 120 1042130 3456 3464 3496 3536 21
background_color=ffff000000000000 background_color=ffff000000000000
crtc[58]: crtc-1 crtc[58]: crtc-1
enable=1 enable=1
active=1 active=1
self_refresh_active=0 self_refresh_active=0
planes_changed=1 planes_changed=1
mode_changed=0 mode_changed=0
active_changed=0 active_changed=0
connectors_changed=0 connectors_changed=0
color_mgmt_changed=0 color_mgmt_changed=0
plane_mask=4 plane_mask=4
connector_mask=2 connector_mask=2
encoder_mask=2 encoder_mask=2
mode: "3840x2160": 60 594000 3840 4016 4104 4400 2160 | mode: "2560x1440": 60 241500 2560 2608 2640 2720 1440
background_color=ffff000000000000 background_color=ffff000000000000
connector[47]: eDP-1 connector[47]: eDP-1
crtc=(null) | crtc=crtc-0
self_refresh_aware=0 self_refresh_aware=0
interlace_allowed=0 interlace_allowed=0
ycbcr_420_allowed=0 ycbcr_420_allowed=0
max_requested_bpc=0 max_requested_bpc=0
colorspace=Default colorspace=Default
connector[60]: HDMI-A-1 connector[60]: HDMI-A-1
crtc=crtc-1 crtc=crtc-1
self_refresh_aware=0 self_refresh_aware=0
interlace_allowed=0 interlace_allowed=0
ycbcr_420_allowed=0 ycbcr_420_allowed=0
max_requested_bpc=0 max_requested_bpc=0
colorspace=Default colorspace=Default
broadcast_rgb=Automatic broadcast_rgb=Automatic
is_limited_range=n is_limited_range=n
output_bpc=0 output_bpc=0
output_format=RGB output_format=RGB
tmds_char_rate=0 tmds_char_rate=0
Machine: MacBook Pro 16" (M2 Max, 2023)
OS: Fedora 44 Asahi Remix
External monitor: LG 27us550-w
Connection: HDMI
The external display reports
3840x2160@60as its preferred mode.KDE Plasma runs correctly at
3840x2160.However, in TTY, the monitor OSD will show an warning that say it is rendered at
2560x1440instead. Text is clipped on the right and bottom edges of the screen.video=HDMI-A-1:3840x2160@60has no effect.video=2560x1440has no effectMonitor overscan is disabled (Just Scan).
some debug info:
when i am in kde
when i switch to tty:
i also captured the difference between /sys/kernel/debug/dri/2/state in KDE vs TTY: (both -u and -y version are pasted here, -y side by side at the bottom)