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 <rin%netbsd.org@localhost>
Reply-To: source-changes-d%NetBSD.org@localhost
To: source-changes-full%NetBSD.org@localhost
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.