[PATCH v2 07/11] video/aperture: Disable and unregister sysfb devices via aperture helpers
Javier Martinez Canillas
javierm at redhat.com
Tue Apr 4 11:36:42 UTC 2023
Samuel Čavoj <samuel at cavoj.net> writes:
Hello Samuel,
> On 2023-03-20 13:12, Javier Martinez Canillas wrote:
>> Samuel Čavoj <samuel at cavoj.net> writes:
>>
>> [...]
>>
>>>>>> This call to sysfb_disable() has been causing trouble with regard
>>>>>> to
>>>>>> VFIO. VFIO has been calling aperture_remove_conflicting_pci_devices
>>>>>> to
>>>>>> get rid of any console drivers (d173780620792c) using the device in
>>>>>> question, but now even unrelated drivers are getting killed.
>>>>>> Example
>>>>>> situation:
>>>>>
>>>>> Which drivers do you use?
>>>
>>> This happens with either no drivers loaded or the proprietary nvidia
>>> driver. Nouveau is fine as it doesn't rely on efifb but brings its
>>> own.
>>>
>>
>> Which is what all DRM drivers should do. If they want to make sure that
>> a
>> fbdev will be present after the DRM driver probes, then should register
>> an
>> emulated fbdev.
>
> I don't see how this is specific to Nvidia or DRM drivers.
>
Not specific to Nvidia per se but as mentioned it only affected Nvidia due
that driver relying on a different graphics driver to get a VT console.
> The efifb is killed if vfio-pci (or another driver which uses the
> aperture system to remove conflicting drivers) is bound to ANY pci
> device, regardless of whether it's nvidia's fault for not implementing
> a framebuffer. Fair enough, I agree that they should, but
> I for one expect my efifb to not die at a random time
> when a random unrelated driver does a random thing with another
> unrelated GPU.
>
There was a patch series to address that:
https://patchwork.kernel.org/project/dri-devel/list/?series=711019&archive=both
In particular, this patch:
https://patchwork.kernel.org/project/dri-devel/patch/20230111154112.90575-11-daniel.vetter@ffwll.ch/
> Or is the efifb considered a stop-gap solution the only purpose of
> which is early boot--before another GPU driver is loaded?
>
All the firmware-provided graphics drivers are really a best effort IMO,
that is something only to be used to get early video output and any in the
case of "nomodeset" (i.e: some distros have a "Safe graphics mode" boot
entry that prevents DRM drivers to be loaded but used for troubleshooting.
But as soon as a real DRM driver is probed (either in the host or a guest
when the device is passed-through), I believe that is very likely that it
won't work anymore. In other words, is not a robust way to get output and
is just a best effort.
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
More information about the dri-devel
mailing list