NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: framebuffer console on old ATI
On Tue, 7 May 2024, Riccardo Mottola wrote:
> John D. Baker wrote:
> > As you have seen, the "radeon*" and "radeondrmkmsfb*" drivers do not
> > attach on "r100" class devices. They have been explicitly excluded
> > because early in the DRMKMS integration in NetBSD, they exhibited the
> > "(almost) black-on-black" video problem described in:
>
> I remember seeing that issue.. long time ago, but don't remember on
> which OS and hardware combination.
>
> However, i checked a little better.
> ATI Technologies Radeon
> Mobility M7 LW (rev. 0x00)
>
> would be an RS250 chip, so a little bit newer. Does the same issue
> apply? or is it "blacklisted" for any other reason?
That looks like the same description of the radeon device in my T42
ThinkPad:
$ grep Radeon /r0/diskless/slate/var/run/dmesg.boot
vga0 at pci1 dev 0 function 0: ATI Technologies Radeon Mobility M7 LW (rev. 0x00)
radeondrm0 at vga0: ATI Radeon LW RV200 Mobility 7500 M7
(radeondrm0 is the legacy UMS "radeondrm* at drm?" device)
As an R*200 device, it is not matched by the DRM2 code in NetBSD.
> Since I am endeavouring in compiling a kernel, I might try enabling it,
> if you tell me how. Just as a test, maybe magic happens.
The following patch (against -current from about 4 years ago) will
enable matching R100/R200 devices:
+Index: sys/external/bsd/drm2/radeon/radeon_pci.c
+===================================================================
+RCS file: /cvsroot/src/sys/external/bsd/drm2/radeon/radeon_pci.c,v
+retrieving revision 1.14
+diff -u -p -r1.14 radeon_pci.c
+--- sys/external/bsd/drm2/radeon/radeon_pci.c 24 Jan 2020 11:44:27 -0000 1.14
++++ sys/external/bsd/drm2/radeon/radeon_pci.c 28 May 2020 23:49:44 -0000
+@@ -126,7 +126,7 @@ extern const struct pci_device_id *const
+ extern const size_t radeon_n_device_ids;
+
+ /* Set this to false if you want to match R100/R200 */
+-bool radeon_pci_ignore_r100_r200 = true;
++bool radeon_pci_ignore_r100_r200 = false;
+
+ static bool
+ radeon_pci_lookup(const struct pci_attach_args *pa, unsigned long *flags)
> I also tried to compare with OpenBSD on another Laptop where
> framebwuffer runs wonderfully. It uses radeondrm0. I don't know how this
> in OpenBSD speak this compares to NetBSD.
I really don't know. My understanding is that on OpenBSD and various
Penguin-OSes, these older ATI devices work fine.
I saw your message about trying "radeonfb* at pci?" in your kernel config.
I did the same for amd64 systems with ATI ES1000, which also exhibits
the "(almost) black-on-black" video problem if radeon*/radeondrmkmsfb* is
allowed to match it:
vga0 at pci6 dev 3 function 0: ATI Technologies ES1000 (rev. 0x02)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
radeondrm0 at vga0: ATI ES1000 RN50
radeondrm0: Initialized radeon 1.29.0 20080613
but "radeonfb*" didn't attach and I got plain VGA instead. "radeondrm0"
is the legacy UMS "radeondrm* at drm?".
I did remember to re-enable "wsdisplay* at wsemuldisplaydev?", but maybe
it failed because I forgot to re-enable the framebuffer font(s).
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]consolidated[flyspeck]net OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
Home |
Main Index |
Thread Index |
Old Index