Saya tidak yakin apakah itu satu-satunya cara yang mungkin, tetapi saya membaca bahwa untuk menempatkan satu piksel ke layar di lokasi pilihan Anda, Anda harus menulis sesuatu ke tempat yang disebut framebuffer. Jadi saya menjadi penasaran, apakah mungkin untuk masuk ke tempat ini dan menulis sesuatu ke dalamnya untuk menampilkan satu piksel di suatu tempat di layar.
linux
console
graphics
framebuffer
Abdul Al Hazred
sumber
sumber
Jawaban:
ya, di luar X-server, dalam tty, coba perintah:
jika colourfull piksel mengisi layar, maka pengaturan Anda ok, dan Anda dapat mencoba bermain dengan skrip kecil ini:
di mana fungsi 'pixel' harus menjadi jawaban ... tulis piksel ke layar dengan mengubah nilai byte (biru-hijau-merah-alfa) pada offset xy perangkat / dev / fbX yang merupakan buffer bingkai untuk kartu video.
atau coba satu draw pixel liner (kuning pada x: y = 200: 100, jika lebarnya 1024):
PEMBARUAN: kode ini berfungsi bahkan di dalam X-server, jika kita hanya mengkonfigurasi X untuk menggunakan frame buffer . dengan menentukan fb0 di dalam /usr/share/X11/xorg.conf.d/99-fbdev.conf
sumber
dd
yang sering disebut "Penghancuran Disk" untuk alasan tertentu ... jangan dekati perintah ini kecuali Anda tahu apa yang Anda lakukan .../dev/fbX
dan/dev/fd
itu hanya kesalahan ketik. Dan ya,dd
itu berbahaya, tetapi juga begiturm
. Itu tidak berarti itu tidak boleh digunakan. Itu hanya berarti bahwa itu harus digunakan dengan hati-hati./dev/fb0
lebih masuk akal! Semua orang tahu aparm
artinya, tetapidd
sedikit lebih kabur, masih berpikir itu harus membawa peringatan kesehatan.Saya baru saja memposting ini pagi ini, masih menyelidiki mengapa itu hanya berfungsi pada Raspberry Pis. https://www.raspberrypi.org/forums/viewtopic.php?f=72&t=213964&p=1428891#p1428891
Buka / dev / fb0, mmap sehingga Anda mendapatkan pointer, dan itu jauh lebih cepat. Tidak menggunakan X sama sekali tetapi itu akan dengan senang hati mengabaikan X, itu hanya sesuatu di layar.
Oh, dari baris perintah, semacam, Anda dapat menulis ke / dev / fb0. Tetapi apa pun yang Anda tulis pada offset 0 akan berada di sudut kiri atas sehingga akan segera menggulir layar. Anda dapat melakukan for for di Bash dan menulis beberapa ribu kali. Atau gunakan / dev / urandom. Menghancurkan apa yang ada di screenbuffer, terutama saat Anda berada di X, bukan masalah besar. Segera setelah Anda menyeret jendela ke area X menyebabkan acara terbuka dan mengecatnya kembali. Anda tidak perlu membunuh kekuatan untuk memulihkan.
sumber