brintos

brintos / linux-shallow public Read only

0
0
Text · 8.9 KiB · 8eb7a3b Raw
298 lines · plain
1=======================================================2VIA Integration Graphic Chip Console Framebuffer Driver3=======================================================4 5Platform6--------7    The console framebuffer driver is for graphics chips of8    VIA UniChrome Family9    (CLE266, PM800 / CN400 / CN300,10    P4M800CE / P4M800Pro / CN700 / VN800,11    CX700 / VX700, K8M890, P4M890,12    CN896 / P4M900, VX800, VX855)13 14Driver features15---------------16    Device: CRT, LCD, DVI17 18    Support viafb_mode::19 20	CRT:21	    640x480(60, 75, 85, 100, 120 Hz), 720x480(60 Hz),22	    720x576(60 Hz), 800x600(60, 75, 85, 100, 120 Hz),23	    848x480(60 Hz), 856x480(60 Hz), 1024x512(60 Hz),24	    1024x768(60, 75, 85, 100 Hz), 1152x864(75 Hz),25	    1280x768(60 Hz), 1280x960(60 Hz), 1280x1024(60, 75, 85 Hz),26	    1440x1050(60 Hz), 1600x1200(60, 75 Hz), 1280x720(60 Hz),27	    1920x1080(60 Hz), 1400x1050(60 Hz), 800x480(60 Hz)28 29    color depth: 8 bpp, 16 bpp, 32 bpp supports.30 31    Support 2D hardware accelerator.32 33Using the viafb module34----------------------35    Start viafb with default settings::36 37	#modprobe viafb38 39    Start viafb with user options::40 41	#modprobe viafb viafb_mode=800x600 viafb_bpp=16 viafb_refresh=6042		  viafb_active_dev=CRT+DVI viafb_dvi_port=DVP143		  viafb_mode1=1024x768 viafb_bpp=16 viafb_refresh1=6044		  viafb_SAMM_ON=145 46    viafb_mode:47	- 640x480 (default)48	- 720x48049	- 800x60050	- 1024x76851 52    viafb_bpp:53	- 8, 16, 32 (default:32)54 55    viafb_refresh:56	- 60, 75, 85, 100, 120 (default:60)57 58    viafb_lcd_dsp_method:59	- 0 : expansion (default)60	- 1 : centering61 62    viafb_lcd_mode:63	0 : LCD panel with LSB data format input (default)64	1 : LCD panel with MSB data format input65 66    viafb_lcd_panel_id:67	- 0 : Resolution: 640x480, Channel: single, Dithering: Enable68	- 1 : Resolution: 800x600, Channel: single, Dithering: Enable69	- 2 : Resolution: 1024x768, Channel: single, Dithering: Enable (default)70	- 3 : Resolution: 1280x768, Channel: single, Dithering: Enable71	- 4 : Resolution: 1280x1024, Channel: dual, Dithering: Enable72	- 5 : Resolution: 1400x1050, Channel: dual, Dithering: Enable73	- 6 : Resolution: 1600x1200, Channel: dual, Dithering: Enable74 75	- 8 : Resolution: 800x480, Channel: single, Dithering: Enable76	- 9 : Resolution: 1024x768, Channel: dual, Dithering: Enable77	- 10: Resolution: 1024x768, Channel: single, Dithering: Disable78	- 11: Resolution: 1024x768, Channel: dual, Dithering: Disable79	- 12: Resolution: 1280x768, Channel: single, Dithering: Disable80	- 13: Resolution: 1280x1024, Channel: dual, Dithering: Disable81	- 14: Resolution: 1400x1050, Channel: dual, Dithering: Disable82	- 15: Resolution: 1600x1200, Channel: dual, Dithering: Disable83	- 16: Resolution: 1366x768, Channel: single, Dithering: Disable84	- 17: Resolution: 1024x600, Channel: single, Dithering: Enable85	- 18: Resolution: 1280x768, Channel: dual, Dithering: Enable86	- 19: Resolution: 1280x800, Channel: single, Dithering: Enable87 88    viafb_accel:89	- 0 : No 2D Hardware Acceleration90	- 1 : 2D Hardware Acceleration (default)91 92    viafb_SAMM_ON:93	- 0 : viafb_SAMM_ON disable (default)94	- 1 : viafb_SAMM_ON enable95 96    viafb_mode1: (secondary display device)97	- 640x480 (default)98	- 720x48099	- 800x600100	- 1024x768101 102    viafb_bpp1: (secondary display device)103	- 8, 16, 32 (default:32)104 105    viafb_refresh1: (secondary display device)106	- 60, 75, 85, 100, 120 (default:60)107 108    viafb_active_dev:109	This option is used to specify active devices.(CRT, DVI, CRT+LCD...)110	DVI stands for DVI or HDMI, E.g., If you want to enable HDMI,111	set viafb_active_dev=DVI. In SAMM case, the previous of112	viafb_active_dev is primary device, and the following is113	secondary device.114 115	For example:116 117	To enable one device, such as DVI only, we can use::118 119	    modprobe viafb viafb_active_dev=DVI120 121	To enable two devices, such as CRT+DVI::122 123	    modprobe viafb viafb_active_dev=CRT+DVI;124 125	For DuoView case, we can use::126 127	    modprobe viafb viafb_active_dev=CRT+DVI128 129	OR::130 131	    modprobe viafb viafb_active_dev=DVI+CRT...132 133	For SAMM case:134 135	If CRT is primary and DVI is secondary, we should use::136 137	    modprobe viafb viafb_active_dev=CRT+DVI viafb_SAMM_ON=1...138 139	If DVI is primary and CRT is secondary, we should use::140 141	    modprobe viafb viafb_active_dev=DVI+CRT viafb_SAMM_ON=1...142 143    viafb_display_hardware_layout:144	This option is used to specify display hardware layout for CX700 chip.145 146	- 1 : LCD only147	- 2 : DVI only148	- 3 : LCD+DVI (default)149	- 4 : LCD1+LCD2 (internal + internal)150	- 16: LCD1+ExternalLCD2 (internal + external)151 152    viafb_second_size:153	This option is used to set second device memory size(MB) in SAMM case.154	The minimal size is 16.155 156    viafb_platform_epia_dvi:157	This option is used to enable DVI on EPIA - M158 159	- 0 : No DVI on EPIA - M (default)160	- 1 : DVI on EPIA - M161 162    viafb_bus_width:163	When using 24 - Bit Bus Width Digital Interface,164	this option should be set.165 166	- 12: 12-Bit LVDS or 12-Bit TMDS (default)167	- 24: 24-Bit LVDS or 24-Bit TMDS168 169    viafb_device_lcd_dualedge:170	When using Dual Edge Panel, this option should be set.171 172	- 0 : No Dual Edge Panel (default)173	- 1 : Dual Edge Panel174 175    viafb_lcd_port:176	This option is used to specify LCD output port,177	available values are "DVP0" "DVP1" "DFP_HIGHLOW" "DFP_HIGH" "DFP_LOW".178 179	for external LCD + external DVI on CX700(External LCD is on DVP0),180	we should use::181 182	    modprobe viafb viafb_lcd_port=DVP0...183 184Notes:185    1. CRT may not display properly for DuoView CRT & DVI display at186       the "640x480" PAL mode with DVI overscan enabled.187    2. SAMM stands for single adapter multi monitors. It is different from188       multi-head since SAMM support multi monitor at driver layers, thus fbcon189       layer doesn't even know about it; SAMM's second screen doesn't have a190       device node file, thus a user mode application can't access it directly.191       When SAMM is enabled, viafb_mode and viafb_mode1, viafb_bpp and192       viafb_bpp1, viafb_refresh and viafb_refresh1 can be different.193    3. When console is depending on viafbinfo1, dynamically change resolution194       and bpp, need to call VIAFB specified ioctl interface VIAFB_SET_DEVICE195       instead of calling common ioctl function FBIOPUT_VSCREENINFO since196       viafb doesn't support multi-head well, or it will cause screen crush.197 198 199Configure viafb with "fbset" tool200---------------------------------201 202    "fbset" is an inbox utility of Linux.203 204    1. Inquire current viafb information, type::205 206	   # fbset -i207 208    2. Set various resolutions and viafb_refresh rates::209 210	   # fbset <resolution-vertical_sync>211 212       example::213 214	   # fbset "1024x768-75"215 216       or::217 218	   # fbset -g 1024 768 1024 768 32219 220       Check the file "/etc/fb.modes" to find display modes available.221 222    3. Set the color depth::223 224	   # fbset -depth <value>225 226       example::227 228	   # fbset -depth 16229 230 231Configure viafb via /proc232-------------------------233    The following files exist in /proc/viafb234 235    supported_output_devices236	This read-only file contains a full ',' separated list containing all237	output devices that could be available on your platform. It is likely238	that not all of those have a connector on your hardware but it should239	provide a good starting point to figure out which of those names match240	a real connector.241 242	Example::243 244		# cat /proc/viafb/supported_output_devices245 246    iga1/output_devices, iga2/output_devices247	These two files are readable and writable. iga1 and iga2 are the two248	independent units that produce the screen image. Those images can be249	forwarded to one or more output devices. Reading those files is a way250	to query which output devices are currently used by an iga.251 252	Example::253 254		# cat /proc/viafb/iga1/output_devices255 256	If there are no output devices printed the output of this iga is lost.257	This can happen for example if only one (the other) iga is used.258	Writing to these files allows adjusting the output devices during259	runtime. One can add new devices, remove existing ones or switch260	between igas. Essentially you can write a ',' separated list of device261	names (or a single one) in the same format as the output to those262	files. You can add a '+' or '-' as a prefix allowing simple addition263	and removal of devices. So a prefix '+' adds the devices from your list264	to the already existing ones, '-' removes the listed devices from the265	existing ones and if no prefix is given it replaces all existing ones266	with the listed ones. If you remove devices they are expected to turn267	off. If you add devices that are already part of the other iga they are268	removed there and added to the new one.269 270	Examples:271 272	Add CRT as output device to iga1::273 274		# echo +CRT > /proc/viafb/iga1/output_devices275 276	Remove (turn off) DVP1 and LVDS1 as output devices of iga2::277 278		# echo -DVP1,LVDS1 > /proc/viafb/iga2/output_devices279 280	Replace all iga1 output devices by CRT::281 282		# echo CRT > /proc/viafb/iga1/output_devices283 284 285Bootup with viafb286-----------------287 288Add the following line to your grub.conf::289 290    append = "video=viafb:viafb_mode=1024x768,viafb_bpp=32,viafb_refresh=85"291 292 293VIA Framebuffer modes294=====================295 296.. include:: viafb.modes297   :literal:298