ColinPitrat / caprice32

An emulator of the Amstrad CPC 8bit home computer range.
GNU General Public License v2.0
147 stars 32 forks source link

Running on Pi4 with DRM/KMS #171

Open 2play opened 4 years ago

2play commented 4 years ago

@ColinPitrat I compiled binary with no gl, with but still runs at top left screen side. Fullscreen does not work.

I've tested the fork capriceRPI that is based on Caprice32 4.1.0 and runs full screen.

And if you dont mind asking, autoload rom feature ?

ColinPitrat commented 4 years ago

For the graphic issue, you'd need to provide more details on your setup.

One possibility is to modify your cap32.cfg to change the scr_width and scr_height params. This is the resolution that Caprice32 is asking when running fullscreen. You can try something closer to the CPC native resolution (384x270).

Otherwise, I suspect the issue & the solution is somewhere between SDL 1.2 and your setup. You can try playing with some environments variables: https://www.libsdl.org/release/SDL-1.2.15/docs/html/sdlenvvars.html Including SDL_VIDEO_CENTERED which may not solve your problem fully but at least make it look better.

For autoload, it depends what you mean. If you mean not having to load a device through the menu, you can pass a disk, tape, snapshot or cartridge on the command line for it to be automatically loaded:

./cap32 disk/dummy.dsk

If you mean automatically typing 'run"dummy' you can do it from the command line:

./cap32 disk/dummy.dsk -a 'run"dummy'

If you mean automatically running the right command for a given disk/tape, it's not available. It's a bit tricky to provide as it would require looking at the content of the disk/tape when starting to identify which command to run. There are cases where it would be complex to determine the right command (typically if there are multiple files on the disk, in particular multiple .bas or bin files).

2play commented 4 years ago

first of all I want to thank you for the quick reply @ColinPitrat much appreciated. About autoboot/autorun i have posted in #38 as I believe it more relevant.

About the video Ill check but since pi4 now we use FKMS and most emus are being updated for DRM/KMS support I just wanted to bring it to your attention.

Emu is running but its at native on top left corner and wont change even from cfg to fullscreen This is happening to many X11 based emus.

I will test above suggestion if they can work on my pi4 setup with FKMS

I was wondering if there is anything can be merged from here https://github.com/KaosOverride/CapriceRPI/tree/master/src It uses no borders fullscreen 1980x1080 scaling.

2play commented 4 years ago

@ColinPitrat Im not an expert to compile with the SDL_VIDEO_CENTERED or how to use the SDL_envvars

But all i managed to center with below settings changed. But that all, being centered not full screen.

scr_width=1920
scr_height=1080
scr_window=0
ColinPitrat commented 4 years ago

It's an environment variable not a compilation option. But it seems you won't need it.

Try with

scr_width=800
scr_height=600
scr_style=1

I think the result shouldn't be too bad.

2play commented 4 years ago

@ColinPitrat With the original it does not work unfo Best things so far is

scr_width=1920
scr_height=1080
scr_window=0
scr_style=5

To have it centered.
option 11 does not boot at all from cli.

havent tested this (ill try after i take a backup) export SDL1_VIDEODRIVER="dispmanx"

ColinPitrat commented 4 years ago

What happens when you reduce the resolution (e.g scr_width=800 and scr_height=600)? What do you mean by option 11? Is it scr_style=11? If so it's OpenGL driver, but AFAIU you compiled without it.

2play commented 4 years ago

What happens when you reduce the resolution (e.g scr_width=800 and scr_height=600)? What do you mean by option 11? Is it scr_style=11? If so it's OpenGL driver, but AFAIU you compiled without it.

As I can see you have set 800x600 as the default in the cap32.cfg This is what initially had but goes on the top left side. With settings above finally I got the centered but no fullscreen.

Yes by option 11 I tried the scr_style=11 When I compiled I havent used the WITHOUT_GL=TRUE so I belive GL is enabled and also shows when I do the -V to get the version it says with GL with IPF. Plus now on pi4 fKMS is used to have the acceleration.

To use the src_style=11 do I need anything extra ?

Thank you in advance.

ColinPitrat commented 3 years ago

Sorry I missed your answer. You don't need anything extra (apart from a working OpenGL setup). What error do you have when using scr_style=11? I'm surprised it doesn't work. Does running glxgears work? (to test your OpenGL setup)

Apart from this, I don't have any other suggestion for improving your experience, sorry :-/

ColinPitrat commented 3 years ago

You may have a better experience with the SDL2 version (#185). I plan to merge it soon, but you can already try it on the sdl2 branch.

ColinPitrat commented 2 years ago

Any news on this issue since the move to SDL2?

2play commented 2 years ago

Hi @ColinPitrat , unfo i havent had the chance to play around/test fro some time now. I focused on some boards I needed to create a new default base and keeping up with a baby and work kept me away. I have these bookmarked though as I wanted to revisit time allowed