On Thu, 09 May 2024, nerdopolis <bluescreen_aven...@verizon.net> wrote:
> Hi
>
> So I have been made aware of an apparent race condition of some drivers 
> taking a bit longer to load, which could lead to a possible race condition of 
> display servers/greeters using the simpledrm device, and then experiencing 
> problems once the real driver loads, the simpledrm device that the display 
> servers are using as their primary GPU goes away. 
>
> For example Weston crashes, Xorg crashes, wlroots seems to stay running, but 
> doesn't draw anything on the screen, kwin aborts, 
> This is if you boot on a QEMU machine with the virtio card, with 
> modprobe.blacklist=virtio_gpu, and then, when the display server is running, 
> run sudo modprobe virtio-gpu
>
> Namely, it's been recently reported here: 
> https://github.com/sddm/sddm/issues/1917[1] and here 
> https://github.com/systemd/systemd/issues/32509[2]
>
> My thinking: Instead of simpledrm's /dev/dri/card0 device going away when the 
> real driver loads, is it possible for simpledrm to instead simulate an unplug 
> of the fake display/CRTC?
> That way in theory, the simpledrm device will now be useless for drawing for 
> drawing to the screen at that point, since the real driver is now taken over, 
> but this way here, at least the display server doesn't lose its handles to 
> the /dev/dri/card0 device, (and then maybe only remove itself once the final 
> handle to it closes?)
>
> Is something like this possible to do with the way simpledrm works with the 
> low level video memory? Or is this not possible?

Related [1][2].

BR,
Jani.


[1] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10133
[2] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11158


>
> Thanks
>
> --------
> [1] https://github.com/sddm/sddm/issues/1917
> [2] https://github.com/systemd/systemd/issues/32509

-- 
Jani Nikula, Intel

Reply via email to