I recently made a post about my FreeSync certified monitor not supporting VRR over HDMI. I thought that there was VRR support over HDMI even for versions below 2.1 spec. Am I mistaken in my assumption¿? Has the HDMI forum prevented the implementation of FreeSync in the open source drivers¿?
Obligatory fuck the HDMI forum and the HDMI spec.
The Steam Deck only does VRR over Displayport. Valve has their own engineers working on every part of the software stack. It’s their own hardware and their dock. With all that, Valve still can’t get VRR over HDMI to work.
Fuck the HDMI forum.
Actually it works fine on Steam Deck. It uses VRR over DP to the dock, which then translates it to HDMI with VRR. The dock has proprietary firmware to do this.
Intel and Nvidia hardware with open source kernel drivers also do a similar trick where the HDMI part is in a firmware blob. Only AMD does not work with HDMI VRR.
Source? So it can do 4k, 120hz+ VRR? I have found comments and change logs, but I’m not sure it fixes the HDMI 2.1 issue. Which would be 4k+ @ 120hz+ with VRR.
NM I found what I was looking for.
https://overkill.wtf/steamos-3-5-5-brings-just-so-much-stuff-including-vrr-for-steam-deck-dock/
Looks like it just gets VRR working, generally. Unfortunately not some kind of 2.1 workaround.
It would allow them to do HDMI FRL also, which is probably what you mean when you say HDMI 2.1. AMD cards also do HDMI FRL I thought. FRL is what allows things like 4k120Hz (higher bandwidth modes). The VRR that the Dock does is the VRR standardized with 2.1, which is why it works on TVs and devices that do not support freesync (see: LG TVs).
Anyway, the Dock doesn’t have a fast enough HDMI converter to do that. It’s not a licensing issue. Next gen Deck/Dock will probably do it.
“Obligatory fuck the HDMI forum and the HDMI spec”
Amen to that
I remember listening to a rant from the WAN Show about it, so this seems to be the case, more or less.
I’ve also heard that FreeSync does work with DisplayPort.
Yeah I am aware that DisplayPort has adaptive sync support but my laptop hardware limits me to HDMI. Believe me I would much rather be using DisplayPort
Same here, in fact I didn’t know it was another one of those Linux-adjacent topics.
Have sexual intercourse with the HDMI Forum and the HDMI spec.
Has been an ongoing issue and well documented. This is why I can’t use an AMD GFX card with my workstation.
This is also one of those stubborn “Linux” problems that new users run into and deters them from using the OS. It’s a BIG issue to have this caveat on Linux and keeps professionals from the platform.
Everyone will yell about switching to display ports and downvote. Happens every time it comes up. Then they will tell you to use an adapter. Adapters will not magically give your 4k 120hz+ VRR. But they will insist. It never ends.
In some ways, pushing people towards DP is good because it is a better spec than HDMI for the consumers in general and for the open source community specifically. The issue is that people are too zealous in recommending and pushing it.
In my case, I dont care much for VRR (Years of playing on crappy hardware have made me somewhat immune to tearing). I was just curious hence the post. Switching to display port is not an option since my laptop has no DisplayPort support whatsoever.
People like you disgust me. You intentionally ignore the root of the problem and instead direct your frustration and blame at the victim of said problem.
You absolutely should not be blaming Linux for this, this is the HDMI forum’s fault.
deleted by creator
Afaik VRR works on my AMD 5600H plugged via HDMI…
Not at 4k and above 60hz.
https://www.tomshardware.com/pc-components/gpus/hdmi-forum-rejects-amds-hdmi-21-open-source-driver
I’m using a Dell 4K monitor at 60Hz and in my X log I can see VRR is on and enabled. Is this useless then?
- above 60
TL;DR depends on your gpu.
Some monitors below HDMI 2.1 support the early version of freesync made by AMD, while others support a fragment of what became 2.1’s VRR. The former is supported only by AMD, while the latter by both AMD and Nvidia (Pascal and upper with latest drivers). If you have the former, the monitor is probably not compatible with DP’s official adaptive sync, so Nvidia won’t work even on DP.
But… Even if you have AMD, due to a bug in the driver, if you have a Polaris GPU it might not detect the vrr capability over HDMI (but will over DP). I know for sure that RDNA 2.5 cards support it, in theory it should work even for all Vega and Navi GPUs, but I haven’t tested it.
So just switch to DisplayPort…in fact, it would have been easier to just buy a displayport cable than it would have been to make this post.
My laptop has no DisplayPort. Hell the monitor came with a DP cable as standard but because my Laptop has no DP port(not even through usb-c), I had to shell out for an HDMI cable
deleted by creator
You’re using an operating system specifically because it is free and open source, and then complaining when a closed, proprietary, licensed spec isn’t implemented. So you’re right, there sure are…looks like there are at least half a dozen of them so far.
Well frankly, I dont actually care much about VRR. The post was only to gather information because I saw some conflicting info. I agree that expecting an implementation of a proprietary spec in open source is foolish and people should be willing to make some sacrifices in exchange of freedom. What I do request is that you dont be ass about it when you recommend DP.
https://i.imgur.com/7pt3vpo.png
This was literally a google search you wasted everyone’s time with. I’m an “ass” because you were disrespectful of everyone’s time with this post. I’m merely showing the same respect you’ve shown everyone here.
Well I usually look past the auto generated answer because that is not 100% accurate. Digging through many forums, I found comments like these which caused some confusion. The common thread between everybody claiming to have FreeSync is that they are running X11. I just thought since adaptive sync/freesync is a hardware feature, if(and it is a big if as I dont think VRR works for them even if it shows as enabled in the X11 configs) these people have it running on X11, maybe there is a way to get it running on Wayland.
There was this article as well which added to the confusion.
deleted by creator
Kinda weird. When every time you have this interaction…starts to make you wonder if maybe there’s some sort of reason…
I have freesync on my laptop with the inbuilt screen.
Me too!
I am guessing that is because the internal displays in laptops are connected using an embedded DisplayPort(eDP) and not HDMI
this is correct
I think it works here between my MX Linux and a Dell 4K display, via HDMI
[ 12.255] (**) AMDGPU(0): Option "DRI" "3" [ 12.255] (**) AMDGPU(0): Option "TearFree" "true" [ 12.255] (**) AMDGPU(0): Option "VariableRefresh" "true" [ 12.413] (**) AMDGPU(0): TearFree property default: on [ 12.413] (**) AMDGPU(0): VariableRefresh: enabled
I thought that there was VRR support over HDMI even for versions below 2.1 spec.
Yes, there is FreeSync HDMI, which is supposed to be supported on Linux, and which is unrelated to HDMI 2.1 VRR. Don’t see anything about the monitor supporting that though (LG 24GS60F based on your previous post). Nor anything about HDMI 2.1 VRR, it probably only supports VRR via DisplayPort Adaptive Sync.
Not anything about HDMI 2.1 VRR, it probably only supports VRR via DisplayPort Adaptive Sync.
I verified from the user manual that the freesync is supported over HDMI 2.0(Its a budget 1080p monitor so no HDMI 2.1). The issue seems to be that the HDMI forum has not allowed code necessary for FreeSync HDMI in the open source drivers. Fuck proprietary solutions. I hope that DP (through usb-c or mini DP) becomes the standard even in budget laptops which currently come only with HDMI.
Apparently so it does, and it says “HDMI Freesync” rather than “HDMI [2.1] VRR”. FreeSync HDMI is a completely different protocol and is supposed to work under Linux. Found a thread here, can you try
cat /sys/kernel/debug/dri/0/HDMI-A-1/vrr_range
andedid-decode < /sys/class/drm/card0-HDMI-A-1/edid
? Though there is no solution there.