我有一個GPIO顯示樹莓派。我目前已經將它設置爲/ dev/fb1上的幀緩衝設備。有沒有辦法使它成爲X窗口的默認或主顯示器?我最終試圖繪製圖形,我原本計劃使用DirectFB和SDL,但DirectFB在pi中是alpha。我嘗試過使用SDL1.2,因爲它具有Framebuffer支持,但我無法弄清楚如何讓SDL選擇一個幀緩衝設備來繪製而不使用DirectFB。有沒有辦法配置xorg使用framebuffer設備作爲主監視器?
我曾考慮過使用SDL來將我的簡單GUI的每一幀準備爲原始圖像,並使用mmap將其閃存到/ dev/fb1而不是使用SDL的內置繪圖函數,但我覺得這是一種糟糕的方式達到我的目標。
我認爲,如果我可以讓xorg使用我的幀緩衝設備作爲主監視器,那麼我不必擔心爲了讓SDL繪製我的圖像文件而做任何特殊的事情。但我不確定xorg是如何工作的,如果這是可能的話。
任何見解或幫助任何人都會大大幫助!我一直在考慮這個問題,一個星期看着不同的可能性。
有沒有辦法選擇使用哪種幀緩衝設備?當我上次嘗試使用SDL2時,它總是默認爲fb0,但我需要它使用fb1。 – 2014-10-06 15:00:46
不知道這是否有幫助,但您可以嘗試使用SDL_GetNumRenderDrivers並查看您有多少個選項。如果您有多個嘗試使用SDL_CreateRenderer選擇相應的驅動程序,並查看哪一個(如果有的話)在fb1上呈現。我沒有找到任何直接指定fb0或fb1的函數。 – JeanC 2014-10-06 21:33:15
顯然,SDL1.2有一個env變量SDL_FBDEV,您可以使用它來選擇要使用的幀緩衝區,SDL_FBDEV請參閱http://sdl.beuc.net/sdl.wiki/SDL_envvars – JeanC 2014-10-06 21:43:06