flycast icon indicating copy to clipboard operation
flycast copied to clipboard

Not Flatpak linux release

Open PaperVb64 opened this issue 3 years ago β€’ 18 comments

because flatpak doesn't work for everyone.

PaperVb64 avatar May 20 '22 19:05 PaperVb64

Not wanting something isn't an enhancement.

Which package manager do you propose?

flyinghead avatar May 20 '22 19:05 flyinghead

Not wanting something isn't an enhancement.

Which package manager do you propose?

Hey @flyinghead ! If I'm allowed to sneak in... I never dared to open an issue because I didn't want to be snooty or annoying, but me personally I'd really like Flycast being distributed with AppImage format. Not a big deal though, 'cause I'm just fine compiling Flycast from sources every once a new nightly comes up.

Anyway... Thanks for this awesome emulator and all the efforts you're putting into!! 😎 πŸ†

cinnamonmatexfce avatar May 20 '22 21:05 cinnamonmatexfce

also add a debian repo pls😒


From: cinnamonmatexfce @.> Sent: May 20, 2022 5:34 PM To: flyinghead/flycast @.> Cc: PaperVirtualBoy64 @.>; Author @.> Subject: Re: [flyinghead/flycast] Not Flatpak linux release (Issue #638)

Not wanting something isn't an enhancement.

Which package manager do you propose?

Hey @flyingheadhttps://github.com/flyinghead ! If I'm allowed to sneak in... I never dared to open an issue because I didn't want to be snooty or annoying, but me personally I'd really like Flycast being distributed with AppImage format. Not a big deal though, 'cause I'm just fine compiling Flycast from sources every once a new nightly comes up.

Anyway... Thanks for this awesome emulator and all the efforts you're putting into!! 😎 πŸ†

β€” Reply to this email directly, view it on GitHubhttps://github.com/flyinghead/flycast/issues/638#issuecomment-1133402709, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWUXGZP6JVEOICUHHMXIXJ3VLAAPPANCNFSM5WQLX3RA. You are receiving this because you authored the thread.Message ID: @.***>

PaperVb64 avatar Jun 04 '22 23:06 PaperVb64

In the meantime... What's preventing you from manually compiling Flycast from sources?

Please have a look here: https://github.com/flyinghead/flycast/issues/639#issuecomment-1134905002

cinnamonmatexfce avatar Jun 04 '22 23:06 cinnamonmatexfce

o it's not that. it's just that flatpak apps don't work on my install of debian.


From: cinnamonmatexfce @.> Sent: June 4, 2022 7:35 PM To: flyinghead/flycast @.> Cc: PaperVirtualBoy64 @.>; Author @.> Subject: Re: [flyinghead/flycast] Not Flatpak linux release (Issue #638)

In the meantime... What's preventing you from manually compiling Flycast from sources?

Please have a look here: #639 (comment)https://github.com/flyinghead/flycast/issues/639#issuecomment-1134905002

β€” Reply to this email directly, view it on GitHubhttps://github.com/flyinghead/flycast/issues/638#issuecomment-1146703057, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWUXGZPB3E7FUQRYHZA3M7DVNPR4DANCNFSM5WQLX3RA. You are receiving this because you authored the thread.Message ID: @.***>

PaperVb64 avatar Jun 07 '22 15:06 PaperVb64

You might want to report that to flakpak

flyinghead avatar Jun 07 '22 15:06 flyinghead

I think I did once, but i never got a reply.


From: flyinghead @.> Sent: June 7, 2022 11:43 AM To: flyinghead/flycast @.> Cc: PaperVirtualBoy64 @.>; Author @.> Subject: Re: [flyinghead/flycast] Not Flatpak linux release (Issue #638)

You might want to report that to flakpak

β€” Reply to this email directly, view it on GitHubhttps://github.com/flyinghead/flycast/issues/638#issuecomment-1148844698, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWUXGZIIODTP6D6A6M5OGCTVN5UZNANCNFSM5WQLX3RA. You are receiving this because you authored the thread.Message ID: @.***>

PaperVb64 avatar Jul 19 '22 19:07 PaperVb64

If it helps, I just installed the flatpak version on Debian 11, gnome 3.38.5, wayland, and flycast opens as a small screen with no decorations, so it cannot be moved or resized or closed from the window. with vulkan, I do not get fullscreen, but opengl works overall, its fine, but definitely not a polished experience. then again, this is free, so I really have zero room for complaints.

mikoducky avatar Jul 21 '22 00:07 mikoducky

Wayland isn’t supported. Use X11 and you will get resizable windows with decoration.

See https://github.com/flyinghead/flycast/issues/648

flyinghead avatar Jul 21 '22 06:07 flyinghead

The wayland permission is present on the Flatpak, that's why it uses it by default. Do we remove it, so only X11 (and thus XWayland) are used?

j8r avatar Aug 29 '22 14:08 j8r

Yes!

flyinghead avatar Aug 29 '22 14:08 flyinghead

The real issue is Vulkan + Wayland yields not being to able to resize the window, as you described. Otherwise any other combination seems to work flawlessly for me, Wayland + OpenGL or X11 + Vulkan.

Therefore I don't think it is a good idea to fallback to XWayland altogether for everyone, it is preferable to document this issue in the Flatpak. OpenGL is still the default configuration.

j8r avatar Aug 29 '22 16:08 j8r

Is there any downside to falling back to XWayland for everyone? I understand Wayland is more modern and better than X11 in many regards but Flycast being full 3D, does it matter?

People don't read any documentation so it will certainly happen to future users.

flyinghead avatar Aug 29 '22 17:08 flyinghead

I don't think there will be major downsides, besides maybe battery life, a bit more tearing, and eventually HDR in the future. It is too bad to disable it because otherwise it works.

Is XWayland with Vulkan preferable over Wayland with OpenGL? Likely most users will just let the default OpenGL option, so it will be XWayland with OpenGL at the end.

Disabling the Vulkan option for Wayland users could be an option, too.

j8r avatar Aug 29 '22 17:08 j8r

Is XWayland with Vulkan preferable over Wayland with OpenGL?

I don't know. But Vulkan is often preferable to Open GL, particularly with very intensive games such as Naomi 2 ones. But it also depends on the GPU used and the quality of the driver. So it's important to be able to choose which one works best, regardless of whether Wayland is used or not.

flyinghead avatar Aug 30 '22 08:08 flyinghead

Whoa, easy. I'm still kinda new to emulation, so i'm gonna need this conversation explained to me in idiot's terms (also sorry for being dead for a year. Had some stuff to do, then got into other stuff, and lost the time to check in on the conversation).

PaperVb64 avatar Sep 01 '22 04:09 PaperVb64

Also a newbie when if comes to linux, so lol

PaperVb64 avatar Sep 01 '22 04:09 PaperVb64

If you don't touch the Flycast configuration, OpenGL being the default, the Flatpak should work.

j8r avatar Sep 01 '22 10:09 j8r

I'm a big fan of AppImages as well and have already packaged my own for Flycast 1.0. I'll attach it here so hopefully it's useful to others:

https://send.cm/d/IH5I

absolutelynothinghere avatar Sep 25 '22 22:09 absolutelynothinghere

+1 for AppImage

psyalemao avatar Dec 05 '22 18:12 psyalemao

What would really help is an AppImage creation script for Flycast.

flyinghead avatar Dec 05 '22 19:12 flyinghead

https://appimage.github.io/appimagetool isn't enough? Or maybe "borrow" the code from duckstation, pcsx2, yuzu or rpce3 since they all provide an AppImage

psyalemao avatar Dec 05 '22 20:12 psyalemao

you probably missed the "for Flycast" part

flyinghead avatar Dec 05 '22 20:12 flyinghead

Please @psyalemao go ahead πŸ™‚

j8r avatar Dec 05 '22 22:12 j8r

There's now an AppImage build for the dev branch: https://flyinghead.github.io/flycast-builds/#dev

Feedback welcome

flyinghead avatar Feb 03 '23 18:02 flyinghead

Whoa @flyinghead !

That's awesome! 😍 Many many thanks!

Everything's super good so far! 😎 (just done a quick gameplay test)


$ lscpu | grep Ryzen
Model name:                      AMD Ryzen 7 1700 Eight-Core Processor


$ uname -sro
Linux 6.1.9-zen1-1-zen GNU/Linux


$ pacman -Qs '^nvidia-'
local/nvidia-dkms 525.85.05-1
    NVIDIA drivers - module sources
local/nvidia-settings 525.85.05-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils-nvlax 525.85.05-1
    NVIDIA drivers utilities with NVENC and NvFBC patched with nvlax


$ pacman -Qs '^vulkan-'
local/nvidia-utils-nvlax 525.85.05-1
    NVIDIA drivers utilities with NVENC and NvFBC patched with nvlax
local/spirv-tools 2022.4-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
local/vulkan-headers 1:1.3.240-1 (vulkan-devel)
    Vulkan header files
local/vulkan-icd-loader 1.3.240-1
    Vulkan Installable Client Driver (ICD) Loader
local/vulkan-tools 1.3.240-1 (vulkan-devel)
    Vulkan Utilities and Tools


$ lspci -vk
0a:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER]
        Flags: bus master, fast devsel, latency 0, IRQ 46, IOMMU group 15
        Memory at f5000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at d000 [size=128]
        Expansion ROM at f6000000 [virtual] [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia

dc_boot.bin = jc-bootROM-devkit-v1.032.bin dc_flash.bin = original actual dump of my own PAL-E (1) little baby

$ sha1sum dc*
b5b00b3a34d6556abb34450d0fb9d37a57d7dd05  dc_boot.bin
f773621bb06052fe212cc501bbf88029cba476e9  dc_flash.bin

00:00:767 sdl/sdl.cpp:583 N[RENDERER]: Monitor refresh rate: 60 Hz (1920 x 1080)
00:00:919 rend/vulkan/vulkan_context.cpp:247 N[RENDERER]: Vulkan API 1.1. Device NVIDIA GeForce GTX 1660 SUPER
00:00:919 rend/vulkan/vulkan_context.cpp:255 N[RENDERER]: eR5G5B5A1UnormPack16 not supported for optimal tiling
00:00:919 rend/vulkan/vulkan_context.cpp:269 N[RENDERER]: eR4G4B4A4UnormPack16 not supported for optimal tiling
00:01:060 rend/vulkan/vulkan_context.h:266 N[RENDERER]: Using depth format D32SfloatS8Uint tiling Optimal
00:01:080 rend/gui.cpp:273 N[RENDERER]: Screen DPI is 94, size 1920 x 1080. Scaling by 1.00
00:01:320 rend/vulkan/oit/oit_renderer.cpp:32 N[RENDERER]: OITVulkanRenderer::Init
00:01:394 rend/vulkan/vulkan_context.h:266 N[RENDERER]: Using depth format D32SfloatS8Uint tiling Optimal
00:07:029 hw/mem/addrspace.cpp:431 N[VMEM]: Info: nvmem is enabled
00:07:050 hw/mem/addrspace.cpp:462 N[VMEM]: BASE 0x7f3a71300000 RAM(16 MB) 0x7f3a7d300000 VRAM64(8 MB) 0x7f3a75300000 ARAM(2 MB) 0x7f3a91300000
00:07:067 hw/mem/addrspace.cpp:431 N[VMEM]: Info: nvmem is enabled
00:07:081 hw/mem/addrspace.cpp:462 N[VMEM]: BASE 0x7f3a71300000 RAM(16 MB) 0x7f3a7d300000 VRAM64(8 MB) 0x7f3a75300000 ARAM(2 MB) 0x7f3a91300000
00:07:099 emulator.cpp:56 N[BOOT]: Game ID is [T8116D  50]
00:07:100 emulator.cpp:56 N[BOOT]: Game ID is [T8116D  50]
00:13:346 nullDC.cpp:221 N[SAVESTATE]: Loaded state ver 825 from /MYPATH/Dead or Alive 2 v1.000 (2000)(Acclaim)(PAL)[!].state size 28058931

Attaching emu.cfg: flycast_AppImage_emu.cfg.txt

Attaching Flycast's About screenshot: flycast_AppImage

cinnamonmatexfce avatar Feb 04 '23 16:02 cinnamonmatexfce

There's now an AppImage build for the dev branch: https://flyinghead.github.io/flycast-builds/#dev

Feedback welcome

Just downloaded the latest dev AppImage, works great! Came in the nick of time too as the AppImage I made started segfaulting after an update... Looking forward to the release AppImages.

absolutelynothinghere avatar Feb 07 '23 16:02 absolutelynothinghere

The AppImage is currently being built on Ubuntu 20 so it won't run on Ubuntu 18 / Debian buster and earlier.

What linux distribs and versions are y'all running?

flyinghead avatar Feb 07 '23 18:02 flyinghead

AppImage builds are now available on master

flyinghead avatar Feb 12 '23 14:02 flyinghead

The AppImage is currently being built on Ubuntu 20 so it won't run on Ubuntu 18 / Debian buster and earlier.

What linux distribs and versions are y'all running?

I'm using Void (rolling distro) so any distro you use to build is fine no matter how recent... With that being said, an AppImage that bundles all dependencies is backwards-compatible with older distros. That means bundling glibc, alsa/pulseaudio...etc pretty much every single .so file accessed by the binary, except OpenGL and video driver files.

absolutelynothinghere avatar Feb 12 '23 20:02 absolutelynothinghere