Gnu/Slackware Linux ve Intel Grafik Kartlarinin Tanitilmasi

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Bu makalede İntel i810, i810-DC100, i810e, i815, 830M, 845G, 852GM, 855GM, 865G, 915G , 915GM ekran kartlarını sisteme tanıtılması ve 3D açılmasını anlatmaya çalışacam.


Bu makalede yapacaklarım Linux-2.6.16, Xorg.6.8.2 denenmiştir.






Resim:Muratsplat_intel_3D.jpg


Öncelikle kullandığımız çekirdekte desteklerinin bulunması gerekiyor.

# lsmod
Module                  Size  Used by
i915                   16128  1
drm                    55700  2 i915
intel_agp              18268  1
intelfb                25380  0
fb                     39080  1 intelfb
agpgart                25772  4 drm,intel_agp,intelfb

Yukarıdaki örnek benim bilgisayarımda ki intel sürücüleri. Eğer çekirdeğinizde bu destekler yoksa(sizde i915 farklı olabilir) kullandığınız çekirdeğe bu sürücüleri ekleyin.slackware de çekirdek derlemek Drm sürücüsü Özellikle 3D yani OpenGL açmamız için olmazsa olmaz bir sürücüdür. Drm olmazsa X açılır ama 3D kullanamazsınız. "dmesg" çıktısına bakarsanız benim makinemde drm'nin aygıt oluştuğunu göreceksiniz.

[17179600.160000] fill_kobj_path: path = '/module/drm'
[17179600.180000] subsystem drm: registering
[17179600.180000] kobject drm: registering. parent: <NULL>, set: class
[17179600.180000] [drm] Initialized drm 1.0.1 20051102
[17179600.228000] kobject i915: registering. parent: <NULL>, set: module
[17179600.228000] kobject_uevent
[17179600.228000] fill_kobj_path: path = '/module/i915'
[17179600.248000] ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
[17179600.248000] kobject card0: registering. parent: drm, set: class_obj
[17179600.248000] kobject_uevent
[17179600.248000] fill_kobj_path: path = '/class/drm/card0'
[17179600.248000] fill_kobj_path: path = '/devices/pci0000:00/0000:00:02.0'
[17179600.268000] [drm] Initialized i915 1.4.0 20060119 on minor 0
[17179600.272000] kobject card1: registering. parent: drm, set: class_obj
[17179600.272000] kobject_uevent
[17179600.272000] fill_kobj_path: path = '/class/drm/card1'
[17179600.272000] fill_kobj_path: path = '/devices/pci0000:00/0000:00:02.1'
[17179600.292000] [drm] Initialized i915 1.4.0 20060119 on minor 1

Çekirdeğimiz i915 sürücüsünü kullanılmış. (Yukardaki çıktıyı "dmesg" komutunun çıktısıdır).Oluşan aygıtlara bakalım:

# ls /dev/dri/*
/dev/dri/card0  /dev/dri/card1

Şimdi xorg.conf da bazı değişiklik yapacaz.Bu yüzden xorg.conf dosyanızın mutlaka yedeğini alın. Aşağıdaki gibi bir komutla alabilirsiniz.

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf_yedek

/etc/X11/xorg.conf daki Section "Module" bölümüne "Load "dri" " ekleyin. Bu 3D için. Bu modul 3D için /dev/dri/card0 ile konuşacak.

Section "Module"
Load  "dbe"  	
SubSection "extmod"
Option	    "omit xfree86-dga"   
EndSubSection
Load  "type1"
Load  "freetype"
Load  "glx"
Load  "extmod"
Load  "record"
Load  "dri"  # bunu şimdi ekledik!
Load  "xtrap"
EndSection

Şimdide xorg.conf daki "Section "Device" " bölümünü bulun.

Section "Device"
VideoRam    65536   # Ekran kartını kullanacağı Fiziksel bellek. Kartınızın modeline göre değişebilir.
Identifier  "Card0" #  /dev/dri/card0 daki  çekirdek aygıtı.       
VendorName  "]ntel Corp." # bu ne olacağı okadar önemli değil ..
Driver      "i810"
BoardName   "82852/855GM Intel Graphics Device" # Bununda ne olacağı o kadar önemli değil.
BusID       "PCI:0:2:0"   # bu sizde farklı olabilir.
Option      "DPMS" # bu ekranının güç yönetimini  sağlar.
Option      "VBERestore"  "true"
EndSection

Bu ayarları kaydedin. X kapatın ve tekrar açın. Eğer init 4 düzeyinde X açıksa şu komutla "init 3" init 3 seviyesine geçin ve konsola düşün.

$ su
Password:
# init 3

Sonra konsola düşeceksiniz. Sisteme root olarak giriş yapın.

# init 4

X açmaya çalışın.X açılmazsa /var/log/ dizini altındaki xorg kayıt dosyasına bakın. Yapılan hatayı oraya bakarak anlayabilirsiniz. Hatalar "EE" şeklinde uyarılar ise "WW" başlayan satırlarda gözükecektir.

Eğer sorunsuz açıldıysa şu komutla 3D'nin aktif olup olmadığına bakın.

$ /usr/X11R6/bin/glxinfo | grep "direct"
direct rendering: Yes


$ /usr/X11R6/bin/glxinfo | grep OpenGL
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20040919 x86/MMX/SSE2
OpenGL version string: 1.3 Mesa 6.2.1
OpenGL extensions:
$

Evet artık kartınız 3D sini kulanabilirsiniz.

Eğer şu hata çıktısını alıyorsanız:

 $ /usr/X11R6/bin/glxinfo | grep "direct"
 libGL error: open DRM failed (Operation not permitted)
 libGL error: reverting to (slow) indirect rendering
 direct rendering: No
 OpenGL renderer string: Mesa GLX Indirect
 $        

Muhtemelen sorun /dev/dri/altındaki aygıtların erişim haklarındadır. Mesala ben de bu hata ile karşılaşmıştım. Bu hata bende init 4 seviyesinde oluyor. init 3 de bu sorun olmuyor. Bu sorunun çözümü çok basit.

 $ su
 Password:
 # chmod 666 /dev/dri/*
 # exit
 $ glxinfo | grep "renderer"
 $ glxinfo | grep "direct"
 direct rendering: Yes
 $

Bu işin tek kötü tarafı bilgisayar her init 4 seviyesine geçişinde eğer 3d kullanmak istyorsanız( mesela OpenGL yada Mplayeri OpenGL çıkışlı kullacaksanız) "chmod 666 /dev/dri/*" yapmanız gerekiyor.


Kullanıcı:Murat asya