English Amiga Board


Go Back   English Amiga Board > Support > support.FS-UAE

 
 
Thread Tools
Old 18 April 2020, 08:04   #1
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Fullscreen & shader problems in macOS

I have been using FS-UAE (2.x) application wrappers for years in macOS.

Today I upgraded one of my wrappers to 3.0.2 and while the game launches, I am having problems with the fullscreen setting as well as shaders.

1. The fullscreen problem is illustrated in the attached PNG images. In 2.x my config settings would provide a full screen image. In 3.0.2 the game window only covers part of the screen. Nothing I do to the config will fix it.

2. Shaders - there are no instructions that I can locate as to exactly what shaders are built into 3.0.2 , I can get curvature to work and that is it. I also tried putting a Shaders folder inside my Data folder and placing some shaders from the following sites in there:

https://github.com/FrodeSolheim/fs-u...fs-uae/shaders
https://github.com/guestrr/FS-UAE-Shaders

When loading these shaders I either get an error that the shader cannot be found or the wrapper immediately crashes on launch with a segmentation fault report. I am making sure that the .shader files are in plain text with the appropriate file extension.

So I am looking for some trouble-shooting advice on the above.

My config:

[config]
base_dir = $exe/../Resources
kickstart_file=a4000.rom
amiga_model=A4000/040
fade_in_duration=0
audio_buffer_target_size=24000
accuracy=1
texture_filter=nearest
fullscreen=1
fullscreen_height=1440
fullscreen_width=2560
keep_aspect=1
floppy_drive_volume=0
floppy_drive_speed=900
floppy_drive_0=DuckTales1.adf
floppy_drive_1=DuckTales2.adf
chip_memory=2048
fast_memory=4096
cpu=68040
uae_cpu_multiplier=max
Attached Thumbnails
Click image for larger version

Name:	2.8.3.png
Views:	165
Size:	917.7 KB
ID:	66916   Click image for larger version

Name:	3.0.2.jpg
Views:	164
Size:	751.5 KB
ID:	66917  
almeath is offline  
Old 18 April 2020, 13:57   #2
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
1. Remove fullscreen_width and fullscreen_height options

2. As for shaders:

The option shader be either the name of a bundled shader (without .shader
extension), or path to a shader in XML Shader Format 1.1, including the .shader
file extension.

If FS-UAE crashes with a shader enabled, you need to provide at least the config file with the shader option and fs-uae.log.txt for me/us to be able to investigate that.
FrodeSolheim is offline  
Old 20 April 2020, 09:40   #3
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Quote:
Originally Posted by FrodeSolheim View Post
1. Remove fullscreen_width and fullscreen_height options
Thanks. Putting aside the shader issue for now, I tried removing both the width and height lines you mentioned. Unfortunately, the same thing also occurs.

If I put the lines back and change the resolution to match my native 'retina' resolution (5120x2880) it also makes no difference.

No matter what game I run, or what configuration/machine is emulated, I end up with a game window centered against the top edge of the screen with large black bars on three sides.

Strangely, when I launch FS-UAE, I see the Amiga DOS window showing up properly. It is only when a game launches that I get the smaller image displayed. See attachments.

Also, I looked in the logs and for some reason (even though I have removed all references to 2560x1440 in my config) the SDL section is seemingly indicating that this resolution is being selected as the default.

[VIDEO] Initialize
fs_emu_video_dummy_init
[VIDEO] Initialize legacy video
[FSE] fse_init_video_2
[RENDER] Stretch mode = 2
[RENDER] Scale mode = 1
full-scene anti-aliasing is not requested
checking video sync mode
not specified: no video sync
no video sync (using timers only)
[RENDER] Stretch mode = 0
using default video format BGRA
using default texture format
[VIDEO] Using low latency vsync when full vsync is enabled
[VIDEO] Creating window
fs_ml_video_create_window
keyboard input grab: 305419896
[SDL] Version 2.0.9 (Compiled against 2.0.9)
[DISPLAY] 0: 2560x1440+0+0 @60
Monitor - j 0 pos 0
Monitor - j 1 pos 0
Monitor - j 2 pos 0
Monitor - j 3 pos 0
Monitor index 0 flags 15
Monitor: found index 0 for flag 2
Monitor "middle-left" (flag 2) => index 0
[SDL] Defaulting to fullscreen_mode = desktop for SDL 2
automatic input grab: 1
using fullscreen desktop mode
setting (fullscreen) video mode 2560 1440
[SDL] CreateWindow(x=0, y=0, w=2560, h=1440, flags=4131)
[DISPLAY] Host refresh rate: 60 Hz
opengl vendor: ATI Technologies Inc.
opengl renderer: AMD Radeon Pro Vega 48 OpenGL Engine
opengl version: 2.1 ATI-2.11.21
opengl shading language version: 1.20
Attached Thumbnails
Click image for larger version

Name:	desktop.png
Views:	131
Size:	82.5 KB
ID:	66944   Click image for larger version

Name:	war.jpg
Views:	168
Size:	355.8 KB
ID:	66945  
almeath is offline  
Old 20 April 2020, 17:48   #4
jbl007
Registered User
 
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 466
Add
zoom=auto
to your config. It's fine for most games. It was default in FS-UAE 2.x which was a better choice IMHO. Perhaps it comes back in 4.x
If "auto" looks wrong somehow you can use
zoom=640x400
for NTSC like resolution games and 640x512 for PAL 4:3
You can also switch this at runtime with Meta+z. Which is Meta+y in reality on a german keyboard. A bug, I never reported, hehe. Because I use
keyboard_key_f11 = action_zoom
as a global default anyway... Was a default setting in 2.x as well.

Oh, I forgot to mention: don't use pimped Amiga 4000 configs for games that where designed for Amiga 500 unless you want to enter the world of guru. :-) You games will not run faster/better.

Last edited by jbl007; 20 April 2020 at 17:53.
jbl007 is offline  
Old 21 April 2020, 05:20   #5
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Quote:
Originally Posted by jbl007 View Post
Add
zoom=auto
to your config. It's fine for most games. It was default in FS-UAE 2.x which was a better choice IMHO. Perhaps it comes back in 4.x
If "auto" looks wrong somehow you can use
zoom=640x400
for NTSC like resolution games and 640x512 for PAL 4:3
Thanks, zoom=auto resolves the problem for me.

Now, back to my shader issues. I separately tested built-in and external shaders in each of 2.8 and 3. Basically, most of the built-in shaders will crash FS-UAE on my machine, and I cannot get a single external shader to work either. I know the paths are correct because the logs say so:

For external via full path:

[SHADERS] Initialize
[SHADERS] Checking shader /Users/almeath/Desktop/crt-lottes.shader
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled vertex shader successfully
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled fragment shader successfully
[SHADERS] linked shader program successfully
[SHADERS] Shader OK
[SHADERS] Done loading shader


Or for internal ..

[SHADERS] Initialize
[SHADERS] Checking shader curvature
[SHADERS] Checking shader /Users/almeath/Desktop/Duck Tales - The Quest for Gold.app/Contents/MacOS/../Resources/Data/Shaders/curvature.shader
[SHADERS] Checking fs-uae.dat:shaders/curvature.shader
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled fragment shader successfully
[SHADERS] linked shader program successfully
[SHADERS] Shader OK
[SHADERS] Done loading shader


The logs are also showing that the shaders are loading without errors - but then the app crashes immediately.

I have attached full log outputs from 2.8 and 3 along with the corresponding crash reports from macOS (Mojave 10.14.6).

It appears to be an SDL2 error ..
Attached Files
File Type: txt fs-uae.log (v2.8).txt (47.8 KB, 112 views)
File Type: txt macOS crash log FS-UAE v2.8.txt (61.5 KB, 95 views)
File Type: txt fs-uae.log (v3).txt (55.8 KB, 109 views)
File Type: txt macOS crash log FS-UAE v3.txt (61.0 KB, 99 views)
almeath is offline  
Old 21 April 2020, 08:38   #6
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
So far, I can only get 'crt', 'curvature', and 'hq2x' to work without crashing.

Last edited by almeath; 21 April 2020 at 08:39. Reason: correction
almeath is offline  
Old 23 April 2020, 04:44   #7
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Updating to SDL 2.0.12 has not helped either.. this has me completely stumped.

Can anyone with a Mac please confirm that you can get multiple shaders to work in FS-UAE 3.x , such as lottes etc. , and if so, what are your system specs?
almeath is offline  
Old 23 April 2020, 18:22   #8
CCRider
Registered User
 
CCRider's Avatar
 
Join Date: Oct 2017
Location: São Leopoldo / Brazil
Age: 46
Posts: 203
Quote:
Originally Posted by almeath View Post
Updating to SDL 2.0.12 has not helped either.. this has me completely stumped.

Can anyone with a Mac please confirm that you can get multiple shaders to work in FS-UAE 3.x , such as lottes etc. , and if so, what are your system specs?
Same problems that you have, here. Since always.

Mac Mini late 2012, i7, 16 GB RAM.
CCRider is offline  
Old 23 April 2020, 19:45   #9
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
I've confirmed that FS-UAE on macOS crashes when using shaders with multiple passes (requiring the function
glGenFramebuffers
).

Debugging showed that I got a NULL pointer from OpenGL for glGenFramebuffers. It could be a bug in FS-UAE with regards to OpenGL core vs compatibility profiles (and/or possibly in combination with sucky OpenGL drivers on macOS... they are even deprecated now).

Seems to work fine with if I compile with GLEW as an extension helper instead of GLAD, will investigate some more.

Last edited by FrodeSolheim; 23 April 2020 at 19:55.
FrodeSolheim is offline  
Old 23 April 2020, 20:40   #10
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Looks like the problem is something like this: FS-UAE does not ask for a particular OpenGL version, and on many platforms it looks like I get the highest supported version by default. But on macOS I get OpenGL version 2.1 which does not have glGenFramebuffers, and the GLAD loader does not try to load this symbol since this is only available in GL 3.2+. It might work if I specifically request OpenGL version 3.2 when initializing OpenGL via SDL2. Not sure if this coould have negative effects on some other/older systems.

It also works if I just use the
EXT_framebuffer_object
extension and use this if the regular framebuffer functions are not loaded. I've written code for this and it looks like it works nicely. Should be a safe fix. Will probably push out a new version with this fix, later.
FrodeSolheim is offline  
Old 24 April 2020, 06:35   #11
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Quote:
Originally Posted by FrodeSolheim View Post
It also works if I just use the
EXT_framebuffer_object
extension and use this if the regular framebuffer functions are not loaded. I've written code for this and it looks like it works nicely. Should be a safe fix. Will probably push out a new version with this fix, later.
Thank you so much for investigating this and finding a viable work-around.

I know Apple makes things very difficult by their insistence on deprecating an open standard they originally helped champion. I suppose in the long run this will be a dead end because they will end up stripping the framework entirely from macOS. At that point it would be Metal or nothing.
almeath is offline  
Old 24 April 2020, 15:30   #12
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
And it's also a major PITA that whenever I want to release new updates, Apple has made some new changes to how apps are allowed to be distributed. Now they've changed the requirements for app notarization (_again_), and the error messages from their notarization service is often so bad that I have to guess what the problem is, and figure out the solution by trial and error. Seriously, I'm struggling to comprehend how a big company like Apple can make something as low-quality as this system.

Anyway, once I get working / notarized app bundles again, there will be an update.
FrodeSolheim is offline  
Old 24 April 2020, 17:03   #13
CCRider
Registered User
 
CCRider's Avatar
 
Join Date: Oct 2017
Location: São Leopoldo / Brazil
Age: 46
Posts: 203
Thank you very much for the effort, Frode!
CCRider is offline  
Old 25 April 2020, 00:46   #14
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Please try version 3.0.5 at https://fs-uae.net/stable/3.0.5/

(Not announced on fs-uae.net yet)
FrodeSolheim is offline  
Old 25 April 2020, 08:03   #15
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Quote:
Originally Posted by FrodeSolheim View Post
Please try version 3.0.5 at https://fs-uae.net/stable/3.0.5/

(Not announced on fs-uae.net yet)
This works perfectly on my Mojave (10.14.6) installation. Thanks so much.
almeath is offline  
Old 26 April 2020, 07:59   #16
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
What I have found so far, is that most of the multi-pass shaders that were previously failing to load are now working properly.

Nothing ends up crashing the app like before, however there are some heavy duty / newer shaders that will not load, with the error "failed to compile fragment shader". I suspect it is due to the ancient version of OpenGL in macOS. Some examples of the log outputs are below.

Super XBR 6p:

[SHADERS] Initialize
[SHADERS] Checking shader /Users/almeath/Desktop/super-xbr-6p.shader
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled vertex shader successfully
ERROR: 0:117: Invalid call of undeclared identifier 'mat4x3'
ERROR: 0:118: Invalid call of undeclared identifier 'mat4x3'
ERROR: 0:119: Invalid call of undeclared identifier 'mat4x3'
ERROR: 0:120: Invalid call of undeclared identifier 'mat4x3'
ERROR: 0:123: Use of undeclared identifier 'c1'
ERROR: 0:123: Use of undeclared identifier 'c2'
ERROR: 0:123: Use of undeclared identifier 'c3'
ERROR: 0:123: Use of undeclared identifier 'c4'
ERROR: 0:128: Use of undeclared identifier 'color'
ERROR: 0:128: Use of undeclared identifier 'color'
ERROR: 0:130: Use of undeclared identifier 'color'

WARNING: [SHADERS] Failed to compile fragment shader
WARNING: [SHADERS] No shader passes loaded
[SHADERS] Done loading shader


CRT-guest-sm:

[SHADERS] Initialize
[SHADERS] Checking shader /Users/almeath/Desktop/crt-guest-sm.shader
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled vertex shader successfully
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled fragment shader successfully
[SHADERS] linked shader program successfully
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled vertex shader successfully
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled fragment shader successfully
[SHADERS] linked shader program successfully
[SHADERS] GL_INFO_LENGTH was 0
[SHADERS] Compiled vertex shader successfully
ERROR: 0:107: Invalid call of undeclared identifier 'round'
ERROR: 0:107: Use of undeclared identifier 'intfactor'
ERROR: 0:107: Use of undeclared identifier 'intfactor'
ERROR: 0:108: Use of undeclared identifier 'intfactor'
ERROR: 0:109: Use of undeclared identifier 'diff'

WARNING: [SHADERS] Failed to compile fragment shader
WARNING: [SHADERS] Error occured while loading shader
[SHADERS] Done loading shader



I realize these are not built-in shaders and I am not requesting that they be made compatible. I am just highlighting it as an observation. I am not an expert on shaders, but it appears that any shader using 'fragmentation' will not work.
almeath is offline  
Old 26 April 2020, 09:40   #17
guest.r
Registered User
 
guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 342
Thanks for the feedback. Crt-sm might be simple to fix, super-xbr could require a larger overhaul.
I hope this version is fine with your setup, will update the repo if it's working.
Attached Files
File Type: zip crt-guest-sm.zip (4.0 KB, 121 views)
guest.r is offline  
Old 26 April 2020, 14:27   #18
CCRider
Registered User
 
CCRider's Avatar
 
Join Date: Oct 2017
Location: São Leopoldo / Brazil
Age: 46
Posts: 203
Quote:
Originally Posted by FrodeSolheim View Post
Please try version 3.0.5 at https://fs-uae.net/stable/3.0.5/

(Not announced on fs-uae.net yet)
A little problem on macOS Catalina 10.15.4, when using Dark Mode...

CCRider is offline  
Old 27 April 2020, 07:51   #19
almeath
Registered User
 
Join Date: Apr 2020
Location: Australia
Posts: 11
Quote:
Originally Posted by guest.r View Post
Thanks for the feedback. Crt-sm might be simple to fix, super-xbr could require a larger overhaul.
I hope this version is fine with your setup, will update the repo if it's working.
Thanks, that works now.

I have not tried all the shaders in your repository, but if you can implement the fix where needed that would be very much appreciated.
almeath is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Problems docking FS-UAE on macOS Sierra amiga_Forever support.FS-UAE 5 26 January 2017 22:46
HLSL shader problems + suggestion TysonJacobs support.WinUAE 3 07 December 2013 17:04
HQ2X Shader lost when changing Fullscreen / Windowed mode [Solved] Marskilla support.FS-UAE 4 26 September 2012 14:54
Fullscreen at 1024 x 768 problems emuola support.WinUAE 19 26 November 2006 04:02
Problems w/ fullscreen 60Hz vsync since v0.8.22R2 ethylene support.WinUAE 0 01 March 2003 02:35

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 05:03.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09748 seconds with 16 queries