Max on Linux

brunatius's icon

I'd like to believe cycling74 has conducted surveys amongst their power users to gauge interest. To be honest, I believe linux power users are more common in lower level creative frameworks such as cinder and open frameworks. I have shifted my audio visuals to open frameworks due to performance and Max remains a joy to use for prototyping or exploring developed patches and supported libraries.

giorgioesse's icon

I think they are underestimating a fact: nowadays SBCs like UDOO are a great resources for installations... SBCs run mostly on linux (I would never ever make something like that on crap windows os)...
So I must use Pd, which is ok but it misses a lot of features I like on max.

Th8a's icon

@giorgioesse Been barkin up that tree for a long time... I don't forsee it happening unless maybe Ableton decides to do a linux version... not holding my breath...

@dhjdhjdhj Linux users are about open source, but then most open source devs these days develop to be cross platform. Many are even Windows based... So I am not sure it's a fair statement. Games that run native on linux work great. Games that run on wine also work great... in some cases, (DOOM 2016) they actually benchmark higher on wine than in windows. Compatibility has seen great progress lately too. In fact, every game I have tried to run has worked with little to no extra work on my part. In terms of piracy, not many pirated games exist on linux. Games that have Windows and native linux releases are most commonly only cracked and pirated for Windows... and for this same reason, many games that can run in linux will work for the legit version, but not work with the pirated version. This has a number of reasons, but most technically that the methods that hackers use to crack and distribute pirated games rely on aspects of windows that wine does not support as of now... but piracy is a thing across the board, so not likely a reason for developers to avoid linux... If anything, a reason to avoid Windows. lol.

As a linux user, I love my GNU warriors and the open source philosophy of linux... I resort to that wherever viable... however, I think I can speak for a lot of linux users when I say that we also understand the value of commercial software, and are willing to buy it fair and square if it offers something that is worth paying for which open source cannot provide, which is the case in many events, such as video games who's production costs are just too deep for open source communities to create... Or like max, where there is a free alternative, but just lacks the oil in it's machine that max has. To say that devs can't compete with open source is like saying Hollywood can't compete with indie films... For one, devs are already competing with open source on all operating systems, and two, someone should not try to charge money to sell a resource that is free anyway... If some company privatizes your local water supply and starts charging you crazy prices to run water at your house, I would hope that you'd label that company a group of bandits, go tap their pipes to run your own water and support companies who produce good stuff instead of usurping free stuff. (*cough*cough*Apple)

It basically comes down to the fact that - like you said - the vast majority of people are on Windows or OSX... so thats where the market is seen to be... but that is changing more and more... and will only change faster as companies start releasing native linux versions of their software ( Thank you Bitwig, U-he, Tracktion, and a handfull of others!)

Th8a's icon

@giorgioesse - Great point about SBCs. Linux is dominant on ARM chip devices, which are going to be even more of a major player in coming times. ARM is even giving Intel and AMD a run for their money in the next gen desktop market. Windows and Apple both want to start using ARM for it's cost efficiency and capability to fit small form factors... but linux is already way ahead of the game there, and companies who release devices using ARM chips have little reason to tie themselves to proprietary operating systems. That will also be a huge factor in Linux's rise to power, which I predict will come sooner than most might think.

dhjdhjdhj's icon

You know they've being predicting this for (at least) a decade, probably

2010
https://limulus.wordpress.com/2007/08/13/2010-the-year-of-the-linux-desktop/

2007
https://www.itbusinessedge.com/amp/cm/blogs/bentley/the-year-for-linux-desktop/?cs=14586

2004
https://linux.slashdot.org/story/04/04/13/1444204/2004-year-of-the-penguin

------
which I predict will come sooner than most might think.

Th8a's icon

lol I said 'most,' not 'all.' But anyway, If you have been paying attention to the Linux world, It is progressing at faster and faster rates. If you had said this to me in 2010, I'd say "maybe one day in the distant future..." But in 2020, I'd give it about 10 years... Guess we'll see if I'm right....

johannes's icon

I've tried to update the WineHQ application database but it's not possible to select WineHQ 4.21-staging anymore - they say it's too old. But it is the best (and maybe last) working version as far as I know. I've no time to check out the newest wine version so I will not update this application database as intended.

For me Max 8 runs stable and even better performing with wine (4.21...) on linux.
It looks like there is indeed no "performance loss" at all rather a "performance win".
Thus for me the problem of not having a genuine Max 8 Linux version from cycling74 is solved.
But I am not developing applications I want to sell anyway.
If the aim is to run a Linux box in an art installation or in a similar context - this should work quite well with wine (4.21) and Max 8 today.

Th8a's icon

@Johannes - can confirm. I have tested in many versions of wine, and so far, for whatever mysterious reasons, 4.21 is the best across the board, and the ONLY to run the autocomplete function properly.

@Namakemon - On one hand, it makes sense that a platform built around gaming would have mostly Windows users, as only until recent times have devs really started supporting linux at all. On the other it surprises me that the numbers of linux computers on Steam would be so low... I know that to run steam games via wine, you must also launch a windows version of steam. Wine reports the desired version of windows to apps that ask for it, so I wonder if a lot of those 'Windows machines' are not linux machines launching steam via wine? I suppose I have no solid way to know...

Ko Sv's icon

@DHJDHJDHJ are you in the software dev business?

dhjdhjdhj's icon

Yes - why do you ask?

alain's icon

Hello, I'm making some tests with Ubuntu 19-10.
I've installed Max 8.1.2 with WineHQ and at first sight it works.
I've ran with success some maxhelp files : jit.world, jit.playlist, cycle~
I'll try some of my patches tomorrow.
I noticed a strange behaviour : when I'm typing the name of an object, it's like I was clicking with the mouse : impossible to finish typing the name....

AudioMatt's icon

Maybe now that no one has any money, it'll actually be the year of the penguin. Shrug.

Th8a's icon

@AUDIOMATT lol! right??

@ALAIN use wine staging 4.2.1.

alain's icon

@TH8A,
Do you know how to desintall a previous version of Wine ?
I'd like to remove the version 5.5, but don't find how...

EDIT
I've started again from scratch, re installed Ubuntu 19-10, but I cant' find a way to install this specific version (staging 4.2.1). I've reed lots of things, but it's unclear for me, as a new Ubuntu user..
Do I have to build/compile from Git or this version in available online ?
Thanks for your help !

alain's icon

Hello,
I found some help on Wine forum. Here's the way to install a specific version of Wine :
https://forum.winehq.org/viewtopic.php?p=127013#p127013
With Wine 4.21 it seems to work, as said H8A.

I made some quick tests, but I think it's not really possible to work seriously with Jitter this way.
Viddll seems to be not supported (it makes sense) and when using qt engine with objects like jit.movie I've got errors in the Console :
"jit.movie: Support for 64 bit qt is deprecated. The avf or viddll Video Engine is recommended."
Jit.grab (and other grabber) doesn't work, Max crashes...
Perhaps with Max 7 32 bits ??

Th8a's icon

@ALAIN sorry for the late reply. lifes been nutts with all these ronas and viruses flyin around. lol. To answer your question, It is better to keep and manage multiple versions of wine and multiple wine prefixes so that certain finicky windows programs can have their own custom configuration to run without interfering or being interfered with by other programs. The easiest way to do this is by using a program called playonlinux (install it with "sudo apt-get install playonlinux" no quotes)

With that program you can select from a long list of different wine versions of both 32 and 64 bit to keep installed and set up multiple custom prefixes for different apps respectively. For your main wine prefix which is located at ~/.wine, its best to just install the latest version from your package manager and leave it alone, using it for programs that don't require any fuss.

For other programs similar to playonlinux that let you manage various prefixes and wine versions, there is also q4wine and lutris, though q4wine is quite a bit more advanced in tearms of user friendliness and lutris is more geared towards gaming.

I don't really have a lot of experience running or using the jitter objects in max, as my focus has always been primarily focused on audio and midi applications. The times that I have used jitter, I have managed to get it to work well. The vid.dll error shows up for me as well, but I have not found it to be of any consequence. The most important thing when setting up a prefix to use these objects (or anything that relies on graphics acceleration like openGL or vulkan etc.) is that the prefix has been properly configured to recognize your graphics card drivers etc. I cannot offer much direction in this way, as it depends on what hardware you are using. I can say that a lot of the time, setting up the prefix to work with your graphics hardware will require the use of winetricks. I believe there is info earlier in this thread about using winetricks to configure multiple prefixes. Also use winetricks to install all relevant microsoft redist packages like directx etc.

Hope that helps.

alain's icon

Thanks for your detailed answer !
I understand better the method, and I've also read all the thread.
I'll try again soon.
Have a good day

Ciaran's icon

Just got Max installed on Arch, but I'm running into some issues that I think are caused by my WM (I'm using i3). Every time I create a new object, I can only type one letter before it assumes I'm done (i.e. trying to create a cycle~ object just results in a c object). The typing problem goes away if I switch to fullscreen, but when I'm in fullscreen objects won't initialize until I go back into windowed mode, so I have to constantly toggle between them to get anything done. Does anybody know if this is some sort of a Wine quirk? So happy to have Max installed finally but this is an irritating issue, and I'm not too eager to go install KDE or something.

johannes's icon

most likely it's because of your wine version. 4.21 is the version to go. there is some information about it in this thread.

Ciaran's icon

@JOHANNES Fullscreen is still buggy but it is working much better in windowed mode now, thank you for the help! Apologies for not reading the thread more closely.

Klaus Trophil's icon

Please consider adding Linux support. What are the arguments against this? Linux a very stable, predicable and efficient platform. That's why it's so popular in professional applications where reliability is key. Even many instruments are powered by Linux.

Some people here are quoting random market share statistics but these seem barely applicable for this context. (Even when we assume that they are accurate which is a difficult topic) Mac has a quite small global market share. Just by looking at the numbers, it wouldn't be very reasonable to release Max for the Mac. But Max is available for Mac because the creative domain works different. So the question is: how many potential and existing customers would use Max on Linux?

Despite that, there's a chicken-egg problem as well. As long as the Linux software ecosystem doesn't grow, the market share of Linux won't grow that much either. But imagine Ableton Live and the top 50 VSTs would be available on Linux tomorrow. Do you think this wouldn't have impact on the market share?

Many people are already fed up with the extremely pricey and arrogant Apple and the unreliable and data hungry Microsoft but still want to use certain software.

Ko Sv's icon

On Arch linux here. The above (JOHANNES directions) works fine!
Only the following appers in the console on startup:

Could not load package 'hap', OS version unsupported.
Could not load package 'VIDDLL', OS version unsupported.

Any clue on how to fix this?

cheers!

Mitch Cycling's icon

It's not a matter of i3. It's a matter of Wine. You need to configure it to spawn a virtual screen. Then it's working like a boss.

johannes's icon

@Ko Sv
I had the same problem after updating to MAX 8.13 again.
In general if you receive a "version unsupported" message try to edit the json file within the regarding package folder and set the required OS version to "none".

After the update mentioned above there have been package folders within the MAX program directory Packages folder and not within the users document directory MAX Packages folder only, in my case - don't know why this has been happening but anyway. Thus to take a look into both folders to edit a package-info.json file may make sense.

Th8a's icon

@Klaus Trophil couldn't agree more... But I am afraid we've been barking up that tree for around a decade now, and our boys at C74 don't seem to be signing any indication that a Linux version of Max is on it's way. It would be awesome, but sadly, seems unlikely. For now, at least, it seems to be working pretty well under Wine. The directions in the thread above should get you up and running with a reasonably full featured Max setup in your Linux OS. It's just the headache of learning how to get it all set up right, but if you use a lot of windows apps and games but want to be in Linux, it's a good set of skills to have anyway.

johannes's icon

With actual MAX 8.1.5 installed the File Browser and the Package Manager are just black. Is anyone experiencing the same?

Maybe it has something to do with "libcef.dll" which is placed here:
"/drive_c/Program Files/Cycling '74/Max 8/resources/support/CEF/libcef.dll"
?

This dll is mentioned in this thread a few times as a must have - in my case, I cannot install it via winetricks/winecfg, but it is already placed within mentioned folder

johannes's icon

Test Results added to version Max 8.15 of Max/MSP

https://appdb.winehq.org/objectManager.php?sClass=version&iId=38431

Th8a's icon

I remember when the steam client running through wine would do a similar thing, and in that case, it was directly related to libcef.dll.

I believe that dll file pertains to the google chrome browser library. You could try installing chrome/chromium into the prefix that you are using, or try pulling the libcef.dll from a prefix that has steam installed and working.

I don't promise that either of those things would work, but it's the first thing that I would try.

johannes's icon

@Th8a
I've the filebrowser working - I just have to click into it sometimes if the window turns black.
After deleting libcef.dll from the windows system folder it is working this way.
There is a libcef.dll within the Max resources folder:
/home/sone/MAX/drive_c/Program Files/Cycling '74/Max 8/resources/support/CEF/
For me it is working much better, if this "Max libcef.dll" is the only one.
Thus I have to test more but it looks like Max 8 is working fine with the current wine staging!
To be able to use autocompletion I had to de-select "Allow the window manager to control the windows" via winecfg (graphics tab).

Th8a's icon

@JOHANNES

Excellent work as always

Ko Sv's icon

@JOHANNES
"To be able to use autocompletion I had to de-select "Allow the window manager to control the windows" via winecfg (graphics tab)."

Thanks for that!

I can confirm that on Linux Arch with latest wine (5.20) and winetricks, maxMSP is running quite stable! And btw. Ableton Live 10 too... ;)

after installing wine and winetricks,
I used only following terminal commands:


wineboot -u
winetricks corefonts vcrun2010 vcrun2013 vcrun2015
winetricks win7
winecfg
* see above and make sure you're using win7!

make sure you do NOT install wine mono!!!

Good Luck!

KoSv

Dr Mr's icon

Hmm, on `8.1.8` I can get nearly everything to work except for package installations and license authorization ... I'm on `wine-6.0-rc2` (current staging).

It seems very specific for these 2 pages, which are rendered/executed by CEF (chromium embedded framework). I have to be max on `Windows 2008` otherwise the pages are completely black.
However in the console I see issues with SSL, which seem to be reflected here also: https://forum.winehq.org/viewtopic.php?t=34580&p=130324

So, I can run all the examples just fine (well ~95% stable, some dropdown/popup menus are glitchy AF), however without being able to activate my license it's thrown away money.

Does anyone know if it's possible to get/generate the correct authorization file from Cycling74 ?
I'd expect this to be downloadable manually from your profile or something, but this is not the case. Also being able to download package extensions manually would be nice.

These are the only 2 issue I have at the moment, but they make the software unusable.

Th8a's icon

I remember that would happen to me sometimes... I can't remember what caused it exactly at the moment, but for me, the fix was to just create a fresh prefix and reinstall Max.

I find it best practice to give max it's own prefix and don't do any additional installation of packages or dll overrides unless necessary.

Try other versions of wine. I have found the staging branch to work well. There's more info in this thread about specific versions of wine that work well, as well as which packages to install etc

If you don't know how/don't like managing multiple wine prefixes in terminal, using something like PlayOnLinux or Lutris makes management of multiple prefixes pretty straightforward and easy.
.
Cheers

Dr Mr's icon

Yeah I tried a dedicated wine prefix already, but that somehow performed even worse than my default prefix.

Are you using current `8.1.8` with winecfg set to win7 or win10?
That wine thread seems to indicate that these SSL errors with CEF seem pretty new.
In the console I see: `[1227/072141.578:ERROR:ssl_client_socket_impl.cc(941)] handshake failed; returned -1, SSL error code 1, net_error -207`

Will try with playonlinux and some other wine versions, but still find it odd.

It would be nice if we could finally get this "ultimate list" of dll overrides and winetricks packages, as all the lists in this thread either seem too minimal or way too elaborate.

Dr Mr's icon

Playonlinux with wine-4.21 gives exactly the same results as the manual prefix:
- bit less performant than my default wine prefix (menus and windows are drawn slower)
- need to `downgrade` compatibility to `2008` in order for CEF to render anything
- still get `handshake failed; returned -1, SSL error code 1, net_error -207` when trying to authorize my account


[Edit:
ok! I've been able to get through the ssl errors by running the program with `wine Max.exe --disable-web-security --ignore-certificate-errors`

I have now been able to authorize with my credentials. Only thing that doesn't work now is the package manager. This still fails with an `Error while attempting to install` with nothing in the console.
]

Th8a's icon

do you have wininet and winhttp installed through winetricks?

also try adding nsi.dll native/builtin


I haven't tested the newest version of max yet.

The version of wine can impact the dll list, because some builds like staging, lutris, etc. have the functionality of those libraries out of the box.

Oddly I have had better luck running max in in the stable branch of wine.. but honestly, with new versions, I figured it out by just throwing shit at the wall and seeing what sticks.

Dr Mr's icon

If you haven't tested the latest version then we are comparing apples and oranges.
I think they changed plenty of things in the last update.

Rafael Vega's icon

I'd buy max immediately if it ran natively on Linux. +1

Kosmas Giannoutakis's icon

Hi, I am trying to make the package manager work, it appears black in windows 10, shows normal with windows xp although it cant download and install any library. I get also this message in the terminal :


[0123/165709.420:INFO:CONSOLE(174)] "WebSocket connection to 'ws://127.0.0.1:174 78/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED", source: file:///Z:/home/goodhm/.wine/drive_c/Program%20Files/Cycling74/Max8/resources/docs/unibrowser/package/c74pm.client.js?dedf297416571d34181d (174)

Any suggestions on what to try?

Th8a's icon

It looks like the websocket that wine is communicating through is closed. Did you use winetricks to install wininet, winhttp, nsi etc?

If you are in a hurry to get those packages installed while you figure it out, I think you can find a lot of em on the interwebz and install them manually.

Kosmas Giannoutakis's icon

Hi TH8A, thanks for your feedback, wininet and winhttp are already installed, I couldn't find any nsi dll. How can I install nsi?

Th8a's icon

Ah, sorry, probly should clarify. nsi.dll should be part of windows already, found in the system32 folder. By 'installing it,' what I SHOULD have said is override it in winecfg, set it to 'native,' or if that isn't working try 'native then built in'

The winbind and libntlm0 and gnutls packages might need to be installed for net access (sudo apt-get install winbind sudo apt-get install gnutls-bin sudo apt-get install libntlm0)

Kosmas Giannoutakis's icon

Hi TH8A, thanks for your answer, I can't find nsi.dll when I am opening winecfg, when I go to Libraries -> New override for library there are no dlls there. Any clarification on how to do that?

Th8a's icon

@Kosmas Giannoutakis

I think nsi.dll is part of some microsoft redistributable package. The easiest way to install those in a wine prefix is by using winetricks.

I am not honestly sure which package it's in... I think it may be one of the win7 service update packages.


Th8a's icon

I FINALLY found a way to fix the object box bug, where the object box jumps to the first autocomplete word it finds and makes it very hard to create objects by typing directly in the object box.

I figured out a workaround that makes the object box usable!

The problem appears to be in the way that your window manager handles window focus. It seems like the dropdown menu that appears when the autocomplete finds object names as you type is treated as a separate window, so the window manager switches focus to that window, pulling focus away from the main window and triggers the autocomplete function to grab whatever is highlighted.

The fix for me was by setting special window rules in KWin. I am using KDE, but I am willing to bet that other window managers have similar capabilities.

I set a special window rule for windows that are identified as being Max.exe. The window rule sets focus protection to the highest setting, preventing anything from stealing focus from the main max window.

This way, the edit window keeps focus when the dropdown autocomplete menu is called, and everything works as expected.

Hope that helps some people out who have been frustrated by this bug as I have.

Cheers!

matyas's icon

For those of you that have gotten Max working under Wine, how is the performance? Latency?

msnf's icon

Good question, I worked with Linux 2 years ago and had some pbs with sound and midi... (find the drivers for internal and external sound cards...) Now I don't have linux and it would be interesting to see if there is some progress since this time!

Th8a's icon

@MATYAS - I have been using Max in Linux for a year or so now, and I have to say that it actually works really well. The latency really depends on your audio setup and hardware etc... but if you use wineasio drivers, I am experiencing near native latency (4 - 9 ms in my case.)

Certain objects and features that are deeply integrated in Windows or Mac OS won't work properly (like the shell object, or certain dynamic creation of midi ports etc.) but by and large, it works great.

There's also the caveat of having to set the window settings to not lose focus to overcome the autocomplete bug, but if you love max and hate windows and apple, I can recommend using Max in linux.

giorgioesse's icon

@ TH8A would you be so kind to send me an email to give me details on how to run it on linux?
gio at giorgiosancristoforo dot net

Dr Mr's icon

The DSP and graphics worked fine for me, but the built in package manager did not and other UI bits where really wonky/glitchy.

Not worth my hard earned money in the end.

msnf's icon

@GIORGIOESSE & @TH8A
Please post all technical informations here on this thread.
It's much more better for all people who are interested by these questions.
THANKS!

Th8a's icon

@DR MR - The package manager can be fixed by using a version of wine that works with the chromium browser libraries (libcef.dll(?)) Anything that works well with the windows steam client will also work with the package manager, as both rely on libcef. The staging branch of wine should do the trick.

If the graphics are glitchy, make sure that you have all video drivers installed, updated and configured properly to work within wine.

Th8a's icon

@GIORGIOESSE - There's all sorts of 'how-tos' and tech info on how to get it running throughout this thread. As of the time Im writing this, I have found that some of that info is only relevant if it doesn't work right out of the box using wine staging branch.

The issue with the window losing focus and screweing with the object name autocomplete function is the only real issue I experience on a clean wine prefix. I am not entirely sure how to fix it on other desktop managers, but I use KDE, and you can go into the application window settings in KDE and set MAX windows to keep their focus from being stolen. This solves the problem completely.

It's also best to install max in its own prefix and launch it with a script. Make an empty text file and name it whatever you want. the contents of the file would look something like below. Save it, do your 'sudo chmod +x /path/to/textfile' and now it will launch similar to how a windows .exe file works.

#! /bin/bash

export WINEPREFIX=/path/to/prefix 
export WINE=/path/to/wine/bin  
export WINESERVER="/path/to/wineserver/bin 
wine $WINEPREFIX/drive_c/Program Files/Cycling74/Max 8/Max 8.exe"


zerox_'s icon

"...and you can go into the application window settings in KDE and set MAX windows to keep their focus from being stolen. This solves the problem completely. ..."

thank you, thank you, thank you ;-)

zerox_'s icon

btw. i only managed once (two years ago) to install max8 with a working authorization window.
cant rember the wine version. but after one update the authorization window appeared black. as its somehow browserbased. tried all sorts of combinations of versions of wine, mono and gecko without success.
now with wine-6.21, wine mono 6.4.0 and max 8.2.1 on my arch based system it finally works again !

Th8a's icon

Glad to hear it. the browser stuff depends on libcef, which just like it is when running steam on wine, it has a mysterious tendency to sort of work or not work when it feels like it. I had to downgrade the version of Max somewhere in there at one point as well... but as of now, wine and the latest Max seem to be jiving ok together.

zerox_'s icon

for some reasons my distro (manjaro) forced me to update wine but gladly didnt break max 8.2.1 with:
wine-7.0-rc2
wine-mono 7.0.0-1
wine-gecko 2.47.2-2
i wish there was an more persistent solution. maybe building an appimage of wine & max ?

Th8a's icon

@zerox_ It wouldn't be a bad idea to build such an app image. You can also keep multiple versions of wine, you are not stuck with using the system version in every prefix. I still run max with a specific version of wine 5.xx staging. You can configure prefixes to use specific versions of wine with something like playonlinux, lutris, or just make a bash script and launch max by calling that.

My script lives in a desktop icon that is how I launch max. it looks like this:

WINEPREFIX=/media/User/external-drive/PlayOnLinux/wineprefix/MAX8_2021
 
WINE=/opt/wine-staging5.6RC/bin/wine 
 
WINESERVER=/opt/wine-staging5.6RC/bin/wineserver
 
wine "/media/User/external-drive/PlayOnLinux/wineprefix/MAX8_2021/drive_c/Program Files/Cycling '74/Max 8/Max.exe"

edit that to match the paths on your system then save that as a text file and name it whatever.... Lets call it 'launchMax', make that file executable with



sudo chmod +x ~/launchMax

And that's it. Now you just click that icon or call it in terminal and it will launch max with whatever wine version and prefix you want.

If i am not mistaken, you don't want wine-mono in your max prefix. Don't quote me absolute on this, but I think you'll want to favor native libraries for web stuff in your max prefix.

Hope that helps

johannes's icon

Yes indeed! It's running on xubuntu 20.04 (xfce4 ) and current winehq-stable (6.0.2), too.
Package manager, file browser, autocompletion, audio, video - everything is fine.
The authorization window is showing up but I'll authorize if this new wine prefix is stable thus I don't now if it works today. So far the easiest installation for me and it's a stable version of wine - I think I will set it on hold for a while.
@Th8a
again thank you so much for this autocompletion focus settings solution!

Below the focus settings regarding the autocompletion problem which are working for me with xfce4

zerox_'s icon
matyas's icon

Has anyone tried this with wine-staging 7.20 (the current version) and Ubuntu 22.04? Max will load, but I've still got the auto-completion error, and package manager doesn't work. Unfortunately, the above solutions don't work for me: disabling "Allow window manager to control windows" makes it impossible to select anything in the patcher window, and I can't find any settings for the Gnome window manager that change the behavior. Regarding package manager, I've got libcef.dll in the Max support folder, and wininet, winhttp, and nsi installed. On top of that, Max takes a really long time (several minutes) to start up. Any suggestions? I'm very experienced with Linux, but much less so with wine.

Th8a's icon

@Matyas - Be sure to use the staging branch of wine. I have had mixed results with the stable branch and Max, but generally much better results in the staging branch.

I haven't used Gnome as my DM in quite some time, so I don't know what the similar setting would be. In KDE, you allow the window manager to manage the wine window, then set the special window settings 'per application' in the KDE configuration to prevent anything from stealing focus of the window. I'm pretty sure there's a way to do it in Gnome, I just don't know what that is, unfortunately.

The package manager generally doesn't work in Wine, from my experience. I have gotten it to work partially, but downloads typically fail or don't install properly. The workaround for this is to simply download the packages and install them manually, which is probably easier than figuring out how to get the package manager fully working.

The long bootup time and instability is something I've experienced. While I am not sure exactly what causes it, I've always fixed it by just reinstalling max in a completely clean prefix using the Wine staging branch.

matyas's icon

@TH8A, I figured any updates to Wine that would have been in staging 2 years ago would have made it into stable by now, but in any case I tried it again with the current staging package. I installed all of the DLLs and packages from the tutorial again in a fresh prefix and managed to get a little farther than I did earlier. In particular, package manager would load, but couldn't find the remote server and would crash the whole application.
In the end, I decided that I had already sunk too much time into this project and figured it was time to move on. I was motivated not by a hatred of Microsoft or Apple but by a genuine love of Linux - it's by far my favorite OS and has been for years - but it looks like the best case scenario is you end up with an installation that works _almost_ as well as it does on Windows or Mac, and for now, at least, the headache-benefit analysis just doesn't work out.
I am quite pleased to see that Linux VST and Raspberry Pi are targets for RNBO development, and I plan on taking advantage of that. I just wish we had the ability to create and edit patches _natively_ on Linux as well.

Th8a's icon

Yea, I hear ya. For me its both a love for linux and an unwillingness to subject myself or my devices to microsoft or apple.

The package manager is one thing that I never did manage to get working fully. The workaround there is to just install the packages manually, which isn't too difficult to do, thankfully.

If you followed all of the instructions, I'm not sure why it wouldn't work well for you. I use MAX all the time in linux and have managed to get it working well enough to be completely usable, save for a couple of objects that rely on specific windows or apple functionality etc.

The vast majority of the program works well once everything is set up correctly. I understand not wanting to deal with the hassle, but I can tell you that it certainly can work.

Another thing that I should mention is that the directions previously given were not made for the most recent version of Max. TBH I have not tested the latest version of Max in my setup.

You might try reverting back to a previous version to see if it works better.

Akihiro MORIGUCHI's icon

Hello all,
I happened to know Cycling'74 Max 8 has windows installer and has demo version today.
I installed with wine 7.22 on my Manjaro xfce4 box and it works fine.

With @TH8A 's workaround and @johannes 's screenshots, the autocomplete problem solved.
Thank you very much!


Akihiro MORIGUCHI's icon

Maybe it's off topic on this thread but I don't know where to ask, though I created a new thread on main forum https://cycling74.com/forums/how-can-i-change-a-number-box-value-on-max-under-linux .

As I wrote on the above thread, I have troubled with set a default value on Integer numberbox.

If there are someone who know how to set the default value of Integer number box on Linux, please let me know.

Th8a's icon

The inspector window is your friend. You can set initial values there.

Akihiro MORIGUCHI's icon

As I see the inspector window of a Integer numberbox, there is Value which have only Minimum and Maximum.
Can I add a initial value to the Value?
If I can, please tell me how to do it.

Source Audio's icon

Enable parameter mode first.
That enables initial stuff

Akihiro MORIGUCHI's icon

Thanks for your information.
I checked the "Parameter Mode Enable" checkbox and now I can input, for example "2" for "Initial Value."
But the numberbox on the patcher screen doesn't change, it remains "0."
And max console says "<none>: bad number".

Akihiro MORIGUCHI's icon

Now I can change the value of Integer numberbox from Menu -> View -> Parameters.
Thank you for your supports.

matyas's icon

I finally got Max working under Linux (Ubuntu studio 22.04). My tests have not been exhaustive, but with some tips from this thread, everything I need to have working seems to work. I even managed to install some packages from the package manager. I tried out one of my own, frequently-used patches; CPU usage seems maybe 2-5% higher than on the same machine running Windows, but it does feel responsive. I haven't really tested midi or live audio processing yet and I'm curious as to what latency would be like. However, it does feel like it could be a workable system.

Having said that, the set-up and installation process is not at all intuitive, and I say this as someone who has been using Linux for 20 years, the last 5 or so in a professional setting. Wine reminds me of all the things I used to really dislike about Windows. Installing dlls, downgrading Wine to make it work with wineasio, mucking about in the Registry - these are not fun or easy things to do and require fairly advanced knowledge of the inner workings of both Linux and Windows.

My conclusion is that if you're someone like me who is basically holding on to Windows and/or Mac (I use both on different machines, incidentally) because of Max and you're comfortable getting your hands dirty, then running Max on Linux may be a viable solution. However, I still would vastly prefer native Max on Linux, and I'm really hoping that the day will come when we no longer have to hack around with Wine to get Max running on it.

Th8a's icon

Here here. Of all the programs, plugins, and even newer AAA gaming titles that wine runs out of the box without any issues, Max is still one of the harder applications to get running in Linux, and not without some snags.

It is a fully working environment once you get it running, but boy-oh-boy, you have to REALLY want it to make that happen.

I've always found it strange that they don't seem to have any plans or care for making a linux native version of Max. The program inherently appeals to techies and tinkerers, and that same demographic is moving away from OS's like OSX and Windows in droves, and for good reason.

I have completely boycotted Microsoft, Google, Amazon, and Apple products on all of my devices, so for me, running Max under wine is the *only* choice. I'm thankful that there is at least that... but come on C74! Make a Linux version of Max! Puh-lleeeaassee!!

matyas's icon

@th8a - On the one hand, I kind of get it. Many Max users have been with the program for decades (me included.) A lot of these folks have vested interests and sunk costs in established platforms, especially in the case of Mac users.
But I don't know how many people realize that Linux in 2023 isn't like it was 10 years ago. Ubuntu Studio has everything set up for low latency. You can run a fully-functional native Linux DAW like Reaper and not miss much. I even managed to get my Flux plugins working, iLok authorization and all, without much hassle. My RME interface runs in class compliant mode with low latency. SuperCollider runs on Linux better than it does on Mac OS. I'm getting into VCV Rack and that runs natively under Linux as well. Max could fit very nicely into this ecosystem.
A lot of the commonly-heard complaints just aren't really true anymore - not all Linux users are open-source zealots and those that are will just run pd and be done with it. Hardware compatibility has improved immensely, and if you target something like Ubuntu/Debian-type distros, that will satisfy most users. (People running stuff like Arch are usually willing to mess around to make things work.)

Th8a's icon

I wouldn't necessarily consider myself an open source zealot (though I completely understand why one would be.) For me, I just feel like when it comes to something as fundamental as an operating system, its absolute foolishness to allow some mega-corporation with questionable (if not detestable) ethics like Microsoft or Apple to have *that much* control over everything. Both companies, along with Google and Amazon, have basically become defacto branches of the damned NSA!

With the way society is going these days, I find it's just so important to own and control your devices/software, not be owned by them.

TBH, I do use and love PD, especially the newer purr-data, but when I want to make something that has a reasonably clean and modern UI, PD just doesn't cut it. In order for that to work out, you have to do something like run PD headless and use some other kind of code to make a UI that communicates to PD through ports... and that just adds a level of complexity to the issue that Max bypasses.

You are right though. I think most people hear 'Linux' and get intimidated, or think of the old Dougie Hauser show where his computer is just him typing into some DOS like program. lol

If people really knew how far Linux has come, and just how good it really is with all it's privacy, security and advantages, we'd probably see a boom of people flocking over to escape Apple and Microsoft.

The biggest problem that Linux still has in that regard is its PR. There's so many distros, DMs, options etc to choose from, and all of it is so spread out allover the internet like the wild-west of software, that people have trouble wrapping their heads around it, unlike something like Apple that just makes all of those decisions for you and markets it aggressively as this one uniform thing.

The good news though, is that we are seeing huge numbers of people starting to get into linux, and that is solely thanks to valve corp and steam.

With the new steam deck, we're seeing new life and commercial development getting breathed into the linux world via the gaming industry. I have noticed that since the release of the steam-deck, Linux is now on the commercial development map, and many developers have started supporting "steam-OS," which, of course, is just Debian. So, that's good news.

Maybe we're just a cool decade ahead of the curve in consumer technology. I am actually pretty confident that Linux will be a major contender in the end-user market within the next 10 years or so.

Hopefully C74, Ableton and some other music software giants gets in on that as well.

Here's hoping anyway.

matyas's icon

@th8a, I do think it's important to point out that Linux has some pretty strong advantages beyond just not being Apple or Microsoft. My motivation is less about hating Microsoft and Apple and more about the fact that I genuinely love Linux. In particular, I think I winning strategy for convincing people to use it and develop for it would emphasize what it's got going for it.
For audio in particular, I can think of a couple of very concrete things:

JACK: The ability to route audio from any app to anything else, with low-latency, is amazing. Sure, JACK exists for other platforms, and Mac has SoundFlower, but JACK+Carla makes it trivial do so. I have yet to see anything else that works as well on any other platform.

Performance: Linux is just the most performant OS out there. By not running a bunch of unnecessary services and background apps, you can get much better performance out of the same hardware.

Drivers/Latency: People will probably be surprised by this, given the deserved bad rep Linux audio drivers have gotten in the past, but currently, with a modern low-latency kernel, Linux audio drivers can meet or exceed proprietary solutions. I'm getting 2.8 ms latency with a class-compliant RME USB device, for example.

Th8a's icon

Oh, for sure. I agree. Don't take me to mean that I only use linux because I don't like Windows or Apple. It is a better operating system in almost every regard. The only thing where something like windows or apple has an advantage is in overall organization of their products and commercial third party development, and even that is starting to shift in favor of linux.

Joseph  Hindle's icon

Hi there !

Iv'e just started getting into MAX and have jumped back into Linux land. Everything seems to be working OOTB except for the autocomplete .... anyone find a way to fix this on GNOME...the extensive settings of KDE and XFCE don't seem to exist, especially with wayland?

Alternatively, if I am just starting out, is there any harm just rocking plugdata? :P

matyas's icon

I’m not sure if there is a way to get autocomplete working under Gnome. I’m usually a Gnome user myself, but I never did manage to get it working. The machine I’m currently using to test Max on Linux is running XFCE, which I don’t prefer in general, but it does work.
However, I would not recommend Max on Linux to someone new to Max. When something inevitably goes wrong or breaks, you won’t really know if it’s a Max problem or a Linux problem, and there are so few people doing this that you won’t have a lot of support. If you want to learn Max, you’re better off sticking to Mac or Windows. If you want to stick to Linux, try PD. Or, if you‘re not daunted by code, I recommend SuperCollider, which runs great on Linux.

msnf's icon

Hi guys, nice thread!
Somebody you used a sound card with Max on Linux - specially Focusrite...

matyas's icon

@MSNF, just to be clear, Max isn't supported on Linux and only runs under Wine with some very complicated setting up. I'm not sure if I can really recommend it at this point. I've been a Max user for a long time and a Linux user for a long time, but my Max usage has only been on Mac and Windows and all my Linux audio stuff has been on SuperCollider. I'm experimenting, but what I really want is a native version of Max for Linux.
Now, having said that, if you do decide to try this, in theory, any class-compliant audio interface should work. I think most Focusrite interfaces are class-compliant, but I've never used one myself. Again, I don't really recommend trying this unless you're already an experienced Max user, an experienced Linux user, and willing to dig deep into the ugly world of installing DLLs in Wine.

msnf's icon

ok understand
You write about "I'm getting 2.8 ms latency with a class-compliant RME USB device, for example."
Does it mean real RME sound card or not?

matyas's icon

Yes, that’s with an RME audio interface- but with native Linux software. I haven’t really stress-tested it with Max running under Wine. So far, it does seem usable, but Wine is very unpredictable. I haven’t gotten acceptable performance with Ableton Live, for example.

msnf's icon

Thanks MATYAS for explanation, it's more clear now.

Joseph  Hindle's icon

@MATYAS

Thanks -- You make some great points! I think I'll start with PD, and possibly try out supercollider....I did play with tidalcycles for a while which was fun :)

Th8a's icon

@MSNF From my experience, using soundcards in Max/Wine works fine. If you want to use it with JACK or Pipewire, you'll want to install wineasio in your wineprefix so that you can get independent audio outputs into your jack environment. Once you have it set up properly, it will work well.

@JOSEPH HINDLE - My experience differs a bit from @MATYAS in this department. While I agree with him that using Max in wine is probably not super recommended for beginners, it can be done in a very functional way once you learn the nuances of wine/linux/max.

From my experience, I can say that the program is about 95% there, with only a few objects not functioning properly.

For example, the shell extension for terminal bash scripting does not function in wine. That is somewhat to be expected. If you want to do a lot of stuff with shell object, you are better off in PD, or making a hybrid patch that sends the info from max to PD for shell usage, then returns the output.

Another thing that doesn't work properly in max is the ability to create a new virtual midi output. You will need to make use of the midi devices that are already present in your ALSA environment, and it only popultes that list when max starts. You won't be able to refresh the list. If you add or remove a midi device while max is open, you'll need to restart it to detect those changes.

VIZ and some of the more graphics oriented objects will only work if you have your DXVK and graphics drivers for wine set up properly. Of all things, I have found some of the openGL type stuff a bit unreliable, but then, I don't use those things all that much tbh.

Creating an application is a bit strange too. Some of the path doesn't register when you go to make an application from your patch. I'm sure there's a way to fix this, but I haven't really delved into it that deeply yet. All I know is that it doesn't initially work as expected.

I have not found a way to make autocomplete work in GNOME, unfortunately. I use KDE anyway, so it's not a huge setback for me, but I can see where it would be for someone who prefers GNOME. If there is a way to adjust the focus steal settings of windows in GNOME, you'll want to look there for your answer.

Other than that, it works pretty well, and I've been able to do some reasonably complex patching in Max under Wine.

Hope that is helpful.

msnf's icon

ThanksTH8A
When I joined this discussion (4 years ago!) we tested about 4-5 different linux distributions special audio, but it was for the other reason then audio (midi connexions) and finally we stoped this.
Now it's time to retested all this and - I hope - change for us to work with the linux solution at the end of this year maybe...

matyas's icon

Has anyone seen this?

https://support.cycling74.com/hc/en-us/articles/21818753682579-Will-Max-be-supported-on-Linux-

This would be good news indeed!

Th8a's icon

I'd call it lukewarm news, but at least they are discussing the idea of Max on Linux!