fix(linux/kms): skip NVIDIA cards for VAAPI on hybrid GPU laptops (#4473)
This commit is contained in:
parent
5ecf7dc75c
commit
38a94b3cfd
1 changed files with 16 additions and 0 deletions
|
|
@ -618,6 +618,14 @@ namespace platf {
|
|||
}
|
||||
}
|
||||
|
||||
// Skip Nvidia cards if we're looking for VAAPI devices
|
||||
// This is important for hybrid GPU laptops where the display
|
||||
// may be connected through NVIDIA but rendering happens on Intel
|
||||
if (mem_type == mem_type_e::vaapi && card.is_nvidia()) {
|
||||
BOOST_LOG(debug) << file << " is an NVIDIA card, skipping for VAAPI"sv;
|
||||
continue;
|
||||
}
|
||||
|
||||
auto end = std::end(card);
|
||||
for (auto plane = std::begin(card); plane != end; ++plane) {
|
||||
// Skip unused planes
|
||||
|
|
@ -1623,6 +1631,14 @@ namespace platf {
|
|||
}
|
||||
}
|
||||
|
||||
// Skip Nvidia cards if we're looking for VAAPI devices
|
||||
// This is important for hybrid GPU laptops where the display
|
||||
// may be connected through NVIDIA but rendering happens on Intel
|
||||
if (hwdevice_type == mem_type_e::vaapi && card.is_nvidia()) {
|
||||
BOOST_LOG(debug) << file << " is an NVIDIA card, skipping for VAAPI"sv;
|
||||
continue;
|
||||
}
|
||||
|
||||
auto crtc_to_monitor = kms::map_crtc_to_monitor(card.monitors(conn_type_count));
|
||||
|
||||
auto end = std::end(card);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue