60 Frames Per Second?
#11
The "new" LCD driver uses DMA channels. I think that some emulators are also using those channels, and the Genesis emu seemed to cause the LCD driver to crash. There is a new build of the fbcpZero binary at https://github.com/Mootikins/FreeplayILI...r/fbcpZero

The rest of the repository is here: https://github.com/Mootikins/freeplayili9341

I think that's the only file you'd need to replace if you just want to update an older installation. Download it and then put it in /usr/local/bin, I think:
sudo cp fbcpZero /usr/local/bin
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#12
(09-18-2018, 04:57 AM)Flavor Wrote: The "new" LCD driver uses DMA channels.  I think that some emulators are also using those channels, and the Genesis emu seemed to cause the LCD driver to crash.  There is a new build of the fbcpZero binary at https://github.com/Mootikins/FreeplayILI...r/fbcpZero

The rest of the repository is here: https://github.com/Mootikins/freeplayili9341

I think that's the only file you'd need to replace if you just want to update an older installation.  Download it and then put it in /usr/local/bin, I think:
sudo cp fbcpZero /usr/local/bin
Tried this out again, and no dice... I guess I'm not meant to have it haha. Any tips to troubleshoot? I can tell you now I'm running a FPZ. One thing I noticed when running the uninstall script is that it complains about no fbcp service being started. There are no warnings when I run the install script however, except that it can't remove a menu option (which doesn't matter).
Reply
#13
Ordinary Vanity, how did you go about downloading and installing the latest version?

What does it do when it fails for you?

This driver is definitely experimental (especially on the Pi Zero), so in some ways I'm not surprised. I thought it was working well here, though.

To troubleshoot this, maybe...

Set to the default fbcp driver, and then reboot.

If you have a HDMI cable, I'd hook that up. Then you could SSH in to the machine and try running the new driver on the command line.

To make sure that none of them are running:
sudo killall Freeplay-fbcp
sudo killall fbcpZero

Then the internal LCD should stop responding, but the HDMI will continue to work.

Maybe show us the output of
ls -la /usr/local/bin/fbcpZero
Just to make sure it's the latest binary

Then run
sudo /usr/local/bin/fbcpZero

And the LCD should start working again. If not, copy/paste the output here.

Then try to run your emulator or whatever is causing your problem. See if anything comes out the command line on your SSH session. Post it here if there's anything to report.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#14
(09-18-2018, 02:47 PM)Ordinary Vanity Wrote:
(09-18-2018, 04:57 AM)Flavor Wrote: The "new" LCD driver uses DMA channels.  I think that some emulators are also using those channels, and the Genesis emu seemed to cause the LCD driver to crash.  There is a new build of the fbcpZero binary at https://github.com/Mootikins/FreeplayILI...r/fbcpZero

The rest of the repository is here: https://github.com/Mootikins/freeplayili9341

I think that's the only file you'd need to replace if you just want to update an older installation.  Download it and then put it in /usr/local/bin, I think:
sudo cp fbcpZero /usr/local/bin
Tried this out again, and no dice... I guess I'm not meant to have it haha. Any tips to troubleshoot? I can tell you now I'm running a FPZ. One thing I noticed when running the uninstall script is that it complains about no fbcp service being started. There are no warnings when I run the install script however, except that it can't remove a menu option (which doesn't matter).

Hi Vanity;

I just compiled a new version of the binary that doesn't use DMA transfers and added it to the repo and all the menu items, so you should be able to just go into the display driver from the menu and choose update. Once it is done updating, I would restart your system and go back to the menu where you should find an option for the new binary. Try it out, but I'll warn you: it was using over 70% CPU without a game running, so it's my assumption that it will make anything other than the oldest systems like NES nearly unplayable, but I hope you get things working well!

Matthew
Reply
#15
Okay, I started troubleshooting like you said Flav.

-I killed Freeplayfbcp, but when I kill fbcpZero it says the process isn't running.

I run this after: ls -la /usr/local/bin/fbcpZero

The output is this:

-rwxr-xr-x 1 root staff 69380 Sep 18 04:36 /usr/local/bin/fbcpZero

The next command (sudo /usr/local/bin/fbcpZero) brings this up:

bcm_host_get_peripheral_address: 0x20000000, bcm_host_get_peripheral_size: 33554432, bcm_host_get_sdram_address: 0x40000000
BCM core speed: current: 500000000hz, max turbo: 500000000hz. SPI CDIV: 6, SPI max frequency: 83333333hz
Allocated DMA channel 5
Allocated DMA channel 1
Enabling DMA channels Tx:5 and Rx:1
DMA hardware register file is at ptr: 0xb4b9d000, using DMA TX channel: 5 and DMA RX channel: 1
DMA hardware TX channel register file is at ptr: 0xb4b9d500, DMA RX channel register file is at ptr: 0xb4b9d100
DMA RX channel 1 was assigned another peripheral map 17!
DMA channel 0 has peripheral map 0 (is lite channel: 0, currently active: 0, current control block: (nil))
DMA channel 1 has peripheral map 17 (is lite channel: 0, currently active: 1, current control block: (nil))
DMA channel 2 has peripheral map 0 (is lite channel: 0, currently active: 0, current control block: (nil))
DMA channel 3 has peripheral map 5 (is lite channel: 0, currently active: 1, current control block: 0xdf554620)
DMA channel 4 has peripheral map 13 (is lite channel: 0, currently active: 0, current control block: (nil))
DMA channel 5 has peripheral map 6 (is lite channel: 0, currently active: 0, current control block: (nil))
DMA channel 6 has peripheral map 13 (is lite channel: 0, currently active: 1, current control block: (nil))
DMA channel 7 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 8 has peripheral map 7 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 9 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 10 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 11 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 12 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 13 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA channel 14 has peripheral map 0 (is lite channel: 1, currently active: 0, current control block: (nil))
DMA RX channel was assigned another peripheral map!

The screen is frozen, but I have HDMI display. Hmm.

I then uninstalled, cloned the repo and installed the drivers again. I try the No DMA option this time, and the screen is completely white, but I still have HDMI output. This is off a fresh git clone as well. I'm not sure how to install from the command line. I ran dispMenuZero.sh and got the menu to select a driver, but choosing an option just puts me back to the terminal and it seems no changes happen.

Is there any other factors that can affect this? I have raised the speed of the display in /boot/config.txt and I've also overclocked my Pi Zero. I don't know what else to try at this point haha. It's no huge loss, because this is still very playable after raising the speed of the display as high as it can go, but the allure of the silky smooth 60 FPS display is too tempting to give up! Also, I apologize for my general noobness with Linux.
Reply
#16
I figured it out.

I commented out my overclock settings and now the NoDMA option is running fine. The fbcpZero option, the display freezes at the ES splashscreen. No problem with the NoDMA option though. My emus aren't even slower.

Edit: Actually, SNES is much slower. Still, this is progress!!

I just noticed something when I switch between display drivers. An error for update-rc.d says cannot find LSB script for fbcp.sh
Reply
#17
I think I'm gonna try rebuilding with different values for DDMA_TX_CHANNEL and DDMA_RX_CHANNEL. Maybe my issue is specific to my device. I wouldn't doubt it considering the issues I've had with certain emulators, and now this driver.

I also read that using the display driver, I shouldn't have certain fields in my /boot/config.txt like dtparam=spi=on because it can cause conflicts, and I know I have this field in my config because I followed this document when setting up my FPZ.

Of course, if you guys have ran through every possible scenario regarding this driver, let me know ASAP so I don't waste my time haha. I really would like to get this working without murdering my CPU usage. Perhaps I should save up and invest in a FPCM3. Tongue
Reply
#18
We definitely haven't run through all the possible permutations. Mootikins has done a lot of different compilations (permutations) of it, so maybe he'll chime in if he knows anything specific that could be helpful.

Also, I do know that if you have any questions/bugs/problems, that you can open an issue at https://github.com/juj/fbcp-ili9341/issues and juj is VERY good about responding and fixing potential issues. He has both a Freeplay CM3 and a Freeplay Zero, IIRC, so you can likely get pretty specific with him there.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#19
I've opened an issue. In the meantime, I'm going to write the newest image to a different card and see what happens. Thanks for the help so far guys.
Reply
#20
Oh, good, Ordinary Vanity. I saw the post over at the fbcp-ili9341 github. I hope juj will address it there. He's typically very good about that.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)