Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running on Pi4 with DRM/KMS #171

Open
2play opened this issue Jun 12, 2020 · 11 comments
Open

Running on Pi4 with DRM/KMS #171

2play opened this issue Jun 12, 2020 · 11 comments

Comments

@2play
Copy link

2play commented Jun 12, 2020

@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
Copy link
Owner

ColinPitrat commented Jun 12, 2020

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
Copy link
Author

2play commented Jun 12, 2020

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
Copy link
Author

2play commented Jun 13, 2020

@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
Copy link
Owner

ColinPitrat commented Jun 13, 2020

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
Copy link
Author

2play commented Jun 14, 2020

@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
Copy link
Owner

ColinPitrat commented Jun 15, 2020

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
Copy link
Author

2play commented Jun 15, 2020

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Owner

Any news on this issue since the move to SDL2?

@2play
Copy link
Author

2play commented Oct 10, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants