Ӕsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/translations/zh_CN/fb/sstfbmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/zh_TW/fb/sstfbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/it_IT/fb/sstfbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ja_JP/fb/sstfbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ko_KR/fb/sstfbmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/sp_SP/fb/sstfbmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hsstfbh]hsstfb}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh6/var/lib/git/docbuild/linux/Documentation/fb/sstfb.rsthKubh)}(hhh](h)}(h Introductionh]h Introduction}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hXThis is a frame buffer device driver for 3dfx' Voodoo Graphics (aka voodoo 1, aka sst1) and Voodoo² (aka Voodoo 2, aka CVG) based video boards. It's highly experimental code, but is guaranteed to work on my computer, with my "Maxi Gamer 3D" and "Maxi Gamer 3d²" boards, and with me "between chair and keyboard". Some people tested other combinations and it seems that it works. The main page is located at , and if you want the latest version, check out the CVS, as the driver is a work in progress, I feel uncomfortable with releasing tarballs of something not completely working...Don't worry, it's still more than usable (I eat my own dog food)h](hXThis is a frame buffer device driver for 3dfx’ Voodoo Graphics (aka voodoo 1, aka sst1) and Voodoo² (aka Voodoo 2, aka CVG) based video boards. It’s highly experimental code, but is guaranteed to work on my computer, with my “Maxi Gamer 3D” and “Maxi Gamer 3d²” boards, and with me “between chair and keyboard”. Some people tested other combinations and it seems that it works. The main page is located at <}(hhhhhNhNubh reference)}(hhttp://sstfb.sourceforge.neth]hhttp://sstfb.sourceforge.net}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurihuh1hhhubh>, and if you want the latest version, check out the CVS, as the driver is a work in progress, I feel uncomfortable with releasing tarballs of something not completely working...Don’t worry, it’s still more than usable (I eat my own dog food)}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXPlease read the Bug section, and report any success or failure to me (Ghozlane Toumi ). BTW, If you have only one monitor , and you don't feel like playing with the vga passthrou cable, I can only suggest borrowing a screen somewhere...h](hVPlease read the Bug section, and report any success or failure to me (Ghozlane Toumi <}(hhhhhNhNubh)}(hgtoumi@laposte.neth]hgtoumi@laposte.net}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:gtoumi@laposte.netuh1hhhubh>). BTW, If you have only one monitor , and you don’t feel like playing with the vga passthrou cable, I can only suggest borrowing a screen somewhere...}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] introductionah ]h"] introductionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Installationh]h Installation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hXThis driver (should) work on ix86, with "late" 2.2.x kernel (tested with x = 19) and "recent" 2.4.x kernel, as a module or compiled in. It has been included in mainstream kernel since the infamous 2.4.10. You can apply the patches found in `sstfb/kernel/*-2.{2|4}.x.patch`, and copy sstfb.c to linux/drivers/video/, or apply a single patch, `sstfb/patch-2.{2|4}.x-sstfb-yymmdd` to your linux source tree.h](hThis driver (should) work on ix86, with “late” 2.2.x kernel (tested with x = 19) and “recent” 2.4.x kernel, as a module or compiled in. It has been included in mainstream kernel since the infamous 2.4.10. You can apply the patches found in }(hj(hhhNhNubhtitle_reference)}(h `sstfb/kernel/*-2.{2|4}.x.patch`h]hsstfb/kernel/*-2.{2|4}.x.patch}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j0hj(ubhE, and copy sstfb.c to linux/drivers/video/, or apply a single patch, }(hj(hhhNhNubj1)}(h$`sstfb/patch-2.{2|4}.x-sstfb-yymmdd`h]h"sstfb/patch-2.{2|4}.x-sstfb-yymmdd}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j0hj(ubh to your linux source tree.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThen configure your kernel as usual: choose "m" or "y" to 3Dfx Voodoo Graphics in section "console". Compile, install, have fun... and please drop me a report :)h]hThen configure your kernel as usual: choose “m” or “y” to 3Dfx Voodoo Graphics in section “console”. Compile, install, have fun... and please drop me a report :)}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjhhubeh}(h] installationah ]h"] installationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Module Usageh]h Module Usage}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhhhhhK+ubhwarning)}(hX#. You should read completely this section before issuing any command. #. If you have only one monitor to play with, once you insmod the module, the 3dfx takes control of the output, so you'll have to plug the monitor to the "normal" video board in order to issue the commands, or you can blindly use sst_dbg_vgapass in the tools directory (See Tools). The latest solution is pass the parameter vgapass=1 when insmodding the driver. (See Kernel/Modules Options)h]henumerated_list)}(hhh](h list_item)}(hDYou should read completely this section before issuing any command. h]h)}(hCYou should read completely this section before issuing any command.h]hCYou should read completely this section before issuing any command.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hXIf you have only one monitor to play with, once you insmod the module, the 3dfx takes control of the output, so you'll have to plug the monitor to the "normal" video board in order to issue the commands, or you can blindly use sst_dbg_vgapass in the tools directory (See Tools). The latest solution is pass the parameter vgapass=1 when insmodding the driver. (See Kernel/Modules Options)h]h)}(hXIf you have only one monitor to play with, once you insmod the module, the 3dfx takes control of the output, so you'll have to plug the monitor to the "normal" video board in order to issue the commands, or you can blindly use sst_dbg_vgapass in the tools directory (See Tools). The latest solution is pass the parameter vgapass=1 when insmodding the driver. (See Kernel/Modules Options)h]hXIf you have only one monitor to play with, once you insmod the module, the 3dfx takes control of the output, so you’ll have to plug the monitor to the “normal” video board in order to issue the commands, or you can blindly use sst_dbg_vgapass in the tools directory (See Tools). The latest solution is pass the parameter vgapass=1 when insmodding the driver. (See Kernel/Modules Options)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjrhhhNhNubh)}(hhh](h)}(hModule insertionh]hModule insertion}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK:ubh block_quote)}(hXO#. insmod sstfb.o you should see some strange output from the board: a big blue square, a green and a red small squares and a vertical white rectangle. why? the function's name is self-explanatory: "sstfb_test()"... (if you don't have a second monitor, you'll have to plug your monitor directly to the 2D videocard to see what you're typing) #. con2fb /dev/fbx /dev/ttyx bind a tty to the new frame buffer. if you already have a frame buffer driver, the voodoo fb will likely be /dev/fb1. if not, the device will be /dev/fb0. You can check this by doing a cat /proc/fb. You can find a copy of con2fb in tools/ directory. if you don't have another fb device, this step is superfluous, as the console subsystem automagically binds ttys to the fb. #. switch to the virtual console you just mapped. "tadaaa" ... h]j)}(hhh](j)}(hXTinsmod sstfb.o you should see some strange output from the board: a big blue square, a green and a red small squares and a vertical white rectangle. why? the function's name is self-explanatory: "sstfb_test()"... (if you don't have a second monitor, you'll have to plug your monitor directly to the 2D videocard to see what you're typing) h](h)}(hinsmod sstfb.oh]hinsmod sstfb.o}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hXcon2fb /dev/fbx /dev/ttyx bind a tty to the new frame buffer. if you already have a frame buffer driver, the voodoo fb will likely be /dev/fb1. if not, the device will be /dev/fb0. You can check this by doing a cat /proc/fb. You can find a copy of con2fb in tools/ directory. if you don't have another fb device, this step is superfluous, as the console subsystem automagically binds ttys to the fb.h](h)}(hcon2fb /dev/fbx /dev/ttyxh]hcon2fb /dev/fbx /dev/ttyx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubh)}(hXubind a tty to the new frame buffer. if you already have a frame buffer driver, the voodoo fb will likely be /dev/fb1. if not, the device will be /dev/fb0. You can check this by doing a cat /proc/fb. You can find a copy of con2fb in tools/ directory. if you don't have another fb device, this step is superfluous, as the console subsystem automagically binds ttys to the fb.h]hXwbind a tty to the new frame buffer. if you already have a frame buffer driver, the voodoo fb will likely be /dev/fb1. if not, the device will be /dev/fb0. You can check this by doing a cat /proc/fb. You can find a copy of con2fb in tools/ directory. if you don’t have another fb device, this step is superfluous, as the console subsystem automagically binds ttys to the fb.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hThe driver is not your_favorite_toy-safe. this includes SMP...h]h>The driver is not your_favorite_toy-safe. this includes SMP...}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhubj)}(h6[Actually from inspection it seems to be safe - Alan] h]h)}(h5[Actually from inspection it seems to be safe - Alan]h]h5[Actually from inspection it seems to be safe - Alan]}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1jhhhKhjhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hXZWhen using XFree86 FBdev (X over fbdev) you may see strange color patterns at the border of your windows (the pixels lose the lowest byte -> basically the blue component and some of the green). I'm unable to reproduce this with XFree86-3.3, but one of the testers has this problem with XFree86-4. Apparently recent Xfree86-4.x solve this problem.h]h)}(hXZWhen using XFree86 FBdev (X over fbdev) you may see strange color patterns at the border of your windows (the pixels lose the lowest byte -> basically the blue component and some of the green). I'm unable to reproduce this with XFree86-3.3, but one of the testers has this problem with XFree86-4. Apparently recent Xfree86-4.x solve this problem.h]hX\When using XFree86 FBdev (X over fbdev) you may see strange color patterns at the border of your windows (the pixels lose the lowest byte -> basically the blue component and some of the green). I’m unable to reproduce this with XFree86-3.3, but one of the testers has this problem with XFree86-4. Apparently recent Xfree86-4.x solve this problem.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hdI didn't really test changing the palette, so you may find some weird things when playing with that.h]h)}(hdI didn't really test changing the palette, so you may find some weird things when playing with that.h]hfI didn’t really test changing the palette, so you may find some weird things when playing with that.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hSometimes the driver will not recognise the DAC, and the initialisation will fail. This is specifically true for voodoo 2 boards, but it should be solved in recent versions. Please contact me.h]h)}(hSometimes the driver will not recognise the DAC, and the initialisation will fail. This is specifically true for voodoo 2 boards, but it should be solved in recent versions. Please contact me.h]hSometimes the driver will not recognise the DAC, and the initialisation will fail. This is specifically true for voodoo 2 boards, but it should be solved in recent versions. Please contact me.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hnThe 24/32 is not likely to work anytime soon, knowing that the hardware does ... unusual things in 24/32 bpp. h]h)}(hmThe 24/32 is not likely to work anytime soon, knowing that the hardware does ... unusual things in 24/32 bpp.h]hmThe 24/32 is not likely to work anytime soon, knowing that the hardware does ... unusual things in 24/32 bpp.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhKhjhhubeh}(h]bugsah ]h"]bugsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hTodoh]hTodo}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubj)}(hhh](j)}(h"Get rid of the previous paragraph.h]h)}(hj h]h"Get rid of the previous paragraph.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hBuy more coffee.h]h)}(hj3 h]hBuy more coffee.}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1 ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(htest/port to other arch.h]h)}(hjJ h]htest/port to other arch.}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubj)}(hh](hGhozlane Toumi <}(hj hhhNhNubh)}(hgtoumi@laposte.neth]hgtoumi@laposte.net}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:gtoumi@laposte.netuh1hhj ubh>}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(hDate: 2002/05/09 20:11:45h]hDate: 2002/05/09 20:11:45}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubh)}(h#http://sstfb.sourceforge.net/READMEh]h)}(hj h]h#http://sstfb.sourceforge.net/README}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]todoah ]h"]todoah$]h&]uh1hhhhhhhhKubeh}(h]sstfbah ]h"]sstfbah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj.footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j jjjojlj0j-j`j]jjj(j%jjj j j j u nametypes}(j jjoj0j`jj(jj j uh}(j hjhjljj-jrj]jjjcj%jjj3j jj j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.