Commit c0dd504cea3703c3ec9bfd810e6bd649680afd37
Committed by
Linus Torvalds
1 parent
b1ee26bab1
Exists in
master
and in
7 other branches
uvesafb: document mode to mode_option parameter change
Document the change from the old "mode" parameter to the "mode_option" parameter. Signed-off-by: Mike Pagano <mpagano@gentoo.org> Cc: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 2 additions and 2 deletions Inline Diff
Documentation/fb/uvesafb.txt
1 | 1 | ||
2 | uvesafb - A Generic Driver for VBE2+ compliant video cards | 2 | uvesafb - A Generic Driver for VBE2+ compliant video cards |
3 | ========================================================== | 3 | ========================================================== |
4 | 4 | ||
5 | 1. Requirements | 5 | 1. Requirements |
6 | --------------- | 6 | --------------- |
7 | 7 | ||
8 | uvesafb should work with any video card that has a Video BIOS compliant | 8 | uvesafb should work with any video card that has a Video BIOS compliant |
9 | with the VBE 2.0 standard. | 9 | with the VBE 2.0 standard. |
10 | 10 | ||
11 | Unlike other drivers, uvesafb makes use of a userspace helper called | 11 | Unlike other drivers, uvesafb makes use of a userspace helper called |
12 | v86d. v86d is used to run the x86 Video BIOS code in a simulated and | 12 | v86d. v86d is used to run the x86 Video BIOS code in a simulated and |
13 | controlled environment. This allows uvesafb to function on arches other | 13 | controlled environment. This allows uvesafb to function on arches other |
14 | than x86. Check the v86d documentation for a list of currently supported | 14 | than x86. Check the v86d documentation for a list of currently supported |
15 | arches. | 15 | arches. |
16 | 16 | ||
17 | v86d source code can be downloaded from the following website: | 17 | v86d source code can be downloaded from the following website: |
18 | http://dev.gentoo.org/~spock/projects/uvesafb | 18 | http://dev.gentoo.org/~spock/projects/uvesafb |
19 | 19 | ||
20 | Please refer to the v86d documentation for detailed configuration and | 20 | Please refer to the v86d documentation for detailed configuration and |
21 | installation instructions. | 21 | installation instructions. |
22 | 22 | ||
23 | Note that the v86d userspace helper has to be available at all times in | 23 | Note that the v86d userspace helper has to be available at all times in |
24 | order for uvesafb to work properly. If you want to use uvesafb during | 24 | order for uvesafb to work properly. If you want to use uvesafb during |
25 | early boot, you will have to include v86d into an initramfs image, and | 25 | early boot, you will have to include v86d into an initramfs image, and |
26 | either compile it into the kernel or use it as an initrd. | 26 | either compile it into the kernel or use it as an initrd. |
27 | 27 | ||
28 | 2. Caveats and limitations | 28 | 2. Caveats and limitations |
29 | -------------------------- | 29 | -------------------------- |
30 | 30 | ||
31 | uvesafb is a _generic_ driver which supports a wide variety of video | 31 | uvesafb is a _generic_ driver which supports a wide variety of video |
32 | cards, but which is ultimately limited by the Video BIOS interface. | 32 | cards, but which is ultimately limited by the Video BIOS interface. |
33 | The most important limitations are: | 33 | The most important limitations are: |
34 | 34 | ||
35 | - Lack of any type of acceleration. | 35 | - Lack of any type of acceleration. |
36 | - A strict and limited set of supported video modes. Often the native | 36 | - A strict and limited set of supported video modes. Often the native |
37 | or most optimal resolution/refresh rate for your setup will not work | 37 | or most optimal resolution/refresh rate for your setup will not work |
38 | with uvesafb, simply because the Video BIOS doesn't support the | 38 | with uvesafb, simply because the Video BIOS doesn't support the |
39 | video mode you want to use. This can be especially painful with | 39 | video mode you want to use. This can be especially painful with |
40 | widescreen panels, where native video modes don't have the 4:3 aspect | 40 | widescreen panels, where native video modes don't have the 4:3 aspect |
41 | ratio, which is what most BIOS-es are limited to. | 41 | ratio, which is what most BIOS-es are limited to. |
42 | - Adjusting the refresh rate is only possible with a VBE 3.0 compliant | 42 | - Adjusting the refresh rate is only possible with a VBE 3.0 compliant |
43 | Video BIOS. Note that many nVidia Video BIOS-es claim to be VBE 3.0 | 43 | Video BIOS. Note that many nVidia Video BIOS-es claim to be VBE 3.0 |
44 | compliant, while they simply ignore any refresh rate settings. | 44 | compliant, while they simply ignore any refresh rate settings. |
45 | 45 | ||
46 | 3. Configuration | 46 | 3. Configuration |
47 | ---------------- | 47 | ---------------- |
48 | 48 | ||
49 | uvesafb can be compiled either as a module, or directly into the kernel. | 49 | uvesafb can be compiled either as a module, or directly into the kernel. |
50 | In both cases it supports the same set of configuration options, which | 50 | In both cases it supports the same set of configuration options, which |
51 | are either given on the kernel command line or as module parameters, e.g.: | 51 | are either given on the kernel command line or as module parameters, e.g.: |
52 | 52 | ||
53 | video=uvesafb:1024x768-32,mtrr:3,ywrap (compiled into the kernel) | 53 | video=uvesafb:1024x768-32,mtrr:3,ywrap (compiled into the kernel) |
54 | 54 | ||
55 | # modprobe uvesafb mode=1024x768-32 mtrr=3 scroll=ywrap (module) | 55 | # modprobe uvesafb mode_option=1024x768-32 mtrr=3 scroll=ywrap (module) |
56 | 56 | ||
57 | Accepted options: | 57 | Accepted options: |
58 | 58 | ||
59 | ypan Enable display panning using the VESA protected mode | 59 | ypan Enable display panning using the VESA protected mode |
60 | interface. The visible screen is just a window of the | 60 | interface. The visible screen is just a window of the |
61 | video memory, console scrolling is done by changing the | 61 | video memory, console scrolling is done by changing the |
62 | start of the window. Available on x86 only. | 62 | start of the window. Available on x86 only. |
63 | 63 | ||
64 | ywrap Same as ypan, but assumes your gfx board can wrap-around | 64 | ywrap Same as ypan, but assumes your gfx board can wrap-around |
65 | the video memory (i.e. starts reading from top if it | 65 | the video memory (i.e. starts reading from top if it |
66 | reaches the end of video memory). Faster than ypan. | 66 | reaches the end of video memory). Faster than ypan. |
67 | Available on x86 only. | 67 | Available on x86 only. |
68 | 68 | ||
69 | redraw Scroll by redrawing the affected part of the screen, this | 69 | redraw Scroll by redrawing the affected part of the screen, this |
70 | is the safe (and slow) default. | 70 | is the safe (and slow) default. |
71 | 71 | ||
72 | (If you're using uvesafb as a module, the above three options are | 72 | (If you're using uvesafb as a module, the above three options are |
73 | used a parameter of the scroll option, e.g. scroll=ypan.) | 73 | used a parameter of the scroll option, e.g. scroll=ypan.) |
74 | 74 | ||
75 | vgapal Use the standard VGA registers for palette changes. | 75 | vgapal Use the standard VGA registers for palette changes. |
76 | 76 | ||
77 | pmipal Use the protected mode interface for palette changes. | 77 | pmipal Use the protected mode interface for palette changes. |
78 | This is the default if the protected mode interface is | 78 | This is the default if the protected mode interface is |
79 | available. Available on x86 only. | 79 | available. Available on x86 only. |
80 | 80 | ||
81 | mtrr:n Setup memory type range registers for the framebuffer | 81 | mtrr:n Setup memory type range registers for the framebuffer |
82 | where n: | 82 | where n: |
83 | 0 - disabled (equivalent to nomtrr) (default) | 83 | 0 - disabled (equivalent to nomtrr) (default) |
84 | 1 - uncachable | 84 | 1 - uncachable |
85 | 2 - write-back | 85 | 2 - write-back |
86 | 3 - write-combining | 86 | 3 - write-combining |
87 | 4 - write-through | 87 | 4 - write-through |
88 | 88 | ||
89 | If you see the following in dmesg, choose the type that matches | 89 | If you see the following in dmesg, choose the type that matches |
90 | the old one. In this example, use "mtrr:2". | 90 | the old one. In this example, use "mtrr:2". |
91 | ... | 91 | ... |
92 | mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining | 92 | mtrr: type mismatch for e0000000,8000000 old: write-back new: write-combining |
93 | ... | 93 | ... |
94 | 94 | ||
95 | nomtrr Do not use memory type range registers. | 95 | nomtrr Do not use memory type range registers. |
96 | 96 | ||
97 | vremap:n | 97 | vremap:n |
98 | Remap 'n' MiB of video RAM. If 0 or not specified, remap memory | 98 | Remap 'n' MiB of video RAM. If 0 or not specified, remap memory |
99 | according to video mode. | 99 | according to video mode. |
100 | 100 | ||
101 | vtotal:n | 101 | vtotal:n |
102 | If the video BIOS of your card incorrectly determines the total | 102 | If the video BIOS of your card incorrectly determines the total |
103 | amount of video RAM, use this option to override the BIOS (in MiB). | 103 | amount of video RAM, use this option to override the BIOS (in MiB). |
104 | 104 | ||
105 | <mode> The mode you want to set, in the standard modedb format. Refer to | 105 | <mode> The mode you want to set, in the standard modedb format. Refer to |
106 | modedb.txt for a detailed description. When uvesafb is compiled as | 106 | modedb.txt for a detailed description. When uvesafb is compiled as |
107 | a module, the mode string should be provided as a value of the | 107 | a module, the mode string should be provided as a value of the |
108 | 'mode' option. | 108 | 'mode_option' option. |
109 | 109 | ||
110 | vbemode:x | 110 | vbemode:x |
111 | Force the use of VBE mode x. The mode will only be set if it's | 111 | Force the use of VBE mode x. The mode will only be set if it's |
112 | found in the VBE-provided list of supported modes. | 112 | found in the VBE-provided list of supported modes. |
113 | NOTE: The mode number 'x' should be specified in VESA mode number | 113 | NOTE: The mode number 'x' should be specified in VESA mode number |
114 | notation, not the Linux kernel one (eg. 257 instead of 769). | 114 | notation, not the Linux kernel one (eg. 257 instead of 769). |
115 | HINT: If you use this option because normal <mode> parameter does | 115 | HINT: If you use this option because normal <mode> parameter does |
116 | not work for you and you use a X server, you'll probably want to | 116 | not work for you and you use a X server, you'll probably want to |
117 | set the 'nocrtc' option to ensure that the video mode is properly | 117 | set the 'nocrtc' option to ensure that the video mode is properly |
118 | restored after console <-> X switches. | 118 | restored after console <-> X switches. |
119 | 119 | ||
120 | nocrtc Do not use CRTC timings while setting the video mode. This option | 120 | nocrtc Do not use CRTC timings while setting the video mode. This option |
121 | has any effect only if the Video BIOS is VBE 3.0 compliant. Use it | 121 | has any effect only if the Video BIOS is VBE 3.0 compliant. Use it |
122 | if you have problems with modes set the standard way. Note that | 122 | if you have problems with modes set the standard way. Note that |
123 | using this option implies that any refresh rate adjustments will | 123 | using this option implies that any refresh rate adjustments will |
124 | be ignored and the refresh rate will stay at your BIOS default (60 Hz). | 124 | be ignored and the refresh rate will stay at your BIOS default (60 Hz). |
125 | 125 | ||
126 | noedid Do not try to fetch and use EDID-provided modes. | 126 | noedid Do not try to fetch and use EDID-provided modes. |
127 | 127 | ||
128 | noblank Disable hardware blanking. | 128 | noblank Disable hardware blanking. |
129 | 129 | ||
130 | v86d:path | 130 | v86d:path |
131 | Set path to the v86d executable. This option is only available as | 131 | Set path to the v86d executable. This option is only available as |
132 | a module parameter, and not as a part of the video= string. If you | 132 | a module parameter, and not as a part of the video= string. If you |
133 | need to use it and have uvesafb built into the kernel, use | 133 | need to use it and have uvesafb built into the kernel, use |
134 | uvesafb.v86d="path". | 134 | uvesafb.v86d="path". |
135 | 135 | ||
136 | Additionally, the following parameters may be provided. They all override the | 136 | Additionally, the following parameters may be provided. They all override the |
137 | EDID-provided values and BIOS defaults. Refer to your monitor's specs to get | 137 | EDID-provided values and BIOS defaults. Refer to your monitor's specs to get |
138 | the correct values for maxhf, maxvf and maxclk for your hardware. | 138 | the correct values for maxhf, maxvf and maxclk for your hardware. |
139 | 139 | ||
140 | maxhf:n Maximum horizontal frequency (in kHz). | 140 | maxhf:n Maximum horizontal frequency (in kHz). |
141 | maxvf:n Maximum vertical frequency (in Hz). | 141 | maxvf:n Maximum vertical frequency (in Hz). |
142 | maxclk:n Maximum pixel clock (in MHz). | 142 | maxclk:n Maximum pixel clock (in MHz). |
143 | 143 | ||
144 | 4. The sysfs interface | 144 | 4. The sysfs interface |
145 | ---------------------- | 145 | ---------------------- |
146 | 146 | ||
147 | uvesafb provides several sysfs nodes for configurable parameters and | 147 | uvesafb provides several sysfs nodes for configurable parameters and |
148 | additional information. | 148 | additional information. |
149 | 149 | ||
150 | Driver attributes: | 150 | Driver attributes: |
151 | 151 | ||
152 | /sys/bus/platform/drivers/uvesafb | 152 | /sys/bus/platform/drivers/uvesafb |
153 | - v86d (default: /sbin/v86d) | 153 | - v86d (default: /sbin/v86d) |
154 | Path to the v86d executable. v86d is started by uvesafb | 154 | Path to the v86d executable. v86d is started by uvesafb |
155 | if an instance of the daemon isn't already running. | 155 | if an instance of the daemon isn't already running. |
156 | 156 | ||
157 | Device attributes: | 157 | Device attributes: |
158 | 158 | ||
159 | /sys/bus/platform/drivers/uvesafb/uvesafb.0 | 159 | /sys/bus/platform/drivers/uvesafb/uvesafb.0 |
160 | - nocrtc | 160 | - nocrtc |
161 | Use the default refresh rate (60 Hz) if set to 1. | 161 | Use the default refresh rate (60 Hz) if set to 1. |
162 | 162 | ||
163 | - oem_product_name | 163 | - oem_product_name |
164 | - oem_product_rev | 164 | - oem_product_rev |
165 | - oem_string | 165 | - oem_string |
166 | - oem_vendor | 166 | - oem_vendor |
167 | Information about the card and its maker. | 167 | Information about the card and its maker. |
168 | 168 | ||
169 | - vbe_modes | 169 | - vbe_modes |
170 | A list of video modes supported by the Video BIOS along with their | 170 | A list of video modes supported by the Video BIOS along with their |
171 | VBE mode numbers in hex. | 171 | VBE mode numbers in hex. |
172 | 172 | ||
173 | - vbe_version | 173 | - vbe_version |
174 | A BCD value indicating the implemented VBE standard. | 174 | A BCD value indicating the implemented VBE standard. |
175 | 175 | ||
176 | 5. Miscellaneous | 176 | 5. Miscellaneous |
177 | ---------------- | 177 | ---------------- |
178 | 178 | ||
179 | Uvesafb will set a video mode with the default refresh rate and timings | 179 | Uvesafb will set a video mode with the default refresh rate and timings |
180 | from the Video BIOS if you set pixclock to 0 in fb_var_screeninfo. | 180 | from the Video BIOS if you set pixclock to 0 in fb_var_screeninfo. |
181 | 181 | ||
182 | 182 | ||
183 | -- | 183 | -- |
184 | Michal Januszewski <spock@gentoo.org> | 184 | Michal Januszewski <spock@gentoo.org> |
185 | Last updated: 2007-06-16 | 185 | Last updated: 2007-06-16 |
186 | 186 | ||
187 | Documentation of the uvesafb options is loosely based on vesafb.txt. | 187 | Documentation of the uvesafb options is loosely based on vesafb.txt. |
188 | 188 | ||
189 | 189 |