You are not logged in.
Hi,
I try to display some x application fullscreen on my secondary display but when I toggle fullscreen from the app (e.g hatari or caprice32) it always shows on my main monitor.
For hatari, I can make correctly the fullscreen using the KWin menu but for caprice32 the fullscreen is disable.
My setup:
- Nvidia card connected to my main LCD screen
- ATI card connected to my 2nd CRT screen
- I can move a window from one screen to another by either dragging it or right-click->Move to screen
hwinfo
monitor:
COMPAQ Monitor
graphics card:
nVidia TU116 [GeForce GTX 1660]
ATI Caicos PRO [Radeon HD 7450]
Strange : my AOC LCD screen is not listed while working fine ?!
xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
DVI-D-0 connected primary 2560x1080+0+0 (normal left inverted right x axis y axis) 673mm x 284mm
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
DVI-D-1-1 disconnected (normal left inverted right x axis y axis)
VGA-1-1 connected 1280x1024+2560+28 (normal left inverted right x axis y axis) 330mm x 250mm
xrandr --listmonitors
Monitors: 2
0: +*DVI-D-0 2560/673x1080/284+0+0 DVI-D-0
1: +VGA-1-1 1280/330x1024/250+2560+28 VGA-1-1
xrandr --screen 1
Invalid screen number 1 (display has 1)
e.g. everything is defined under one logical screen 0
I tried to force kwin screen to 2 => no influence when I toggle fullscreen / only impact the window
I tried to set DISPLAY but could not find any valid value outside :0
I tried setting my 2nd CRT screen to primary => no impact
It is probably simple but I cannot see it ... Any idea where to look?
Last edited by kamelie1706 (2020-05-27 23:19:24)
Offline
Forget about hwinfo, you've two outputs on DVI-D-0 (2560x1080) and VGA-1-1 (1280x1024), the 2560x1080 one being the primary one (so likely where the fullscreen windows go)
I know nothing about the two clients you mentioned, but "fullscreen" is not a hard concept in X11. There's a NETWM property, but client internal features might as well just remove the titlebar and resize to the output dimensions or even attempt to resize the output to their desired resolution.
KWin (your windowmanager) has a fullscreen feature that also can be assigned to a shortcut (Win+F11?) - does that produce the wated outcome (for caprice32)?
Online
Thx,
So I need to focus on the window manager layer, thx that is already a great hint!
For hatari I can "expand" using the window propertie. For Caprice32, it seems this function is disabled (no clue why).
I have tried to set my CRT as primary
xrandr --listmonitors
0: +*VGA-1-1 1280/330x1024/250+2560+28 VGA-1-1
1: +DVI-D-0 2560/673x1080/284+0+0 DVI-D-0
.... but when I toggle the fullscreen from the emulator, still display on the LCD! Wared...
If I deactivate the LCD screen:
- hatari embedded fullscreen works
- caprice32 manages still to send the fullscreen to the LCD!
If I turn off the screen completly caprice32 is a mess, has it keep is basic resolution without titlebar on the CRT/VGA/ATI (probably related to the bug you pointed) while duplicating real fullscreen on the LCD/NVIDIA/DVI-D
In short I understand I should always avoid the software "full screen" option and manage this using the window manager.
I just need now to understand why Caprice32 does not allow my window manager to take care of that ...
Offline
Maybe this would explain more the problem!
https://youtu.be/K2zYOQGVPVk
Offline
Please post the output of "xprop" and "xwininfo" on the caprice32 window (both will turn the cursor into a "+" and wait until you click into a window)
The window probably likes its 4:3 aspect too much…
Online
Here we go
xprop
_NET_WM_ICON_GEOMETRY(CARDINAL) = 727, 3, 230, 30
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 4, 4, 23, 6
_NET_FRAME_EXTENTS(CARDINAL) = 4, 4, 23, 6
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_ICON_NAME(UTF8_STRING) = "Caprice32"
WM_ICON_NAME(STRING) = "Caprice32"
_NET_WM_NAME(UTF8_STRING) = "Caprice32 v4.6.0"
WM_NAME(STRING) = "Caprice32 v4.6.0"
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_STATE(ATOM) =
_KDE_NET_WM_ACTIVITIES(STRING) = "204417c3-61f2-437e-916e-84ad0d51f764"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 768 by 540
program specified maximum size: 768 by 540
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_CLIENT_MACHINE(STRING) = "BIGONE"
_NET_WM_PID(CARDINAL) = 23427
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 21993323
WM_CLASS(STRING) = "cap32", "cap32"
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x6200003 "Caprice32 v4.6.0"
Absolute upper-left X: 56
Absolute upper-left Y: 146
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 768
Height: 540
Depth: 24
Visual: 0x22
Visual Class: DirectColor
Border width: 0
Class: InputOutput
Colormap: 0x620000c (not installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +56+146 -3016+146 -3016-394 +56-394
-geometry 768x540+52+123
Offline
Getting better but not yet perfect
1-The resize function is indeed not available in Caprice32, so Cannot use the workaround I use for Hatari
https://github.com/ColinPitrat/caprice32/issues/84
2-Now I can display in fullscreen on the CRT but .... only if the nvidia/LCD screen is disable and OFF (Valid for both)
Nvidia 1660 => PCI-E 1 => DVI-D => LCD / Normally main screen
AMD 7450 => PCI-E 2 => VGA => CRT / Secondary screen mostly for emulation
It must be somewhere in KDE .... between display settings and windows configuration ....
Offline
export SDL_VIDEO_FULLSCREEN_DISPLAY=1
fixed the problem for caprice32 but not yet for hatari .... what other SDL variables should I look for?
I tried also the legacy
export SDL_VIDEO_FULLSCREEN_HEAD=1
Now for hatari it works only if I set the target screen as primary screen ...
Last edited by kamelie1706 (2020-05-29 09:48:24)
Offline