rendernode: dont bother finding one on evdi

evdi/displaylink devices doesnt give us a rendernode at all, and asahi
was hard to associate if a rendernode was related to the
displaynode/card so we fallback to just first found if that occurs.
might be more appropiate to figure out a proper way to deal with these
cases then workaround ever single driver that doesnt give rendernodes
but so far seems only to be evdi.

problem that occured is a 3 gpu situation, the evdi card ended up using
a rendernode for a complete different gpu because it fallbacked to that.
This commit is contained in:
Tom Englund 2025-10-04 21:25:59 +02:00 committed by Vaxry
parent 655e067f96
commit 81a0ddf42f

View file

@ -150,8 +150,13 @@ static std::vector<SP<CSessionDevice>> scanGPUs(SP<CBackend> backend) {
continue;
}
auto drmVer = drmGetVersion(sessionDevice->fd);
auto drmVerName = drmVer->name ? drmVer->name : "unknown";
if (std::string_view(drmVerName) != "evdi")
sessionDevice->resolveMatchingRenderNode(device);
drmFreeVersion(drmVer);
udev_device_unref(device);
if (isBootVGA)