Coder Social home page Coder Social logo

orion's Introduction

orion

a simple command line tool to launch games through the Game Porting Toolkit

REPL demo

Installation

  • Install the Apple Game Porting Toolkit
  • Download the latest release from the releases page
  • Unzip the release and move the orion binary to /usr/local/bin/ (or run the install script)

Usage

  • Run orion from your terminal.

Features

  • Launch games from the command line
  • Steam game detection
  • Battle.net game detection
  • Game Porting Toolkit detection

orion's People

Contributors

andrewmd5 avatar benwaco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

orion's Issues

Ensure that brew is in the environment

This is a followup to #3

I'm using 0.0.4 now and still having an issue even after specifying the path to my brew file which was already located at the default anyway /usr/local/bin/brew

I get this error when trying to use Orion:

Screenshot 2023-06-10 at 8 22 27 AM

On my system brew refers to /opt/homebrew/bin/brew, and ibrew refers to /usr/local/bin/brew

I believe the issue is on this line https://github.com/AndrewMD5/orion/blob/ed3e6a5f39776a33c8253045a0aa986a9adecf4c/orion/ShellWrapper.cs#L167

Shouldn't brew list game-porting-toolkit be changed to $({BrewPath} list game-porting-toolkit ?

Indeed on my system if you type brew list game-porting-toolkit you get

Error: No such keg: /opt/homebrew/Cellar/game-porting-toolkit

But if you type /usr/local/bin/brew list game-porting-toolkit you get

/usr/local/Cellar/game-porting-toolkit/1.0/bin/function_grep.pl
/usr/local/Cellar/game-porting-toolkit/1.0/bin/widl
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wine32on64
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wine32on64-preloader
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64-preloader
/usr/local/Cellar/game-porting-toolkit/1.0/bin/winebuild
/usr/local/Cellar/game-porting-toolkit/1.0/bin/winecpp
/usr/local/Cellar/game-porting-toolkit/1.0/bin/winedump
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wineg++
/usr/local/Cellar/game-porting-toolkit/1.0/bin/winegcc
/usr/local/Cellar/game-porting-toolkit/1.0/bin/winemaker
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wineserver
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wmc
/usr/local/Cellar/game-porting-toolkit/1.0/bin/wrc
/usr/local/Cellar/game-porting-toolkit/1.0/include/wine/ (1150 files)
/usr/local/Cellar/game-porting-toolkit/1.0/lib/external/ (13 files)
/usr/local/Cellar/game-porting-toolkit/1.0/lib/wine/ (2329 files)
/usr/local/Cellar/game-porting-toolkit/1.0/share/man/ (14 files)
/usr/local/Cellar/game-porting-toolkit/1.0/share/wine/ (133 files)

Let us specify the path to brew - Ensure that brew is in the environment

I'm a developer and use brew a lot. My brew is the arm version and I have another brew which is aliased to ibrew

I get an error when trying to use your tool because it assumes that the main brew installed will be the arch -x86_64 version used for the gameportingtoolkit.

Please don't make this assumption, it will be wrong for everyone who uses homebrew for development. Let us specify these paths instead.

Many thanks!

Planned features

orion install-launcher [launcher] to quickly install a launcher on a new prefix

orion add [app] to add an application that isn't automatically detected by orion

orion launch [app] to launch an app without navigating the app list

Black screen

When I run orion and launch Steam it opens an app wine64-preloader that is just window of a black screen. After a few seconds it opens a second app with the same name in the dock but in the menu bar has a name of steamwebhelper that has no window.

Any ideas? I'm running sonoma and have installed everything in this guide: https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit

I had the same problem launching steam as suggested in the same guide where it mentioned this is a common issue and retrying should help.

gameportingtoolkit ~/steam-port 'C:\Program Files (x86)/Steam/steam.exe'

and

MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/steam-port /usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64 'C:\Program Files (x86)\Steam\steam.exe'

Getting an error with the latest

Looks like when you try to list the game-porting-toolking with brew the bin is receiving this on stderr:

[red]Error[/]: Warning: Treating game-porting-toolkit as a formula. For the cask, use
gcenx/wine/game-porting-toolkit or specify the `--cask` flag.

This causes it to crash with:

An error occurred while checking for dependencies.
System.Exception: gameportingtoolkit is not functioning correctly. Ensure that brew is in the environment.
  at async Task Ptk.ShellWrapper.EnsureGamePortingToolkitAvailability(CancellationToken cancellationToken)
  at async Task Program.<Main>$(string[] args)

But I do have everything setup, and I am running Steam just fine.

Full output:

❯ orion
                 _
   ___    _ __  (_)   ___    _ __
  / _ \  | '__| | |  / _ \  | '_ \
 | (_) | | |    | | | (_) | | | | |
  \___/  |_|    |_|  \___/  |_| |_|

No config file found. Would you like to create one now? [y/n] (y): y
Enter the path to your x86-64 Homebrew binary: (/usr/local/bin/brew): /usr/local/bin/brew
Enter the path to your Wine prefix: ~/jcm-gaming
Checking for dependencies...
[red]Error[/]: Warning: Treating game-porting-toolkit as a formula. For the cask, use
gcenx/wine/game-porting-toolkit or specify the `--cask` flag.

[yellow]Warning[/]: /usr/local/Cellar/game-porting-toolkit/1.1/INSTALL_RECEIPT.json
/usr/local/Cellar/game-porting-toolkit/1.1/LICENSE
/usr/local/Cellar/game-porting-toolkit/1.1/bin/wineserver
/usr/local/Cellar/game-porting-toolkit/1.1/bin/wine64
/usr/local/Cellar/game-porting-toolkit/1.1/bin/wine64-preloader
/usr/local/Cellar/game-porting-toolkit/1.1/.brew/game-porting-toolkit.rb
/usr/local/Cellar/game-porting-toolkit/1.1/AUTHORS
/usr/local/Cellar/game-porting-toolkit/1.1/README
/usr/local/Cellar/game-porting-toolkit/1.1/COPYING.LIB
/usr/local/Cellar/game-porting-toolkit/1.1/LICENSE.OLD
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-unix/d3d12.so
[... snip too long to post here ...]
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/sc.exe
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/vcomp.dll
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/fsutil.exe
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/dispex.dll
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/apphelp.dll
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/uxtheme.dll
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/vga.dll
/usr/local/Cellar/game-porting-toolkit/1.1/lib/wine/x86_64-windows/conhost.exe
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/libd3dshared.dylib
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/D3DMetal
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Resources
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/_CodeSignature/CodeResources
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/D3DMetal
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/libdxcompiler.dylib
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/default.metallib
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/LICENSE
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/libdxccontainer.dyl
ib
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/libdxilconv.dylib
/usr/local/Cellar/game-porting-toolkit/1.1/lib/external/D3DMetal.framework/Versions/A/Resources/libmetalirconverter
.dylib
[... snip ...]
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/webdings.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/hvgasys.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/jvgafix.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/symbol.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/coue1257.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/jsmalle.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/coue1256.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/cvgasys.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssef874.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/wingding.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/coue1255.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgasys.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/tahomabd.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserifet.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/marlett.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserifeg.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgas1256.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgas1257.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smae1255.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smae1257.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgas1255.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserifee.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserifer.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smae1256.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/jvgasys.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/couret.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smallee.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssee1255.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smaller.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sseriffr.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgasyst.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sseriffe.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sseriffg.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssee1257.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smalleg.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssee874.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssee1256.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sseriff.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgas874.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/couree.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/courer.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smallet.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgasysr.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgasyse.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserifft.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgasysg.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/sserife.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/coureg.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/tahoma.ttf
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssef1257.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssef1256.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/vgafix.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/ssef1255.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/svgasys.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/smalle.fon
/usr/local/Cellar/game-porting-toolkit/1.1/share/wine/fonts/coure.fon

An error occurred while checking for dependencies.
System.Exception: gameportingtoolkit is not functioning correctly. Ensure that brew is in the environment.
  at async Task Ptk.ShellWrapper.EnsureGamePortingToolkitAvailability(CancellationToken cancellationToken)
  at async Task Program.<Main>$(string[] args)

Diablo IV

If you're having trouble with Diablo IV disable the HUD and enable esync when launching.

Automated Steam install fails

Hi there! Orion looks fantastic!

I've installed the Sonoma beta and installed the Game Porting Toolkit.

When I run Orion, it first asks for my x64 homebrew path, then my Wine prefix (which I've set to ~/macgmaing.

It then asks if I'd like to install Steam. if I opt in, it fails, saying System.IO.DirectoryNotFoundException: Could not find a part of the path '/Users/rensa/drive_c/SteamSetup.exe'.

I'm surprised to see this, as I expected it would look in /Users/rensa/macgaming, not /Users/rensa directly. I can confirm I've set up a prefix in ~/macgaming, and there is a populated drive_c folder in there (although it doesn't have a SteamSetup.exe—do I need to download that myself?).

Here's the full output:

~ orion
                 _                 
   ___    _ __  (_)   ___    _ __  
  / _ \  | '__| | |  / _ \  | '_ \ 
 | (_) | | |    | | | (_) | | | | |
  \___/  |_|    |_|  \___/  |_| |_|
                                   
No config file found. Would you like to create one now? [y/n] (y): y
Enter the path to your x86-64 Homebrew binary: (/usr/local/bin/brew): /usr/local/Homebrew/bin/brew
Enter the path to your Wine prefix: /Users/rensa/macgaming
Checking for dependencies...
All dependencies are installed.
Checking for updates...
No updates are available.
Steam is not installed. Would you like to install it? [y/n] (y): y
An error occurred
System.IO.DirectoryNotFoundException: Could not find a part of the path 
'/Users/rensa/drive_c/SteamSetup.exe'.
  at void Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, string path, bool isDirError)  
  at SafeFileHandle Microsoft.Win32.SafeHandles.SafeFileHandle.Open(string path, OpenFlags     
     flags, int mode, Func<ErrorInfo, OpenFlags, string, Exception> createOpenException)       
  at SafeFileHandle Microsoft.Win32.SafeHandles.SafeFileHandle.Open(string fullPath, FileMode  
     mode, FileAccess access, FileShare share, FileOptions options, long preallocationSize,    
     UnixFileMode openPermissions, out long fileLength, out UnixFileMode filePermissions,      
     Func<ErrorInfo, OpenFlags, string, Exception> createOpenException)                        
  at System.IO.Strategies.OSFileStreamStrategy..ctor(string path, FileMode mode, FileAccess    
     access, FileShare share, FileOptions options, long preallocationSize, UnixFileMode?       
     unixCreateMode)                                                                           
  at System.IO.FileStream..ctor(string path, FileMode mode, FileAccess access, FileShare share,
     int bufferSize, FileOptions options, long preallocationSize)                              
  at FileStream System.IO.File.Create(string path)                                             
  at async Task Ptk.Steam.Install(CancellationToken cancellationToken)                         
  at async Task Program.<Main>$(string[] args)

Brew not in the environment variables

Even though I have installed brew for x86 and followed the instructions to add it to environment (brew's own suggestion), orion doesn't find brew after being installed with the .sh script:

Checking for dependencies...
An error occurred while checking for dependencies.
System.Exception: gameportingtoolkit is not functioning correctly. Ensure that
brew is in the environment.

Can't figure out to launch an application

Perfectly installed and set it up

Now when I type orion in terminal it launches & as ussal asks what to enable or disable.

My preferences: Install Steam "n" HUD "n" esync "y" Retinal mode "n" then it ask to select app to launch and all i see is: ...

Can't type, Can't select since there's nothing other than "..." I'm trying to launch an item from Mac's downloads

I've tried:

orion launch /Users/username/Downloads/item.exe
orion add /Users/username/Downloads/item.exe

But it launches orion it's like it only picks up orion and ignore the rest of command. It just launches orion like it would if you just type "orion" in terminal please help.

Rockstar Launcher

  • Write a parser for the Wine .reg files
  • implement the product scanning

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.