Panduan Akselerasi 3D Hardware
1.
Pendahuluan
Apa itu akselerasi 3D hardware dan mengapa saya menginginkannya?
Dengan akselerasi 3D hardware, render tiga dimensi menggunakan prosesor grafis
dari kartu video anda, bukan menggunakan CPU. Hal ini juga biasa disebut dengan
"akselerasi hardware" yang bertolak belakang dengan "akselerasi software" yang
memaksa CPU anda untuk menghasilkan gambar dengan menggunakan librari render
Mesa, yang cukup banyak memakan kekuatan prosesor. Walaupun pada dasarnya Xorg
mendukung akselerasi hardware 2D, Xorg tidak memiliki dukungan akselerasi
3D hardware. Akselerasi 3D hardware sangat bernilai pada situasi yang
membutuhkan render objek 3D seperti game, CAD 3D dan modeling.
Bagaimana cara mendapatkan akselerasi 3D hardware?
Pada kebanyakan kasus, tersedia driver binari dan open source. Driver open
source lebih diutamakan karena kita sedang menggunakan Linux dan open source
merupakan salah satu prinsip utamanya. Terkadang, driver binari merupakan
satu-satunya pilihan yang tersedia, seperti untuk kartu nVidia. Tersedia
driver binari x11-drivers/nvidia-drivers untuk kartu nVidia, dan
media-video/ati-drivers untuk kartu ATi.
Apa itu DRI?
Direct Rendering
Infrastructure, juga dikenal dengan DRI, merupakan framework untuk
mendapatkan akses langsung ke hardware grafis dengan cara yang aman dan
efisien. Hal ini termasuk juga perubahan pada server X, beberapa librari klien
dan kernel. Penggunaan utama dari DRI adalah untuk menciptakan implementasi
OpenGL yang cepat.
Apa itu DRM dan apa hubungannya dengan Xorg biasa?
DRM (Direct Rendering Manager) merupakan sebuah peningkatan pada Xorg
yang menambahkan akselerasi 3D pada kartu grafis dengan menambahkan modul
kernel yang diperlukan untuk direct rendering.
Tujuan
Panduan ini diperuntukkan bagi pengguna yang tidak bisa mendapatkan render
langsung hanya dengan Xorg. DRM dapat digunakan untuk kartu-kartu video
berikut:
- 3dfx
- intel
- matrox
- rage128
- radeon
- mach64
- sis300
- via
Kunjungilah website DRI untuk
mendapatkan info dan dokumentasi lebih lanjut.
Feedback
Saran, pertanyaan, dll, silakan kirimkan email ke Donnie Berkholz.
2.
Instal Xorg dan konfigurasi kernel
Instal Xorg
Silakan ikuti Panduan Konfigurasi
Xorg kami untuk menginstal Xorg.
Konfigurasi kernel
Temukan jenis chipset anda dan aktifkan dukungan hanya untuk chipset tersebut.
Daftar Kode 2.1: Memeriksa chipset AGP |
# emerge pciutils; lspci | grep AGP
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
|
Jika chipset anda tidak didukung oleh kernel, anda mungkin dapat menambahkan
agp=try_unsupported sebagai parameter kernel. Opsi ini akan menggunakan
rutin umum Intel untuk dukungan AGP. Untuk menambahkan opsi ini, edit file
konfigurasi bootloader anda.
Hampir semua kernel mendukung opsi ini. Contoh ini menggunakan kernel standar
gentoo-sources.
Daftar Kode 2.2: Konfigurasi kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4
# cd /usr/src/linux
# make menuconfig
|
Daftar Kode 2.3: Opsi-opsi make menuconfig |
Processor type and features --->
<*> MTRR (Memory Type Range Register) support
Device drivers --->
Character devices --->
<M> /dev/agpgart (AGP Support)
<M> Intel 440LX/BX/GX, I8xx and E7x05 support
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
|
Pastikan agar Direct Rendering Manager (DRM) off. Paket DRM akan
menyediakannya untuk anda.
Kompilasi dan instalasi kernel
Daftar Kode 2.4: Kompilasi dan instalasi kernel |
# make && make modules modules_install
|
Jangan lupa untuk sesuaikan grub.conf atau lilo.conf dengan kernel baru lalu
jalankan /sbin/lilo jika anda menggunakan LILO.
3.
Konfigurasi direct rendering
Konfigurasi direct rendering
Buka /etc/X11/xorg.conf dengan editor kesukaan anda lalu edit
untuk mengaktifkan DRI dan GLX
Daftar Kode 3.1: xorg.conf |
...
Section "Module"
Load "dri"
Load "glx"
...
EndSection
...
Section "Device"
Driver "radeon"
...
EndSection
...
Section "dri"
Mode 0666
EndSection
|
Perubahan pada modules.autoload.d
Anda perlu menambahkan nama modul yang digunakan oleh kartu grafis anda di
/etc/modules.autoload.d/kernel-2.6 untuk memastikan agar modul
tersebut dimuat secara otomatis ketika sistem anda dinyalakan.
Daftar Kode 3.2: Edit /etc/modules.autoload.d/kernel-2.6 |
intel-agp
|
Catatan:
Jika anda mengkompilasi agpgart sebagai modul, anda juga perlu
menambahkannya di /etc/modules.autoload.d/kernel-2.6.
|
4.
Menguji akselerasi 3D
Reboot ke kernel baru
Reboot komputer anda agar menggunakan kernel baru dan login sebagai user biasa.
Saatnya untuk melihat apakah anda telah mendapatkan direct rendering dan sebagus
apakah hasilnya. glxinfo dan glxgears adalah bagian dari paket
mesa-progs, jadi jangan lu[a instal dahulu sebelum anda menjalankan
perintah-perintah berikut.
Daftar Kode 4.1: Menguji rendering |
$ startx
$ glxinfo | grep rendering
direct rendering: Yes
$ glxgears
|
Catatan:
FPS mungkin akan terbatas pada refresh rate monitor anda, jadi ingat
selalu hal ini jika glxgears hanya melaporkan hasil FPS sebesar 70-100.
games-fps/ut2004-demo adalah toll benchmark yang lebih bagus, karena
dapat memberikan hasil performa yang sebenarnya.
|
5.
Tweak performa
Dapatkan hasil maksimal dari direct rendering
Beberapa opsi mungkin akan meningkatkan performa sampai 30 persen (atau lebih)
dari default. Set opsi-opsi ini di /etc/X11/xorg.conf. Tetapi,
sebelumnya anda mungkin perlu memeriksa apakah motherboard dan kartu grafis
anda mendukung opsi-opsi ini.
Pertama, mari kita periksa apakah kartu anda dapat mendukung "fast writes".
Kita akan melakukannya dengan memeriksa output dari lspci. Kita akan
mencari informasi "VGA compatible controller".
Daftar Kode 5.1: Pemeriksaan kartu video |
# lspci -vv
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY (prog-if 00 [VGA])
. . .
Capabilities: [58] AGP version 2.0
Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
|
Dari banyak informasi yang dihasilkan, kita hanya mencari FW di subseksi
"Status" dari seksi "Capabilities" AGP. Jika terdapat FW+ pada baris
"Status", berarti kartu anda mendukung fast writes. Kita sekarang akan
memeriksa apakah motherboard anda mendukung fast writes.
Penting:
Jika anda tidak melihat FW+, tetapi FW-, anda tidak dapat
mengaktifkan fast writes di xorg.conf. Kartu anda tidak
mendukung fast writes.
|
Sekarang mari kita pastikan apakah motherboard juga mendukung fast writes.
Sekarang, perhatikan seksi "Host bridge" pada output lspci anda.
Daftar Kode 5.2: Pemeriksaan motherboard |
# lspci -vv
00:00.0 Host bridge: Intel Corporation 82830 830 Chipset Host Bridge (rev 02)
. . .
Capabilities: [a0] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
|
Lagi-lagi, periksa subseksi "Status" dari seksi "Capabilities" AGP anda. Cari
FW. Jika anda melihat FW+, berarti motherboard anda mendukung
fast writes.
Penting:
Ingat, kedua informasi dari kartu video dan motherboard anda harus menunjukkan
kapabilitas FW yang sama. Jika salah satunya menunjukkan FW- di
"Status", anda tidak dapat mengaktifkan fast writes di xorg.conf.
|
Dengan anggapan semuanya telah berjalan dengan baik dan motherboard serta kartu
video anda mendukung fast writes, mari kita aktifkan opsi ini di
/etc/X11/xorg.conf dan mendapatkan performa terbaik dari hardware
anda.
Daftar Kode 5.3: xorg.conf |
Section "Device"
Option "AGPMode" "4"
Option "AGPFastWrite" "True"
Option "EnablePageFlip" "True"
...
EndSection
|
Peringatan:
Mengaktifkan AGPFastWrite pada chipset VIA kemungkinan besar akan
mengakibatkan komputer anda mengalami lock up. Chipset VIA tidak bisa berfungsi
baik dengan fast writes, jadi gunakan opsi ini dengan resiko sendiri.
|
Catatan:
Ingat, jika anda ingin agar fast write berfungsi dengan benar, anda juga perlu
mengaktifkan opsi ini di BIOS.
|
Jika anda masih ingin mengeset fitur yang lain, silakan baca matriks fitur di
website DRI atau daftar
fitur di Sourceforge.
6.
Pemecahan masalah
Tidak berfungsi. Saya tidak memiliki rendering, dan tidak tahu sebabnya.
Cobalah modprobe radeon sebelum anda menjalankan server X (gantikan
radeon dengan nama driver kartu video anda. Juga, cobalah untuk
membangun ulang agpgart di dalam kernel, bukan sebagai modul.
Ketika saya menjalankan startx, saya mendapatkan error ini:
"[drm] failed to load kernel module agpgart"
Hal ini terjadi karena anda mengkompilasi agpgart di dalam kernel, bukan
sebagai modul. Biarkan saja, kecuali jika anda mendapatkan masalah.
Saya memiliki Radeon, dan saya menginginkan TV-Out.
Driver yang pada awalnya dikembangkan oleh proyek GATOS telah digabungkan kedalam Xorg. Anda
tidak perlu lagi menjalankan langkah-langkah khusus untuk mendapatkan fitur
TV-Out; cukup emerge x11-drivers/xf86-video-ati.
Tidak berfungsi. Kartu video saya masih sangat baru dan masih belum didukung.
Coba gunakan driver binari. Untuk ati-drivers, terdapat sebuah daftar di
http://ati.amd.com/support/drivers/linux/linux-radeon.html
(untuk x86) dan
http://ati.amd.com/support/drivers/linux64/linux64-radeon.html
(untuk amd64). Jika masih belum didukung juga, gunakan fbdev. Memang lambat,
tetapi bisa berfungsi :)
saya memiliki kartu video PCI dan tidak bisa berfungsi. Tolong!
Edit /etc/X11/xorg.conf. Pada seksi "Device" aktifkan
ForcePCIMode.
Daftar Kode 6.1: Mengaktifkan ForcePCIMode |
Option "ForcePCIMode" "True"
|
7.
Ucapan Terima Kasih
-
Christopher Webber atas sarannya untuk menambahkan pertanyaan tentang
mengganti atau mengkompilasi ulang kernel pada seksi pemecahan masalah.
-
Steve, atas sarannya tentang penggunaan huruf yang konsisten pada DRI di
XF86Config
8.
Sumber-sumber
- http://forums.gentoo.org/viewtopic.php?t=46681
- http://forums.gentoo.org/viewtopic.php?t=29264
- http://dri.freedesktop.org/
- http://www.retinalburn.net/linux/dri_status.html
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|