tl;dr: Disable fbdev userspace interfaces on TW
Hi,
the upcoming Linux kernel v6.6 will contain the option to disable fbdev
userspace interfaces in the kernel configuration. [1] I intent to enable
this and thereby switch off /dev/fb0 et al. The tracker bug is
boo#1212947. [2]
* Why? The old fbdev subsystem is an endless source of bugs. For
example, we recently had an out-of-bounds access in the fbdev emulation,
where userspace could write beyond the end of the framebuffer memory.
[3] Fbdev is under-maintained. I've been doing improvements in recent
kernel releases, but only where it benefits the DRM subsystem.
Disabling fbdev userspace interfaces will also help weeding out any
programs that still contain hard dependencies on them.
* What changes? Enabling the new kernel option disables all fbdev
userspace interfaces. These are
* the device files, such as /dev/fb0
* the sys files under /sys/class/graphics/fb[0-9]+
* /proc/fb
* What are the effects on userspace programs? Userspace applications
run on the desktop via Wayland or X. There will be no change to them.
Xorg and Wayland compositors run on DRM interfaces. A few programs run
on SDL, which has no dependency on fbdev either. Any fbdev support in
these mid-layer components should be disabled as well.
There's one known affected program: TW's text-mode installer can use the
tool fbiterm to display CJK symbols during installation. This comes from
a time when some low-end systems where not able to boot graphics
installation. fbiterm has been unmaintained for >15 years and is ready
for retirement. But there's no good drop-in replacement. I propose to
simply remove fbiterm and let the graphics installer handle CJK.
* What about the framebuffer console? The kernel-provided framebuffer
console does not change. The kernel will still show the regular console.
Userspace interfaces in /sys/class/graphics/fbcon are still available.
For questions and discussion, please comment here or in boo#1212947.
Best regards
Thomas
[1]
https://elixir.bootlin.com/linux/v6.6-rc1/source/drivers/video/fbdev/core/K…
[2] https://bugzilla.opensuse.org/show_bug.cgi?id=1212947
[3]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
Hi,
It seems tumbleweed does not (normally) use a pure upstream kernel, as kernel-default includes patches. Although, is kernel-vanilla pure upstream like it sounds (albeit maybe compiled with custom options)?
Thanks