4
我想從用戶空間寫入到VGA存儲器(視頻內存,而不是緩衝區),通過在用戶空間中映射並將地址發送到內核空間,我將使用pfn重映射將這些mmap-ed地址映射到vga內存(我會通過lspci獲取地址)。通過這樣做,我想在屏幕上顯示圖像/徽標?有關於此的任何幫助?如何在Linux中寫入VGA存儲器(不是視頻緩衝區,內存)以在屏幕上顯示徽標?
我想從用戶空間寫入到VGA存儲器(視頻內存,而不是緩衝區),通過在用戶空間中映射並將地址發送到內核空間,我將使用pfn重映射將這些mmap-ed地址映射到vga內存(我會通過lspci獲取地址)。通過這樣做,我想在屏幕上顯示圖像/徽標?有關於此的任何幫助?如何在Linux中寫入VGA存儲器(不是視頻緩衝區,內存)以在屏幕上顯示徽標?
沒有必要跳過所有這些籃球。
將相應的/sys/devices/pci<addr>/resource<N>
文件映射到您的進程內存中,通過mmap
等等直接訪問PCI內存。
這是不明白你想做什麼,但你可以寫到/ dev/fb0 – 0x90
當我通過使用'lspci'命令獲得視頻內存的物理範圍時,我將重新映射我得到的mmap的虛擬地址從用戶應用程序到ioctl,將這些地址映射到視頻內存的物理地址。然後,我想從用戶應用程序在屏幕上顯示徽標/圖像。幫幫我? – neo
您可能需要識別任何驅動程序將代理或通過訪問特定安裝上的軟件「framebuffer」並檢查其來源,以查看它是如何與硬件視頻內存進行交互的。另外請注意,雖然有些顯卡有專用的視頻RAM,但其他顯卡則使用主內存的一部分。在現代系統中,要小心錯誤優化的風險,其中您的高效嘗試最終會導致複雜的效率優化,從而導致間接訪問更加高效,而不是簡單直接編寫的嘗試。 –