Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > Requests > Last call for VICE MacOS devs
2018-08-03 21:24
Compyx

Registered: Jan 2005
Posts: 631
Last call for VICE MacOS devs

For the last time I'll be asking if anyone with any MacOS knowledge can step up and help with VICE development.

Right now the whole MacOS mess is in danger of being completely ignored from now on, or even deleted.
What we require are (obviously) devs with knowledge of MacOS; knowledge of either SDL2 or Gtk3 is nice, but not required, we can help with that.

Basically, my VICE mailing list post says it all:

***

Hello fellow devs, and hopefully people who know something about MacOS,


After constantly running into horseshit when it comes to Gtk3 on MacOS (and MacOS in general), I'm once again asking for people with knowledge of MacOS (ie not me) to step up and help out with the Gtk3 MacOS port.

There are a lot of issues to fix with Gtk3 on MacOS, and my knowledge is very lacking when it comes to MacOS. So as it stands now, Gtk3 on MacOS is stillborn and will remain so. I'm already working on Gtk3 on Linux and Windows (another system I despise and which we also don't have any active devs for), so I'm personally done with MacOS.

So in short: unless we get some devs who actually want to put in some work (complaining on IRC about how shitty this or that is, and then doing nothing about it, doesn't count), MacOS users can use SDL2 and like it, though apparently make bindist for MacOS SDL doesn't work either :)


Most likely having completely wasted my time and bandwidth, sincerely,

Compyx

***
2018-08-05 16:51
ChristopherJam

Registered: Aug 2004
Posts: 1409
I've already responded over on #vice-dev, but yes, will see what I can do.
2018-08-05 17:15
JackAsser

Registered: Jun 2002
Posts: 2014
Just to be clear even though the text says it all. This is a gtk3 problem, not VICE. So be ready to dig into horse shit of layers.
2018-08-05 18:12
ChristopherJam

Registered: Aug 2004
Posts: 1409
Yes, I'm well aware of that :-/

Still, I'd quite like to use gtk3 for a few other projects myself, so it'd be nice to get to the bottom of whatever's fucking up.
2018-08-05 18:28
Compyx

Registered: Jan 2005
Posts: 631
Thanks for the replies. I know you guys already spent some time on the VICE MacOS stuff.

A lot of issues are indeed Gtk3 related, or rather Gtk3-on-Mac related. But without people with some actual Mac knowledge we won't be able to track/fix the issues properly.

My frustrations with my lack of knowledge of MacOS (and it's weird UI) led to a somewhat negative post.

I do wish to have a proper UI on MacOS, just like on Windows and Linux (and even *BSD). So any help would be appreciated. Do keep in mind that although we always appreciate anyone helping with even a single patch, we really need people that are willing to invest some time to also add code/fix bugs in the future, to keep the MacOS UI up-to-date and running properly.
2018-08-05 19:23
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Yes, I'm well aware of that :-/

Still, I'd quite like to use gtk3 for a few other projects myself, so it'd be nice to get to the bottom of whatever's fucking up.


The best, but of course hardest approach, would be to actually implement GLSurface for Gtk3 on mac os, then VICE could use the same render strategy for all platforms. But it seems far away to have that kind of support in Gtk3 (on macos) unfortunatly.
2018-08-05 19:30
chatGPZ

Registered: Dec 2001
Posts: 11386
right now the rendering isnt even the biggest problem. that is "just" slow - but at least it works :)
2018-08-05 20:59
Mirage

Registered: Jan 2003
Posts: 113
I'm curious, is Gtk3 a GL abstraction layer that's going to keep on working? As far as I know Apple are trying their best to move osX over to Metal/2 completely?

Like I said, I'm just curious. If the answer is too long or noone replies I'll google it myself.
2018-08-05 21:49
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: I'm curious, is Gtk3 a GL abstraction layer that's going to keep on working? As far as I know Apple are trying their best to move osX over to Metal/2 completely?

Like I said, I'm just curious. If the answer is too long or noone replies I'll google it myself.


Gtk3 has nothing to do with GL per se. GTK is a UI-framework including toolkit that is platform independent and handles input, widgets, timers and all sorts of thing you need when creating desktop applications.

It's an extremely well chosen library to use to minimise the work of maintaining several UIs and instead just focus on one, that runs on all major targets. Imo it was either GTK3 or QT that were viable. VICE team chose GTK3.

Gtk3 unfortunately is a bit so so on mac OS and really needs a helping hand.
2018-08-05 22:57
Compyx

Registered: Jan 2005
Posts: 631
Gtk is indeed the best choice for VICE, since VICE is written in C (ignoring resid) and most of the devs either don't know C++ well enough or plain dislike it.

Personally, if VICE had been a C++ project, I would have gone for Qt, I've used it lot from Python. If there's any codebase that can actually use OOP, it is UI code. Gtk is also very much OOP-ish, but actually inheriting from any Gtk "class" is an unholy mess.
So my code uses composition and a whole bunch of "methods" and "properties" implemented in C to provide some useful "classes" to build the UI on top of.

Still, using Gtk isn't always smooth, it gets progressively worse from Linux/BSD to Windows to MacOs :)
2018-08-06 07:17
oziphantom

Registered: Oct 2014
Posts: 490
Yeah OpenGL is now flagged as depreciated on macOS/iOS/tvOS/watchOS so at some point OpenGL will just fail to init and programs will just crash.
2018-08-06 09:25
Mirage

Registered: Jan 2003
Posts: 113
Woops, sorry - I know gtk is a UI toolkit, just didn't know the connection with GL, if any.

Just thought it was curious to ask for a GL implementation when GL is deprecated and going to be removed.
Maybe CoreGL is still going to be supported on macOS, which is what I was uncertain of?
2018-08-06 09:26
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: right now the rendering isnt even the biggest problem. that is "just" slow - but at least it works :)

I just checked the bug tracker and the bugs related to Mac OS X were few actually. What are the major problems in your opinion other than sluggish rendering and non-deterministic build system?
2018-08-06 13:12
chatGPZ

Registered: Dec 2001
Posts: 11386
for example the file-open dialog just crashes :) and indeed, the build system. and the binary packaging. etc

(no bugs reported? LOOOOOOOL. yeah that means a lot. especially for macOS, where we have all those people testing things =D)

regarding GL - there will be wrappers that map GL to metal, i am pretty sure. without them macOS will just fade away, or at least will become largely irrelevant for everyone developing software that isnt macOS exclusive. (you already noted autodesk pulled the trigger, i guess. others will follow)
2018-08-06 13:57
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: for example the file-open dialog just crashes :) and indeed, the build system. and the binary packaging. etc

(no bugs reported? LOOOOOOOL. yeah that means a lot. especially for macOS, where we have all those people testing things =D)

regarding GL - there will be wrappers that map GL to metal, i am pretty sure. without them macOS will just fade away, or at least will become largely irrelevant for everyone developing software that isnt macOS exclusive. (you already noted autodesk pulled the trigger, i guess. others will follow)


Right ok. Thanks for the insights. Regarding GL you’re absolutly right and bothing to worry about (and as you said the slowness today in not even a show stopper)
2018-08-06 17:15
oziphantom

Registered: Oct 2014
Posts: 490
when they move to the ARM based Macs will be the point they did most of the old stuff and kill most of the translation layers etc.
2018-08-06 17:16
chatGPZ

Registered: Dec 2001
Posts: 11386
lol, wont happen in the near future :)
2018-08-06 17:38
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: when they move to the ARM based Macs will be the point they did most of the old stuff and kill most of the translation layers etc.

Stop derailing the thread plz
2018-08-07 11:59
Frantic

Registered: Mar 2003
Posts: 1648
I don't have the time required to participate in actual coding, and I don't really have much knowledge about macOS coding in general, but since I am a Mac owner I could possibly help with some minor testing every now and then.
2018-08-07 19:02
Compyx

Registered: Jan 2005
Posts: 631
We can also use testers, definitely.

Unfortunately right now the bindist script is at a point where it's still incomplete, a few things such as Gtk3 themes/icons aren't copied properly, nor is the vice.gresource file copied anywhere, leading to failure to load logos, icons and custom fonts. And also causing things using/based on GtkFileChooser to fail due to missing schema files, ie: Attach Disk will fail :)
2018-08-07 21:06
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: We can also use testers, definitely.

Unfortunately right now the bindist script is at a point where it's still incomplete, a few things such as Gtk3 themes/icons aren't copied properly, nor is the vice.gresource file copied anywhere, leading to failure to load logos, icons and custom fonts. And also causing things using/based on GtkFileChooser to fail due to missing schema files, ie: Attach Disk will fail :)


First of all, as I've said before, I'll take a look in creating a stable build environment. Right now I'm looking into vagrant and setting up a virtual mac os that contains a clear build system with gtk3+ build from scratch etc.

I had this up and running on my work computer but then after tainting it with "something" nothing builds anymore. So it's critical to get this up and running first before fixing the rest.

The bindist script is just a matter of putting some hours into it. I can't image it will be hard to get the correct files to be copied to their respective places.
2018-08-07 21:12
chatGPZ

Registered: Dec 2001
Posts: 11386
i think you will learn that its quite a hazzle actually =P
2018-08-07 21:14
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: i think you will learn that its quite a hazzle actually =P

:D
2018-08-07 21:18
JackAsser

Registered: Jun 2002
Posts: 2014
I have now messed with Vagrant + VirtualBox and I'm convinced this is the way forward to create a easily replicatable build environment for VICE on MacOS.

I'll try to create my own "box" and upload it to Vargant, then it will be a simple manner of a few commands to get an environment up and running.

But then again, shit usually hits the fan... :/
2018-08-07 22:07
Compyx

Registered: Jan 2005
Posts: 631
So we now have VM set up by building Gtk/Glib etc from source using jhbuild, a Vagrant thing and people using macports?

This cannot go wrong at all.
2018-08-07 22:12
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: So we now have VM set up by building Gtk/Glib etc from source using jhbuild, a Vagrant thing and people using macports?

This cannot go wrong at all.


Well my experience building gtk3 on my host machine is that it’s extremly sensitive to the environment. So having it contained is a must if I want to proceed. A simple chroot-env would ofc suffice but setting that up takes way longer.
2018-08-07 22:22
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: So we now have VM set up by building Gtk/Glib etc from source using jhbuild, a Vagrant thing and people using macports?

This cannot go wrong at all.


Also GTK-folks are recommending people to uninstall every trace of macports before building GTK. Another reason to have this build-environment contained. Yes, it sucks, it sucks big time, but I really don't see many other ways to do it. Do you have any suggestions and insights?
2018-08-07 23:16
Compyx

Registered: Jan 2005
Posts: 631
I don't. If the Gtk devs say you need to avoid macports and build Gtk3/GLib yourself, they might be right. Thought sometimes info I get from them seems to contradict other info I get from them. But that's Gtk3, works fine on their (and my dev) platform, a little flaky on other platforms.

Personally I just want to be able to test the Gtk3 UI on MacOS and perhaps even add some MacOS-specific stuff. Using some env vars I managed to get the Gtk3 UI to actually work on MacOS. Getting a proper bindist out is something I'll gladly leave to people with actual MacOS experience.
2018-08-07 23:31
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: I don't. If the Gtk devs say you need to avoid macports and build Gtk3/GLib yourself, they might be right. Thought sometimes info I get from them seems to contradict other info I get from them. But that's Gtk3, works fine on their (and my dev) platform, a little flaky on other platforms.

Personally I just want to be able to test the Gtk3 UI on MacOS and perhaps even add some MacOS-specific stuff. Using some env vars I managed to get the Gtk3 UI to actually work on MacOS. Getting a proper bindist out is something I'll gladly leave to people with actual MacOS experience.


I’ll do my best. I managed do get the GTk UI up an running before (with the bindist faults mentioned). This ended up in a crippled build env for me and now I can’t even build GTK3 anylonger. Hence this new approach with a separate environment.
2018-08-07 23:58
Raistlin

Registered: Mar 2007
Posts: 680
<offtopic> Also these UI problems remind me why Epic decided to write their own UI, Slate, for Unreal Engine 4 :-) ... after years of dealing with shit from wxWidgets and the 3-4 other UI's that ended up in Unreal Engine 3! </offtopic>
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
t0m3000/hf^boom!^ibx
Darkflight
Nuckhead/Backbone So..
El Jefe/Slackers^sidD
apprentix
DeMOSic/MS^LSD^ONS
Higgie/Kraze/Slackers
Guests online: 103
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.093 sec.