1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254
|
The Linux 3Dfx HOWTO
Bernd Kreimeier (bk@gamers.org)
v1.03, 12 Luglio 1997
Questo documento descrive il supporto del chip acceleratore grafico
3Dfx per Linux. Elenca l'hardware supportato, descrive come configu
rare i driver e risponde alle domande pi frequenti. Lo scopo quello
di portare i nuovi utenti al successo il pi velocemente possibile e
di ridurre cos il traffico nei newsgroup e nelle mailing list Usenet.
Documentazione tradotta da Piero Boato (pboato@dsi.unive.it).
1. Introduzione
Questo il Linux 3Dfx HOWTO. Vuole essere una rapida guida su tutto
quello che c' da sapere per installare e configurare il supporto per
3Dfx sotto Linux. Qui si trovano le risposte alle domande pi
frequenti sia riguardo lo specifico supporto per 3Dfx sia riguardo la
grafica 3D sotto Linux in generale. Inoltre ci sono alcuni riferimenti
ad altre fonti di informazione su svariati argomenti collegati alla
grafica 3D generata a computer da acceleratori hardware.
Queste informazioni sono valide solo per Linux installato su
piattaforme Intel. Alcune informazioni possono essere applicabili
anche su altre architetture, ma non ho esperienza o informazioni
dirette. Sono da applicare solamente su schede basate sulla tecnologia
3Dfx, ogni altro acceleratore grafico non rientra nel contesto di
questa documentazione.
1.1. Riconoscimenti
La maggior parte delle informazioni contenute in questa documentazione
sono state fornite dalle persone coinvolte nella trasposizione della
Glide per Linux e nel suo processo di beta test. Daryll Strauss ha
fatto la trasposizione, Paul J. Metzger ha modificato il driver Mesa
Voodoo (scritto da David Bucciarelli) per Linux, Brian Paul lo ha
integrato con la sua famosa libreria Mesa. Riguardo alla Mesa
accelerata per Voodoo Graphics (tm) un ringrazziamento particolare va
a Henri Fousse e Charlie Wallace. La gente alla 3Dfx, in particolar
modo Gary Sanders e Gary McTaggart, ha fornito molto materiale, come
ha fatto Ross Q. Smith della Quantum3D.
Grazie al pacchetto SGML-Tools (conosciuto anche come Linuxdoc-SGML),
questo HOWTO disponibile in diversi formati, tutti generati dallo
stesso file sorgente. Per informazioni sull'SGML-Tools vedi la sua
homepage all'indirizzo web.inter.NL.net/users/C.deGroot/sgmltools/.
3Dfx, il logo 3Dfx Interactive, Voodoo Graphics (tm), e Voodoo Rush
(tm) sono marchi registrati dalla 3Dfx Interactive, Inc. Glide, TexUS,
Pixelfx e Texelfx sono marchi registrati dalla 3Dfx Interactive, Inc.
OpenGL un marchio registrato dalla Silicon Graphics. Obsidian un
marchio registrato dalla Quantum3D. Gli altri nomi di prodotti sono
marchi registrati dai rispettivi proprietari e con ci sono da
considerarsi propriamente riconosciuti.
1.2. Storia delle Revisioni
Versione 1.03
Prima versione resa pubblica.
1.3. Nuove Versioni di Questa Documentazione
Puoi trovare la versione pi aggiornata di questa documentazione
presso www.gamers.org/dEngine/xf3D/.
Le nuove versioni di questa documentazione verranno postate nel
newsgroup comp.os.linux.answers. Inoltre saranno depositate in vari
siti per l'ftp anonimo che archiviano questo tipo di informazioni come
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.
Le versioni ipertestuali di questo e di altri Linux HOWTO sono
disponibili su molti siti World-Wide-Web, compreso
sunsite.unc.edu/mdw/mdw.html. La maggior parte delle distribuzioni di
Linux su CD-ROM includono gli HOWTO, spesso nella directory /usr/doc/,
inoltre presso alcuni rivenditori si pu acquistarne una copia
stampata.
Se si fa una traduzione di questo documento in un'altra lingua, me lo
si faccia sapere che accenner qui alla sua esistenza.
1.4. Commenti e Correzioni
Confido in te, lettore, per far s che questo HOWTO sia utile. Se si
hanno suggerimenti, correzioni o commenti, per piacere me li si
spedisca (bk@gamers.org), e io cercher di inserirli nella prossima
revisione. Per piacere si aggiunga HOWTO 3Dfx al soggetto della
lettera, cos procmail lo scaricher nell'apposita cartella.
Prima di mandare bug report o domande, per favore si legga per intero
questo HOWTO e si inviino informazioni dettagliate sul problema.
Se si publica questa documentazione in un qualche CD-ROM o in altro
supporto fisico, sar apprezzata una copia in omaggio. Mi si scriva
per il mio indirizzo postale. Inoltre si consideri la possibilit di
una donazione al Linux Documentation Project come contributo al
mantenimento della documentazione gratuita per Linux. Per maggiori
informazioni si contatti il coordinatore dei Linux HOWTO, Greg Hankins
(gregh@sunsite.unc.edu).
1.5. Politica di Distribuzione
Copyright (C) 1997 Bernd Kreimeier.
Questo HOWTO una documentazione gratuita; si pu ridistribuirlo e/o
modificarlo secondo le specifiche della GNU General Public License
publicata dalla Free Software Foundation; presenti nella versione 2
della License, o (a scelta) in qualche versione seguente.
Questa documentazione viene distribuita nella speranza che possa
essere utile, ma senza alcuna garanzia; senza anche l'implicita
garanzia di commerciabilit o di adeguatezza ad uno scopo particolare.
Si veda la GNU General Public License per maggiori particolari.
Si pu ottenere una copia della GNU General Public License scrivendo
alla Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
2. Tecnologia degli Acceleratori Grafici
2.1. Principi
Questa sezione descrive molto velocemente la tecnologia degli
acceleratori grafici per computer, in modo da aiutare a capire i
concetti usati in seguito. Se se ne vuole sapere di pi si pu
consultare un libro su OpenGL.
Fondamentalmente, la grafica 3D su computer richiede spesso un gran
numero di calcoli per ogni singolo pixel dello schermo. Questo vero
soprattutto per quelle applicazioni che devono rappresentare un mondo
poligonale nei vari frame di un'animazione interattiva. Anche a basse
risoluzioni come 320x200, ci richiede una capacit di calcolo
superiore a quella che pu essere fornita anche dal PC pi potente.
Per superare questo collo di bottiglia, alcune societ hanno
progettato, costruito e venduto processori dedicati alle operazioni
necessarie per la grafica 3D. Purtroppo praticamente nessuno dei
produttori di schede ha finora offerto alcun supporto per Linux.
Fortunatamente, il produttore dei chipset Voodoo Graphics (tm) e
Voodoo Rush (tm), 3Dfx, ha deciso di supportare l'uso delle schede
basate sul Voodoo Graphics (tm) con Linux. Ci che si prefigge questa
documentazione di descrivere il supporto attualmente disponibile.
2.2. Configurazioni Hardware (Add-on)
Gli acceleratori grafici si trovano in formati diversi: o come schede
PCI capaci di passare attraverso il segnale video di una scheda VGA
(possibilmente un acceleratore 2D o video), o come schede PCI che
generano grafica sia VGA sia 3D (rimpiazzando totalmente il vecchio
controller VGA). Le schede 3Dfx basate sul Voodoo Graphics (tm)
appartengono alla prima categoria. Entreremo nel merito in seguito.
Se non ci sono conflitti hardware, qualsiasi scheda acceleratrice pu
essere presente sotto Linux senza interferire, ma per accedere
all'acceleratore, si deve disporre di un driver.
2.3. Limiti di Prestazioni
2.3.1. Limiti di fill rate
La grafica accelerata dall'hardware limitata nelle prestazioni per
diversi motivi. Un tipico collo di bottiglia il fill rate: il numero
totale di pixel che l'hardware pu generare in condizioni ottimali in
un determinato tempo - ad es. circa 40 Mpixel/secondo. Data una
risoluzione di 640x480 e nessuna sovrascrittura, l'hardware non pu
generare pi di 130 frame/secondo.
Il numero di sovrascritture dipende dall'attuale profondit della
scena (quanti poligoni interseca un raggio passante per un pixel) e
dall'efficienza dell'algoritmo di determinazione delle superfici
visibili usato dall'applicazione. Disegnare ogni pixel due volte
significa 65 frame/secondo, una sovrascrittura pari a 2 (disegnare
ogni pixel tre volte) ti porta a circa 43 frame/secondo.
2.3.2. Perdita di refresh
Inoltre, probabilmente si utilizzeranno due buffer, invertendo il
buffer in primo piano con quello nascosto non appena il frame
completato. Qui entra in gioco la velocit di refresh del monitor: si
pu invertire i buffer soltanto durante il periodo di refresh. Se la
propria applicazione salta un periodo di refresh a 60Hz ad ogni frame,
il frame rate effettivo scender a 30Hz (un frame ogni due refresh).
Perdere due periodi di refresh porter a 20Hz.
2.3.3. Limiti di primitive
Se la propria scena non molto dettagliata (solo pochi poligoni, ma
molto grandi, con molte sovrascritture), l'applicazione sar
probabilmente limitata dal fill rate - possibile fornire altre
primitive (linee, triangoli, poligoni) all'hardware, ma la generazione
dei pixel non pu essere in alcun modo accelerata.
Invece, se la propria applicazione rappresenta un infinit di piccoli
triangoli o poligoni, probabilmente ci si ritrover limitati dalla
generazione delle primitive. Dato una banda passante del PCI di 33MHz
per 32bit, o 132 MB/sec, e un pacchetto di dati per triangolo di 3
vertici (9 coordinate, ognuna a 16bit, pi 3 colori, ognuno a 24bit),
e un frame rate di 20Hz, si potranno trasferire circa 240K
triangoli/frame - senza contare i dati delle texture, gli accessi al
disco e le altre operazioni.
2.4. Caratteristiche dell'Accelerazione Hardware
Le operazioni di rendering solitamente supportate dagli acceleratori
hardware che si rispettino sono:
Texture mapping con correzione prospettica
Alpha-blending, Nebbia
Anti-aliasing
Filtering bi-lineare delle texture
Livello di dettaglio (LOD) MIP mapping
Correzione a livello sub-pixel
Ombreggiatura Gouraud basata sui poligoni e modulazione delle
texture
Double buffering
Buffering di profondit, stencil buffer
Solitamente, l'hardware permette un aumento della risoluzione dello
schermo (dato che il rendering esclusivamente software limitato a
320x200 pixel per i frame rate interattivi), il filtraggio avanzato,
la traslucenza reale del canale alpha, e l'uso di frame buffer a
colori reali a 16bpp o 24bpp.
2.5. Cenni sull'Architettura Voodoo Graphics (tm)
Solitamente, il maggior collo di bottiglia si riscontra nell'accesso
alla memoria delle texture e ai buffer di profondit e dei fotogrammi.
Per ogni pixel nello schermo, ci sono almeno uno (mappatura in
vicinanza), quattro (bi-lineare) o otto (tri-lineare) accessi in
lettura alla memoria delle texture, pi una lettura/scrittura al
buffer di profondit e una lettura/scrittura al buffer dei fotogrammi.
L'architettura Voodoo Graphics (tm) separa la memoria delle texture da
quella dei buffer dei fotogrammi e di profondit suddividendo il
rendering in due stadi separati, con due unit distinte (il pixelfx e
il texelfx), ognuna con il proprio collegamento alla memoria
corrispondente. Questo permette un fill rate superiore alla media, a
discapito della gestione della memoria (p.es. la memoria dedicata ai
frame non utilizzata non pu essere usata per il caching delle
texture).
Inoltre, un Voodoo Graphics (tm) pu usare due TMU (unit di gestione
delle texture o texelfx), ed infine, due Voodoo Graphics (tm) possone
essere collegati per accedere allo stesso RAMDAC con un meccanismo
chiamato Scan-Line Interleaving (SLI). In parole povere SLI significa
che ogni pixelfx disegna una riga di schermo ogni due, il che riduce
l'impatto della banda passante sulla memoria destinata ai frame di
ogni pixelfx.
3. Installazione
Configurare Linux per supportare gli acceleratori 3Dfx richiede i
seguenti passi:
1. Installare la scheda.
2. Installare la distribuzione Glide.
3. Compilare, linkare e/o lanciare le applicazioni.
Le sezioni seguenti trattano ognuno di questi passi in dettaglio.
3.1. Installare la Scheda
Per installare l'hardware si seguano le istruzioni del produttore o o
lo si lasci fare al rivenditore. Non dovrebbe essere necessario
modificare le impostazioni degli IRQ o del canale DMA, dato che il
Plug&Pray (tm) o quelle predefinite dalla fabbrica dovrebbero
funzionare. Le schede add-on qui descritte sono dispositivi mappati in
memoria e non usano IRQ. L'unico tipo di conflitto da evitare la
sovrapposizione di memoria con altri dispositivi.
Dato che 3Dfx non sviluppa o vende nessuna scheda direttamente,
inutile contattarla per qualche problema.
3.1.1. Risoluzione dei problemi di installazione hardware
Per verificare l'installazione e la mappatura della memoria, si esegua
cat /proc/pci. L'output dovrebbe contenere qualcosa come
______________________________________________________________________
Bus 0, device 12, function 0:
VGA compatible controller: S3 Inc. Vision 968 (rev 0).
Medium devsel. IRQ 11.
Non-prefetchable 32 bit memory at 0xf4000000.
Bus 0, device 9, function 0:
Multimedia video controller: Unknown vendor Unknown device (rev 2).
Vendor id=121a. Device id=1.
Fast devsel. Fast back-to-back capable.
Prefetchable 32 bit memory at 0xfb000000.
______________________________________________________________________
per una Diamond Monster 3D affiancata ad una Diamond Stealth-64.
Inoltre un cat /proc/cpuinfo /proc/meminfo pu essere utile per sco
vare un conflitto e/o mandare un bug report.
Con i kernel attuali, probabilmente si avr un avviso in fase di boot
simile a questo
______________________________________________________________________
Jun 12 12:31:52 hal kernel: Warning : Unknown PCI device (121a:1).
Please read include/linux/pci.h
______________________________________________________________________
che pu essere tranquillamente ignorato. Se si ha una scheda non molto
comune o si incappati in una nuova revisione, si dovrebbe prendersi
l'onere di seguire le avvertenze in /usr/include/linux/pci.h e man
dare tutte le informazioni necessarie a linux-pcisupport@cao-
vlsi.ibp.fr.
Se si incontra un qualche problema con la scheda, si dovrebe provare a
verificare se il supporto DOS e/o Win95 o NT funziona. Probabilmante
non si ricever alcuna risposta utile da un fabbricante di schede per
un bug report o una richiesta riguardanti Linux. Anzi, avendo avuto a
che fare con il sistema di supporto e-mail di Diamond, non mi aspetto
nessuna risposta utile anche per gli altri sistemi operativi.
3.1.2. Configurare il kernel
Non c' bisogno di alcuna configurazione del kernel, fin tanto che il
supporto PCI abilitato. Si pu consultare il Linux Kernel HOWTO per
i dettagli sulla compilazione del kernel.
3.1.3. Configurare i device
I driver correnti non hanno (ancora) bisogno di device speciali. Si
differenziano cos dallo sviluppo degli altri driver (p.es. i driver
sonori, che usano /dev/dsp e /dev/audio). Il driver usa il device
/dev/mem che dovrebbe sempre essere disponibile. Di conseguenza, si
deve usare setuid o i diritti di root per accedere alla scheda
acceleratrice.
3.2. Disposizione dei Monitor
Le schede add-on sono utilizzabili in due modi. Si pu sia far passare
il segnale video dalla propria scheda VGA attraverso la scheda
accelerata e poi allo schermo, sia usare due schermi
contemporaneamente. Si faccia riferimento al manuale fornito dal
costruttore della scheda per i dettagli. Entrambe le configurazioni
sono state provate con la scheda Monster 3D.
3.2.1. Soluzione a schermo singolo
Questa configurazione permette di controllare l'operativit di base
della scheda acceleratrice - se il segnale video non viene trasmesso
al monitor possibile che ci sia un guaso hardware.
Si ricorda che il segnale video pu deteriorarsi sensibilmente se
passa attraverso la scheda video. Fino ad un certo punto questo
inevitabile. Comunque, in alcune recensioni si sono lamentati della
scarsa efficenza dei cavi forniti a.es. con la Monster 3D e a
giudicare da quello che ho testato, non ci sono stati cambiamenti.
Ci sono altre pecche nella configurazione ad un solo schermo. Passare
dalla modalit VGA a quella accelerata far cambiare la risoluzione e
la frequenza di aggiornamento, anche se si usa una risoluzione di
640x480 p.es. con X11. Inoltre, se si sta usanto X11, la propria
applicazione responsabile della gestione di tutti gli eventi della
tastiera e del mouse, quindi si potrebbe rimanere bloccato a causa di
un cambio di contesto o esposizione sullo schermo dell'X11 (che
completamente invisibile quando viene usata la modalit accelerata).
Si potrebbe usare la modalit SVGA in console invece dell'X11.
Se si usa la configurazione ad un solo monitor e si cambia spesso
modo, ci si ricordi che il proprio monitor potrebbe non gradire questo
tipo di utilizzo.
3.2.2. Soluzione a due schermi
La scheda acceleratrice non ha bisogno del segnale d'ingresso VGA.
Invece di far passare l'output video attraverso la scheda
acceleratrice, si pu attaccare un secondo monitor alla sua uscita e
usarli entrambi contemporaneamente. Questa soluzione pi costosa, ma
d risultati migliori, dato che lo schermo principale funzioner
sempre in alta risoluzione senza la perdita di qualit del segnale che
la soluzione passante comporta. Inoltre si pu usare X11 e
l'accelerazione a schermo intero in parallelo, facilitando lo sviluppo
e il debugging.
Il problema che la scheda accelerata non produce alcun segnale video
quando non viene utilizzata. Di conseguenza, ogni volta che
l'accelerazione grafica termina, pu attivarsi lo screensave/powersave
hardware del monitor, se esiste. Anche in questo caso, il proprio
hardware potrebbe non gradire di essere trattato in questo modo. Si
dovrebbe usare
______________________________________________________________________
setenv SST_DUALSCREEN 1
______________________________________________________________________
per forzare un output video continuo in questa configurazione.
3.3. Installare la Distribuzione Glide
Il driver e la libreria Glide sono forniti come un unico archivio
compresso. Si usino tar e gzip per scompattarlo e si seguano le
istruzioni nel README e nell'INSTALL che accompagnano la
distribuzione. Si legga ed esegua lo script di installazione.
L'installazione copia tutto in /usr/local/glide/include,lib,bin e
imposta l'ld.conf a cercare l. Dove installare la distribuzione e
impostare l'ld.conf sono due azioni indipendenti. Se non si esegue
l'impostazione dell'ld.conf allora si avr bisogno
dell'LD_LIBRARY_PATH.
Se si vogliono compilare le proprie applicazioni grafiche, sar
necessario installare gli header file in una locazione accessibile in
fase di compilazione. Se non si vuole usare l'installazione vista
sopra (cio si decide per un'altra locazione), ci si assicuri che ogni
applicazione possa accedere alle librerie condivise in esecuzione o si
otterr un risultato del tipo can't load library 'libglide.s.
3.3.1. Usare il programma detect
Nella distribuzione c' il programma bin/detect (il sorgente non
disponibile). Si deve lanciarlo come root, ed si otterr qualcosa di
simile
______________________________________________________________________
slot vendorId devId baseAddr0 command description
---- -------- ------ ---------- ------- -----------
00 0x8086 0x122d 0x00000000 0x0006 Intel:430FX (Triton)
07 0x8086 0x122e 0x00000000 0x0007 Intel:ISA bridge
09 0x121a 0x0001 0xfb000008 0x0002 3Dfx:video multimedia adapter
10 0x1000 0x0001 0x0000e401 0x0007 ???:SCSI bus controller
11 0x9004 0x8178 0x0000e001 0x0017 Adaptec:SCSI bus controller
12 0x5333 0x88f0 0xf4000000 0x0083 S3:VGA-compatible display co
______________________________________________________________________
come risultato. Se non si possiedono i diritti di root, il programma
se ne verr fuori con
______________________________________________________________________
Permission denied: Failed to change I/O privilege. Are you root?
______________________________________________________________________
L'output potr tornare utile per un bug report.
3.3.2. Usare i programmi di test
All'interno della distribuzione Glide si pu trovare una directory con
i programmi di test. Si noti che questi programmi sono sotto il
copyright della 3Dfx e sono legalmente usabili solo se hai comprato
una scheda con chipset 3Dfx. Si veda il file LICENSE nella
distribuzione o il loro sito web www.3dfx.com per i dettagli.
Si raccomanda di compilare e linkare i programmi di test anche se
nella distribuzione ci sono i binari. Nota che alcuni programmi
richiedono che altri file della distribuzione, come alpha.3df, siano
disponibili nella stessa cartella. Tutti i programmi di test usano una
risoluzione di 640x480. Alcuni richiedono la pressione di pi tasti
come input, altri chiederanno solamente Press A Key To Begin Test. Si
faccia attenzione alla perdita del contesto di input se si sta
eseguendo in contemporanea X11 sullo stesso schermo.
Si consulti il README.test per una lista del programmi, e per altri
dettagli.
4. Risposte Alle Domande Pi Frequenti
Le sezioni seguenti rispondono ad alcune delle domande che sono state
poste nei newsgroup e mailing list Usenet. Le FAQ sono state suddivise
per comodit in pi parti, vale a dire
FAQ: Requisiti?
FAQ: Voodoo Graphics (tm)? 3Dfx?
FAQ: Glide?
FAQ: Glide e SVGA?
FAQ: Glide e XFree86?
FAQ: Glide vs. OpenGL/Mesa?
FAQ: Quake?
FAQ: Risoluzione dei problemi?
Ogni sezione elenca alcune domande e risposte, a cui si possono
ricondurre la maggior parte dei problemi.
5. FAQ: Requisiti?
5.1. Quali sono i requisiti di sistema?
Un PC Linux con PCI 2.1 o seguente, un monitor con risoluzione 640x480
o maggiore e una scheda acceleratrice 3D basata sul 3Dfx Voodoo
Graphics (tm). Funziona su P5 o P6, con o senza MMX.
5.2. Funziona con Linux-Alpha?
Attualmente non ci sono distribuzioni Linux Glide per le piattaforme
diverse dalla i586. Dato che i sorgenti della Glide non sono
pubblicamente disponibili, si devono aspettare i binari. Quantum3D ha
annunciato il supporto per DEC Alpha per la seconda met del 97. Per
piacere si contatti Daryll Strauss se si interessati al supporto di
questo progetto.
5.3. Quali chipset sono supportati?
Attualmente sotto Linux supportata la pi recente revisione dei
chipset 3Dfx Voodoo Graphics (tm). I chipset Voodoo Rush (tm) non sono
tuttora supportati.
5.4. Quali schede sono supportate?
Questa sezione elenca le schede che attualmente si sanno funzionare
sotto Linux. Non ci sono schede ufficialmente supportate, dato che
3Dfx non vende alcuna scheda. Queste informazioni sono basate
sull'ultimo kernel di Linux disponibile al momento di scrivere, ed
elencano le schede che sono state testate, pi le schede che
dovrebbero funzionare, ma che non sono state provate.
importante sottolineare che il supporto Linux per una data scheda
non richiede solamente un driver per la componente acceleratrice 3D.
Se una scheda integra anche la parte VGA, allora sar necessario anche
il supporto per Linux SVGA e per XFree86. Attualmente, preferibile
la soluzione con scheda add-on, dato che ti permette di scegliere una
scheda grafica normale ben supportata da Linux. Ci sono altri aspetti
discussi in seguito.
Sono state testate le seguenti configurazioni:
Diamond Monster 3D con Diamond Stealth 64 3240XL
Orchid Righteous 3D con una scheda grafica basata sul S3-968
Quantum3D Obsidian 50-4220
Queste sono le configurazioni esistenti delle schede Obsidian, la
maggior parte delle quali non sono ancora state testate, ma comunque
dovrebbero funzionare.
Obsidian 50-2200
1 pixelfx con 2MB di frame buffer memory, 1 texelfx con 2MB di
texture memory
Obsidian 50-2400
1 pixelfx con 2MB di frame buffer memory, 1 texelfx con 4MB di
texture memory
Obsidian 50-4400
1 pixelfx con 4MB di frame buffer memory, 1 texelfx con 4MB di
texture memory
Obsidian 50-2220
1 pixelfx con 2MB di frame buffer memory, 2 texelfx con 2MB di
texture memory ciascuno, per un totale di 4MB di texture memory
Obsidian 50-4220
1 pixelfx con 4MB di frame buffer memory, 2 texelfx con 2MB di
texture memory ciascuno, per un totale di 4MB di texture memory.
Questa configurazione era l'originale "Obsidian Pro" che era
stata usata per il 3DS Plug-in Project (ora fatto con la
Datapath Realistorm). Datapath era solito chiamarla "Pro VR".
Obsidian 50-4440
1 pixelfx con 4MB di frame buffer memory, 2 texelfx con 4MB di
texture memory ciascuno, per un totale di 8MB di texture memory.
Questa configurazione il nuovo obiettivo per il 3DS Plug-in
Project (ora fatto con la Datapath Realistorm).
Obsidian 50-2440
1 pixelfx con 2MB di frame buffer memory, 2 texelfx con 4MB di
texture memory ciascuno, per un totale di 8MB di texture memory.
Obsidian 100-2440
aka 2440-SLI, aka XS-100, o semplicemente "SLI".
Due schede PCI, ognuna con 1 pixelfx con 2MB di frame buffer
memory e 2 texelfx con 4MB di texture memory ciascuno, per un
totale di 8MB di texture memory per scheda. Le texture devono
essere memorizzate su entrambe le schede, cos ci non equivale
a 16MB di texture memory. L'uscita video scan line interleaved
permette di raddoppiare il fill rate.
Il pacchetto commerciale con software aggiuntivo per Autodesk 3DS MAX
chiamato Obsidian 3DS, originariamente usava 50-4220 ed ora dis
tribuito assieme ad una scheda 50-4440.
Le seguenti schede non sono ancora state testate:
Deltron RealVision Flash 3D
Con l'attuale Glide 2.4, le seguenti schede basate sul Voodoo Rush
(tm) non dovrebbero funzionare con Linux:
Hercules Stingray 128/3D
Intergraph Intense 3D Rush
Dato che il chipset Voodoo Rush (tm) supporta operazioni in finestra,
viene usato su schede VGA accelerate, che richiedono un supporto per
XFree86 o Linux SVGA non ancora disponibile.
Le schede non basate sui chipset 3Dfx (e.g. prodotte da S3, Matrox,
3Dlabs, Videologic) non funzionano con i driver 3Dfx e esulano dagli
scopi di questa documentazione.
5.5. supportata la Hercules Stingray 128/3D?
In questa scheda, l'acceleratore 2D montato su una scheda PCI e il
chipset Voodoo Rush (tm) su una scheda figlia. Attualmente questa
scheda non supportata n dalla Linux Glide, n dai server accelerati
XFree86. Tuttavia il server SVGA XFree86 funziona secondo quanto
riportato nella mailing list di Mesa. Supporta gli 8, i 16 e i 32
bpp.
______________________________________________________________________
# device section settings
Chipset "AT24"
Videoram 4032
# videomodes tested by Oliver Schaertel
# 25.18 28.32 for 640 x 480 (70hz)
# 61.60 for 1024 x 786 (60hz)
# 120 for 1280 x 1024 (66hz)
______________________________________________________________________
Attualmente non c' supporto per il Voodoo Rush (tm). Varrebbe la pena
tentare, ma siccome il produttore non ha fornito alcuna scheda di
prova, ci si deve arrangiare.
Per quanto riguarda il componente VGA collegato al Voodoo Rush (tm),
un acceleratore della Alliance Semiconductor's ProMotion-AT3D
multimedia. Il supporto XFree86 per l'AT3D/AT24 non sar accelerato
prima della XFree86 4.0, che lungi a venire.
5.6. supportata la Intergraph Intense 3D Rush?
Sebbene questa scheda sia integrata in un'unica scheda,
sostanzialmente la stessa combinazione di chipset (AT3D, Voodoo Rush
(tm)), cos vale lo stesso discorso fatto in precedenza per la
Hercules Stingray. Da quanto ha detto David E. Anderson della
Intergraph, per il momento non hanno intenzione di fornire alcun
supporto per Linux.
6. FAQ: Voodoo Graphics (tm)? 3Dfx?
6.1. Chi 3Dfx?
3Dfx un industria di San Jose produttrice di acceleratori grafici 3D
per giochi arcade, console, e schede per PC. Il loro sito ufficiale
www.3dfx.com. 3Dfx non vende direttamente alcuna scheda, ma hanno una
societ associata, la Quantum3D. Si veda la loro home page al sito
www.quantum3d.com per maggiori informazioni.
6.2. Che cos'e il Voodoo Graphics (tm)?
Il Voodoo Graphics (tm) un chipset prodotto dalla 3Dfx. Viene usato
nelle schede acceleratrici per PC. Si veda la sezione dell'HOWTO
sull'hardware supportato.
C' un nuovo chipset, il Voodoo Rush (tm), che attualmente non
supportato sotto Linux.
6.3. Dove posso trovare altre informazioni sul Voodoo Graphics (tm)?
C' una FAQ della 3Dfx, che dovrebbe essere disponibile al loro sito
web. Si possono trovare informazioni commerciali nei seguenti siti:
www.3dfx.com
www.quantum3d.com
www.orchid.com
www.diamondmm.com
www.deltrontech.com
7. FAQ: Glide? TexUS?
7.1. Che cos' Glide?
Glide un API proprietaria pi i driver per accedere
all'accelerazione grafica 3D hardware basata sui chipset prodotti
dalla 3Dfx. Glide stato progettato ed implementato per DOS, Windows
e Macintosh, ed stato convertito per Linux da Daryll Strauss.
7.2. Che cos' TexUS?
Nella distribuzione libtexus.so, che l'Interactive Texture Utility
Software di 3Dfx. una libreria di eleborazione delle immagine ed
alcune utility per preparare le immagini per essere usate con la
libreria Interactive Glide di 3Dfx. Tra le caratteristiche di TexUS ci
sono la conversione dei formati dei file, la creazione di MIPmap e il
supporto per l'Interactive Narrow Channel Compression delle texture di
3Dfx.
L'utility texus di TexUS legge le immagini in alcuni dei formati pi
diffusi (TGA, PPM, RGT), genera MIPmap e scrive le immagini come file
di texture 3Dfx Interactive (vedi a.es. alpha.3df, incluso nella
distribuzione) o come file immagine per essere controllati. Per i
dettagli sui parametri di texus e sulle API, si veda la documentazione
di TexUS.
7.3. Glide freeware?
No. Glide non n GPL n soggetta a qualche altra licenza pubblica.
Si veda il file LICENSE nella distribuzione per i dettagli. Glide
viene fornita solo in formato binaro e non si dovrebbe usare o
distribuire alcun file se non quelli rilasciati pubblicamente, se non
si ha firmato un NDA. La distribuzione Glide inclusi i sorgenti dei
programmi di test sono sotto il copyright della 3Dfx.
Lo stesso discorso va fatto per tutti i sorgenti presenti nella
distribuzione Glide. Secondo le parole della 3Dfx: Questi non sono di
pubblico dominio, ma possono essere distribuiti liberamente solo ai
posessori di prodotti 3Dfx. Niente scheda, niente codice!
7.4. disponibile il sorgente della Glide?
No. Il sorgente della Glide reso disponibile solo in base ad uno
speciale accordo e un NDA con 3Dfx.
7.5. La Linux Glide supportata?
Attualmente la Linux Glide non supportata. Essenzialmente, viene
fornita sotto le stesse restrizioni della DLL GLQuake.
Comunque, 3Dfx vuole fornire il maggior supporto possibilie, e sta
iniziando a muoversi in questa direzione. Per il prossimo periodo, si
dovr far riferimento al newsgroup 3Dfx (vedere sotto).
Inoltre, la pagina web della Quantum3D riporta che il supporto Linux
(per la Obsidian) previsto sia per l'architettura Intel sia per
quella AXP nella seconda met del 97.
7.6. Dove posso postare le domande su Glide?
Ci sono alcuni newsgroups attualmente disponibili sul server NNTP
news.3dfx.com gestiti dalla 3Dfx. Questi gruppi USENET sono dedicati
alla 3Dfx e a Glide in generale e principalmente forniscono assistenza
per DOS, Win95 e NT. L'attuale elenco :
______________________________________________________________________
3dfx.d3d.drivers
3dfx.events
3dfx.game.titles
3dfx.games.glquake
3dfx.glide
3dfx.glide.linux
3dfx.oem.products.diamond.monster3d
3dfx.oem.products.hercules.stingray128-3d
3dfx.oem.products.orchid.righteous3d
3dfx.oem.products.quantum3d.obsidian
3dfx.oem.products.realvision.flash3d
3dfx.products
3dfx.test
______________________________________________________________________
Per piacere si usi news.3dfx.com/3dfx.glide.linux per tutte le domande
relative alla Linux Glide.
Una mailing list dedicata alla Linux Glide in preparazione
(probabilmente sar disponibile ad agosto inoltrato). Si spedisca una
lettera a majordomo@gamers.org, senza alcun soggetto, e con info
linux-3dfx come corpo del messaggio per avere informazioni sulle
direttive di posting, l'archivio di hypermail e su come iscriversi
alla lista o averne, quando disponibile, il compendio.
7.7. Dove spedire i bug report?
Attualmente si deve fare riferimento al newsgroup (vedere sopra), che
news.3dfx.com/3dfx.glide.linux. Non c' nessun supporto e-mail
ufficiale attivato. Per le domande non specificatamente riguardanti la
Linux Glide, ci si assicuri di usare un altro newsgroup.
7.8. Chi la sta mantenendo?
3Dfx nominer presto un mantenitore ufficiale. Attualmente, il
mantenitore non ufficiale della conversione per Linux della Glide
Daryll Strauss. Per favore si postino i bug report nel newsgroup (v.
sopra). Se si crede di aver trovato un bug non riportato
precedentemente, per piacere si scriva a Daryll all'indirizzo
daryll@harlot.rb.ca.us.
7.9. Come posso contribuire alla Linux Glide?
Si possono inviare dettagliati bug report. Un'altra possibilit
fornire programmi d'esempio da includere nella distribuzione. Un altro
grande contributo potrebbe essere aggiungere del codice ai sorgenti
del driver Mesa Voodoo basato sulla Glide. Si vedano la sezione sul
Mesa Voodoo in seguito.
7.10. Devo usare la Glide?
S. Dato che per il momento non ci sono altri driver Voodoo Graphics
(tm) disponibili per Linux.
7.11. Dovrei programmare usando l'API della Glide?
Dipende dall'applicazione che si ha intenzione di sviluppare. La Glide
un API proprietaria che in parte simile alla OpenGL o alla Mesa,
in parte contiene funzioni disponibili come estensioni di qualche
implementazione di OpenGL e in parte contiene funzioni non
riscontrabili da nessuna altra parte se non nella Glide.
Se si vuole usare l'API OpenGL, si deve usare Mesa (vedere sotto).
Mesa, o meglio il driver Mesa Voodoo, propone una API che si rif
all'API OpenGL, molto ben documentata e largamente usata. Comunque, il
driver Mesa Voodoo in versione alpha primitiva, quindi se lo si usa
si devono accettarne le scarse prestazioni e il mancato supporto di
alcune funzioni.
In breve, la scelta personale - se si cercano le massime prestazioni
e si accettano i problemi di portabilit ad hardware non-3Dfx, La
Glide non una cattiva scelta. Se si tiene al mantenimento, l'OpenGL
potrebbe essere la scelta miglior a lungo termine.
7.12. Qual' la versione attuale?
La versione della Linux Glide che sar resa pubblica la 2.4, dato
che la prossima release della Glide per DOS/Windows.
Nota che questo HOWTO stato scritto basandosi sulla Linux Glide
2.3.1, dato che la Glide 2.4 non ancora stata rilasciata e che la
conversione per Linux della Glide 2.4 non ancora stata terminata.
Visto che l'API non cambier e visto che non ci sono variazioni
pianificate per la distribuzione Linux Glide, questa documentazione
ricoprir ancora la maggior parte dei problemi.
7.13. La Linux Glide identica alla DOS/Windows Glide?
La versione della Linux Glide che verr resa pubblica sar la 2.4,
seguendo la release della DOS/Windows Glide 2.4. L'API e
l'implementazione si suppongono essere identiche.
La Glide 2.2 stata portata in Linux nell'Aprile 1997. La conversione
della Glide 2.3.1 stata fatta nel Giugno 1997. Entrambe prive di una
ottimizzazione chiave per l'impostazione dei triangoli, che sar
inclusa nella release 2.4 della Linux Glide. Le conversioni precedenti
non sono state rese disponibili pubblicamente e sono state usate solo
per il beta test.
7.14. Dove trovo informazioni sulla Glide?
Ci sono esaurienti informazioni disponibili da 3Dfx. Si pu scaricarle
dalla loro home page a www.3dfx.com/software/download_glide.html. Sono
gratuite, presumendo che tu abbia comprato una scheda basata
sull'hardware 3Dfx. Per favore si leggano il regolamento di licenza.
Come inizio, si pu cercare qualcosa dei seguenti testi:
Glide Release Notes
Glide Programming Guide
Glide Reference Manual
Glide Porting Guide
TexUs Texture Utility Software
ATB Release Notes
Installing and Using the Obsidian
Sono disponibili come documenti Microsoft Word, e fanno parte della
distribuzione Glide per Windows, cio del file d'archivio
autoscompattante. Per scaricarli separatamente dovrebbe essere
disponibile la copia postscript a www.3dfx.com. Nota che il numero
della release non sempre sintonizzato con quello della Glide.
7.15. Dove trovare alcuni demo per Glide?
Si possono trovare i sorgenti di demo per Glide all'interno della
distribuzione (i programmi di test) e alla home page della 3Dfx. Il
problema con quest'ultimi che alcuni richiedono ATB. Per portare
questi demo sotto Linux, dev'essere completamente riscritto la
gestione degli eventi.
Inotre, possono essere utili alcuni dei sorgenti delle demo per OpenGL
che accompagnano Mesa e GLUT. Anche se l'API della Glide diverso
dall'API OpenGL, entrambi mirano alla stessa hardware rendering
pipeline.
8. FAQ: Glide e SVGA?
Non si dovrebbero avere problemi a lanciare le applicazioni basate
sulla Glide utilizzando la modalit VGA sia a schermo singolo sia a
schermo doppio. Potrebbe essere una buona idea utilizzare una
risoluzione di 640x480 anche in modalita SVGA, se si sta utilizzando
una configurazione a schermo singolo.
9. FAQ: Glide e XFree86?
9.1. Funziona con XFree86?
Sostanzialmente, l'hardware Voodoo Graphics (tm) non si interessa di
X. L'X server inoltre non noter che il segnale video generato
dall'hardware VGA non giunge al monitor nella configurazione a schermo
singolo. Se la propria applicazione non stata scritta facendo
attenzione all'X, il passaggio della Glide alla modalit a schermo
intero pu causare dei problemi (vedi la sezione Risoluzione dei
Problemi). Se non interessa il sovraccarico di lavoro che comporta
scrivere un'applicazione sotto X11, si potrebbe usare la console in
modalit SVGA.
Riassumendo: s, funziona sotto XFree86, ma no, non cooperante se
non si scrivono le applicazioni accortamente.
9.2. Funziona solo a schermo intero?
Vedi sopra. L'hardware Voodoo Graphics (tm) non conscio di un
ambiente a finestre, e nemmeno lo la Linux Glide.
9.3. Cosa mi dici sulla GLX per XFree86?
Ci sono un paio di problemi.
L'hardware Voodoo Graphics (tm) attualmente supportato e l'attuale
revisione della Linux Glide funzionano solamente a schermo intero, e
non sono predisposte per condividere un framebuffer (buffer video,
memoria video) con un ambiente a finestre. Cos GLX o qualsiasi altra
integrazione con l'X11 non ancora possibile.
Il Voodoo Rush (tm) potrebbe essere capace di cooperare con XFree86
(dato che la parte SVGA della scheda funziona con il server SVGA di
XFree86), ma non ancora supportato dalla Linux Glide, cos come non
ancora supportato dai server S3 o dagli altri server XFree86.
Inoltre GLX legato a OpenGL o, nel caso di Linux, a Mesa. Il gruppo
di XFree86 attualmente sta lavorando per integrare Mesa con i loro X
server. GLX in fase beta, XFree86 3.3 ha qualche "aggancio" per GLX.
Si veda la pagina su GLX di Steve Parker a
www.cs.utah.edu/~sparker/xfree86-3d/ per le informazioni pi recenti.
Attualmente Mesa usa ancora la sua emulazione GLX con Linux.
10. FAQ: Glide versus OpenGL/Mesa?
10.1. Glide OpenGL?
No, Glide un API proprietaria di 3Dfx con alcune caratteristiche
specifiche per il Voodoo Graphics (tm) e il Voodoo Rush (tm). Una
OpenGL per 3Dfx in preparazione (vedi sotto). Alcune caratteristiche
della Glide potrebbero richiedere le EXTensioni a OpenGL, alcune delle
quali si trovano gi in altre implementazioni (a.es. le texture
paletizzate).
La cosa pi simile all'OpenGL accelerato dall'hardware per Linux che
si pu attualmente trovare Mesa di Brian Paul assieme al driver Mesa
Voodoo di David Bucciarelli (vedi sotto).
10.2. Mesa funziona con 3Dfx?
Dalla release 2.3 Beta3, Mesa funziona con la Linux Glide 2.2,
similmente a Mesa con Glide per DOS/Windows. Ci sono patch Mesa 2.3b3
per la Linux Glide 2.3.1. Le seguenti versioni di Mesa funzioneranno
con la Linux Glide 2.4; fin tanto che l'API non cambier, dovrebbero
essere sufficienti le patch Mesa 2.3b3. La distribuzione Glide non fa
parte della distribuzione Mesa.
Potrebbe essere necessario scaricare l'archivio della libreria Mesa da
l sito FTP iris.ssec.wisc.edu.
10.3. Dove ottengo altre informazioni su OpenGL?
Si usi la porta di accesso alle info su OpenGL di Mark Kilgard a
reality.sgi.com/mjk_asd/opengl-links.html, e si proceda da l.
10.4. Dove ottengo informazioni su Mesa?
La home page di Mesa www.ssec.wisc.edu/~brianp/Mesa.html. C' un
archivio della mailing list di Mesa a www.iqm.unicamp.br/mesa/. Questa
lista non dedicata a 3Dfx e Glide, ma se si interessati ad usare
l'hardware 3Dfx per accelerare Mesa, un buon punto di partenza.
10.5. Dove ottengo informazioni su Mesa Voodoo?
Per le ultime informazioni sul driver Mesa Voodoo mantenuto da David
Bucciarelli (tech.hmw@plus.it) si veda la home page a www-
hmw.caribel.pisa.it/fxmesa/.
10.6. C' una OpenGL commerciale per Linux e 3Dfx?
3Dfx ha pubblicamente annunciato un'implementazione di OpenGL per
Windows per quest'anno (seconda met del '97). Non si sa quando questa
sar disponibile anche per Linux.
Di OpenGL realizzate da terze parti, sono a conoscenza di tre
prodotti:
MetroLink MetroOpenGL
XInside OpenGL
Evans & Sutherland OpenGL
L'ultima viene distribuita da Portable Graphics, ed una
trasposizione pura e semplice della OpenGL reference software
implementation, con un kit di linkaggio per una vecchia revisione
degli X server di XFree86. Portable Graphics non ha mai promesso un
supporto hardware. Per quel che ne so, questo prodotto non pi
disponibile.
Gli altri due hanno promesso il supporto per gli acceleratori
hardware, ma entrambi sono legati ad una trasposizione proprietaria
degli X server ed entrambi non supportano alcuna accelerazione 3D, per
quel che ne so.
10.7. Cosa mi dici di GLUT?
La distribuzione GLUT di Mark Kilgard un posto molto valido per
ottenere applicazioni d'esempio e molti utili programmi. La si trova a
reality.sgi.com/mjk_asd/glut3/, e si pu prendererla comunque. La
release attuale GLUT 3.4.
Comunque, visto che GLUT gestisce il double buffer, finestre, eventi
ed altre operazioni intimamente legati all'hardware e al sistema
operativo, una Voodoo-GLUT richiede alcune modifiche specifiche. C'
una alpha release disponibile come parte della pi recente
distribuzione Mesa (David Bucciarelli, Henri Fousse).
11. FAQ: Ma Quake?
11.1. Cosa mi dici della Quake GL?
La DLL rilasciata da 3Dfx disponibile solo per Windows. Supporta un
sottoinsieme di OpenGL specifico per Quake (Vedi
http://www.cs.unc.edu/~martin/3dfx.html per un elenco non ufficiale
dei code path supportati. No, questa DLL non stata portata sotto
Linux. No, non c' alcuna versione di Quake basata sulla Glide,
neanche per Windows. Non ho alcuna notizia su una glQuake per Linux.
12. FAQ: Risoluzione dei problemi
12.1. Questo hardware stato testato?
Si vedano i requisiti hardware scritti prima, c' un elenco di
hardware che stato provato e che funziona.
12.2. Failed to change I/O privilege?
Si deve essere root, o rendere setuid la propria applicazione per
lanciare un'applicazione basata su Glide. A causa del DMA, il driver
accede a /dev/mem, che non accessibile in scrittura da alcuno se non
da root, per validi motivi. Vedi il README della distribuzione Glide
per Linux.
12.3. Funziona senza i privilegi di root?
Ci sono casi particolari in cui, ovviamente, l'uso di setuid diventa
un problema. Attualmente ci sono soluzioni in preparazione, che
richiedono cambiamenti all'interno della libreria stessa.
12.4. Le immagini sono distorte (schermo singolo)?
Se si sta usando la configurazione analogica passante, il normale
schermo SVGA o X11 pu apparire considerevolmente male. Si pu provare
ad utilizzare un miglior cavo di connessione di quello fornito con la
scheda acceleratrice (quelli venduti con la Diamond Monster 3D sono
solitamente peggiori di quelli distribuiti assieme alla Orchid
Righteous 3D), ma fino ad un certo punto inevitabile che ci sia una
perdita di segnale a causa del percorso di trasmissione aggiuntivo.
Se l'immagine a pieno schermo 640x480 creata dalla scheda
acceleratrice risulta distorta, ci pu indicare un problema hardware
reale. Si deve contattare il costruttore della scheda, non 3Dfx per i
dettagli, dato che la qualit del segnale video non ha niente a che
fare con l'acceleratore - il costruttore della scheda sceglie il
RAMDAC, i driver d'uscita e gli altri componenti responsabili.
12.5. L'ultimo frame ancora l (schermo singolo o doppio)?
Si terminata la propria applicazione con Ctrl-C o non terminata
correttamente. La scheda acceleratrice fornir all'infinito l'attuale
contenuto del framebuffer come segnale video finch non le verr detto
altrimenti.
12.6. Si attiva il powersave (schermo doppio)?
Quando l'applicazione termina nella configurazione a due schermi, la
scheda acceleratrice non fornisce pi alcun segnale video. Perci il
powersave si attiva ogni volta. Per evitarlo, si usi
______________________________________________________________________
setenv SST_DUALSCREEN 1
______________________________________________________________________
12.7. La mia macchina sembra stallare (X11, schermo singolo)?
Se stai utilizzando X quando lanci una applicazione Glide,
probabilmente si mosso il mouse fuori dalla finestra e gli input
della tastiera non raggiungono pi l'applicazione.
Se l'applicazione progettata per funzionare concorrentemente con
X11, si potrebbe o ingrandire la finestra a pieno schermo o usare le
funzioni XGrabPointer e XGrabServer per reindirizzare tutti gli input
all'applicazione mentre l'X server non pu accedere al monitor. Si
noti che il catturare tutti gli input con XGrabPointer e XGrabServer
non qualifica l'applicazione come well-behaved (ovvero che si comporta
bene con X), e che il tuo programma pu bloccare l'intero sistema.
Se si ha questo problema senza utilizzare X, ci si assicuri che non ci
siano conflitti hardware (vedi sotto).
12.8. La mia macchina stalla (schermo singolo o doppio)?
Se il sistema non risponde ad alcun input (si stanno usando due
monitor e ci si accorge della perdita di fuoco (focus), si potrebbe
essere in presenza di un conflitto hardware pi o meno subdolo. Si
veda la sezione Risoluzione dei problemi all'installazione per i
dettagli.
Se non c' alcun ovvio conflitto di indirizzi, ci possono essere
ancora altri problemi (v. sotto). Se si sta scrivendo del proprio
codice, la ragione pi comune di stallo che non si fatto lo snap
dei vertici. Vedi la sezione sullo snapping nella documentazione
della Glide.
12.9. La mia macchina stalla (uso una scheda VGA S3)?
possibile che ci sia un problema di sovrapposizione di regioni di
memoria tipico delle S3. Ci sono alcune informazioni ed una patch al
problema nominato S3 nel sito web della 3Dfx, ma queste si applicano
solo a Windows. Da come l'ho capito, la causa del problema che certe
schede S3 (le pi vecchie revisioni della Diamond Stealth S3 968)
riservano piu spazio di memoria di quello che effettivamente usano,
cos la Voodoo Graphics (tm) deve essere mappata in una differente
locazione. Comunque, questo non stato riportato come un probblema
sotto Linux, e pu essere specifico di Windows.
12.10. Nessun conflitto di indirizzi, ma stalla comunque?
Se si sta usando una scheda madre con un supporto PCI non-standard o
incompleto, si pu provare a mischiare un po' le schede. Sto usando un
ASUS TP4XE che ha il fatidico "Media Slot" modificato, a.es lo slot4
PCI ha un connettore addizionale per le schede composite SCSI/Sound
prodotte dalla ASUS, ed ho avuto grossi problemi quando ho installato
una Diamond Monster 3D in quello slot. Il sistema ha funzionato senza
problemi quando ho messo la scheda in uno degli slot regolari.
12.11. Compile/link error: grSstWinOpen()?
(Errore di compilazione/linkaggio: grSstWinOpen()?)
Dato che la Linux Glide sar la versione 2.4, questo errore non
dovrebbe verificarsi. Questa funzione non era disponibile nella Glide
e quindi anche nella Linux Glide 2.2; le successive non sono mai state
rese pubbliche.
12.12. Compile/link error: grSstOpen()?
(Errore di compilazione/linkaggio: grSstOpen()?)
Il sorgente della propria applicazione basato sulla Glide 2.2 e
questa funzione stata eliminata nella Glide 2.3. Non essendo pi
disponibile non pu essere usata con la Linux Glide 2.4. Al suo posto
si usi la funzione grSstWinOpen.
Dato che l'integrazione della Linux Glide con Mesa era basata
originariamente sulla Glide 2.2, le versioni precedenti di Mesa
possono produrre errori in fase di compilazione. La release Mesa-2.3b3
stata aggiornata per essere usata con la Linux Glide 2.3.1; ci si
assicuri di avere sia la distribuzione che l'aggiornamento, o
preferibilmente una nuova revisione di Mesa.
12.13. Cannot open shared object file?
(Impossibile aprire il file oggetto condiviso?)
______________________________________________________________________
test25: error in loading shared libraries
libglide2x.so: cannot open shared object file: No such file or directory
______________________________________________________________________
Se, per una qualche ragione, si ha ancora un file binario compilato
per una versione differente della Linux Glide o se c' un'inconsis
tenza nell'impostazione del proprio ldconfig, il programma non trover
la libreria condivisa. Si controlli il nome (a.es. libglide2x.so) ed
ci si assicuri di usare le opzioni corrette quando si compila e linka
- a.es. -lglide potrebbe non funzionare con l'installazione di
default.
Si noti che il nome delle revisioni della Linux Glide segue la
convenzione usata nella distribuzione 3Dfx Windows, non la convenzione
classica di Linux.
12.14. Problemi di compilazione con Mesa
Ci si assicuri di settare USE_GLIDE_FULLSCREEN in fxmesa.h. Si
controlli che le opzioni del linker (a.es. -lglide) corrispondano al
nome della libreria Linux Glide installata (a.es. -lglide2x invece).
Ci si assicuri di usare gli aggiornamenti alla release Mesa-2.3b3 o
seguenti, dato che tutte le release Mesa fino alla 2.3b3 sono basate
sulla Linux Glide 2.2. Vedi sopra.
12.15. Mesa funziona, ma non accede alla scheda?
Ci si assicuri di aver ricompilato tutte le librerie (compresi i
toolkit che i programmi dimostrativi usano - si ricorda che GLUT non
supporta ancora il Voodoo Graphics (tm)) e di aver rimosso le vecchie
librerie, si lanci ldconfig e/o si imposti il proprio LD_LIBRARY_PATH
correttamente. Mesa supporta pi driver in parallelo (puoi usare X11
SHM, off screen rendering e Mesa Voodoo in contemporanea), e si
potrebbe dover creare e cambiare contesto esplicitamente (si veda la
funzione MakeCurrent) se il Voodoo Graphics (tm) non la scelta
predefinita.
|