Summary: | Refresh rate changes from 144hz to 60hz sometimes after switching monitor inputs | ||
---|---|---|---|
Product: | [Plasma] KScreen | Reporter: | Rokas Kupstys <rokupstys> |
Component: | common | Assignee: | kscreen-bugs-null <kscreen-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | dodgexander, katyaberezyaka, nate |
Priority: | NOR | ||
Version: | 5.18.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Rokas Kupstys
2020-02-13 07:58:42 UTC
(In reply to Rokas Kupstys from comment #0) > I have two monitors: 1440p 144hz with freesync and 1080p 60hz. 144hz monitor > resets it's refresh rate to 60hz quite often, but this is not 100% > reproducible. I use monitor input switching a lot (/dev/i2c-*, ddcutil). > This makes me think that merely switching monitor input source is enough to > trigger this issue, as switching back to input driven by linux would > sometimes initialize it at 60hz and not 144hz. > > Important detail: Default supported freesync range is 35-90hz on this > screen. I use modded edid firmware to change this range to 57-144hz. This > works perfectly fine. > > It would be great if monitor could keep refresh rate configured in display > settings instead of sometimes switching to lower one for some reason. > > SOFTWARE/OS VERSIONS > Linux/KDE Plasma: Archlinux > KDE Plasma Version: 5.18.0 > KDE Frameworks Version: 5.67.0 > Qt Version: 5.14.1 > Kernel: 5.5.3 > Driver: amdgpu > GPU: RX580 > Screen: Asus MG279 with freesync enabled > > ~ % cat /etc/X11/xorg.conf.d/20-amdgpu.conf > Section "Device" > Identifier "AMD" > Driver "amdgpu" > Option "TearFree" "true" > Option "VariableRefresh" "true" > EndSection > > xrandr output: > Screen 0: minimum 320 x 200, current 4480 x 1440, maximum 16384 x 16384 > DisplayPort-0 disconnected (normal left inverted right x axis y axis) > DisplayPort-1 connected primary 2560x1440+0+0 (normal left inverted right x > axis y axis) 597mm x 336mm > 2560x1440 59.95 + 143.86* 119.88 89.91 > 1920x1200 59.95 > 1920x1080 143.85 99.92 119.98 89.90 60.00 60.00 50.00 > 59.94 > 1600x1200 59.95 > 1680x1050 59.95 > 1600x900 89.91 60.00 > 1280x1024 75.02 > 1440x900 59.95 > 1280x800 59.95 > 1152x864 75.00 > 1280x720 89.96 60.00 50.00 59.94 > 1440x576 50.00 > 1024x768 75.03 70.07 60.00 > 1440x480 60.00 59.94 > 832x624 74.55 > 800x600 72.19 75.00 60.32 56.25 > 720x576 50.00 > 640x480 75.00 66.67 60.00 59.94 > 720x400 70.08 > HDMI-A-0 disconnected (normal left inverted right x axis y axis) > HDMI-A-1 disconnected (normal left inverted right x axis y axis) > DVI-D-0 connected 1920x1080+2560+0 (normal left inverted right x axis y > axis) 510mm x 290mm > 1920x1080 60.00*+ > 1680x1050 59.88 > 1280x1024 75.02 60.02 > 1440x900 60.00 > 1280x960 60.00 > 1280x800 60.00 > 1152x864 75.00 > 1280x720 60.00 > 1024x768 75.03 60.00 > 832x624 74.55 > 800x600 75.00 60.32 56.25 > 640x480 75.00 59.94 > 720x400 70.08 > > ~ % qdbus org.kde.KWin /KWin supportInformation > KWin Support Information: > The following information should be used when requesting support on e.g. > https://forum.kde.org. > It provides information about the currently running instance, which options > are used, > what OpenGL driver and which effects are running. > Please post the information provided underneath this introductory text to a > paste bin service > like https://paste.kde.org instead of pasting into support threads. > > ========================== > > Version > ======= > KWin version: 5.18.0 > Qt Version: 5.14.1 > Qt compile version: 5.14.1 > XCB compile version: 1.13.1 > > Operation Mode: X11 only > > Build Options > ============= > KWIN_BUILD_DECORATIONS: yes > KWIN_BUILD_TABBOX: yes > KWIN_BUILD_ACTIVITIES: yes > HAVE_DRM: yes > HAVE_GBM: yes > HAVE_EGL_STREAMS: yes > HAVE_X11_XCB: yes > HAVE_EPOXY_GLX: yes > HAVE_WAYLAND_EGL: yes > > X11 > === > Vendor: The X.Org Foundation > Vendor Release: 12007000 > Protocol Version/Revision: 11/0 > SHAPE: yes; Version: 0x11 > RANDR: yes; Version: 0x14 > DAMAGE: yes; Version: 0x11 > Composite: yes; Version: 0x4 > RENDER: yes; Version: 0xb > XFIXES: yes; Version: 0x50 > SYNC: yes; Version: 0x31 > GLX: yes; Version: 0x0 > > Decoration > ========== > Plugin: org.kde.breeze > Theme: > Plugin recommends border size: None > Blur: 0 > onAllDesktopsAvailable: false > alphaChannelSupported: true > closeOnDoubleClickOnMenu: false > decorationButtonsLeft: 5, 4, 3, 6, 0 > decorationButtonsRight: > borderSize: 0 > gridUnit: 10 > font: Noto Sans,10,-1,5,50,0,0,0,0,0 > smallSpacing: 2 > largeSpacing: 10 > > Platform > ========== > Name: KWin::X11StandalonePlatform > > Options > ======= > focusPolicy: 0 > nextFocusPrefersMouse: false > clickRaise: true > autoRaise: false > autoRaiseInterval: 0 > delayFocusInterval: 0 > shadeHover: false > shadeHoverInterval: 250 > separateScreenFocus: true > placement: 4 > focusPolicyIsReasonable: true > borderSnapZone: 0 > windowSnapZone: 0 > centerSnapZone: 0 > snapOnlyWhenOverlapping: false > rollOverDesktops: true > focusStealingPreventionLevel: 1 > operationTitlebarDblClick: 5000 > operationMaxButtonLeftClick: 5000 > operationMaxButtonMiddleClick: 5015 > operationMaxButtonRightClick: 5014 > commandActiveTitlebar1: 0 > commandActiveTitlebar2: 28 > commandActiveTitlebar3: 2 > commandInactiveTitlebar1: 4 > commandInactiveTitlebar2: 28 > commandInactiveTitlebar3: 2 > commandWindow1: 7 > commandWindow2: 8 > commandWindow3: 8 > commandWindowWheel: 28 > commandAll1: 10 > commandAll2: 3 > commandAll3: 14 > keyCmdAllModKey: 16777250 > showGeometryTip: false > condensedTitle: false > electricBorderMaximize: true > electricBorderTiling: true > electricBorderCornerRatio: 0.25 > borderlessMaximizedWindows: false > killPingTimeout: 5000 > hideUtilityWindowsForInactive: true > compositingMode: 1 > useCompositing: true > hiddenPreviews: 1 > glSmoothScale: 0 > xrenderSmoothScale: false > maxFpsInterval: 6944444 > refreshRate: 144 > vBlankTime: 6000000 > glStrictBinding: true > glStrictBindingFollowsDriver: true > glCoreProfile: true > glPreferBufferSwap: 101 > glPlatformInterface: 1 > windowsBlockCompositing: false > > Screen Edges > ============ > desktopSwitching: false > desktopSwitchingMovingClients: false > cursorPushBackDistance: 1x1 > timeThreshold: 150 > reActivateThreshold: 350 > actionTopLeft: 0 > actionTop: 0 > actionTopRight: 0 > actionRight: 0 > actionBottomRight: 0 > actionBottom: 0 > actionBottomLeft: 0 > actionLeft: 0 > > Screens > ======= > Multi-Head: no > Active screen follows mouse: yes > Number of Screens: 2 > > Screen 0: > --------- > Name: DisplayPort-1 > Geometry: 0,0,2560x1440 > Scale: 1 > Refresh Rate: 143.855 > > Screen 1: > --------- > Name: DVI-D-0 > Geometry: 2560,0,1920x1080 > Scale: 1 > Refresh Rate: 60 > > > Compositing > =========== > Compositing is active > Compositing Type: OpenGL > OpenGL vendor string: X.Org > OpenGL renderer string: Radeon RX 580 Series (POLARIS10, DRM 3.36.0, > 5.5.3-arch1-1, LLVM 9.0.1) > OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.3 > OpenGL platform interface: GLX > OpenGL shading language version string: 4.50 > Driver: RadeonSI > GPU class: Arctic Islands > OpenGL version: 4.5 > GLSL version: 4.50 > Mesa version: 19.3.3 > X server version: 1.20.7 > Linux kernel version: 5.5.3 > Direct rendering: Requires strict binding: yes > GLSL shaders: yes > Texture NPOT support: yes > Virtual Machine: no > OpenGL 2 Shaders are used > Painting blocks for vertical retrace: no > > Loaded Effects: > --------------- > kwin4_effect_maximize > zoom > kwin4_effect_fadedesktop > kwin4_effect_frozenapp > kwin4_effect_morphingpopups > kwin4_effect_fadingpopups > kwin4_effect_fade > kwin4_effect_sessionquit > kwin4_effect_translucency > kwin4_effect_logout > kwin4_effect_dimscreen > kwin4_effect_eyeonscreen > kwin4_effect_dialogparent > kwin4_effect_login > slidingpopups > screenshot > magiclamp > flipswitch > desktopgrid > coverswitch > colorpicker > presentwindows > highlightwindow > blur > contrast > startupfeedback > screenedge > kscreen > > Currently Active Effects: > ------------------------- > blur > contrast > > Effect Settings: > ---------------- > kwin4_effect_maximize: > isActiveFullScreenEffect: false > > zoom: > zoomFactor: 1.2 > mousePointer: 0 > mouseTracking: 0 > enableFocusTracking: false > followFocus: true > focusDelay: 350 > moveFactor: 20 > targetZoom: 1 > > kwin4_effect_fadedesktop: > isActiveFullScreenEffect: false > > kwin4_effect_frozenapp: > isActiveFullScreenEffect: false > > kwin4_effect_morphingpopups: > isActiveFullScreenEffect: false > > kwin4_effect_fadingpopups: > isActiveFullScreenEffect: false > > kwin4_effect_fade: > isActiveFullScreenEffect: false > > kwin4_effect_sessionquit: > isActiveFullScreenEffect: false > > kwin4_effect_translucency: > isActiveFullScreenEffect: false > > kwin4_effect_logout: > isActiveFullScreenEffect: false > > kwin4_effect_dimscreen: > isActiveFullScreenEffect: false > > kwin4_effect_eyeonscreen: > isActiveFullScreenEffect: false > > kwin4_effect_dialogparent: > isActiveFullScreenEffect: false > > kwin4_effect_login: > isActiveFullScreenEffect: false > > slidingpopups: > slideInDuration: 150 > slideOutDuration: 250 > > screenshot: > > magiclamp: > > flipswitch: > tabBox: false > tabBoxAlternative: false > duration: 200 > angle: 30 > xPosition: 0.33000001311302185 > yPosition: 1 > windowTitle: true > > desktopgrid: > zoomDuration: 300 > border: 10 > desktopNameAlignment: 0 > layoutMode: 0 > customLayoutRows: 2 > usePresentWindows: true > > coverswitch: > animationDuration: 200 > animateSwitch: true > animateStart: true > animateStop: true > reflection: true > windowTitle: true > zPosition: 900 > primaryTabBox: false > secondaryTabBox: false > > colorpicker: > > presentwindows: > layoutMode: 2 > showCaptions: true > showIcons: true > doNotCloseWindows: false > ignoreMinimized: false > accuracy: 20 > fillGaps: true > fadeDuration: 150 > showPanel: false > leftButtonWindow: 1 > rightButtonWindow: 2 > middleButtonWindow: 0 > leftButtonDesktop: 2 > middleButtonDesktop: 0 > rightButtonDesktop: 0 > > highlightwindow: > > blur: > > contrast: > > startupfeedback: > type: 1 > > screenedge: > > kscreen: Rokas, If you change monitor layout with Meta+P shortcut does your ext 144hz monitor also switch back to 60hz? I think I have the same problem here on an Nvidia graphics card with an external 144hz gsync display, and its clear that Kwin is overriding anything set in my Xorg.conf. The expected behavior would be for Kwin to remember the last refresh rate of a display, rather than each time revert to the default refresh rate. In your Xorg, you can see the default refresh rate is marked with a +, whilst current is *. Currently any change by Kwin resorts to default, rather than last used. Alternatively, it would be great to get Kwin to set the refresh rate to the preferred mode as set in Xorg.conf. If anyone has the knowledge, a dirty fix for this problem would being able to configure the default refresh rate reported by the monitor, since you could set that to your desired refresh rate to replace the incorrect default. For the record I created a thread on the support forum and reddit with the issue: https://forum.kde.org/viewtopic.php?f=66&t=171318 https://www.reddit.com/r/kde/comments/n9zvo1/meta_p_shortcut_defaulting_my_ext_monitor_to_60hz/ Setting the refresh rate using Xrandr manually works fine. Viewing Xrandr logs each time Meta+P is used, instead of reading the prefered mode set in Xorg.conf, Kwin forces default refresh rate mode. In Xrandr log this shows as 'Auto Mode' rather than the desired 'preferred mode'. Hopefully someone with some knowhow sees this bug. Thanks for reporting it. Thank you for the bug report. Unfortunately we were not able to get to it yet. Can we ask you to please check if this is still an issue with Plasma 5.25 or 5.26? If it is, please add a comment with the output of `kscreen-doctor -o` and change the status to CONFIRMED. If not, or if you can't because you no longer use this setup, you can change the status to RESOLVED WORKSFORME. Thanks a lot! Thank you for getting back to me! This is still a proble Plasma: 5.26.2 KDE Frameworks: 5.99.0 Qt: 5.15.7 Platform: x11 After reboot i can set refresh rate to 144hz: ~ % kscreen-doctor -o Output: 84 DisplayPort-0 disabled disconnected DisplayPort Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 85 DisplayPort-1 enabled connected primary DisplayPort Modes: 90:2560x1440@144*! 91:2560x1440@120 92:2560x1440@60 93:1920x1200@144 94:1920x1080@60 95:1920x1080@60 96:1920x1080@50 97:1920x1080@60 98:1600x1200@144 99:1680x1050@144 100:1280x1024@75 101:1280x1024@60 102:1440x900@60 103:1280x800@144 104:1152x864@75 105:1280x720@60 106:1280x720@50 107:1280x720@60 108:1440x576@50 109:1024x768@75 110:1024x768@70 111:1024x768@60 112:1440x480@60 113:1440x480@60 114:832x624@75 115:800x600@72 116:800x600@75 117:800x600@60 118:800x600@56 119:720x576@50 120:640x480@75 121:640x480@67 122:640x480@60 123:640x480@60 124:720x400@70 Geometry: 0,0 2560x1440 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown primary Output: 86 HDMI-A-0 disabled disconnected HDMI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 87 HDMI-A-1 disabled disconnected HDMI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 88 DVI-D-0 enabled connected DVI Modes: 95:1920x1080@60*! 100:1280x1024@75 101:1280x1024@60 104:1152x864@75 109:1024x768@75 111:1024x768@60 114:832x624@75 116:800x600@75 117:800x600@60 118:800x600@56 120:640x480@75 123:640x480@60 124:720x400@70 125:1680x1050@60 126:1440x900@60 127:1280x960@60 128:1280x800@60 129:1280x720@60 Geometry: 2560,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Sometimes it gets permanently stuck at 60hz, display configuration does not allow changing refresh rate. I could reproduce this once by disconnecting DP cable from graphics card and plugging it back in. Doing it again somehow does not produce this issue for now. At this time FreeSync is disabled edid is not used. ~ % kscreen-doctor -o Output: 84 DisplayPort-0 disabled disconnected DisplayPort Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 85 DisplayPort-1 enabled connected primary DisplayPort Modes: 92:2560x1440@60*! 94:1920x1080@60 95:1920x1080@60 96:1920x1080@50 97:1920x1080@60 100:1280x1024@75 101:1280x1024@60 102:1440x900@60 104:1152x864@75 105:1280x720@60 106:1280x720@50 107:1280x720@60 108:1440x576@50 109:1024x768@75 110:1024x768@70 111:1024x768@60 112:1440x480@60 113:1440x480@60 114:832x624@75 115:800x600@72 116:800x600@75 117:800x600@60 118:800x600@56 119:720x576@50 120:640x480@75 121:640x480@67 122:640x480@60 123:640x480@60 124:720x400@70 Geometry: 0,0 2560x1440 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown primary Output: 86 HDMI-A-0 disabled disconnected HDMI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 87 HDMI-A-1 disabled disconnected HDMI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 88 DVI-D-0 enabled connected DVI Modes: 95:1920x1080@60*! 100:1280x1024@75 101:1280x1024@60 104:1152x864@75 109:1024x768@75 111:1024x768@60 114:832x624@75 116:800x600@75 117:800x600@60 118:800x600@56 120:640x480@75 123:640x480@60 124:720x400@70 125:1680x1050@60 126:1440x900@60 127:1280x960@60 128:1280x800@60 129:1280x720@60 Geometry: 2560,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Thanks, that's helpful. According to that output, when the bug occurs, KScreen doesn't even know that the screens even have a 144hz refresh rate anymore. The data source it uses has started lying to it, and because you're on X11, those sources are thegraphics driver bugs and the kernel. I'd recommend filing a bug for starters at https://gitlab.freedesktop.org/drm/amd/-/issues/. Good luck! |