Saya mencoba untuk membuat kartu tuner PCMCIA bekerja di server rumah tanpa kepala saya, menjalankan Debian Squeeze. Sekarang, karena saya memiliki masalah yang sangat besar untuk menemukan baris perintah yang benar untuk diambil, transcode dan streaming video ke jaringan menggunakan VLC, saya memutuskan untuk pergi langkah demi langkah, dan bekerja pertama pada output lokal.
Di situlah masalahnya muncul: sepertinya tidak ada perangkat framebuffer (/ dev / fb0) untuk mengakses untuk menampilkan grafik pada layar yang terpasang! Dan memang saya perhatikan saya tidak memiliki gambar penguin Linux saat boot (tidak memperhatikan sebelumnya karena layar terpasang, tapi selalu mati, dan lagi pula komputer selalu menyala).
Karena saya tidak terlalu mengenal grafis Linux, saya ingin memahami:
- Apakah ini terkait dengan perangkat keras khusus saya (lihat di bawah)? Atau spesifik untuk Debian Squeeze / versi kernel / ...?
- Apakah ada driver yang perlu saya instal / muat secara manual?
Sekarang beberapa informasi umum:
- Komputer tidak memiliki kartu grafis khusus, tetapi chipset grafis tertanam (Intel G31 Express), tertanam pada motherboard (Gigabyte G31M-ES2L)
- Saya tidak ingin menginstal X server berfitur lengkap, hanya memiliki perangkat framebuffer untuk pengujian khusus ini
Ada ide / komentar tentang masalah ini?
sumber
/dev/fb0
bangkit dan berjalan, pastikan untuk menerima jawaban saya. Jarang orang dengan pengalaman aktual pada topik yang kurang umum, menyiasati untuk memberikan jawaban HQ. Mereka memang ada di UNIX-SE, subjek yang relatif tidak umum sehingga kurang ahli.Jawaban:
Saya dapat menjawab pertanyaan Anda, setelah sebelumnya bekerja dengan Linux FB.
Bagaimana Linux Melakukan FB-nya.
Pertama, Anda perlu memiliki dukungan FrameBuffer di kernel Anda, yang sesuai dengan perangkat keras Anda. Sebagian besar distribusi modern memiliki dukungan melalui modul kernel. Tidak masalah jika distro Anda sudah dikonfigurasikan dengan logo boot, saya tidak menggunakannya dan memiliki dukungan FB.
Tidak masalah jika Anda memiliki kartu grafis khusus, terintegrasi akan berfungsi selama Hardware Framebuffer didukung.
Anda tidak perlu X, yang merupakan aspek paling menarik dari memiliki FrameBuffer. Beberapa orang tidak tahu yang lebih baik, jadi mereka menganjurkan beberapa bentuk X untuk mengatasi kesalahpahaman mereka.
Anda tidak perlu bekerja dengan FB secara langsung, yang banyak orang anggap salah. Pustaka yang sangat luar biasa untuk dikembangkan dengan FrameBuffer
DirectFB
bahkan memiliki dukungan akselerasi dasar. Saya selalu menyarankan setidaknya memeriksanya, jika Anda memulai proyek berbasis FB berfitur lengkap (Web Browser, Game, GUI ...)Khusus untuk Perangkat Keras Anda
Gunakan Vesa Generic FrameBuffer, modul-modulnya disebut
vesafb
. Anda dapat memuatnya, jika tersedia, dengan perintahmodprobe vesafb
. banyak distribusi yang sudah dikonfigurasi sebelumnya dinonaktifkan, Anda dapat check-in/etc/modprobe.d/
.blacklist vesafb
mungkin perlu dikomentari dengan#
, dalam,blacklist-framebuffer.conf
atau file daftar hitam lainnya.Opsi Terbaik, adalah driver KMS khusus Perangkat Keras. Yang utama untuk Intel adalah Intel GMA, tidak yakin apa namanya modul. Anda perlu membaca tentang itu dari dokumen distro Anda. Ini adalah opsi FB berkinerja terbaik, saya pribadi akan selalu pergi KMS terlebih dahulu jika memungkinkan.
Gunakan Driver FB khusus Legacy Hardware, Tidak direkomendasikan karena kadang-kadang bermasalah. Saya akan menghindari opsi ini, kecuali diperlukan pilihan terakhir.
Saya yakin ini mencakup semua pertanyaan Anda, dan harus menyediakan informasi untuk membuat
/dev/fb0
perangkat itu tersedia. Apa pun yang lebih spesifik akan memerlukan perincian distribusi, dan jika Anda agak berpengalaman, RTFM yang Anda butuhkan. (setelah membaca ini).Saya harap saya telah membantu, Anda yang beruntung bertanya tentang salah satu topik saya! Ini adalah subjek yang diabaikan pada UNIX-SE, karena tidak semua orang (secara sadar) menggunakan Linux FrameBuffer.
CATATAN: UvesaFB Atau VesaFB?
Anda mungkin memiliki orang-orang membaca menggunakan
uvesafb
lebihvesafb
, karena memiliki kinerja yang lebih baik. WAS ini umumnya benar, tetapi tidak dalam distro modern dengan Perangkat Keras modern. Jika Perangkat Keras Grafik Anda mendukung mode terlindungi VESA (VESA> = 2.0), dan Anda memiliki kernel yang agak baruvesafb
sekarang merupakan pilihan yang lebih baik.sumber
modprobe vesa
(yang saya ingat pernah mencoba sebelum mengajukan pertanyaan di sini) yang gagal karena modul tidak ada di sistem saya (FATAL: Module vesafb not found.
) -> harus memahami apakah ini terkait dengan perangkat keras saya atau distribusi Linux saya (Debian Squeeze ). Kabar baiknya adalah itumodprobe uvesafb
berfungsi dan menciptakan/dev/fb0
perangkat. Namun, sekarang saya telah membaca jawaban Anda, saya akan mencoba untuk mengatur hal-hal dengan cara yang tepat dan menemukan driver KMS ...inteldrmfb
, saya menemukan melakukan riset cepat. Saya selalu memiliki ATI, jadi dukungan terkait GPU Intel bukan poin terkuat saya. Anda mungkin perlu menginstal paket untuk itu, tetapi saya akan melihat apakah saya bisa mengetahuinya.i915
, tetapi memuat Framebuffer yang dikenal sebagai inteldrmfb. Anda mungkin perlu menginstal paketlibdrm-intel1
, atau memeriksa apakah sudah diinstal.Saya akhirnya menemukan solusi untuk masalah saya !!
Pertama-tama, banyak terima kasih kepada semua yang berkontribusi dan khususnya TechZilla dan penjelasan rinci yang dia berikan tanpanya saya pikir saya akan menyerah dulu!
Jadi pada dasarnya semua yang perlu dilakukan adalah mengaktifkan mode pengaturan (
modeset=1
) ketikai915
modul kernel dimuat. Ini bisa dilakukan dengan cara biasa:/etc/modprobe.d
atau di baris perintah:
Bahkan, Anda tidak perlu melakukan apa pun jika Anda menginstal paket
xserver-xorg-video-intel
, yang menciptakan/etc/modprobe.d/i915-kms.conf
mengandungoptions i915 modeset=1
. Namun, jika seseorang tidak ingin menginstal X (seperti dalam kasus saya), maka KMS tidak secara otomatis diaktifkan, yang menjelaskan mengapa perangkat FrameBuffer tidak dibuat ...sumber
Anda dapat mencoba framebuffer virtual seperti Xvfb (X virtual framebuffer).
Deskripsi paket xvfb dalam pemerasan
sumber
Selama ini adalah instalasi debian standar tanpa kemewahan dan kernel standar, Anda harus bisa mendapatkan konsol VGA rekrut yang menggunakan perangkat framebuffer dengan parameter kernel seperti "vga = 792" (24 bit 1024 × 768 ). Tentu kernel melaporkannya sudah usang, tetapi berhasil.
Lihat http://www.kernel.org/doc/Documentation/kernel-parameters.txt untuk parameter kernel. Menariknya di sana paremeter "vga =" tidak ditampilkan sebagai usang.
Pastikan untuk menjalankan kembali pembaruan-grub (2) dan sejenisnya setelah perubahan.
Juga lihat di http://packages.debian.org/squeeze/svgalib-bin itu tidak sempurna tetapi memungkinkan Anda untuk melakukan beberapa hal grafis yang bagus di konsol.
sumber
16
deselerasi lawas . Ini juga sudah usang, yang setidaknya Anda akui, secara pragmatis itu artinya JANGAN MELAKUKAN SETUPS BARU DENGAN TI.vga=
Sampah lama akan gagal mem-boot, jika modul perangkat keras Anda dinonaktifkan/etc/modprobe.d/
dan banyak distro yang sudah dikonfigurasikan sebelumnya.