Skip to content
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

Refresh rate problems using OpenXR with AMDVLK #268

Closed
blitz-research opened this issue Jan 13, 2022 · 4 comments
Closed

Refresh rate problems using OpenXR with AMDVLK #268

blitz-research opened this issue Jan 13, 2022 · 4 comments
Assignees
Labels
assigned The issue is assigned to engineer

Comments

@blitz-research
Copy link

Hi,

I initially had a few problems using OpenXR with AMDVLK, and it looks like vkGetDisplayModePropertiesKHR is returning incorrect refresh rate for my HMD (returns 90000 instead of 89530 for 89.53 Hz) when using AMDVLK driver. The RADV driver doesn't have this problem.

The gory details can be found here:

https://gitlab.freedesktop.org/monado/monado/-/issues/147

Bye!
Mark

@qiaojbao
Copy link
Collaborator

Currently, AMDVLK use the vrefresh (approximate vertical refresh rate in Hz) from drm mode info.
We will fix that.

@qiaojbao qiaojbao added the assigned The issue is assigned to engineer label Aug 15, 2024
@qiaojbao
Copy link
Collaborator

This is my test driver log with local monitor.
{{ displayMode = 0x555555912fa0, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 59950}}, {
displayMode = 0x555555912fd0, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 143911}}, {
displayMode = 0x555555913000, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 120030}}, {
displayMode = 0x555555913030, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 119998}}, {
displayMode = 0x555555913060, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 99998}}, {
displayMode = 0x555555913090, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 96003}}, {
displayMode = 0x5555559130c0, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 72002}}, {
displayMode = 0x5555559130f0, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 60015}}, {
displayMode = 0x555555913120, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 50001}}, {
displayMode = 0x555555913150, parameters = {visibleRegion = {width = 2560, height = 1440}, refreshRate = 48001}}, {
displayMode = 0x555555913180, parameters = {visibleRegion = {width = 1920, height = 1200}, refreshRate = 59950}}, {
displayMode = 0x5555559131b0, parameters = {visibleRegion = {width = 1920, height = 1080}, refreshRate = 60000}}, {
displayMode = 0x5555559131e0, parameters = {visibleRegion = {width = 1920, height = 1080}, refreshRate = 60000}}, {
displayMode = 0x555555913210, parameters = {visibleRegion = {width = 1920, height = 1080}, refreshRate = 59940}}, {
displayMode = 0x555555913240, parameters = {visibleRegion = {width = 1920, height = 1080}, refreshRate = 50000}}, {
displayMode = 0x555555913270, parameters = {visibleRegion = {width = 1600, height = 1200}, refreshRate = 59950}}, {
displayMode = 0x5555559132a0, parameters = {visibleRegion = {width = 1280, height = 1440}, refreshRate = 59912}}, {
displayMode = 0x5555559132d0, parameters = {visibleRegion = {width = 1680, height = 1050}, refreshRate = 59950}}, {
displayMode = 0x555555913300, parameters = {visibleRegion = {width = 1280, height = 1024}, refreshRate = 75024}}, {
displayMode = 0x555555913330, parameters = {visibleRegion = {width = 1280, height = 1024}, refreshRate = 60019}}, {
displayMode = 0x555555913360, parameters = {visibleRegion = {width = 1440, height = 900}, refreshRate = 59950}}, {
displayMode = 0x555555913390, parameters = {visibleRegion = {width = 1280, height = 800}, refreshRate = 59950}}, {
displayMode = 0x5555559133c0, parameters = {visibleRegion = {width = 1280, height = 720}, refreshRate = 60000}}, {
displayMode = 0x5555559133f0, parameters = {visibleRegion = {width = 1280, height = 720}, refreshRate = 59940}}, {
displayMode = 0x555555913420, parameters = {visibleRegion = {width = 1280, height = 720}, refreshRate = 50000}}, {
displayMode = 0x555555913450, parameters = {visibleRegion = {width = 1024, height = 768}, refreshRate = 119926}}, {
displayMode = 0x555555913480, parameters = {visibleRegion = {width = 1024, height = 768}, refreshRate = 99990}}, {
displayMode = 0x5555559134b0, parameters = {visibleRegion = {width = 1024, height = 768}, refreshRate = 75028}}, {
displayMode = 0x5555559134e0, parameters = {visibleRegion = {width = 1024, height = 768}, refreshRate = 70069}}, {
displayMode = 0x555555913510, parameters = {visibleRegion = {width = 1024, height = 768}, refreshRate = 60003}}, {
displayMode = 0x555555913540, parameters = {visibleRegion = {width = 832, height = 624}, refreshRate = 74551}}, {
displayMode = 0x555555913570, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 119932}}, {
displayMode = 0x5555559135a0, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 99861}}, {
displayMode = 0x5555559135d0, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 75000}}, {
displayMode = 0x555555913600, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 72187}}, {
displayMode = 0x555555913630, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 60316}}, {
displayMode = 0x555555913660, parameters = {visibleRegion = {width = 800, height = 600}, refreshRate = 56250}}, {
displayMode = 0x555555913690, parameters = {visibleRegion = {width = 720, height = 576}, refreshRate = 50000}}, {
displayMode = 0x5555559136c0, parameters = {visibleRegion = {width = 720, height = 576}, refreshRate = 50000}}, {
displayMode = 0x5555559136f0, parameters = {visibleRegion = {width = 720, height = 480}, refreshRate = 60000}}, {
displayMode = 0x555555913720, parameters = {visibleRegion = {width = 720, height = 480}, refreshRate = 60000}}, {
displayMode = 0x555555913750, parameters = {visibleRegion = {width = 720, height = 480}, refreshRate = 59940}}, {
displayMode = 0x555555913780, parameters = {visibleRegion = {width = 720, height = 480}, refreshRate = 59940}}, {
displayMode = 0x5555559137b0, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 119802}}, {
displayMode = 0x5555559137e0, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 99825}}, {
displayMode = 0x555555913810, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 75000}}, {
displayMode = 0x555555913840, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 72808}}, {
displayMode = 0x555555913870, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 66666}}, {
displayMode = 0x5555559138a0, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 60000}}, {
displayMode = 0x5555559138d0, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 59940}}, {
displayMode = 0x555555913900, parameters = {visibleRegion = {width = 640, height = 480}, refreshRate = 59940}}, {
displayMode = 0x555555913930, parameters = {visibleRegion = {width = 720, height = 400}, refreshRate = 70081}}}

@jinjianrong jinjianrong changed the title Problems using OpenXR with AMDVLK Refresh rate problems using OpenXR with AMDVLK Aug 26, 2024
@qiaojbao
Copy link
Collaborator

The fix commit has merged into Q3.3, waiting for PAL version bump to 894.
GPUOpen-Drivers/xgl@c4ca1f6
Improve the refresh rate precision with PAL_CLIENT_INTERFACE_MAJOR_VERSION 894

@qiaojbao
Copy link
Collaborator

The fix works with Q4.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned The issue is assigned to engineer
Projects
None yet
Development

No branches or pull requests

2 participants