MPF 0.56 doesn't work with P(3)-Roc #80
Replies: 7 comments 28 replies
-
Try following the steps here: https://docs.missionpinball.org/en/stable/hardware/multimorphic/hardware_drivers.html Shot in the dark, but since you upgraded python, do you need to reinstall the multimorphic stuff again. |
Beta Was this translation helpful? Give feedback.
-
MPF has always used a special version of the p-roc drivers on Windows.
Unfortunately, Multimorphic has never supported or created a Python 3
compatible driver library. One was created specifically for MPF a long time
ago. The problem has been building that driver for Windows. The way it is
now, compiling and building the p-roc driver has been a difficult manual
process for each new version of Python. I managed to do this for the
project a few years ago when Python 3.6 was released, but the project
didn't work for Python 3.7+ and I haven't had any time to try to figure it
out (and I don't own any p-roc or p3-roc boards to test it). MPF (or really
someone connected to Multimorphic) needs to maintain a set of Python 3
compatible drivers (or set something up using github actions to
automatically build).
Bottom line, the problem is not specifically with MPF 0.55 but with not
having the Windows p-roc drivers for newer versions of Python 3 (and not
having anyone to create and maintain them).
Quinn
…On Sat, Feb 18, 2023 at 4:11 AM Midway-Man ***@***.***> wrote:
Gave it a try, but the issue still persists. Windows Device Manager does
show the P3-Roc as connected. I still suspect MPF or Python does cause this
problem.
Is there a way to downgrade to MPF0.55? Until the Devs resolve the current
issue.
—
Reply to this email directly, view it on GitHub
<#80 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6GRTPB7JFS4US25SNIZYLWYCU7ZANCNFSM6AAAAAAU7LWC6Y>
.
You are receiving this because you are subscribed to this thread.Message
ID: <missionpinball/missionpinball/repo-discussions/80/comments/5017865@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
I don't use a P-ROC so I can't comment on whether it would work on Mac or Linux under Python 3.7+, but for your other question, all the old documents are still available. On the docs.missionpinball.org site, in the lower left corner, you can click the green version text. (Probably "v:stable" or "v:latest" in the docs you're looking at.) Then from there you should see links to 0.55 and prior docs versions. If you're part of the PinDev Slack group (I think there's where P-ROC/P3-ROC support is nowadays), you can try posting there to see if anyone is willing to see why the P-ROC drivers don't compile for Python 3.7+, though I believe most P-ROC/P3-ROC users use PyProcGameHD/SkeletonGame which runs on Python 2.x so you might not have luck there. Also as for adding a warning to the docs, the MPF docs are also open source, so if you're feeling adventurous and want to make this change to the docs yourself, you can click the "Edit on GitHub" link in the upper right corner of any MPF docs page to make changes to that document page, and if you need more detailed instructions, there's a topic called "Contributing to MPF docs" in the table of contents all the way at the bottom under "About MPF". |
Beta Was this translation helpful? Give feedback.
-
Bump. It's not just windows, its Ubuntu also. I wonder about Mac. |
Beta Was this translation helpful? Give feedback.
-
I was able to get it working under ubuntu 20 today. In my case there were a couple hangups. First I went with ubuntu 20 because it defaults to Python 3.8. Then I ran the installer scripts one line at a time from the command line. I ran into a minor problem with a kivi version but was able to set it to the correct version when it initially failed. I believe I used the suffix for version ==0.1.1 Then I had to alter the last command of the install-proc script from sudo python3 setup.py install to python3 setup.py install --user save the script give it the sudo chmod + x and run it. After that I had MPF connecting to Multimorphic hardware. Given my success, I think I can also get it to work with Ubuntu 22 by setting up a python virtual environment for python 3.8. But that's a problem for another day. |
Beta Was this translation helpful? Give feedback.
-
3.9 is only a requirement on Windows. Brian or someone else in the know would have to explain why. I looked at changes from 3.8 to 3.9 and don’t see any dependencies that require it, but I’m certain I just don’t fully understand it.Sent from my iPhoneOn Apr 26, 2023, at 10:25 AM, Midway-Man ***@***.***> wrote:
You are using Python 3.8? Which version of MPF do you use?
Didn’t the instructions say MPF 0.56 will only work with Python 3.9?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Files have been added, nice work everyone. |
Beta Was this translation helpful? Give feedback.
-
Just updated my machine from MPF0.55 Python3.8 to MPF0.56 Python3.9
But unfortunately my game no longer works. It crashes at startup. No changes have been made to the code itself.
When i start MPF with virtual hardware -X my code runs fine. The issue must be related to one of the new versions of MPF or Python. Unfortunately I am not an expert, so it would be nice if one of the DEVs could help my out.
That's part of the log file.
2023-02-17 12:48:39,148 : INFO : Machine : Initialise MPF.
2023-02-17 12:48:39,221 : ERROR : Machine : Failed to initialise MPF
Traceback (most recent call last):
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\platforms\p_roc_common.py", line 31, in
import pinproc
ModuleNotFoundError: No module named 'pinproc'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\platforms\p_roc_common.py", line 39, in
from mpf.platforms.pinproc.windows import pinproc
ImportError: cannot import name 'pinproc' from 'mpf.platforms.pinproc.windows' (unknown location)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\core\machine.py", line 679, in initialise_mpf
raise init.exception()
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\core\machine.py", line 246, in initialise
await self.initialise_core_and_hardware()
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\core\machine.py", line 232, in initialise_core_and_hardware
self._load_hardware_platforms()
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\core\machine.py", line 479, in _load_hardware_platforms
self.add_platform(hardware_platform)
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\core\machine.py", line 613, in add_platform
self.hardware_platforms[name] = hardware_platform(self)
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\platforms\p_roc.py", line 44, in init
super().init(machine)
File "C:\Users\Pinball.local\pipx\venvs\mpf\lib\site-packages\mpf\platforms\p_roc_common.py", line 180, in init
raise MpfRuntimeError('Could not import "pinproc". Either the library is not installed or is missing '
mpf.exceptions.runtime_error.MpfRuntimeError: Runtime Error in P-Roc: Could not import "pinproc". Either the library is not installed or is missing some of its dependencies. Check the install instructions for your OS in Multimorphic section of the MPF docs. You can run mpf with "-X" to use virtual hardware in the meantime. Error Code: RE-P-Roc-3 (https://docs.missionpinball.org/en/0.56/logs/RE-P-Roc-3.html)
Thanks in advance for helping us!
Beta Was this translation helpful? Give feedback.
All reactions