-
-
Notifications
You must be signed in to change notification settings - Fork 500
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run on Linux/Mono #5
Comments
|
All the code of LaserGRBL is C# so I think it could be compiled for Linux in Mono, using MonoDevelop. |
|
It compiles fine on Arch Linux (xbuild) with latest mono 5.0.0. But when trying to run with Can this be solved? |
|
Hi Jackeler, I am happy that someone is trying to port LaserGRBL in linux. TimingBase is a class for precise and hi-resolution timing. It is based on You can try to replace the whole HiResTimer class with this code: |
|
Thank you for the fast reply. That works! Then i got this: So i simply commented it out, like this: Does this break something? Anyway, i can start it now without direct error/crash on Linux! One optical issue is that the menu bar has no font, but function seems okay. I will now test if the connection to my machine works! :) |
|
SetTimerResolution change the frequency of task- switching that in windows is about 66Hz (15 mSec) to a higher frequency that made LaserGRBL more responsive and fast in streaming g-code to arduino. It's ok to comment it out |
|
Okay good, that makes sense. Test results:
|
|
Great job @Jakeler Comment DrawWaterMark in PlaceholderTextBox class. protected override void OnPaint(PaintEventArgs e) |
|
Had to comment it in So i was able to successfully engrave something with LaserGRBL now. More test results: |
|
Hi @Jakeler With Arch Linux (xbuild) and mono 5.0.0 i hope you can achieve better result then me. However i remember the biggest issue was on Raster Import form. Not because of my vectorizing/line2line code, but because the WinForm layout I am using. I see some issue that should be the same you have now. I.e. the misalignment of the connect button, of the stop-continue button etc. The whole interface of LaserGRBL is designed using "TableLayoutPanel" that allow me to make it working very well on different resolution, resizing, different space used in different string translation etc. Maybe some form should be re-designed to use a simpler & fixed layout schema to work in mono. |
|
I should have an old laptop that I can sacrifice to a linux installation. I would be happy to help you with this job. |
|
According to to Mono docs, support for Windows Forms 2.0 is complete, but it seems not the same like on Windows. I also noticed that resizing the window smaller does not move the stop-continue buttons back, causes them to disappear at some point. Overall, most elements look not quite right. I would also prefer a more modern style, instead of this Windows 2000 theme on Linux. I have not really any experience with C# and Windows GUI stuff, so i am not sure if i can do this or help you a lot. Now looking at the code i started to understand it a bit, but still... In addition some code is commented in Italian, which i don't understand. You don't neccessarily need addidtional hardware, if you have a half decent PC you can run it just as virtual machine guest with VirtualBox. So you leave your Windows Host running and can quickly start another OS virtual. (I do this often the other way around, with Windows as guest on my Linux PC, especially for development very useful) |
|
I am able to install linux both on physical or virtual machine, this is not a problem for me. The only problem is to find time :-) In any case, I take advantage of your availability to obtain some information that can speed up this step.
More: when I do my old try i remember that I cannot graphical edit my winform UI directly from monodevelop, because they only support editing GTK Form. Is the situation still the same? I mean, are you able to open a form, like mainform, and edit it graphically from monodevelop or not? |
|
Update: solved (switching to .net 4.5) |
|
Awesome to see that you are on it! I had not much time today to answer, anyway everything is solved now? Let me know how it goes and if you need help with something. ;) |
|
You can find my result on https://github.com/arkypita/LaserGRBL under Linux branch All the problem that I have found the last time I tried to do a linux version still persist. Biggest issue is on tablelayout panel, that is not well supported. This broke all my layout. Also some problem with image manipulation functions. Now raster image form opens, but due to layout problem is unusable. |
|
I read this on internet about T2Laser under Linux.
Maybe someone wanna try the procedure with LaserGRBL? |
|
I have already tried it with Wine. dotnet does not properly install with latest winetricks (20171222) and wine (3.0rc6). You can use the open source wine-mono again, but then LaserGRBL does not even start, showing some NotImplemented errors... |
|
Any news about LaserGRBL in Linux? |
|
I don't think it is going to happen. |
|
I gave up developing a Linux version for too many implications and issue with Mono framework. |
|
I'm a little bit sad to here that. But I understand. |
|
Hey guys, ahhh are those changes related to run on Linux/Mono already merged to master right? I read some other issues and seems that still some work to be done. I'm willing to take a look and see where I can help. |
Nope, just checked it, they are not |
|
Hi there. I am facing the same issues after download the latest version and tried on wine-5 and mono-6.12. Also could not find https://github.com/arkypita/LaserGRBL/tree/Linux |
This branch was deleted because give no working results.
No, this version doesn't exist. It was reported by some user that LaserGRBL executable run good on Linux with wine 5.0 and wine mono 4.9.4 (wineprefix 32-bit) and windowsdll gdiplus. |
|
Hello. Thanks for answering I was able to install and run on my linux using the following procedure $ sudo apt purge wine\* mono\* Download latest winetricks from https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks Add a string entry under HKEY_LOCAL_MACHINE\Software\Wine\Ports with a key of COM10 and a value of /dev/ttyUSB0 (or /dev/ttyACM0 if it is the case) to access the arduino USB port from wine and then create the symlink for it. The former is saved in .wine/system.reg Add yourself to dialout group so you can access the USB port (if you're not already) Download latest LaserGRBL (tested with https://github.com/arkypita/LaserGRBL/releases/download/v4.4.1/install.exe) and install with: |
|
Thanks a lot, I believe that could be useful for other linux users. I will link your procedure on https://lasergrbl.com/faq |
|
I'm glad I can help and thank YOU for releasing lasergrbl!
Cheers
!3runo
from Brazil
P.S. I edited the post including the USB to COM mapping between the arduino device and wine port that I missed and is also needed
|
|
Hi. I'm a newbie in these matters. I have not been able to run laserGRBL using wine on linux peppermint. Wine development, winetricks, etc are already installed. When I try to run laserGRBL, I keep getting the message that wine mono is not installed. I have followed several procedures on the Internet to get around this to no avail. Before trying the above steps which look wonderful, I just got an idea or question. Is it not a good idea to compile a stand-alone version of laserGRBL? I suspect it might run better on wine. |
The default installation should work fine on Linux. Although this is not a perfect solution, this might solve some permissions issue. |
|
Hello
I don't use sudo. Just add yourself to dialout group and reboot (or exit and re-enter session) to be able to access the arduino device.
Try install mono as per my instructions, it should work
This said, the procedure I post is for ubuntu. I tried it in debian 9 and snap lacks some libraries that debian 9 don't have and won't install. There is an official winehq apt repository for wine5 that works for debian. I wrote a new procedure using it instead of snap and will post soon
In about a month using lasergrbl this way, I can say that works very well. If you pause and doesn't resume soon, the program will crash, but other than that I am very satisfied.
Cheers
!3runo
from Brazil
…________________________________
De: Langlais115 ***@***.***>
Enviado: domingo, 8 de agosto de 2021 17:28
Para: arkypita/LaserGRBL ***@***.***>
Cc: Bruno Cabral ***@***.***>; Comment ***@***.***>
Assunto: Re: [arkypita/LaserGRBL] Run on Linux/Mono (#5)
Hi. I'm a newbie in these matters. I have not been able to run laserGRBL using wine on linux peppermint. Wine development, winetricks, etc are already installed. When I try to run laserGRBL, I keep getting the message that wine mono is not installed. I have followed several procedures on the Internet to get around this to no avail. Before trying the above steps which look wonderful, I just got an idea or question. Is it not a good idea to compile a stand-alone version of laserGRBL? I suspect it might run better on wine.
If you follow the installation procedure which is 2 post before yours, then try to start laserGRBL using sudo.
sudo wine "/home/${USER}/.wine/drive_c/Program Files (x86)/LaserGRBL/LaserGRBL.exe"
Although this is not a perfect solution, this might solve some permissions issue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#5 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AA53PAQ7DQQRTTWP4NPWIODT33SFZANCNFSM4C3HQI5Q>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
|
The procedure of bcabral works for me up to |
|
You have to add wine binaries to your PATH. Where they are depends on how you install it
Cheers
!3runo
from Brazil
…________________________________
De: dandifon ***@***.***>
Enviado: segunda-feira, 9 de agosto de 2021 06:19
Para: arkypita/LaserGRBL ***@***.***>
Cc: Bruno Cabral ***@***.***>; Comment ***@***.***>
Assunto: Re: [arkypita/LaserGRBL] Run on Linux/Mono (#5)
The procedure of bcabral works for me up to
$ export WINEARCH=win32.
winecfg returns 'No such file or directory'
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#5 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AA53PARD6W3K4XCMSWV2AP3T36MRDANCNFSM4C3HQI5Q>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
|
Thanks !3runo for being patient with me. winecfg works fine now. |
|
Download the link (or save as winetricks), chmod a+x and you're set!
i.e.
$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod a+x winetricks
$ ./winetricks
!3runo
…________________________________
De: dandifon ***@***.***>
Enviado: terça-feira, 10 de agosto de 2021 07:06
Para: arkypita/LaserGRBL ***@***.***>
Cc: Bruno Cabral ***@***.***>; Comment ***@***.***>
Assunto: Re: [arkypita/LaserGRBL] Run on Linux/Mono (#5)
Thanks !3runo for being patient with me. winecfg works fine now.
This link 'https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks' however gives but the source code of winetricks. I'm stuck there.
If I do 'sudo apt install winetricks' what gets installed is winetricks 20180207. I suppose that's old as the next command 'chmod a+x winetricks' yields 'No such file or directory' even though winetricks runs well on the same command line.
Please, what's the way forward?
Dan.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#5 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AA53PAU6T7MJZPCEDAVIYALT4D23NANCNFSM4C3HQI5Q>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
|
WONDERFUL! !3runo, THANKS A THOUSAND. laserGRBL now runs on Linux Peppermint on my computer. |
|
Just in case anyone is interested: I've gotten LaserGRBL running under PlayOnLinux, in Debian. (And it might be possible for someone to write a PlayOnLinux script that automates all of this, based on my instructions.) Using #5 (comment) as reference, I took the following steps: (This might seem really complicated. The advantage with this is that PlayOnLinux can manage multiple versions of Wine at the same time. If you are using more than one thing that needs Wine, this can avoid compatibility problems where one program needs one version of Wine and one needs another. Also, this can be automated, so maybe someone can add this to POL as a supported application that shows up in its installation list.) First I installed the latest version of Wine 5 in PlayOnLinux (32 bit version, it was 5.22, not the staging version), under Tools > Manage Wine Versions. It also asked if I wanted to install Mono, and I said yes. (I also tried to install libmpg123-0:i386 using apt-get, which turned out to already be installed. If you don't already have it, you might also need to install it.) Second, I clicked "Install", selected "Install a non-listed program" and then checked the boxes for "Use another version of Wine", "Configure Wine", and "Install some libraries", once I got to that part. Third, I picked the 5.x version of Wine I had installed in the first step (5.22, in my case). Fourth, it asked whether I wanted 32 or 64 bit. I picked 32 bit. Fifth, I made sure Wine was configured with Windows 7, when the Wine configuration box came up, and clicked "Ok". Sixth, when it displayed the list of libraries I could select to install, I checked the boxes to install gdiplus and msxml3. (These were listed as POL_Install_gdiplus and POL_Install_msxml3. You shouldn't need to install Mono or .net from here, as Mono was installed with Wine 5.) Note that when it tried to install the two libraries, it had some errors, mostly saying the download didn't match the hash. I kept telling it to retry until it was successful and moved to the next step. Seventh, I told it to install using the latest LaserGRBL installer, which I had already downloaded. Note that once the installer is done, it will give you the option to launch LaserGRBL, with the box already checked. Uncheck the box before continuing. Earlier in the process PlayOnLinux displayed a warning saying not to let the application start from the installer. I don't know what happens if you forget to do this, but it is probably best to make sure you uncheck that box. Eighth, once the installation is complete, it will ask which file to use the start the application, and it will present a list. Pick LaserGRBL.exe. Once you've finished this, it will ask again, but LaserGRBL.exe won't be on the list anymore. Click "Cancel" at this point. (I think it just keeps going until it runs out of executables or you cancel, just in case the application has multiple exes that you need to run.) Now LaserGRBL should show up on the application list for PlayOnLinux, and it should run without any issues. It won't see your laser cutter yet though. To make LaserGRBL see your laser cutter, you have to add a registry string and a symbolic link. To add the registry string, select LaserGRBL in PlayOnLinux, and on the left panel click "Configure". In the window that opens, click the Wine tab and then the icon for Registry Editor. Find HKEY_LOCAL_MACHINE\Software\Wine\Ports, and add a string named COM10. The value should be the mount point of your laser cutter in /dev, typically something like /dev/ttyUSB0 or /dev/ttyACM0. (If you aren't sure which it is, unplug the USB from your computer and run 'ls' in /dev, then plug it back in and run 'ls' again, then look for the new device that appeared after you plugged in the USB.) To add the symbolic link, select LaserGRBL in PlayOnLinux, and then click "Open the directory" on the left panel. This will open a file manager that will show you where LaserGRBL is installed. The directory you want is the one inside wineprefix/, then the dosdevices/ directory under that. (Mine is ~/.PlayOnLinux/wineprefix/lasergrbl/dosdevices) In a terminal, go to that directory. If there is already a file named 'com10' in there, delete it (or choose a different COM number and use that instead of COM10 from here on out). Now run 'ln -s /dev/ttyUSB0 ./com10', where /dev/ttyUSB0 is the mount point of your laser cutter. You may also need to add yourself to the dialout group, by running 'sudo usermod -a -G dialout $USER' in a terminal. Once this is all done, you should be able to run LaserGRBL from PlayOnLinux, and you should be able to connect to your laser cutter on COM10. Note that if you have multiple laser cutters connected at the same time, you will end up with /dev/ttyUSB0, /dev/ttyUSB1, and so on. If you want them to all be accessible, you should add a COM entry to the registry for each one, along with the associated symbolic link. I'm not sure what the highest COM number you can have is, but just increment it for each new one, and you should be fine so long as you don't have an absurd number of laser cutters connected at the same time. Of course, in this case, they won't always connect on the same numbers every time (it depends mainly on the order you connect them in, and when rebooting with them connected there is no guarantee they will always connect in the same order), so it will be up to you to figure out which is which. Honestly, it's probably easier to just connect one at a time, but I don't know your use case, so I'm not going to judge. Sadly, one of my motor controllers just burned out, so I won't be able to test this more extensively right now, but I was able to connect to my laser cutter successfully! |
Thanks for the effort!! Working on 4.6.2!!! |
|
Another penguin using lasergrbl, I'm happy! |
|
I guess I should report my success with Play on Linux: I've replaced the fried motor controller, and it works perfectly fine now. I do sometimes get some serious lag issues when running LaserGRBL through Play on Linux, but I think it is a Wine issue, not an issue with LaserGRBL. |
|
Hello
As promised, an updated procedure without snap for debian
$ sudo apt purge wine\* mono\*
$ dpkg --add-architecture i386
$ wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
$ sudo apt-add-repository https://dl.winehq.org/wine-builds/debian/
$ sudo apt-get update
$ sudo apt-get install --install-recommends winehq-stable
$ wine --version
check if it is Wine-5
$ sudo apt install cabextract libmpg123-0:i386
$ export PATH=$PATH:/opt/wine-stable/bin
$ rm -rf ~/.wine
$ export WINEARCH=win32
$ winecfg (choose windows 7 and exit)
Download latest winetricks from https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod a+x winetricks
$ ./winetricks gdiplus msxml3
to free space after install gdiplus you can $ rm -rf ~/.cache/winetricks/win7sp1
Download mono from http://dl.winehq.org/wine/wine-mono/4.9.4/wine-mono-4.9.4.msi and install with:
$ wine msiexec /i wine-mono-4.9.4.msi
In debian the /dev/ttyACM0 arduino port is automatically added as com5
Add yourself to dialout group so you can access the USB port (if you're not already)
$ sudo usermod -a -G dialout $USER
Download latest LaserGRBL (tested with https://github.com/arkypita/LaserGRBL/releases/download/v4.6.0/install.exe) and install with:
$ wine install.exe
$ wine "C:Program Files/LaserGRBL/laserGRBL.exe"
Hope this helps
Cheers
!3runo
|
|
The members in this thread have really gone the distance in getting LaserGRBL to work on Debian. I worked on the original NT project back in the early 1990's. As an operating system developer for almost 50 years, I still develop real time systems for several industries, using Linux almost exclusively these days. |
|
Thank you so much! I was hoping someone could use my process to do this. |
|
I created a pull request with a setup script now: |
|
Hi @Styne13 |
|
Hi @arkypita It might depend on the version 5.22 with mono available in macOS. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →



Can I run LaserGRBL on Linux? Raspberry Pi 3. my computer is too powerful (i7 ram 16GB) to use it in workshop. or better to buy a cheap old computer for it.
The text was updated successfully, but these errors were encountered: