PageRenderTime 33ms CodeModel.GetById 20ms app.highlight 8ms RepoModel.GetById 0ms app.codeStats 0ms

/Documentation/fb/viafb.txt

https://bitbucket.org/abioy/linux
Plain Text | 204 lines | 165 code | 39 blank | 0 comment | 0 complexity | 6d0434aaed4b9280e5bd66c4debb005c MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
  1
  2        VIA Integration Graphic Chip Console Framebuffer Driver
  3
  4[Platform]
  5-----------------------
  6    The console framebuffer driver is for graphics chips of
  7    VIA UniChrome Family(CLE266, PM800 / CN400 / CN300,
  8                        P4M800CE / P4M800Pro / CN700 / VN800,
  9                        CX700 / VX700, K8M890, P4M890,
 10                        CN896 / P4M900, VX800, VX855)
 11
 12[Driver features]
 13------------------------
 14    Device: CRT, LCD, DVI
 15
 16    Support viafb_mode:
 17        CRT:
 18            640x480(60, 75, 85, 100, 120 Hz), 720x480(60 Hz),
 19            720x576(60 Hz), 800x600(60, 75, 85, 100, 120 Hz),
 20            848x480(60 Hz), 856x480(60 Hz), 1024x512(60 Hz),
 21            1024x768(60, 75, 85, 100 Hz), 1152x864(75 Hz),
 22            1280x768(60 Hz), 1280x960(60 Hz), 1280x1024(60, 75, 85 Hz),
 23            1440x1050(60 Hz), 1600x1200(60, 75 Hz), 1280x720(60 Hz),
 24            1920x1080(60 Hz), 1400x1050(60 Hz), 800x480(60 Hz)
 25
 26    color depth: 8 bpp, 16 bpp, 32 bpp supports.
 27
 28    Support 2D hardware accelerator.
 29
 30[Using the viafb module]
 31-- -- --------------------
 32    Start viafb with default settings:
 33        #modprobe viafb
 34
 35    Start viafb with with user options:
 36        #modprobe viafb viafb_mode=800x600 viafb_bpp=16 viafb_refresh=60
 37                  viafb_active_dev=CRT+DVI viafb_dvi_port=DVP1
 38                  viafb_mode1=1024x768 viafb_bpp=16 viafb_refresh1=60
 39                  viafb_SAMM_ON=1
 40
 41    viafb_mode:
 42        640x480 (default)
 43        720x480
 44        800x600
 45        1024x768
 46        ......
 47
 48    viafb_bpp:
 49        8, 16, 32 (default:32)
 50
 51    viafb_refresh:
 52        60, 75, 85, 100, 120 (default:60)
 53
 54    viafb_lcd_dsp_method:
 55        0 : expansion (default)
 56        1 : centering
 57
 58    viafb_lcd_mode:
 59        0 : LCD panel with LSB data format input (default)
 60        1 : LCD panel with MSB data format input
 61
 62    viafb_lcd_panel_id:
 63        0 : Resolution: 640x480, Channel: single, Dithering: Enable
 64        1 : Resolution: 800x600, Channel: single, Dithering: Enable
 65        2 : Resolution: 1024x768, Channel: single, Dithering: Enable (default)
 66        3 : Resolution: 1280x768, Channel: single, Dithering: Enable
 67        4 : Resolution: 1280x1024, Channel: dual, Dithering: Enable
 68        5 : Resolution: 1400x1050, Channel: dual, Dithering: Enable
 69        6 : Resolution: 1600x1200, Channel: dual, Dithering: Enable
 70
 71        8 : Resolution: 800x480, Channel: single, Dithering: Enable
 72        9 : Resolution: 1024x768, Channel: dual, Dithering: Enable
 73        10: Resolution: 1024x768, Channel: single, Dithering: Disable
 74        11: Resolution: 1024x768, Channel: dual, Dithering: Disable
 75        12: Resolution: 1280x768, Channel: single, Dithering: Disable
 76        13: Resolution: 1280x1024, Channel: dual, Dithering: Disable
 77        14: Resolution: 1400x1050, Channel: dual, Dithering: Disable
 78        15: Resolution: 1600x1200, Channel: dual, Dithering: Disable
 79        16: Resolution: 1366x768, Channel: single, Dithering: Disable
 80        17: Resolution: 1024x600, Channel: single, Dithering: Enable
 81        18: Resolution: 1280x768, Channel: dual, Dithering: Enable
 82        19: Resolution: 1280x800, Channel: single, Dithering: Enable
 83
 84    viafb_accel:
 85        0 : No 2D Hardware Acceleration
 86        1 : 2D Hardware Acceleration (default)
 87
 88    viafb_SAMM_ON:
 89        0 : viafb_SAMM_ON disable (default)
 90        1 : viafb_SAMM_ON enable
 91
 92    viafb_mode1: (secondary display device)
 93        640x480 (default)
 94        720x480
 95        800x600
 96        1024x768
 97        ... ...
 98
 99    viafb_bpp1: (secondary display device)
100        8, 16, 32 (default:32)
101
102    viafb_refresh1: (secondary display device)
103        60, 75, 85, 100, 120 (default:60)
104
105    viafb_active_dev:
106        This option is used to specify active devices.(CRT, DVI, CRT+LCD...)
107        DVI stands for DVI or HDMI, E.g., If you want to enable HDMI,
108        set viafb_active_dev=DVI. In SAMM case, the previous of
109        viafb_active_dev is primary device, and the following is
110        secondary device.
111
112        For example:
113        To enable one device, such as DVI only, we can use:
114            modprobe viafb viafb_active_dev=DVI
115        To enable two devices, such as CRT+DVI:
116            modprobe viafb viafb_active_dev=CRT+DVI;
117
118        For DuoView case, we can use:
119            modprobe viafb viafb_active_dev=CRT+DVI
120            OR
121            modprobe viafb viafb_active_dev=DVI+CRT...
122
123        For SAMM case:
124        If CRT is primary and DVI is secondary, we should use:
125            modprobe viafb viafb_active_dev=CRT+DVI viafb_SAMM_ON=1...
126        If DVI is primary and CRT is secondary, we should use:
127            modprobe viafb viafb_active_dev=DVI+CRT viafb_SAMM_ON=1...
128
129    viafb_display_hardware_layout:
130        This option is used to specify display hardware layout for CX700 chip.
131        1 : LCD only
132        2 : DVI only
133        3 : LCD+DVI (default)
134        4 : LCD1+LCD2 (internal + internal)
135        16: LCD1+ExternalLCD2 (internal + external)
136
137    viafb_second_size:
138        This option is used to set second device memory size(MB) in SAMM case.
139        The minimal size is 16.
140
141    viafb_platform_epia_dvi:
142        This option is used to enable DVI on EPIA - M
143        0 : No DVI on EPIA - M (default)
144        1 : DVI on EPIA - M
145
146    viafb_bus_width:
147        When using 24 - Bit Bus Width Digital Interface,
148        this option should be set.
149        12: 12-Bit LVDS or 12-Bit TMDS (default)
150        24: 24-Bit LVDS or 24-Bit TMDS
151
152    viafb_device_lcd_dualedge:
153        When using Dual Edge Panel, this option should be set.
154        0 : No Dual Edge Panel (default)
155        1 : Dual Edge Panel
156
157    viafb_lcd_port:
158        This option is used to specify LCD output port,
159        available values are "DVP0" "DVP1" "DFP_HIGHLOW" "DFP_HIGH" "DFP_LOW".
160        for external LCD + external DVI on CX700(External LCD is on DVP0),
161        we should use:
162            modprobe viafb viafb_lcd_port=DVP0...
163
164Notes:
165    1. CRT may not display properly for DuoView CRT & DVI display at
166       the "640x480" PAL mode with DVI overscan enabled.
167    2. SAMM stands for single adapter multi monitors. It is different from
168       multi-head since SAMM support multi monitor at driver layers, thus fbcon
169       layer doesn't even know about it; SAMM's second screen doesn't have a
170       device node file, thus a user mode application can't access it directly.
171       When SAMM is enabled, viafb_mode and viafb_mode1, viafb_bpp and
172       viafb_bpp1, viafb_refresh and viafb_refresh1 can be different.
173    3. When console is depending on viafbinfo1, dynamically change resolution
174       and bpp, need to call VIAFB specified ioctl interface VIAFB_SET_DEVICE
175       instead of calling common ioctl function FBIOPUT_VSCREENINFO since
176       viafb doesn't support multi-head well, or it will cause screen crush.
177
178
179[Configure viafb with "fbset" tool]
180-----------------------------------
181    "fbset" is an inbox utility of Linux.
182    1. Inquire current viafb information, type,
183           # fbset -i
184
185    2. Set various resolutions and viafb_refresh rates,
186           # fbset <resolution-vertical_sync>
187
188       example,
189           # fbset "1024x768-75"
190       or
191           # fbset -g 1024 768 1024 768 32
192       Check the file "/etc/fb.modes" to find display modes available.
193
194    3. Set the color depth,
195           # fbset -depth <value>
196
197       example,
198           # fbset -depth 16
199
200[Bootup with viafb]:
201--------------------
202    Add the following line to your grub.conf:
203    append = "video=viafb:viafb_mode=1024x768,viafb_bpp=32,viafb_refresh=85"
204