pumpitupdev / pumptools

A collection of tools to run Pump It Up games.
The Unlicense
22 stars 7 forks source link

Exceed Doesn't run Fullscreen even when flag patch.gfx.windowed=0 is set on hook.conf #1

Closed voidderef closed 3 years ago

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 02:30

Summary

It seems i'm not able to start the game in fullscreen even after setting the flag patch.gfx.windowed=0 on hook.conf

Expected behavior

Game start in fullscreen like when using mk3hook.so

Current behavior

Game always starts in windowed mode

Detailed Description

Screenshot: Screenshot_from_2020-02-03_20-41-48

Steps to reproduce

1.Set up the game data using Default exchook.conf which has the mentioned flag already set as 0 2.Sudo ./piueb run

Context (Environment)

Pumptools version(s) affected

Pumptools v1.01

Game(s) and version(s) affected

Pump It Up Exceed - Version 20040408

Log output

pumptools.log
piueb.log

Configuration files

hook.conf

Command line arguments

sudo ./piueb run

APIs used

exchook.so
ptapi-io-piuio-keyboard.so

OS version

Ubuntu 18.04 LTS
uname -a:
Linux PumpItUp 5.0.0-37-generic #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Hardware specs

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 03:45

changed the description

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 03:47

changed the description

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 03:50

changed the description

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 03:50

changed the description

voidderef commented 3 years ago

In GitLab by @Thalesalex on Feb 4, 2020, 03:53

changed the description

voidderef commented 3 years ago

In GitLab by @jack980517 on Mar 16, 2020, 16:26

Happens on Exceed 2 and NX as well. Not sure if a new issue should be created since it seems to be the same problem.

Just in case, I'll list my specs below:

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 21, 2020, 19:00

Full screen is somewhat depending on how your current x-session is set up. If you are running a desktop, it doesn't go full screen but on a dedicated x-session, e.g. when running on a cabinet, it does. I haven't realized that until switching on full screen by accident on my workstation not too long ago.

Therefore, I still have to find a way to fix this (if that's even fixable).

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 22, 2020, 24:00

I did some research on this but it looks like this is really cumbersome to implement for a desktop environment. There is no simple option like on Windows with DirectX where you just flip a switch and it works.

I will leave this issue open as a task that either me or someone else can pick up in the future. However, priority-wise this is rather low on the list.

This might be combined with a frame buffer up-scaling option similar to what bemanitools already supports. Newer games render to a fixed frame buffer that does not resize when the window is resized.

voidderef commented 3 years ago

In GitLab by @Thalesalex on Apr 23, 2020, 14:43

Thank you for looking into it, at this time of writing, I'm using a workaround script to launch the games, which I will attach here in case anyone wants to try, but you will also need to undecorate the game window, tutorials for this are easily found with google for any desktop environment.
17_zero.sh
This is the important part (be sure to adjust to your needs):

sudo xrandr --output HDMI-0 --mode 640x480
sudo ./piueb run
sudo xrandr --output HDMI-0 --mode 1024x768

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 23, 2020, 19:33

Using external tooling like xrandr is a good idea to achieve this. Thanks for providing an example.

voidderef commented 3 years ago

In GitLab by @s34n on May 22, 2020, 18:52

Sorry for being away, its been a busy few weeks. I played some Zero today, it worked really well.

Relating to this issue:

When I set my desktop to 640x480, the window title bar and my desktop notification bar take away from the height of the game window lol... So the top bit is chopped off.

Like so sudo xrandr --output DVI-I-0 --mode 640x480

Or I can play it at 800x600 and just have a large blank border around it, but i can see the whole game, its just smaller. My monitor doesnt support any other resolutions. I dont know if its an issue with the game, so i didnt create an issue for it.

I might be able to use gnometweaks to remove the desktop bar, but that still leaves the game window title bar. Any way to hide these?

voidderef commented 3 years ago

In GitLab by @icex2 on May 22, 2020, 22:56

When I set my desktop to 640x480, the window title bar and my desktop notification bar take away from the height of the game window lol... So the top bit is chopped off.

I guess it's not adding the required top header part to the total window size or something. Considering that the game isn't supposed to run like this usually, that doesn't surprise me.

Or I can play it at 800x600 and just have a large blank border around it, but i can see the whole game, its just smaller. My monitor doesnt support any other resolutions. I dont know if its an issue with the game, so i didnt create an issue for it.

The game doesn't scale the frame buffer. Again, another feature that the piu engine doesn't support because it wasn't a requirement when you always run in full screen at fixed resolutions. There is a task that solves a slightly similar problem related to frame buffer scaling: https://dev.s-ul.eu/hackitup/pumptools/-/issues/10 Might consider having a look at general frame buffer scaling and resizing as a feature.

I might be able to use gnometweaks to remove the desktop bar, but that still leaves the game window title bar. Any way to hide these?

I am wondering, why are you running in desktop mode? If you just run the game in a standalone X session and fullscreen, this isn't an issue.

voidderef commented 3 years ago

In GitLab by @s34n on May 23, 2020, 07:18

I am wondering, why are you running in desktop mode? If you just run the game in a standalone X session and fullscreen, this isn't an issue.

I use ubuntu on my machine for other things like MAME, stepmania, internet lol... So everything is just on the desktop.

I guess what inspired my post was wondering if @Thalesalex had a script that would achieve this from the desktop, or, what he did about this behavior. (In lieu of learning about xsessions and then writing my own script to do that)

voidderef commented 3 years ago

In GitLab by @icex2 on May 23, 2020, 11:57

Not sure if this solves your problem the way you want it, but have you considered bootstrapping all these applications using SGL? https://dev.s-ul.eu/hackitup/sgl

Furthermore, I added issue https://dev.s-ul.eu/hackitup/sgl/-/issues/6 to add a menu item to allow spawning a desktop environment from the operator menu. Let me know if that idea suits your use-case.

voidderef commented 3 years ago

In GitLab by @Thalesalex on Jun 14, 2020, 22:36

Hi @s34n, about the title bar issue, thats the reason I said a few comments back "but you will also need to undecorate the game window". Undecorating the windows solved it for me, but i'm running ubuntu with lxde desktop environment, so I edited this file:
~/.config/openbox/lxde-rc.xml
and inserting these lines after " </menu>" :

<application type="normal">
  <decor>no</decor>
</application>

this is valid for lxde, but I think that each desktop environment is different

voidderef commented 3 years ago

In GitLab by @fakaman on Jul 3, 2020, 11:04

I'm currently using a Lubuntu 18.04 desktop setup for all mixes, and I just run the games via "sudo ./piueb run" command on terminal.

Since my TV screens are both 1080p, I use that resolution, and the MK3 games goes on fullscreen borderless, but if I move the cursor to the sides (lets say right corner) it moves the screen. It's enough with moving the cursor back to the left side to pan the game. However, this won't work like that on Exceed and newer mixes. Even if I set the resolution on 640x480, when I maximize the windows of these games, the borders take a little percent of the game screen. Also it goes only up to the taskbar.

So, what I do for setting the games on "fullscreen", is first opening an MK3 game to set that 480p screen mode where it actually zooms the screen to 640x480 but keeping the 1080p resolution(when I set it manually on config to 640x480 it happens what I described above, where it's not a zoom in to 480p), and then move the cursor down to close the game terminal, and then open a newer game, this allows me to move the cursor on any side at the zoomed resolution, so I just need to adjust it with the mouse and center the game window where it fills the whole tv screen.

Then I used a script for hiding the mouse cursor after 2 secs of not moving it so it dissappears and then it practially looks like a full screen mode.

Try 'unclutter'

the purpose of this program is to hide the pointer after the mouse has not moved for a while. Using it, you can make the pointer appear only when the user touches the screen, and disappear right after it. (maybe this was not exactly what you were aiming for. But it is much easier than your alternative =P)

To use, install it

sudo apt-get install unclutter

then run it

unclutter -idle 0.01 -root

the number is a number of seconds before the pointer disappears (in this case, 1/100 seconds)

It's kinda annoying but it's my only solution for now if I want to run these games on a desktop. (I do this because I wanna switch easily between games in matter of seconds. I understand that you can config that on pumpos but I'm quite dumb to do that for now.)

Also I'm dumb enough to not understand how to correctly do this. (Not sure how to open and edit this config file. I'm totally new on linux and terminal commands)

\~/.config/openbox/lxde-rc.xml
and inserting these lines after " </menu>" :

<application type="normal">
  <decor>no</decor>
</application>
voidderef commented 3 years ago

In GitLab by @hiryu69 on Jul 4, 2020, 04:18

in ubuntu you can use "startx" to make the games like exceed,zero etc to run in fullscreen, i use the command "sudo startx ./piueb run" but first you need to make some adjustments in the config file x10-mionitor.conf use the wiki of xorg to change your resolution in fullscreen, is diferent in nvidia,ati,intel, i have mi arcade cab with intel in fullscreen, and my pc with nvidia, in both without any problems,and i think is more easy in this way...

voidderef commented 3 years ago

In GitLab by @s34n on Jul 14, 2020, 06:18

I'm using stock MK9v1, so Nivida graphics with ubuntu 18.04

I figured out that Ubuntu 18.04 puts configs and reads them from here: /usr/share/X11/xorg.conf.d .. .but there are 6 configs in here.

How to you 'tell' startx to use the 10-monitors.conf file?

I thought in xorg.conf, but I don't have an xorg.conf file. I can generate one by running 'nvidia settings', nvidia settings > X Server Display > Save to X Configuration File ... However, I don't see how


With the decoration, I found this code which works pretty well! (18.04 with gnome)

xprop -name "Default - Wine desktop" -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x0, 0x0, 0x0"

xprop -name "Default - Wine desktop" -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x1, 0x0, 0x0"

voidderef commented 3 years ago

In GitLab by @hiryu69 on Jul 19, 2020, 02:43

well if you already have saved the X configuration File you only need to add o change the resolution, open your 10-monitor.conf, and under the "section screen" add the metamodes line:

1_monitor

voidderef commented 3 years ago

In GitLab by @icex2 on Mar 19, 2021, 16:31

Closing this issue:

The next release of pumptools will have the window option removed on games where it doesn't make sense/work. Futher documentation will be added explaining the issue (summarized version of discussion in this issue).