Thread (15 messages) 15 messages, 5 authors, 2020-12-02

Re: [PATCH] fbdev: Remove udlfb driver

From: Daniel Vetter <hidden>
Date: 2020-12-02 17:52:57
Also in: dri-devel, linux-doc

On Wed, Dec 2, 2020 at 8:55 AM Thomas Zimmermann [off-list ref] wrote:
Hi

Am 01.12.20 um 12:20 schrieb Mikulas Patocka:
quoted

On Tue, 1 Dec 2020, Thomas Zimmermann wrote:
quoted
Hi

Am 30.11.20 um 19:39 schrieb Mikulas Patocka:
quoted

On Mon, 30 Nov 2020, Daniel Vetter wrote:
quoted
On Mon, Nov 30, 2020 at 09:31:15AM -0500, Mikulas Patocka wrote:
quoted
The framebuffer driver supports programs running full-screen directly on
the framebuffer console, such as web browser "links -g", image viewer
"fbi", postscript+pdf viewer "fbgs", ZX Spectrum emulator "fuse-sdl",
movie player "mplayer -vo fbdev". The DRM driver doesn't run them.
Hm this should in general work on drm drivers. Without that it's clear the
switch-over isn't really ready yet.
I fixed it with this patch two years ago:
https://lists.freedesktop.org/archives/dri-devel/2018-June/179023.html

But the patch never went through and the fb_defio feature was removed in
the kernel 5.6 (commit d0c4fc5a4814e431c15272935c8dc973c18073aa).


Without fb_defio, the only other possibility how to update the screen is
the ioctl DRM_IOCTL_MODE_DIRTYFB. But this ioctl requires master mode, so
user programs like "links -g" can't issue it.
That's confusing. DIRTYFB is only for DRM.
Yes, you're right.
quoted
And why can links not run as DRM master mode? If it renders to the terminal,
it should act like a composer. In that case it almost certainly wants master
status.

Best regards
Thomas
How can a userspace program acquire master mode without being suid?
For my understanding, there's no easy solution to that. :/
If you're absolutely the only thing running, the first one to open the
card* node wins. But usually you have something like logind managing
this for you (for vt switching), since ad-hoc this is a very fragile
scheme.

I'm not exactly sure how logind gives you an already opened drm device
in master mode, that's a bit tricky. Without either being suid root or
participating in the logind scheme you won't be able to vt switch
though.

But bare metal kms usage should work I as-is.
-Daniel
I guess we (DRM devs) have to treat fbdev as the solution for use cases
such as ours.

For the unplug issue, I'll try to reproduce and fix it.

For the performance problems, we might be able to squeeze a few more
cycles out of it.

Best regards
Thomas
quoted
Is there some "Hello World!" program that shows how to use DRM? I'm not an
expert in DRM, but if there were some tutorial+documentation, I could
consider porting "links" to it.

Mikulas
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help