2017年11月2日 星期四

002_安裝Retropie (Raspberry Pi2/3 +3.5吋LCD)

安裝Retropie (Raspberry Pi2/3 +3.5LCD)


先前已成功將3.5 inch LCDDriver裝在Raspbian系統, 今天換裝Retropie上看是否OK,依照上篇流程將driver裝到Retropie後重開機後, LCD上可以看到開機時有跑一堆文字最後停住再來就黑畫面了! 改接上HDMI Monitor檢查是正常進入模擬器介面.(測試時接上HDMI Monitor比較好除錯) ,3.5 “ LCD依照之前方式Retropie最後出現黑畫面,表示應該是設定或少裝了什麼....畫面顯示錯誤resolution吧!   論壇上發現這篇Retropie+3.5 inch RPi LCD v3.0(no brand)分享文用的LCD和我的一樣! 依照文章方式做完後,我的3.5 inch LCD Retropie上正常顯示了! 😅

步驟如下:
1. 請到這下載最新版本Retropie ,選擇自己raspberry pi板子相對應的image下載,下載檔案是
          xxx.gz壓縮檔,請用7 Zip解壓後將image file寫進MicroSD.


      開啟Win32 Disk Image程式,打開Folder選解壓的image檔案後按下Write按鈕



Note.
Windows 請使用Win32DiskImage
Apple mac 請使用 Apple Pi Baker
Linux請用 dd指令或Etcher (這我沒用過請自行研究囉!)


2.      依照先前的流程將3.5” LCD driver裝到Retropie後系統會自動重新開機

3.      開啟putty連線後依序打下列2行指令下載github的資料夾和複製檔案到/boot/overlays/內

git clone https://github.com/swkim01/waveshare-dtoverlays.git
sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/waveshare35a.dtbo
(以上如你的是3.2” LCD將上列的35a改成32b即可,cp指令參考鳥哥私房菜)




4.      使用nano/boot/編輯修改config.txt檔案.   (nano用法可參考鳥哥的Linux私房菜)
sudo nano /boot/config.txt


將底下兩行copy到檔案最下面
dtparam=spi=on
dtoverlay=waveshare35a    (3.2吋LCD用
waveshare32b)

 接著按下CTRL+X離開時按Y表示存入修改部份


接著下重開機指令
sudo reboot

5.      接下來程式組譯和install

sudo apt-get install cmake
git clone https://github.com/tasanakorn/rpi-fbcp
cd rpi-fbcp/
mkdir build
cd build/
cmake ..
make
sudo install fbcp /usr/local/bin/fbcp

6.    使用nano/etc/編輯修改rc.local
sudo nano /etc/rc.local
進入編輯後在最下面, exit 0上面加這行紅色文字
/usr/local/bin/fbcp &
exit0
接著按下CTRL+X離開時按Y表示存入修改部份

最後下重開機指令後LCD就有晝面了!
sudo reboot





12 則留言:

  1. 您好,我之前也有設定過類似的做法,但因為跟您一樣 3.5 LCD 是走 SPI 通道的,所以最後螢幕更新非常慢。請問您使用起來也有這個問題嗎?

    回覆刪除
    回覆
    1. 可能是Driver不同版本差異,我的只有一點點lag不太明顯! 調快SPI速度可以解決,但開其它遊戲會變成跑太快! 因為lag不明顯最後就用default值了,您可以在config.txt內加speed=xxxxx 調快SPI速度看看,請參考這篇http://www.newsby2.com/2017/04/10/how-to-install-3-5-inch-tft-lcd-waveshare-screen-retropie/

      刪除
    2. 另外Retropie請用v4.3和記得更新sudo apt-get update ,sudo apt-get upgrade 試看看!

      刪除
  2. 請問如何調快SPI速度,前輩的連結失連了。
    謝謝

    回覆刪除
    回覆
    1. 引用原連接內容如下:
      Fix LCD lag on Retropie:
      After this everything should be working. The only issues I have that I am still trying to fix is the lag on the lcd screen when i run Retropie. This can be adjusted by logging into the Pi through putty again and running the command:
      sudo nano /boot/config.txt
      That command will open up the Retropie config file and close to the bottom you should be able to find your LCD with the options to overclock it. Look for this kind of command in the config file and you can modify the values:
      dtoverlay=pitft28r,rotate=90,speed=62000000,fps=25
      Mine doesn’t say pitft28r, instead it shows Waveshare35A, rotate=270,speed=25000000,fps=30

      Originally the speed was 1000000 and there was no fps listed in the dtoverlay option. The options I have set up above seem to have sped up the LCD screen a lot (less lag) but I have lost some color as well. I would suggest playing with these options until you get it to your liking.
      Hope that helps and if you guys got any suggestions, leave a comment below, especially if you figure out how to access the menu options through the RetroPie/Emulation Station, because when I try it just goes to a black screen with a line of code at the top that says “map vt–>” or some crap and it stays there. Hence, why I have to do most changes via SSH. This doesn’t really matter to me but for ease of access for everyone it would be cool if we could get it fixed.
      Happy gaming!
      -------------------------------------------

      刪除
    2. 感謝前輩的回覆!這是前輩所教導的作者視頻https://www.youtube.com/watch?v=SGMC0t33C50
      那前輩你知道這個嗎?在他留言上有這個人來踢館
      https://github.com/juj/fbcp-ili9341/blob/master/README.md#installation

      比前輩這個教學還來的更快,我的屏幕是這個http://www.waveshare.net/wiki/3.5inch_RPi_LCD_(B)

      我整整搞了一個多月,最後還是放棄了。

      其實也不是只有我放棄,就是不知道那個環節出錯
      只知道應該就是CMake一定這裡有問題。
      能請前輩研究看看相信會帶來很多文章人數,因為畢竟只在國外看到這作者一個人在努力幫忙解決問題。
      這是他的視頻看是簡單才知道很難 哈哈哈哈
      https://www.youtube.com/watch?v=dqOLIHOjLq4

      刪除
    3. 您好,首先叫我Ken就好了也謝謝您告訴我這些資訊. 我一開始也是LCD卡關改用VGA螢幕玩,我買的是山寨版而賣家給的Driver連接根本不能用LCD放在桌上長灰塵.我同事買和您同一家公司出LCD是3.5inch_RPi_LCD_(A),同樣賣家給的Driver連接根本不能用,而我的連接是山寨版LCD用的,所以要去原廠這裡換Driver: https://www.waveshare.com/wiki/Main_Page#OLEDs_.2F_LCDs,
      而您的LCD連接也說明系統要用2018/03/13之後的新版本,而Retropie不知道有沒有更新支援新硬體,您可以在安裝好Retropie後先更新sudo apt-get update ,sudo apt-get upgrade 再裝LCD driver試看看!如果不行就只好過一陣子再更新系統看看.
      另外你的LCD和我的是相反,可以如下設定改相反180度.
      cd LCD-show/
      ./LCD35-show 180

      cd RetroPie-Setup/
      sudo ./retropie-setup.sh
      選update all installed packages.
      :)

      刪除
    4. 另外在論壇上也看到有人問相似問題:
      https://www.reddit.com/r/RetroPie/comments/9bj5zo/35_waveshare_lcd_problem/

      刪除
    5. Driver下載改這樣連看看(抱歉!我沒試過)
      sudo cp waveshare-dtoverlays/waveshare35b-overlay.dtb /boot/overlays/waveshare35b.dtbo

      另外在/boot/config.txt
      記得改dtoverlay=waveshare35b
      其他照上面論壇連接的方式改速度看看!

      刪除
  3. Ken你好,謝謝你這麼細心的回覆我。
    我叫George 在Raspberry是下載noobs直接燒錄測試再安裝下載最新Retropie 4.4版本後LCD-show-171219驅動(0313版會有問題),在之後一個月前我照著ili9341驅動的作者一直反覆測試也試過逆向安裝螢幕在最後指令下還是切換不過來,最後就照最早的方式處理屏幕也就是ken大的方式,在過程中sudo cp waveshare-dtoverlays/waveshare35b-overlay.dtb /boot/overlays/waveshare35b.dtbo,這條不知道為什麼無法下指令,我是直接安裝LCD-show35B驅動,才發現dtbo 這檔案就直接在資料夾裡!waveshare35b也改過,效果出來其實就是已經不會很卡、但以正常運作還是有落差,譬如遊戲看似流暢其實跟正常幀數玩起來還是有感,至於ken大說的./LCD35-show 180跟上次說的連結失效之後裡的config.txt 寫上rotate=270是一樣效果嗎?我key還是無效果,但我試著用90 180 270 都一樣,但用了其他數字畫面會切半亂跳,但幀數是正常現象!而第二個問題就是speed= 我嘗試到不知道幾百遍才抓到不能超過這畫面的數值,不然ㄧ定畫面變色,ken大的連結裡的人都是超過數值多很多,應該白話來說死馬當活馬醫,這些都是以二次嚴重視頻變色強迫讓幀數正常缺損壞畫面顏色,國外論壇也說到這點,而第二個ili9341作者有說到這個最好方式就是用他的ili9342的驅動才能解決。所以speed=超過一定數值就是會變色。

    回覆刪除
  4. 還有為什麼要旋轉螢幕的用意?謝謝

    回覆刪除
  5. 不一定需要旋轉螢幕,配合你的機構設計即可.
    LCD-show35的Driver我之前試了3個版本,如果那時我放棄了就不會有成功的成果.
    暫時休息一下,思考先走其他的方案或學習其他的技術突破.其實我是硬體工程師,3D機構,軟體,.這些都是由網路上自學來的.所以加油! :)

    回覆刪除