-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could not queue a CRTC sequence: Operation not supported (os error 95) #281
Comments
Do you have modesetting enabled? https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting |
Sorry, added some info, pressed one
yes, |
I currently have modeset, but not |
I don't understand how this could be. EOPNOTSUPP should only be returned in the following two situations: if (!drm_core_check_feature(dev, DRIVER_MODESET))
return -EOPNOTSUPP;
if (!drm_dev_has_vblank(dev))
return -EOPNOTSUPP; where #if !defined(NV_DRM_CRTC_STATE_HAS_NO_VBLANK)
drm_vblank_init(dev, dev->mode_config.num_crtc);
#endif It's possible that the proprietary driver does not call this function or that The ioctl also calls some driver-specific functions but it looks like the open source driver does not set these functions. Is the package you are using the open source driver or the proprietary driver? Support for this ioctl is unfortunately a hard requirement. Applications freezing is expected if it doesn't work. |
So, @cubanismo is this something you want to support? There is no way to detect this lack of support from userspace AFAICT and nouveau does call Otherwise how is userspace to supposed to know about vblank times on your driver? Using a userspace timer diverges from the actual times very quickly IME. |
It's the NVidia "Open" driver:
Actually, grepping through the logs, it looks like the driver also complains:
|
Please test #282. It emulates vblank events with flip events. This approach as some downsides:
Many of these downsides are probably shared by the current state of sway and hyprland. You might want to switch to nouveau + nvk for better support. |
I tested it, it seems to be working a bit better, in the sense that I can open a terminal, run Some observations on the side, dunno if they are relevant:
I'm also doing some CUDA development, so I'm stuck with NVidia and their driver.
I haven't done some long term testing, but they didn't freeze on me during my tests. I'm also surprised to be the first one to run into this. Am I the only one using such a setup? There could be something fishy in my setup. I'll see if I can set it up on another computer with also an nvidia card. |
Could you post the entire log file? Anything in the journal?
This sounds like we're not receiving flip events. If we don't receive flip events we won't try to render a new frame. That would be consistent with the error messages you posted above:
You can find many similar reports on google: https://www.google.com/search?q=%22Flip+event+timeout+on+head%22
No idea what's happening here.
Indeed, that is not supported. |
jay-2024-10-03T14:13:39.087Z-0.txt freeze happens somewhere around 14:19:20Z. I then waited 2 minutes to see if it unfroze and let it settle, before quitting with the quit shortcut. System logs around that time:
OK, so there is an already known issue around this! Thanks for the info |
I don't work on this area of the code, but my understanding of that function call is it isn't needed on the kernels where it is excluded (As you say, all reasonably modern kernels), because the equivalent "fake" vblank events will be generated automatically without it. Is that not what you're seeing? Yes, it would be better if the driver reported accurate (I.e., real) vblank events, but it does not at the moment. |
Unfortunately not. All of the UAPIs to access vblank events are guarded by if (!drm_dev_has_vblank(dev))
return -EOPNOTSUPP; and if the driver doesn't call In particular, I use DRM_IOCTL_CRTC_GET_SEQUENCE to get a constant stream of vblank events. |
Ack, and thanks for following up. I've asked to bump the priority of the work needed to enable the relevant support in the driver based on your feedback. |
I'm trying to get jay to work on my setup. After fixing another issue ( #280 ), I was able to start jay and set the correct resolution.
But if I open a terminal (
kitty
orwezterm
), the window doesn't seem to display fully and doesn't refresh (only refreshes on resize when I open and close another terminal) and then it seems to freeze.I get this in the logs:
the crtc message then repeats a lot.
My setup seems to be a bit hairy on the graphics side with wayland:
I was able to get
sway
andhyprland
to work with this driver version, so it doesn't seem to be a fundamental issue with my setup.I'm not sure if this is a jay issue or an issue with my configuration, so any pointer to get this to work would be welcome.
The text was updated successfully, but these errors were encountered: