libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.96k stars 1.79k forks source link

[Linux] Retroarch doesn't respect monitor index. #6271

Open weirdbeardgame opened 6 years ago

weirdbeardgame commented 6 years ago

[Description of the bug] I have a weak dell laptop with the intel hd 4 series gpu and a small tv as a second monitor running fedora with retroarch installed via. flatpak I have the monitor index set correctly in retroarch but if I'm using plasma 5 or i3 it renders to the smaller screen regardless although I can move it in i3, xfce it'll render to the "Main" screen the tv but if I adjust fullscreen modes like windowed fullscreen etc. it moves back to small screen. In retroarch I'm using the gl video driver but i don't think vulkan's any different.

[What you expected to happen] Adjusting Monitor index moves retroarch to larger display

[What is actually happening] Retroarch flicker's like it's attempting to do something then it stays on the small screen regardless.

Steps to reproduce:

  1. install via flatpak with intel gpu on fedora
  2. attempt to adjust monitor index
  3. nothing.
  4. weep sadly.

Operating System: fedora workstation 27 x86-64

if any dev has questions find me in the retroarch discord server @weirdbeardgame

noooq commented 6 years ago

Same thing happens here, Debian 9, mate desktop, nvidia driver.

weirdbeardgame commented 6 years ago

@noooq using flatpak as well?

noooq commented 6 years ago

@kenshen112 No. The install mode is irrelevant. I have seen this in the outdated debian repo version and in a version compiled from source (1.7.0)

weirdbeardgame commented 6 years ago

@noooq K thanks I wasn't sure if it was somthing with flatpak's sandboxing or somthing well dev's the issues open :-)

ghost commented 6 years ago

Some additional info (maybe someone find it useful):

Desktop computer, Kubuntu 16.04.03 64-bit, RetroArch v1.7.0 (Git version 2b4b38a), 'gl' video driver, AMD graphics card, X.Org driver, primary display on VGA port, secondary display (TV) on HDMI port.

'Monitor Index' option work as expected, regardless of 'Windowed Fullscreen Mode' option.

domsleee commented 4 years ago

I'm seeing similar problems when installing from the snap store - when in fullscreen, changing the monitor index does not move it to the correct display

I'm running Fedora 32 w/ XOrg on a dual monitor setup (amd GPU)

I found that changing the flag "Windowed Mode" --> "Show Window Decorations" moved the program between my two monitors. Monitor index had no effect (both when show window decorations was on and off)

lucasmr commented 3 years ago

I'm having the exact same behavior as @domsleee on RetroArch 1.9.0.

KingDuckZ commented 3 years ago

I have the same issue. I wanted to keep retroarch on the TV screen and on IRC they suggested looking into the monitor index setting but all numbers I tried do nothing at all. I'm running retroarch built manually from source on current master. OS is Gentoo with mesa Radeon drivers.

./configure --enable-systemd --enable-dbus --enable-freetype --enable-pulse --enable-sse --enable-vulkan --enable-threads --enable-spirv_cross --enable-qt --enable-flac --enable-v4l2 --enable-al --enable-zlib --enable-alsa --enable-x11 --enable-sdl2
make -j8
Sixdd6 commented 3 years ago

Still seeing this issue with 1.9.0 from the Snap store on Manjaro, linux kernel 5.10.23, nvidia rtx 2070 super running driver 460.56. Reguardless of which monitor is primary retroarch still only displays on the left-most monitor for me. Note however that when I installed through the official repo with pacman it actually did change monitors correctly but since that version doesn't include the online core downloader it's a pain to use.

gouchi commented 3 years ago

The difference I see between the Arch and Snap packages is that we did not enable libxinerama and/or libxrandr in the Snap package.

So it will worth to try with those libraries enabled.

KingDuckZ commented 3 years ago

I've been building it myself, since I'm also annoyed by the fact packaged version for Gentoo is missing half the cores and is very outdated. I just rebase from master periodically and build that. So is there a specific configure flag I need to pass in order for this to work?

gouchi commented 3 years ago

Hi,

They are autodetected

Checking presence of package xinerama ... 1.1.4
Checking existence of -lXrandr ... yes

but you can enable them with --enable-xinerama --enable-xrandr if needed.

KingDuckZ commented 3 years ago

It turns out these two were already enabled, this is how I've been compiling so far:

./configure --enable-systemd --enable-dbus --enable-freetype --enable-pulse --enable-sse --enable-vulkan --enable-threads --enable-spirv_cross --enable-qt --enable-flac --enable-v4l2 --enable-al --enable-zlib --enable-alsa --enable-x11 --enable-sdl2 --enable-xinerama --enable-xrandr
make -j8

It's still defaulting to the laptop screen, and even if I move retroarch manually to the hdmi screen, it goes back each time I start or close a game.

Checking presence of package xcb ... 1.14
Checking presence of package xext ... 1.3.4
Checking presence of package xxf86vm ... 1.1.4
Checking presence of package xv ... 1.0.11
Checking presence of package xinerama ... 1.1.4
Checking existence of -lXrandr ... yes
hallamjeff commented 3 years ago

I also have this issue on Ubuntu MATE 21.04 with RetroArch v1.9.4 installed as a snap package. Intel Xe graphics.

freeerasure commented 2 years ago

Also have this problem on Windows 10 x64 version. This issue has been open for 4 years now and nothing done with it. Surprise surprise.

gouchi commented 1 year ago

On Xorg, it is working using fluxbox but not in i3wm whatever the settings fullscreen on/off, windowed fullscreen on/off, windows decoration on/off.

Here the result of my other testings

DM/WM Status
Fluxbox OK
Openbox OK
Lxqt OK
Cinnamon OK
XFCE KO
Gnome OK
KDE OK
Icewm OK
i3 KO
Awesome KO
Pekwm KO

It might come from x11_move_window ?

2V3EvG4LMJFdRe commented 1 year ago

Metal build on macOS 10.13.6, video_monitor_index = values 1 and above open ra on the first monitor with a permanent blank screen and the program requires force quit to fully exit it. No value opens ra on the second monitor. Have to use Mission Control to accomplish the task, but it'd be better to have it working with retroarch since I could make use of appending .cfg files to open certain games or cores in one monitor or the other.

gouchi commented 4 months ago

@2V3EvG4LMJFdRe This issue is related to Linux not macOS. So it would be better to open a dedicated issue for macOS.

Thank you.