/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

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