S3 Texture Compression jest wydajną i popularną metodą kompresji tekstur wykorzystywaną w grach komputerowych. Pomimo, iż została ona już wprowadzona w specyfikacji OpenGL 1.3, to nadal brak jest jej implementacji w otwartych sterownikach do kart graficznych na Linuksie. Powoduje to zdecydowane zmniejszenie ilości gier/programów, które działają na otwartych sterownikach. Brak tego rozszerzenia wynika z tego, że algorytm tej metody został opatentowany, a korzystanie z niego bez wykupienia odpowiedniej licencji byłoby nielegalne na terenie Stanów Zjednoczonych.
Na szczęście nie dotyczy to Polski, ani nawet całej Unii Europejskiej. Obsługę S3TC można bardzo łatwo "doinstalować" do otwartych sterowników, a niniejszy przewodnik opisze jak to zrobić.
2. Rozszerzeniem możliwości sterowników będziesz najprawdopodobniej zainteresowany, jeżeli posiadasz jedną z poniższych kart graficznych:
ATI/AMDKod:
Radeon 9500Radeon 9500 ProRadeon 9700Radeon 9700 ProRadeon 9600Radeon 9600 ProRadeon 9800Radeon 9800 ProRadeon 9800 XTRadeon Xpress 200MRadeon X300Radeon X550Radeon X1050Radeon X600, M24Radeon XPRESS 200/200M IGPRadeon X700, M26 PCIERadeon X800 AGPRadeon X800, M28 PCIERadeon X850 PCIE/AGPRadeon X1550, X1550 64bitRadeon X1300, X1400, X1550, X1600; FireGL V3300, V3350Radeon X1300, X1550, X1550 64bit, X1600; FireMV 2250Radeon X1800; FireGL V5300, V7200, V7300, V7350Radeon X1300 XT, X1600, X1600 Pro, X1650; FireGL V3400, V5200Radeon X1300, X1650Radeon X2300 HDRadeon X1650Radeon X1950, X1950 GT; FireGL V7400Radeon X1900, X1950; AMD Stream Processor
IntelKod:
GMA 900GMA 950GMA 3000GMA 3100GMA 3150GMA X3000GMA X3100GMA X3500GMA 4500GMA X4500GMA X4500HDGMA 4500MHDHD Graphics (GMA HD)HD Graphics (Sandy Bridge)HD Graphics 2000HD Graphics 3000
Wirtualne karty graficzneKod:
VMware's Gallium3D SVGA
Softwarowe karty graficzneKod:
Software Rasterizerllvmpipe
W innym przypadku najprawdopodobniej korzystasz albo z zamkniętych sterowników, albo otwarte sterowniki są tak stare/niedorobione, że nie da się zaimplementować S3TC.
3. Sama instalacja jest banalnie prosta i powinna działać na Ubuntu 10.04 i nowszych.
a) System 32 bitowy. Pobieramy dwie paczki:
multiarch-support
libtxc-dxtn0
Instalujemy je dwuklikiem w kolejności w jakiej je wymieniłem.
multiarch-support jest już obecny w Ubuntu 11.10 i nie musi być do tego systemu doinstalowywany. Paczka ta nic nie robi i jest tylko zależnością dla libtxc-dxtn0.
UWAGA! 32 bitowy multiarch-support ma w zależnościach libc6 (>= 2.13-0ubuntu6) i dlatego nie może być zainstalowany na Ubuntu 10.04 i 10.10. To jest chyba jakiś bug, ponieważ wersja 64 bitowa ma jedynie zależność libc6 (>= 2.3.6-2). Dlatego przepakowałem multiarch-support obniżając jego zależności jak dla 64 bitowej wersji. Przepakowaną paczkę można pobrać stąd.
b) System 64 bitowy. Pobieramy dwie paczki:
multiarch-support
libtxc-dxtn0
Instalujemy je dwuklikiem w kolejności w jakiej je wymieniłem.
multiarch-support jest już obecny w Ubuntu 11.10 i nie musi być do tego systemu doinstalowywany.
4. Gotowe. Nie trzeba nawet restartować komputera. Żeby sprawdzić, czy operacja się udała należy zainstalować pakiet mesa-utils (jeżeli wcześniej nie był zainstalowany):Kod:
sudo apt-get install mesa-utils
I wywołać komendę:Jeżeli rezultat będzie się kończył tak (wytłuszczone):...
GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_APPLE_packed_pixels,
GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,
GL_ATI_texture_mirror_once, GL_ATI_separate_stencil,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos,
GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table,
GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays,
GL_S3_s3tc
To znaczy, że wszystko się udało. Gry, które opcjonalnie korzystają z S3TC (np. 0 AD), będą działać wyraźnie szybciej, a tytuły które koniecznie wymagają tego rozszerzenia, będą się wreszcie uruchamiać.Statystyki: autor: makson — 22 wrz 2011, 18:01
]]>