Giter Site home page Giter Site logo

nine's People

Contributors

dhewg 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

Watchers

 avatar  avatar  avatar  avatar

nine's Issues

Some more packages for Debian buster

I found I needed a few more packages on Debian testing (buster),

sudo apt-get install libc6-dev wine64-tools libwine-dev libd3dadapter9-mesa-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-dri3-dev libxcb-present-dev libxcb-xfixes0-dev libgl1-mesa-dev libegl1-mesa-dev
sudo apt-get install meson
sudo apt-get install wine-development
sudo apt-get install wine64-development-tools 
sudo apt-get install wine-devel-dev 
sudo apt-get install libwine-development-dev 
sudo apt-get install libwine-dev
sudo apt-get install libc:i386
sudo apt-get install libc6-dev:i386
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-amd64-i386-cross 
sudo apt-get install wine-devel-dev 
sudo apt-get install libwine-development-dev:i386
sudo apt-get install libd3dadapter9-mesa-dev libd3dadapter9-mesa-dev:i386
sudo apt-get install libdrm-dev libdrm-dev:i386
sudo apt-get install libx11-xcb-dev:i386
sudo apt-get install libxcb-dri3-dev:i386
sudo apt-get install libxcb-present-dev:i386
sudo apt-get install libgl-dev:i386
sudo apt-get install libegl1-mesa-dev:i386 libegl1-mesa-dev

Some are not necessary, but I'm not sure which ones ;)

I'm using the winehq Debian builds, so I may have multiple sources for some dependencies. I've attached dpkg -l \*wine\* if that's informative.

ii  dxvk-wine32-development:i386  0.94+ds1-1     i386         Vulkan-based translation layer for Direct3D 10/11 - wine32 build
ii  dxvk-wine64-development       0.94+ds1-1     amd64        Vulkan-based translation layer for Direct3D 10/11 - wine64 build
ii  fonts-wine                    4.0~rc4-2      all          Windows API implementation - fonts
ii  libkwineffects11              4:5.14.3-2+b1  amd64        KDE window manager effects library
ii  libwine:amd64                 4.0~rc4-2      amd64        Windows API implementation - library
ii  libwine:i386                  4.0~rc4-2      i386         Windows API implementation - library
ii  libwine-dev:amd64             4.0~rc4-2      amd64        Windows API implementation - development files
ii  libwine-development:amd64     3.21-2         amd64        Windows API implementation - library
ii  libwine-development:i386      3.21-2         i386         Windows API implementation - library
ii  libwine-development-dev:amd64 3.21-2         amd64        Windows API implementation - development files
ii  libwine-development-dev:i386  3.21-2         i386         Windows API implementation - development files
ii  wine-devel-amd64              4.0~rc5~buster amd64        WINE Is Not An Emulator - runs MS Windows programs
ii  wine-devel-dev                4.0~rc5~buster amd64        WINE Is Not An Emulator - runs MS Windows programs
ii  wine-devel-i386:i386          4.0~rc5~buster i386         WINE Is Not An Emulator - runs MS Windows programs
ii  wine-development              3.21-2         all          Windows API implementation - standard suite
ii  wine-staging                  4.0~rc5~buster amd64        WINE Is Not An Emulator - runs MS Windows programs
ii  wine-staging-amd64            4.0~rc5~buster amd64        WINE Is Not An Emulator - runs MS Windows programs
ii  wine-staging-i386:i386        4.0~rc5~buster i386         WINE Is Not An Emulator - runs MS Windows programs
ii  wine32:i386                   4.0~rc4-2      i386         Windows API implementation - 32-bit binary loader
ii  wine32-development:i386       3.21-2         i386         Windows API implementation - 32-bit binary loader
ii  wine64                        4.0~rc4-2      amd64        Windows API implementation - 64-bit binary loader
ii  wine64-development            3.21-2         amd64        Windows API implementation - 64-bit binary loader
ii  wine64-development-tools      3.21-2         amd64        Windows API implementation - 64-bit developer tools
ii  wine64-tools                  4.0~rc4-2      amd64        Windows API implementation - 64-bit developer tools
ii  winetricks                    0.0+20181203-3 all          simple tool to work around common problems in Wine

Provide release builds

I think it would be great, like other d3d related project, to provide an archive containing the dlls for x86 and x64 as well as ninewinecfg.exe (maybe also the readme in that archive) in the release tab of github.

Build issues on Fedora 28

Hi,

I came here from the Phoronix article and am trying to compile Nine Standalone on Fedora 28.

It can't find the Wine headers

meson.build:41:4: ERROR:  Problem encountered: WINE headers not found

I discovered that this message comes from the fact that the headers are located in /usr/include/wine/wine, and was able to workaround it by copying the contents of that directory to /usr/include/wine.

After doing this, I was able to build the 64-bit version. I'm not sure, is this is a packaging bug in Fedora's Wine packages?

32-bit build fails

It can't find d3dadapter9:

Dependency d3dadapter9 found: NO

Even though mesa-libd3d-devel is installed (both 32 and 64-bit versions) and the file is present in /usr/lib64/d3d/d3dadapter9.so, and the package config file /usr/lib64/pkgconfig/d3d.pc correctly specifies its path.

It also complains it can't find dl:

Checking for function "dlopen" : NO

meson.build:61:2: ERROR:  C library 'dl' not found

The meson log says:

Running compile:
Working directory:  /tmp/tmpzha44tre
Command line:  winegcc /tmp/tmpzha44tre/testfile.c -pipe -D_FILE_OFFSET_BITS=64 -o /tmp/tmpzha44tre/output.exe -m32 --no-gnu-unique -m32 -mwindows -O0 -Wl,--start-group -ldl -Wl,--end-group -Wl,--allow-shlib-undefined 

Code:
 int main(int argc, char **argv) { return 0; }
Compiler stdout:
 
Compiler stderr:
 ld: Relocatable linking with relocations from format elf64-x86-64 (/usr/lib64/wine/libwinecrt0.a(exe_entry.o)) to format elf32-i386 (output.4iiNJ4.o) is not supported
winebuild: ld failed with status 1
winegcc: winebuild failed

It looks like it tries to link the 32-bit output with 64-bit Wine libraries.

Clarify mixing of different Wine versions

I notice the ninewinecfg.exe code has #if conditionals on WINE_STAGING. It's not clear to me why this is and I'd like to know whether you can build against staging and run against vanilla or vice-versa. If not, I think it would be possible to make this dynamic at runtime? I'm trying to package this up for Gentoo and we allow vanilla and staging to be installed simultaneously. This should be clarified in the README in any case.

.dll location 32 bits vs 64 bits

On windows 32 bits, 32 bits dll's go to system32.
On windows 64 bits, 32 bits dll's go to syswow64, and 64 bits dll's to system32.

So it seems that nine-install.sh is wrong.

Distro-independent?

Wouldn't it make more sense to have a list of known paths given by people who want to use it and let users set a ENV variable for d3dadapter9.so (which is why you want distro-dependent builds afaik) if that doesn't work rather than distro-specific builds?

Or offer a way to config it that way all distros can build it the same simply with a different config file (and also allows users to do the same if it's not actually available by their distro).

Why would we do this? If it's not available to people in their distros (or configurable to make it work), they'll be less likely to use it all because they'd need to compile it which goes against the goal of making nine easier to use.

(Option 1 being possibly more OOTB but less configurable by individual distros without forking)

Does not compile on ubuntu 18.04+padoka ppa

Hi, can't compile with up to date padoka ppa ubuntu 18.04. Installed all the amd64 and i386 binaries in the readme. Any ideas?

found ubuntu compatible distro
The Meson build system
Version: 0.45.1
Source dir: /home/momo/Atsiuntimai/nine-master
Build dir: /tmp/tmp.Bq9DbZ8myz/build64
Build type: cross build
Program tools/get_version.sh found: YES (/home/momo/Atsiuntimai/nine-master/tools/get_version.sh)
Project name: Gallium Nine Standalone
Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0")
Cross C compiler: winegcc (gcc 7.3.0)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Build machine cpu family: x86_64
Build machine cpu: x86_64
Checking if "winelib check" compiles: YES
Library wine found: YES
Has header "wine/debug.h": YES
Program wrc found: YES (/usr/bin/wrc)
Checking for function "dlopen": NO
Library dl found: YES
Checking for function "dlopen": YES
Checking for function "dlclose": YES
Checking for function "dlsym": YES
Checking for function "dladdr": YES
Cross dependency d3d found: YES 1.0.0
Cross dependency x11 found: YES 1.6.4
Cross dependency xext found: YES 1.3.3
Cross dependency x11-xcb found: YES 1.6.4
Cross dependency xcb found: YES 1.13
Cross dependency xcb-dri3 found: YES 1.13
Cross dependency xcb-present found: YES 1.13
Cross dependency xcb-xfixes found: YES 1.13
Cross dependency gl found: YES 19.0.0-devel - padoka PPA
Cross dependency egl found: YES 19.0.0-devel - padoka PPA
Library dxguid found: YES
Library uuid found: YES
Library advapi32 found: YES
Library gdi32 found: YES
Library user32 found: YES
Library shell32 found: YES
Library comctl32 found: YES
Library ole32 found: YES
Library shlwapi found: YES
Message: default module path: /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1
Build targets in project: 4
Found ninja-1.8.2 at /usr/bin/ninja
ninja: Entering directory `/tmp/tmp.Bq9DbZ8myz/build64'
[1/13] Generating version.res with a custom command.
FAILED: d3d9-nine/version.res
/usr/bin/wrc -DNINE_MAJOR=0 -DNINE_MINOR=2 -DNINE_BUILD=0 -DNINE_REVISION=0 '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_PROJECT="Gallium Nine Standalone"' -i ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/version.rc -o d3d9-nine/version.res
../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/version.rc:20:1: Error: Unable to open include file verrsrc.h
[2/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o'.
FAILED: d3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o
winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -U__WIN32 -U__WIN32__ -U__WINNT -U__WINNT__ -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/d3d9_main.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3d9_main.c
../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3d9_main.c:25:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja
#include <d3d9.h>
^~~~~~~~
compilation terminated.
winegcc: gcc failed
[3/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o'.
FAILED: d3d9-nine/d3d9-nine.dll@sha/dri3.c.o
winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -U__WIN32 -U__WIN32__ -U__WINNT -U__WINNT__ -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/dri3.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/dri3.c
../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/dri3.c:22:10: fatal error: windows.h: Toks failas ar aplankas neegzistuoja
#include <windows.h>
^~~~~~~~~~~
compilation terminated.
winegcc: gcc failed
[4/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o'.
FAILED: d3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o
winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -U__WIN32 -U__WIN32__ -U__WINNT -U__WINNT__ -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/device_wrap.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/device_wrap.c
../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/device_wrap.c:19:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja
#include <d3d9.h>
^~~~~~~~
compilation terminated.
winegcc: gcc failed
[5/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o'.
FAILED: d3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o
winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -U__WIN32 -U__WIN32__ -U__WINNT -U__WINNT__ -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/d3dadapter9.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3dadapter9.c
In file included from /usr/include/d3dadapter/d3dadapter9.h:26:0,
from ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/d3dadapter9.c:26:
/usr/include/d3dadapter/present.h:26:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja
#include <d3d9.h>
^~~~~~~~
compilation terminated.
winegcc: gcc failed
[6/13] Compiling C object 'd3d9-nine/d3d9-nine.dll@sha/present.c.o'.
FAILED: d3d9-nine/d3d9-nine.dll@sha/present.c.o
winegcc -m64 --no-gnu-unique -Id3d9-nine/d3d9-nine.dll@sha -Id3d9-nine -I../../../home/momo/Atsiuntimai/nine-master/d3d9-nine -I/usr/include/libdrm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -U_WIN32 -U__WIN32 -U__WIN32__ -U__WINNT -U__WINNT__ -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN '-DDECLSPEC_HOTPATCH=attribute((ms_hook_prologue))' '-DNINE_VERSION="v0.2.0.0-devel"' '-DNINE_URL="https://github.com/dhewg/nine"' -DWINE_STAGING=0 -DD3D9NINE_DRI2=1 '-DD3D9NINE_MODULEPATH="/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1"' -fPIC -MD -MQ 'd3d9-nine/d3d9-nine.dll@sha/present.c.o' -MF 'd3d9-nine/d3d9-nine.dll@sha/present.c.o.d' -o 'd3d9-nine/d3d9-nine.dll@sha/present.c.o' -c ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/present.c
In file included from /usr/include/d3dadapter/d3dadapter9.h:26:0,
from /usr/include/d3dadapter/drm.h:26,
from ../../../home/momo/Atsiuntimai/nine-master/d3d9-nine/present.c:26:
/usr/include/d3dadapter/present.h:26:10: fatal error: d3d9.h: Toks failas ar aplankas neegzistuoja
#include <d3d9.h>
^~~~~~~~
compilation terminated.
winegcc: gcc failed
ninja: build stopped: subcommand failed.

Distro packages

We cannot easily provide binaries for end users (see #4), but using Gallium Nine should still be as easy as possible.
Get this project packaged for various distros, so users can just use their well-known package manager.

Setting up a WINE prefix could be unified and improved across distros. Currently there's the very basic nine-install.sh, which is unlikely to satisfy the requirements for everyone. Feedback is very much welcome!

Viewport does not match desktop resolution

Built on Arch Linux, using the gallium-nine and lib32-gallium-nine AUR packages version 0.1, installed into a Steam Proton prefix for Quantum Conundrum (200010), and running on a Gnome Wayland desktop at 3840x2160@60, the game's maximum resolution of 2560x1440 causes it to set a full screen video mode of exactly what XWayland indicates, the desktop resolution, while Nine renders a 2560x1440 picture in the upper left most region of the otherwise black window. This may also be an XWayland issue, as it doesn't report available video modes other than the current desktop resolution.

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.