Re: DGA support for wsfb driver has been disabled

Rin Okuyama <[email protected]> Fri, 2 Sep 2022 21:19:21 +0900
Newsgroups gmane.os.netbsd.devel.x11
Message-ID <[email protected]>
Pull-up to netbsd-[89] have been done. (Thanks martin!)

Thanks,
rin

On 2022/08/20 18:23, Rin Okuyama wrote:
> Hi,
> 
> Let me belatedly announce that I've disabled DGA support for
> wsfb driver, as it is terribly broken.
> 
> dga(1) crashes X server with wsfb driver; pScrn->AdjustFrame is
> called from DGA codes, albeit it is explicitly set to NULL.
> 
> Furthermore, if nop is privided as pScrn->AdjustFrame, dga(1)
> crashes not only X server but also kernel! This is because DGA
> extension in X server uses physical address of framebuffer,
> whereas we do not provide it.
> 
> (Note that wsdisplay(4) does not provide any method to obtain
> physical address of framebuffer for userland.)
> 
> If there's no objection, I will send pullup request to
> netbsd-[89] in few days.
> 
> Thanks,
> rin
> 
> -------- Forwarded Message --------
> Subject: CVS commit: src/external/mit/xorg/server/drivers/xf86-video-wsfb
> Date: Sat, 20 Aug 2022 01:02:44 +0000
> From: Rin Okuyama <[email protected]>
> Reply-To: [email protected]
> To: [email protected]
> 
> Module Name:    src
> Committed By:    rin
> Date:        Sat Aug 20 01:02:44 UTC 2022
> 
> Modified Files:
>      src/external/mit/xorg/server/drivers/xf86-video-wsfb: Makefile
> 
> Log Message:
> wsfb: Disable broken DGA support:
>   - dga(1) crashes X server since pScrn->AdjustFrame is NULL.
>   - If nop is provided as pScrn->AdjustFrame, dga(1) crashes X server *AND*
>     kernel. This is because DGA uses physical address of framebuffer via
>     /dev/mem (oops!), but we provide only mmap(2)'ed virtual address.
> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.5 -r1.6 \
>      src/external/mit/xorg/server/drivers/xf86-video-wsfb/Makefile
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>