Created attachment 963 [details]
Blank log in window
Apple has just released macOS Big Sur public beta. I understand this is just a beta but when I use ThinLinc on this version of macOS, ThinLinc's log in window or the first window is blank. I tried to guess to location of the server text field, user name field and password field and typed the proper information in. I was able to log on to the target server but once I connected to the ThinLinc server, the window that popped up was also blank. Since I was connected to a CentOS 7 server, this window should have asked me whether I wanted to use the Classic desktop. Please check. Thanks.
Do you think you could share ~/.thinlinc/tlclient.log with us? Hopefully there is some error message giving us an idea of what has gone wrong.
A user has reported that this issue only affects ThinLinc 4.10.0 or newer. This makes it likely that it is the new rendering pipeline (bug 7235) that caused this.
Scratch that last comment. The reporter also states that even the login window is blank. So it must be a general FLTK issue and not the new rendering pipeline (which is only used for the session).
I've managed to get an extra machine here and installed Big Sur on it. I can confirm the same issue here, i.e. the login window is blank. I can also see the same with upstream TigerVNC.
So the problem turns out to be that Apple has dropped the function NSWindow:graphicsContext that FLTK needs to render things. They've completely removed it from the current NSWindow page (along with a bunch of other methods):
However if you search for it you can still find the method page:
You can also check older versions using wayback to see it was originally fully documented:
The page claims that it was deprecated as of macOS 10.15, but evidently it works fine there.
To make things extra interesting, FLTK removed use of this function in the upstream 1.4 branch in favour of other APIs. They backported those changes to 1.3 in commit 4c8b7c99ea5a5d082265320d2d5e834a4da5ac00 (based on commit dd8e60a9563489bce47b3c507b8b70105e871af5). However someone missed the part with this specific call.
We'll try to add that missing backport and see how that behaves.
If Apple is doing some spring cleaning in macOS 11 then we should probably do more testing to see if anything else is broken.
Seems to work fine now. Tested on macOS 10.15.6 and macOS 11 beta 5.
I could reproduce this issue using 4.12.0 on macOS 11 beta 5.
Verified this fix on nightly build 6588. Tested:
| macOS 11 | macOS 10.15.6
Continous updates| ✔️ | ✔️
Sound redirection| ✔️ | ✔️
Input | ✔️ | ✔️
Also verified that the same worked with nightly build on fedora 31.
Relnotes looks good.
I have this issue.
Is there any resolution to this problem?
Hi Peadar, no ThinLinc release includes a fix for this yet. You can try the nightly build client bundle from our download page which does contain this fix:
(In reply to Samuel Mannehed from comment #17)
> Hi Peadar, no ThinLinc release includes a fix for this yet. You can try the
> nightly build client bundle from our download page which does contain this
That seems to work. However a bit more laggy on my end.
Created attachment 967 [details]
This is happening again on Big Sur 11.0.1
Blank login dialogue on macOS 11.0.1 with build 6517
I have the same issue. Blank login dialogue on macOS Big Sur 11.0.1 with version ThinLinc Client 4.12.0 (6517). Any update?
(In reply to toms from comment #20)
> I have the same issue. Blank login dialogue on macOS Big Sur 11.0.1 with
> version ThinLinc Client 4.12.0 (6517). Any update?
FYI, I realized that this wasn't the latest nightly build. You have to scroll down to the "Nightly build clients (development version)" section, and download the package (which includes all the different versions for different OSes). In my case the file was named: "tl-4.12.0post-clients", and within that was a folder: "client-macos", and within that was "tl-4.12.0post_6678-client-macos.iso" (possibly specific to last night's build?). To get this to mount, you need to click twice to open. It will complain that it wasn't officially signed and recognized by Apple, and gives you options to "cancel" or "move to trash". Press "cancel", then open the MacOS system preferences, go to "Security & Privacy", select the "General" tab, and at the bottom press "open anyway". After confirming you really want to do this, it should work.
After installing this nightly build, it ThinLinc Client worked (I could see the login dialog boxes, etc.