evdi
evdi copied to clipboard
Regresion - Kernel 5.17.5-200.fc35.x86_64 - mode reject.
On kernel 5.17.5-200.fc35.x86_64 mode rejection:
(...)
[W] evdi_mode_valid:75 Mode 1900x1200@60 rejected
(...)
Why default mode is 75 and not the range of for example starting from 60?
I'm seeing the same mode rejection issue on 5.17.4-200.fc35.x86_64 when compiled from 39da217
.
Why default mode is 75
The 75
quoted in the log line is the line number of the source file where evdi_mode_valid
failed.
evdi->pixel_per_second_limit
is being set to 3686400
on my machine, despite the connected device being capable of a much larger value. I suspect there's an issue somewhere with the assignment of the value, though I don't know enough about the project to contribute a concrete solution.
For now I have bodged it on my device by inserting the following on line 70 of module/evdi_connector.c
.
return MODE_OK;
Same issue on kernel 5.18.0-arch1-1
I've the same issue with 5.18.5-200.fc36.x86_64 , evdi version 1.11.0
On first analyze, the internal mode_limit is computed with the refresh frequency and the the provided pixel_per_second_limit parameter in the mode is computed without the frequency.
a simple patch (which may not be the correct fix, I've not really searched for the root cause of the issue) is a vlid workaround on my env :
`diff --git i/module/evdi_connector.c w/module/evdi_connector.c index fae5ca2..3632e7b 100644 --- i/module/evdi_connector.c +++ w/module/evdi_connector.c @@ -66,7 +66,7 @@ static enum drm_mode_status evdi_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { struct evdi_device *evdi = connector->dev->dev_private;
- uint32_t mode_limit = mode->hdisplay * mode->vdisplay * drm_mode_vrefresh(mode);
-
uint32_t mode_limit = mode->hdisplay * mode->vdisplay;
if (evdi->pixel_per_second_limit == 0) return MODE_OK; `
Meanwhile, i switched to a Thunderbolt 3 dock.
Don't know what your situation is, but you should consider moving away from DisplayLink as well.
Recompilation with newer evdi seems to fix the issue. There is an unofficial rpm here: https://github.com/displaylink-rpm/displaylink-rpm/issues/218#issuecomment-1160123098
Confirm - evdi 1.12.0 work on Fedora 35 with kernel 5.18.11-100.fc35.x86_64.
Meanwhile, i switched to a Thunderbolt 3 dock. Don't know what your situation is, but you should consider moving away from DisplayLink as well.
@mikefarmer01, I wish it were that simple for everyone. Not everybody has the luxury of Thunderbolt. In fact, many AMD CPUs don't support it.