Strona 1 z 3

[HOW TO] Kompilacja Otwartych Sterowników

: 18 gru 2011, 20:05
autor: makson
Zgodnie z zapowiedzią przygotowuję poniższy poradnik w celu dokładnego opisania sposobu kompilacji otwartych sterowników (DRI) wprost z drzewa git pod Ubuntu 12.04 (wraz z odblokowanymi opatentowanymi technologiami).
Są to sterowniki jeszcze niestabilne i w zasadzie nadają się jedynie do testowania. Jeżeli użytkownicy Ubuntu 11.04 i 11.10 chcieliby testować takie sterowniki, to polecam to repozytorium ppa.
Poniższy poradnik jest napisany tak szczegółowo, że nawet osobie niewiedzącej o co chodzi, po przepisaniu wszystkich komend powinno wszystko działać. Jeżeli chcecie zapoznać się z teorią otwartych sterowników to polecam ten artykuł.
1. Przygotowanie środowiska
Instalujemy biblioteki niezbędne do kompilacji:

Kod: Zaznacz cały

sudo apt-get build-dep libgl1-mesa-dri libdrm2

Kod: Zaznacz cały

sudo apt-get install llvm-3.0-dev git libcairo2-dev mesa-utils libxcb-glx0-dev
Bardzo ważnym elementem sterowników opartych o Gallium3D jest kompilator llvm. Chcemy do kompilacji użyć najnowszej wersji (3.0) więc:

Kod: Zaznacz cały

sudo apt-get --purge remove llvm

Kod: Zaznacz cały

sudo ln -s /usr/bin/llvm-config-3.0 /usr/bin/llvm-config
Kolejnym ważnym elementem otwartych sterowników jest libdrm będący interfejsem do mechanizmów DRM jądra systemu. Nie będziemy korzystać z niezbyt świeżego libdrm, które jest w systemie. Najnowszą niestabilną wersję pobierzemy wprost z drzewa git:

Kod: Zaznacz cały

cd ~/Pobrane

Kod: Zaznacz cały

git clone git://anongit.freedesktop.org/mesa/drm
I kompilujemy:

Kod: Zaznacz cały

cd drm

Kod: Zaznacz cały

./autogen.sh

Kod: Zaznacz cały

./configure --enable-nouveau-experimental-api --enable-vmwgfx-experimental-api --prefix=/usr/local

Kod: Zaznacz cały

make

Kod: Zaznacz cały

sudo make install
2. Kompilacja Mesa3D
Pobieramy i kompilujemy najnowszą niestabilną Mesa wprost z drzewa git mesa master.

Kod: Zaznacz cały

cd ~/Pobrane

Kod: Zaznacz cały

git clone git://anongit.freedesktop.org/mesa/mesa

Kod: Zaznacz cały

cd mesa

Kod: Zaznacz cały

./autogen.sh

Kod: Zaznacz cały

./configure --enable-texture-float --with-dri-drivers=i915,i965,radeon,r200,swrast --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast
Uwaga! Po "--with-dri-drivers=" wymieniamy te sterowniki oparte o klasyczną Mesa, które chcemy instalować. Po "--with-gallium-drivers=" wymieniamy te sterowniki oparte o Gallium3D, które chcemy instalować. Możemy podać wszystkie tak jak w przykładzie powyżej, lub tylko jeden, który nas interesuje.

Kod: Zaznacz cały

make
3. Wymiana sterowników
Pozostało nam już tylko ustawienie dla systemu ścieżki do nowych sterowników. Gdy nasz sterownik oparty jest o klasyczną Mesa to:

Kod: Zaznacz cały

echo -e "LIBGL_DRIVERS_PATH=$HOME/Pobrane/mesa/lib" >> ~/.pam_environment
gdy o Gallium3D to:

Kod: Zaznacz cały

echo -e "LIBGL_DRIVERS_PATH=$HOME/Pobrane/mesa/lib/gallium" >> ~/.pam_environment
Teraz 32 bitowcy:

Kod: Zaznacz cały

sudo mv /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.back
sudo cp ~/Pobrane/mesa/lib/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2
sudo mv /usr/lib/i386-linux-gnu/libGLU.so.1.3.08000 /usr/lib/i386-linux-gnu/libGLU.so.1.3.08000.back
sudo cp ~/Pobrane/mesa/lib/libGLU.so.1.3.08000 /usr/lib/i386-linux-gnu/libGLU.so.1.3.08000
sudo cp ~/Pobrane/mesa/lib/libglsl.so /usr/lib/i386-linux-gnu/
sudo cp ~/Pobrane/mesa/lib/libdricore.so /usr/lib/i386-linux-gnu/
I 64 bitowcy:

Kod: Zaznacz cały

sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.back
sudo cp ~/Pobrane/mesa/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
sudo mv /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.08000 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.08000.back
sudo cp ~/Pobrane/mesa/lib/libGLU.so.1.3.08000 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.08000
sudo cp ~/Pobrane/mesa/lib/libglsl.so /usr/lib/x86_64-linux-gnu/
sudo cp ~/Pobrane/mesa/lib/libdricore.so /usr/lib/x86_64-linux-gnu/
Następnie restart kompa i wynik komendy

Kod: Zaznacz cały

glxinfo | grep OpenGL
powinien wyglądać podobnie do tego:
Obrazek
To wszystko. Od teraz twój komputer działa na sterownikach wprost z mesa master.
4. Uwagi końcowe
1. Nie zapomnij o rozszerzeniu możliwości otwartych sterowników o obsługę S3TC
2. Jest bardzo fajne i proste graficzne narzędzie do konfiguracji otwartych sterowników. Doinstalujesz je poleceniem:

Kod: Zaznacz cały

sudo apt-get install driconf
3. Użytkownicy 64 bitowych systemów macie pecha. 32 bitowe aplikacje (większość komercyjnych gier) będzie nadal korzystać z 32 bitowej wersji Mesa (która przyjdzie wraz z bibliotekami "ia32libs" i będzie to zwykła systemowa Mesa). Kompilacja krzyżowa 32 bitowej Mesa wychodzi poza zakres tego poradnika.
5. Kompilacja sterowników DDX do Xorga
Chociaż zdecydowana większość ciekawych zmian w otwartych sterownikach ma miejsce w przestrzeni DRI, to jednak można też skompilować sobie najnowsze sterowniki DDX dla X-Servera prosto z drzewa Git.

Przygotowujemy środowisko:

Kod: Zaznacz cały

apt-get build-dep xserver-xorg-video-ati xserver-xorg-video-intel xserver-xorg-video-nouveau

Jeżeli mamy kartę graficzną Radeon to pobieramy kod sterownika:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati
cd xf86-video-ati
Dla kart graficznych Intela:

Kod: Zaznacz cały

cd ~/Pobrane
git clonegit://anongit.freedesktop.org/xorg/driver/xf86-video-intel
cd xf86-video-intel
Dla kart graficznych Nvidia:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
cd xf86-video-nouveau
Dla kart graficznych SIS:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-sis
cd xf86-video-sis
Dla kart graficznych Chrome:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/openchrome/xf86-video-openchrome
cd xf86-video-openchrome
Uniwersalne sterowniki, które powinny działać na każdej karcie graficznej, ale nie zapewniają akceleracji 2D.
Frame Buffer:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-fbdev
cd xf86-video-fbdev
lub VESA:

Kod: Zaznacz cały

cd ~/Pobrane
git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-vesa
cd xf86-video-vesa
Następnie kompilujemy sterownik:

Kod: Zaznacz cały

./autogen.sh --prefix=/opt/xorg
make
sudo make install
Edytujemy lub tworzymy plik xorg.conf

Kod: Zaznacz cały

sudo gedit /etc/X11/xorg.conf
Umieszczamy w pliku następującą treść:

Kod: Zaznacz cały

Section "Files"
        ModulePath "/opt/xorg/lib/xorg/modules,/usr/lib/xorg/modules"
EndSection
Restartujemy X-Server i komputer powinien wstać na nowoskompilowanym sterowniku.

Pozdrawiam

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 10:53
autor: Cieniek
Wszystko poszło bez problemu. Jedynie w punkcie 3 musiałem zmienić wersje pliku libGLU.so.1.3 (za pewne w związku z ppa xorg-edgers). Czy dla sterownika nouveau powinno się włączyć ARB_texture_float? Bo niestety u mnie nadal nie działa.

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 12:40
autor: Jusko
Świetne. Można to gdzieś przykleić, aby nie zaginęło (choć w tym dziale, raczej nie powinno :)) Fajnie, że pamiętałeś o robieniu backupu - to może przydać się komuś :) Jak tylko znajdę chwilkę, poeksperymentuję na żywym systemie. Dla Mesy już pewnie rewelacji nie będzie, ale Gallium pchnęło nieco wszystko do przodu (ciągle bez rewelki, ale lepiej).

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 18:45
autor: makson
Cieniek
Możliwe, że to jeszcze zależy od rodzaju karty, ale powinien i obsługuje (sam przetestowałem na GeForce 9600GT):
Obrazek
Najprawdopodobniej pogmatwałeś sobie sprawę repozytorium xorg-edgers - ich Mesa też przedstawia się jako 7.12-devel, ale nie odblokowują patentów.
Radzę Ci zainstalować czystą alpha 1, zaktualizować system i zastosować mój poradnik. Zwróć też uwagę, czy nigdzie po drodze Ci jakiś błąd nie wyskoczył.

Justko
Zeleży jeszcze od sterownika. Intelowski i965 oparty o klasyczną Mesa jest bardzo dopieszczony.

To jeszcze może mała legenda, który sterownik jest do czego.

Klasyczna Mesa:
i915 - (oficjalny) stare Intele: i915G/i915GM/i915GMS, i945G/i945GM (łącznie z GMA 950, GMA 3000, GMA 3100)
i965 - nowe Intele: jak nazwa wskazuje dla i965 i nowszych (łącznie z Sandy Bridge i Ivy Bridge)
radeon - stare ATI: Radeon VE, SDR, DDR / LE, 7000 / M6, 7200 (SDR / DDR), 7500
r200 - stare ATI: Radeon 8500 LE, 8500, 8700, 8800, 9000, 9000 Pro, 9100, 9200, 9200 SE, 9250
swrast - Software Rasterizer: niezależne sprzętowo przetwarzanie grafiki na procesorze

Gallium3D:
i915 - (nieoficjalny) stare Intele: i915G/i915GM/i915GMS, i945G/i945GM (łącznie z GMA 950, GMA 3000, GMA 3100)
nouveau - Wszystkie NVIDIA
r300 - stare ATI: Radeon 9500 i nowsze aż do wspieranych HD, ale bez HD.
r600 - nowe AMD: Wszystkie Radeony HD (aczkolwiek nadchodzące Radeony HD 7000 dostaną nowy sterownik)
svga - maszyna wirtualna VMWare (i jeden z najbardziej dopieszczonych sterowników na Gallium3D)
swrast - llvmpipe: niezależne sprzętowo przetwarzanie grafiki na procesorze (dużo wydajniejsze niż Software Rasterizer)

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 19:32
autor: jacekalex
nouveau - Wszystkie NVIDIA
Akurat, mimo mojej sporej sympatii dla Nouveau, średnio mu ta definicja "wszystkie" wychodzi.
Także jeszcze sporo wody w Wiśle upłynie, zanim Nouveau będzie stabilnym sterownikiem do wszystkich kart.
Sznurek: http://nouveau.freedesktop.org/wiki/FeatureMatrix

W mojej akceleracja 3D mu ostatnio w ogóle nie wychodzi.

Pozdro
:craz:

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 20:32
autor: Cieniek
makson pisze:ich Mesa też przedstawia się jako 7.12-devel, ale nie odblokowują patentów.
Ich "version string" nie pokazywał (git-XXXX). Niemniej spróbuję zrobić jak radzisz.

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 22:00
autor: makson
Nie twierdzę, że nie. Może po prostu twoja karta nie obsługuje tego rozszerzenia na tym sterowniku. Ciągle nie napisałeś jakiej karty używasz.
A tak na marginesie, to tak jak zaznaczył jacekalex NVIDIA to nienajlepszy wybór dla testowania otwartych sterowników...

Re: [HOW TO] Kompilacja Mesa3D

: 19 gru 2011, 22:48
autor: jacekalex
Otwarte sterowniki z wyboru, brałbym do Intela, z konieczności, do starszych Radeonów.

Co do nowszych kart, to zarówno Nvidia jak i Ati mają 2 problemy z ujawnieniem kodu sterowników:
1. Strach przed ujawnieniem tajemnicy, którą może poznać konkurencja.
2. Kłopoty prawne wynikające z ujawnienia technologii DRM wbudowanej w te karty, gdzie właścicielem patentu na DRM jest ktoś inny, a NVidia i Ati tylko dodały kawałek tej technologii do swoich sterów.

A inżynieria wsteczna w odniesieniu do takich kombajnów, jak np GeForce, to nie jest ani łatwe ani szybkie zadanie, co wyraźnie widać w rozwoju Nouveau.

Także otwarte odpowiedniki sterów Nvidii czy Catalystów o możliwościach dorównujących zamkniętym sterom kiedyś powstaną, ale raczej nie za tydzień, i chyba nie w ciagu najbliższych 2 lat.

Pozdrawiam
:craz:

Re: [HOW TO] Kompilacja Mesa3D

: 21 gru 2011, 12:50
autor: e X t 7 3
No ładnie musze przyznać ;). Choć można by się pokusić o zbudowanie paczek zamiast wykonywać "ręczne robótki" via mv ;).

Pozdrawiam

Re: [HOW TO] Kompilacja Mesa3D

: 21 gru 2011, 13:57
autor: Cieniek
makson pisze:Nie twierdzę, że nie. Może po prostu twoja karta nie obsługuje tego rozszerzenia na tym sterowniku. Ciągle nie napisałeś jakiej karty używasz.
GF 7300GT. Jest jakiś sposób, żeby sprawdzić, czy to powinno na niej działać?

Re: [HOW TO] Kompilacja Mesa3D

: 22 gru 2011, 22:54
autor: makson
@Cieniek
Jedyny sposób to metoda prób i błędów. Wydaje mi się jednak, że powinno.
Jak skompilujesz Mesa na czystym Ubuntu 12.04 (nie zapomnij o "--enable-texture-float") to będziesz widział, czy korzystasz z Mesy systemowej (7.11), czy skompilowanej (7.12-dev). To zdecydowanie rozstrzygnie sprawę.

P.S. Dokonałem serii benchmarków sterownika nouveau. Przygotujcie się na odpowiedni artykuł z wynikami w Czytelni ;) .

-- 22 gru 2011 23:50 --
e X t 7 3 pisze:No ładnie musze przyznać ;). Choć można by się pokusić o zbudowanie paczek zamiast wykonywać "ręczne robótki" via mv ;).

Pozdrawiam
Masz rację. Da się oszczędzić trochę pracy, ale zastosujemy inny brudny trick (wprowadzam poprawki w How To).

-- 05 lut 2012 20:23 --

Ostatni etap poradnika jest jednak trochę zepsuty. Zanim wykombinuję, jak to ładnie zrobić, to w terminalu należy wpisać:

Kod: Zaznacz cały

export LD_LIBRARY_PATH=$HOME/Pobrane/mesa/lib
I następnie wszystko co się uruchomi z tego terminala będzie na nowych sterach.
Pozdrawiam

Re: [HOW TO] Kompilacja Mesa3D

: 14 lut 2012, 17:47
autor: mati5000
Witam u mnie wszystko przebiegło ok, ale jest małe ale... Vdrift czy jak sie tam ta gra zwie nie zadziałała, dlatego nie byłem do końca pewny czy wszystko poszło ok. System chodził lepiej, ale ta gra normalnie czarne rozmazane litery nie do odczytania, inaczej jakby wycięte tekstury, dziury. W czym problem?

Re: [HOW TO] Kompilacja Mesa3D

: 14 lut 2012, 18:18
autor: makson
A jaka karta graficzna i jaki wynik polecenia 'glxinfo'?

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 09:39
autor: mati5000
Wywaliłem ubuntu 12.04, wgrałem 11.10
Wynik Polecenia podobny, ale chodzi jakby szybciej niz na 12 czyli beta jest do bani

powinno być ok?

Jakiego Benchmarka najlepiej użyć?
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB,
GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_multithread_makecurrent, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string: 2.1 Mesa 8.0-devel (git-78734e3)
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture,
GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object,
GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture,
GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters,
GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters,
GL_EXT_rescale_normal, GL_EXT_separate_specular_color,
GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod, GL_ARB_multitexture, GL_IBM_multimode_draw_arrays,
GL_IBM_texture_mirrored_repeat, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_transpose_matrix,
GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
GL_EXT_secondary_color, GL_EXT_texture_env_add, GL_EXT_texture_lod_bias,
GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent,
GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_EXT_framebuffer_object,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_MESA_window_pos,
GL_NV_packed_depth_stencil, GL_NV_texture_rectangle, GL_ARB_depth_texture,
GL_ARB_occlusion_query, GL_ARB_shadow, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_mirrored_repeat, GL_ARB_window_pos,
GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_fog_distance,
GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_draw_buffers,
GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects,
GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers,
GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_shadow_funcs,
GL_EXT_stencil_wrap, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
GL_NV_primitive_restart, GL_ARB_fragment_program_shadow,
GL_ARB_half_float_pixel, GL_ARB_occlusion_query2, GL_ARB_point_sprite,
GL_ARB_shading_language_100, GL_ARB_sync, GL_ARB_texture_non_power_of_two,
GL_ARB_vertex_buffer_object, GL_ATI_blend_equation_separate,
GL_EXT_blend_equation_separate, GL_OES_read_format,
GL_ARB_pixel_buffer_object, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_float, GL_ARB_texture_rectangle,
GL_ATI_texture_compression_3dc, GL_EXT_packed_float,
GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_rectangle,
GL_EXT_texture_sRGB, GL_EXT_texture_shared_exponent,
GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil,
GL_ARB_vertex_array_object, GL_ATI_separate_stencil,
GL_ATI_texture_mirror_once, GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
GL_EXT_gpu_program_parameters, GL_EXT_texture_compression_latc,
GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_ARB_copy_buffer,
GL_ARB_draw_instanced, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_texture_rg, GL_ARB_texture_swizzle,
GL_ARB_vertex_array_bgra, GL_EXT_separate_shader_objects,
GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra,
GL_NV_conditional_render, GL_AMD_draw_buffers_blend,
GL_ARB_ES2_compatibility, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location,
GL_ARB_fragment_coord_conventions, GL_ARB_provoking_vertex,
GL_ARB_sampler_objects, GL_ARB_shader_texture_lod,
GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_provoking_vertex,
GL_EXT_texture_snorm, GL_MESA_texture_signed_rgba, GL_ARB_robustness,
GL_ARB_texture_storage

72 GLX Visuals
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 09:53
autor: valdi74
Wyszła Mesa 8.0 http://osnews.pl/mesa-8-0-wydana/. Interesującą dla mnie nowością jest "zintegrowanie gałęzi Gallium3D pipe-video, udostępniający API VA-API oraz VDPAU". Obecnie odtwarzam filmy na zamkniętych sterownikach i działają bardzo ładne dopóki nie jest to H264 z poziomem >= 5.1. Niestety AMD nie zrobiło tego dobrze w Catalystach a mój procesor (E-450) nie radzi sobie z dekodowaniem programowym 1080p. Czytałem, że Gallium3D pipe-video wykorzystuje do dekodowania sprzętowego shadery (Catalysty działają na UVD, więc na pewno wydajniej). Jestem bardzo ciekaw czy nowa Mesa poradzi sobie z odtwarzaniem 1080p.

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 10:10
autor: makson
@mati5000
Niby wszystko ok, ale zdajesz sobie sprawę, że nie korzystasz z karty graficznej, tylko z Programowego Renderowania?
Ciągle nie napisałeś jaką masz karty graficzną.
Co do benchmarków to proponuję się zapoznać z "phoronix test suite".

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 10:13
autor: mati5000
valdi74 pisze:Wyszła Mesa 8.0 http://osnews.pl/mesa-8-0-wydana/. Interesującą dla mnie nowością jest "zintegrowanie gałęzi Gallium3D pipe-video, udostępniający API VA-API oraz VDPAU". Obecnie odtwarzam filmy na zamkniętych sterownikach i działają bardzo ładne dopóki nie jest to H264 z poziomem >= 5.1. Niestety AMD nie zrobiło tego dobrze w Catalystach a mój procesor (E-450) nie radzi sobie z dekodowaniem programowym 1080p. Czytałem, że Gallium3D pipe-video wykorzystuje do dekodowania sprzętowego shadery (Catalysty działają na UVD, więc na pewno wydajniej). Jestem bardzo ciekaw czy nowa Mesa poradzi sobie z odtwarzaniem 1080p.
Ja mam właśnie 8.0 zainstalowane

penGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string: 2.1 Mesa 8.0-devel (git-78734e3)
OpenGL shading language version string: 1.20

Myślisz, ze mam to o co tobie chodzi?
makson pisze:@mati5000
Niby wszystko ok, ale zdajesz sobie sprawę, że nie korzystasz z karty graficznej, tylko z Programowego Renderowania?
Ciągle nie napisałeś jaką masz karty graficzną.
Co do benchmarków to proponuję się zapoznać z "phoronix test suite".
Jest to karta Ati Radeon X300/R300 w IBM T43

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 10:19
autor: luk1don
Ty masz OpenGL version string: 2.1 Mesa 8.0-devel (git-78734e3)
a wyszła chyba stable...

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 10:39
autor: makson
@luk1don
Mesa w git jeszcze nie jest oznaczona jako 8.1 (więc ciągle się przedstawia jako 8.0), ale ma już sporo nowości względem stabilnej 8.0.
mati5000
Wygląda na to, że nie skompilowałeś właściwego sterownika.
Spróbuj:

Kod: Zaznacz cały

cd ~/Pobrane/mesa
rm -r lib
make realclean
./configure --enable-texture-float --with-dri-drivers= --with-gallium-drivers=r300
make
I z tak przygotowanej mesa podaj wynik:

Kod: Zaznacz cały

glxinfo

Re: [HOW TO] Kompilacja Mesa3D

: 15 lut 2012, 11:14
autor: mati5000
OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RV370
OpenGL version string: 1.4 (2.1 Mesa 7.11)
OpenGL extensions:

i wróciło do tego co było what?

Wróciłem do tego co było..