~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/fb/udlfb.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/fb/udlfb.rst (Version linux-6.12-rc7) and /Documentation/fb/udlfb.rst (Version linux-4.10.17)


  1 ==============                                    
  2 What is udlfb?                                    
  3 ==============                                    
  4                                                   
  5 This is a driver for DisplayLink USB 2.0 era g    
  6                                                   
  7 DisplayLink chips provide simple hline/blit op    
  8 pairing that with a hardware framebuffer (16MB    
  9 USB wire.  That hardware framebuffer is able t    
 10 monitor with no CPU involvement until a pixel     
 11                                                   
 12 The CPU or other local resource does all the r    
 13 result with a local shadow of the remote hardw    
 14 the minimal set of pixels that have changed; a    
 15 pixels line-by-line via USB bulk transfers.       
 16                                                   
 17 Because of the efficiency of bulk transfers an    
 18 does not require any acks - the effect is very    
 19 can support surprisingly high resolutions with    
 20 non-gaming and non-video applications.            
 21                                                   
 22 Mode setting, EDID read, etc are other bulk or    
 23 setting is very flexible - able to set nearly     
 24                                                   
 25 Advantages of USB graphics in general:            
 26                                                   
 27  * Ability to add a nearly arbitrary number of    
 28    capable system. On Linux, number of display    
 29    (FB_MAX is currently 32). Of course, all US    
 30    host controller share the same 480Mbs USB 2    
 31                                                   
 32 Advantages of supporting DisplayLink chips wit    
 33                                                   
 34  * The actual hardware functionality of Displa    
 35    one-to-one with the fbdev interface, making    
 36    tight relative to the functionality it prov    
 37  * X servers and other applications can use th    
 38    from user mode to talk to the device, witho    
 39    about USB or DisplayLink's protocol at all.    
 40    and a slightly modified "fbdev" X driver ar    
 41                                                   
 42 Disadvantages:                                    
 43                                                   
 44  * Fbdev's mmap interface assumes a real hardw    
 45    In the case of USB graphics, it is just an     
 46    Writes need to be detected and encoded into    
 47    Accurate damage/changed area notifications     
 48    In the future, hopefully fbdev will be enha    
 49    interface to allow mmap clients to report d    
 50    of virtual or remote framebuffers.             
 51  * Fbdev does not arbitrate client ownership o    
 52  * Fbcon assumes the first framebuffer it find    
 53  * It's not clear what the future of fbdev is,    
 54                                                   
 55 How to use it?                                    
 56 ==============                                    
 57                                                   
 58 Udlfb, when loaded as a module, will match aga    
 59 DisplayLink chips (Alex and Ollie family). It     
 60 of the monitor, and set the best common mode b    
 61 and the monitor's capabilities.                   
 62                                                   
 63 If the DisplayLink device is successful, it wi    
 64 means that from a hardware and fbdev software     
 65                                                   
 66 At that point, a /dev/fb? interface will be pr    
 67 to open and begin writing to the framebuffer o    
 68 standard fbdev calls.  Note that if mmap() is     
 69 application must send down damage notification    
 70 changed regions.  Alternatively, udlfb can be     
 71 defio support enabled, to support a page-fault    
 72 that can work without explicit notification.      
 73                                                   
 74 The most common client of udlfb is xf86-video-    
 75 xf86-video-fbdev X server. These servers have     
 76 code. They write to the standard framebuffer i    
 77 to do its thing.  The one extra feature they h    
 78 rectangles from the X DAMAGE protocol extensio    
 79 damage interface (which will hopefully be stan    
 80 framebuffers that need damage info). These dam    
 81 udlfb to efficiently process the changed pixel    
 82                                                   
 83 Module Options                                    
 84 ==============                                    
 85                                                   
 86 Special configuration for udlfb is usually unn    
 87 options, however.                                 
 88                                                   
 89 From the command line, pass options to modprob    
 90                                                   
 91   modprobe udlfb fb_defio=0 console=1 shadow=1    
 92                                                   
 93 Or change options on the fly by editing           
 94 /sys/module/udlfb/parameters/PARAMETER_NAME ::    
 95                                                   
 96   cd /sys/module/udlfb/parameters                 
 97   ls # to see a list of parameter names           
 98   sudo nano PARAMETER_NAME                        
 99   # change the parameter in place, and save th    
100                                                   
101 Unplug/replug USB device to apply with new set    
102                                                   
103 Or to apply options permanently, create a modp    
104 like /etc/modprobe.d/udlfb.conf with text::       
105                                                   
106   options udlfb fb_defio=0 console=1 shadow=1     
107                                                   
108 Accepted boolean options:                         
109                                                   
110 =============== ==============================    
111 fb_defio        Make use of the fb_defio (CONF    
112                 module to track changed areas     
113                 Standard fbdev applications th    
114                 report damage, should be able     
115                 Disable when running with X se    
116                 changed regions via ioctl, as     
117                 more stable, and higher perfor    
118                 default: fb_defio=1               
119                                                   
120 console         Allow fbcon to attach to udlfb    
121                 Can be disabled if fbcon and o    
122                 (e.g. X with --shared-vt) are     
123                 default: console=1                
124                                                   
125 shadow          Allocate a 2nd framebuffer to     
126                 the USB bus in device memory.     
127                 do not transmit. Spends host m    
128                 Enabled by default. Only disab    
129                 default: shadow=1                 
130 =============== ==============================    
131                                                   
132 Sysfs Attributes                                  
133 ================                                  
134                                                   
135 Udlfb creates several files in /sys/class/grap    
136 Where ? is the sequential framebuffer id of th    
137                                                   
138 ======================== =====================    
139 edid                     If a valid EDID blob     
140                          by a udev rule), then    
141                          backup in case readin    
142                          attached to the Displ    
143                          especially useful for    
144                          communicate their cap    
145                          this file returns the    
146                          monitor (or last back    
147                          useful to get the EDI    
148                          which can be passed t    
149                                                   
150 metrics_bytes_rendered   32-bit count of pixel    
151                                                   
152 metrics_bytes_identical  32-bit count of how m    
153                          unchanged, based on a    
154                                                   
155 metrics_bytes_sent       32-bit count of how m    
156                          USB to communicate th    
157                          hardware. Includes co    
158                                                   
159 metrics_cpu_kcycles_used 32-bit count of CPU c    
160                          above pixels (in thou    
161                                                   
162 metrics_reset            Write-only. Any write    
163                          above to zero.  Note     
164                          roll over very quickl    
165                          performance tests to     
166                          period of time (one m    
167 ======================== =====================    
168                                                   
169 Bernie Thompson <bernie@plugable.com>              
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php