2011-06-23 98 views
21

我正在開發一個項目,我需要在Linux FrameBuffer上運行Google鉻,我需要運行它而沒有任何窗口系統依賴項(它應該繪製我們提供的緩衝區來繪製,這將會使其移植到任何嵌入式系統非常容易),我不需要它的多選項卡GUI,我只需要它的緩衝區中的渲染器窗口,有任何身體曾經嘗試過?我應該用什麼方法來幫助我?谷歌瀏覽器Linux FrameBuffer

+4

我認爲你可能會更好地看WebKit,而不是完整的Chromium瀏覽器。 –

+0

@Andrew Aylett,那麼,我正在尋找鉻瀏覽器,因爲鉻端口是唯一穩定的活動端口,我試過最新的Gtk和Qt端口它並沒有正確渲染很多網站。 – SunnyShah

+0

未嵌入式編程相關http://stackoverflow.com/tags/embedded/info,已重新標記。 –

回答

13

如果您需要直接控制窗口函數,或者想要在DOM數據中尋找答案,那麼解決此問題的正確方法是直接嵌入webkit。這比我將要建議的要快得多,也比我更清楚。

現在,讓我們假設你不需要所有那些奇特的控制,而且你真的很懶。對您的問題的一個古老的,低技術解決方案可能是創建一個虛擬幀緩衝區,然後直接讀取其內容。要做到這一點,你可以設置xvfb的服務器上:

http://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml

xvfb的是一個老的UNIX工具,它可以讓你創建一個虛擬的X服務器和你想要的任何類型的配置。更重要的是,它可以配置爲將其X服務器的屏幕內容直接寫入內存映射文件!您也可以將其設置爲使用共享內存,雖然也更復雜,但速度稍快。

+2

那麼,我打算開始一個谷歌瀏覽器的分支,並使其獨立於Gtk依賴關係,我知道這是一個巨大的工作,但在嵌入式行業中,這可以創造奇蹟 – SunnyShah

+0

我會更新我的谷歌代碼的存儲庫位置在這裏。 – SunnyShah

1

這個項目:

http://code.google.com/p/wkhtmltopdf/

實現了。它在虛擬顯示器上運行Webkit,並以PDF格式捕獲呈現的輸出。你可以自定義做別的事情。

或者您可以使用tigthvnc創建一個顯示,並設置DISPLAY變量,以便Chrome在該顯示中呈現。

+0

wkhtmltopdf基於QtWebkit,我只需要使用Google chrome的webkit端口(因爲它是唯一穩定的非常少的渲染問題。 – SunnyShah

+0

你能給我們幾個沒有在wkhtmltopdf上正確渲染的網站的例子嗎? –

+0

嘗試,http://www.yatra.com在QtWebkit和Mozilla或Chrome上相同,你將能夠找到差異。 – SunnyShah

4

我想你會有更好的運氣uzblGTK/DirectFB。相同的引擎,並與javascripts一起工作。對於Facebook聊天問題,我認爲你只需要更改user-agent字符串。

+0

+1爲鏈接,非常有趣的解決方案 – Krumelur

1

有一個Origyn網絡瀏覽器,它應該是一個基於WebKit的嵌入式瀏覽器,它看起來很便於使用,並且不依賴於「重」庫(比如GTK)。他們的網頁是http://www.sand-labs.org/owb,但看起來他們的數據庫崩潰了,這可能有點令人擔憂。

1

您可以購買剩餘的10個(左右)OGD1板之一。 http://en.wikipedia.org/wiki/Open_Graphics_Project

然後,您可以使用libpci直接與硬件對話。

但是,您仍然需要將圖片繪製到內存緩衝區中的代碼。

我意識到這個答案是更無恥的插件。 但是對你的問題感興趣的人可能會想要這樣一塊板子。 我已經有了這樣的板子,如果它有更多的曝光,它會有很大的幫助。

1

我建議使用webkit2pdf包(其爲可用於許多不同的Linux發行)。然後使用這個幀緩衝器程序的包裝器,它在幀緩衝器上顯示PDF文件。