You are not logged in.
I have a Framework Laptop 16 with no graphics card extension, meaning it uses the on-chip graphics:
$ lspci | grep VGA
c1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev c2)
$ lscpu |grep Model\ name
Model name: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
Whenever I upgrade to a kernel version higher than 6.11.2 (I tested up to 6.11.5), my screen will not update unless I am moving the mouse. The problem is already visible when in the login screen (I am using X with lightdm as a login manager). I can type in the first character of my password and then it will freeze. I can continue typing and it will register the inputs, but the screen stays frozen until I move my mouse.
The problem persists after logging in. I usually don't use any compositor, but when I start one such as picom, the problem will go away. I don't want to be forced to use a compositor though.
Downgrading the kernel back to 6.11.2 resolves the problem again.
I am not sure what logfiles would be helpful to post here.
Offline
How close are you to https://bbs.archlinux.org/viewtopic.php?id=300233 wrt WM and colported solution workaround?
Offline
That topic seems to be exactly the same as the one I have (I just wasn't able to find the post again). That's also where I had the picom workaround from.
I don't see anything related to colported on that post though. Can you specify what you mean here?
Otherwise I can close this topic and just attach myself onto the other one.
Offline
Ah, I stopped reading before
but when I start one such as picom, the problem will go away
That's the workaround colported on that thread, it just doesn't make a whole lot of sense.
This is connected to the kernel. It was introduced in 6.11.3-arch1-1 and is still present in 6.11.4-arch1-1. 6.11.2-arch1-1 works fine, though.
commit e06b1962bc1b7bc1f8829efc3e5fd82021963ce2
Author: Tom Chung
Date: Wed Jul 3 16:47:57 2024 +0800
drm/amd/display: Fix VRR cannot enable
[ Upstream commit f91a9af09dea850d83d4b217b8acbafd97b5c61f ]
[Why]
Sometimes the VRR cannot enable after login to the desktop.
User space may call the DRM_IOCTL_MODE_GETCONNECTOR right after
the DRM_IOCTL_MODE_RMFB.
After calling DRM_IOCTL_MODE_RMFB to remove all the frame buffer
and it will cause the driver to disable the crtc and disable the
link while calling the link_set_dpms_off().
It will cause the dpcd read failed in amdgpu_dm_update_freesync_caps()
while try to get the DP_MSA_TIMING_PAR_IGNORED capability and think
the sink side does not support VRR.
[How]
Use the dpcd_caps.allow_invalid_MSA_timing_param flag instead of
reading from dpcd directly.
dpcd_caps.allow_invalid_MSA_timing_param flag is updated during HPD.
It is safe to replace the original method.
◉ grep -C1 picom /usr/share/drirc.d/00-mesa-defaults.conf
</application>
<application name="picom" executable="picom">
<option name="adaptive_sync" value="false" />
Try to globally "export adaptive_sync=false" and/ro disable VRR w/ xrandr or xorg.conf.d/some.conf, https://wiki.archlinux.org/title/Variab … figuration
Offline
I tried exporting adaptive_sync=false or setting it to false in an xorg.conf-drop-in-file. This did not change the situation.
This pointed me in the right direction though... while reading the wiki-pages for xorg and amdgpus, I stumbled onto the "tear free"-option. This is set to "auto" by default.
Executing
xrandr --output eDP --set TearFree on
or creating a drop-in-config for Xorg, doing the same thing on boot, makes the display behave normally again.
cat /etc/X11/xorg.conf.d/20-amdgpu.conf
Section "OutputClass"
Identifier "AMD"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
Offline
\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Edit: this doesn't do much other than the compositor, though
Last edited by seth (2024-11-01 12:48:42)
Offline
This does not solve my issue. When I try executing the xrandr command (switching out "eDP" with "eDP-1" in my setup), I get the following error:
$ xrandr --output eDP-1 --set TearFree on
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 46
Current serial number in output stream: 46
EDIT: I don't think I am using the amdgpu driver though. At least I don't have xf86-video-amdgpu installed, as the wiki recommends installing mesa instead.
Last edited by gitterrost4 (2024-11-15 21:56:25)
Offline
Sorry, confused csmnn for the OP
The setting will only work w/ xf86-video-amdgpu
Wrt
I tried exporting adaptive_sync=false or setting it to false in an xorg.conf-drop-in-file. This did not change the situation.
Make sure to export that somewhere in /etc/profile.d/* as you need it to be picked up by the X11 server to do anything meaningful (and "an xorg.conf-drop-in-file" is categorically wrong, this isn't how you set environment variables)
Offline