..:: PCSX2 Forums ::..

Full Version: Linux - Compile Guide and Support
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
old_liquid:
Most issues are caused by the GS plugin. On Linux there is no way to use the best developed GS plugin, "GSdx".
You're free to help the effort made on "ZZOgl", which uses OpenGL instead of DirectX.
Line can be cause by anti aliasing. Try to play with it.

Yeah, I seriously lag to update the ppa for the moment, it is because I need time to find all my chrismas gift Tongue2 However I'm very interesing to know abouts your GS issue. The ppa does not contains the last zzogl branch merge and there is maybe a regression.

Actually the missing plugins are mostly for copyright issue. You can still compile them from the tree. Zerogs is deprecated anyway. And for dvd, just create an iso with k3b or others tools and loads it directly.

For information, codeblock and cmake are only makefile generators. I spends a lot of time to ensure same flags in both side, so difference must be null.

The lines in the video are due to the GS integer coordinates getting converted to floats in OpenGL.
I noticed that ZeroGS is very lax in this part. Several games that should look fine in "native" res have those glitches.
(It happens with GSdx as well, if you set a higher render resolution.)
I have this working on 64-bit Arch Linux, but here's a problem.

I couldn't load a game (or the PS2 startup screen) because of this error: ZZogl: ERROR: Need GL_EXT_framebufer_object for multiple render targets. However, glxgears -info tells me my video card *does* support this (It's an nVidia 7900GS using proprietary drivers). So... I went and modified zzogl-pg/opengl/ZZoglCreate.cpp to ignore this error (I can hear you gasping from here). Sure enough, the game loads and all seems to be well. Here's the full list of errors after it gets past that part:


Quote: Opening GS
ZZogl-PG: Calling GSopen.
ZZogl-PG: Using ZZ Ogl PG (Dev):0.3.0.
ZZogl-PG: Creating ZZOgl window.
ZZogl-PG: Got Doublebuffered Visual!
ZZogl-PG: glX-Version 1.4
ZZogl-PG: You have Direct Rendering!
ZZogl-PG: Resolution 965x724. Depth 24 bpp. Position (2307,23)
ZZogl-PG: *********
ZZogl: ERROR: Need GL_EXT_framebufer_object for multiple render targets
ZZogl: *********
ZZogl-PG: *********
ZZogl: OGL WARNING: Need GL_EXT_secondary_color
ZZogl: *********
ZZogl-PG: *********
**HERE** RETURN TRUE ANYWAY!
*********
ZZogl-PG: *********
ZZogl: OGL WARNING: Need GL_EXT_blend_equation_separate
ZZogl: *********
ZZogl-PG: *********
ZZogl: OGL WARNING: Need GL_EXT_blend_func_separate
ZZogl: *********
ZZogl-PG: *********
ZZogl: OGL WARNING: multiple render targets not supported, some effects might look bad
ZZogl: *********
ZZogl-PG: No multitexturing.
ZZogl-PG: Maximum texture size is 4096 for Tex_2d and 4096 for Tex_NV.
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:468: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:477: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:494: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: Error! has no images/buffers attached!
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:499: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: Error! has no images/buffers attached!
ZZogl-PG: Disabling MRT depth writing.
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:557: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: Error! has no images/buffers attached!
ZZogl-PG: /home/ntsp/Junkyard/pcsx2/plugins/zzogl-pg/opengl/ZZoglCreate.cpp:570: gl error GL_INVALID_ENUM(0x500)
ZZogl-PG: Error! has no images/buffers attached!
ZZogl-PG: Use ATI_texture_float for blockdata.
ZZogl-PG: Fill bilinear blocks OK.!
ZZogl-PG: Creating effects.
ZZogl-PG: Creating extra effects.
ZZogl-PG: using full shaders

I have no idea what I'm doing but at least I can play some games! Just thought I'd let you know in case there's anything worth knowing.

Also, I'm running the same game (Ar tonelico: Melody of Elemia) as old_liquid a few posts back, and I have the same vertical lines appear, although it's only during the intro FMV so far.
What did you compile exactly on arch 64 bits. Are you sure that you run everythings in 32bits. Your drivers must be correctly install on 32 bits too, and call the 32bits glxinfo, not the 64 bits one.

Quote:The lines in the video are due to the GS integer coordinates getting converted to floats in OpenGL.
I noticed that ZeroGS is very lax in this part. Several games that should look fine in "native" res have those glitches.
But dx probably uses float too ? or am I wrong ?
I have all 32-bit versions of the dependencies, including the nvidia drivers and utilities. glxinfo32 tells me I have those extensions as well. ldd tells me zzogl is using these:
Quote:/home/ntsp/Junkyard/pcsx2/bin/plugins/libzzogl.so:
linux-gate.so.1 => (0xf7733000)
libCg.so => /usr/lib32/libCg.so (0xf6e32000)
libCgGL.so => /usr/lib32/libCgGL.so (0xf6dd1000)
libGLEW.so.1.5 => /usr/lib32/libGLEW.so.1.5 (0xf6d7f000)
libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf6d14000)
libGL.so.1 => /usr/lib32/libGL.so.1 (0xf6c4a000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf6c43000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf6c2c000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf6b12000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf6b04000)
libjpeg.so.8 => /usr/lib32/libjpeg.so.8 (0xf6acf000)
libwx_baseu-2.8.so.0 => /usr/lib32/libwx_baseu-2.8.so.0 (0xf6985000)
libwx_gtk2u_core-2.8.so.0 => /usr/lib32/libwx_gtk2u_core-2.8.so.0 (0xf6641000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf6553000)
libm.so.6 => /usr/lib32/libm.so.6 (0xf652e000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6514000)
libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf64f9000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf63ad000)
/lib/ld-linux.so.2 (0xf7734000)
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf6397000)
libXi.so.6 => /usr/lib32/libXi.so.6 (0xf638a000)
libnvidia-tls.so.260.19.26 => /usr/lib32/tls/libnvidia-tls.so.260.19.26 (0xf6388000)
libnvidia-glcore.so.260.19.26 => /usr/lib32/libnvidia-glcore.so.260.19.26 (0xf4cd6000)
libdl.so.2 => /usr/lib32/libdl.so.2 (0xf4cd2000)
libuuid.so.1 => /usr/lib32/libuuid.so.1 (0xf4cce000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf4cb6000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf4ca1000)
libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf48da000)
libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf4844000)
libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf4828000)
libpng14.so.14 => /usr/lib32/libpng14.so.14 (0xf4802000)
libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf47c1000)
libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf477b000)
libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf4777000)
libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0 (0xf46a7000)
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf46a4000)
libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf469f000)
libtiff.so.3 => /usr/lib32/libtiff.so.3 (0xf4644000)
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf45f3000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf45f0000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf45eb000)
libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf45e4000)
libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf45da000)
libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf45cf000)
libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf45cc000)
libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf45c9000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf45c4000)
libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf45a8000)
libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf4509000)
libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf449d000)
libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf4495000)
libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf43aa000)
libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf4382000)
libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf42fd000)
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf42cf000)
libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf42cc000)
librt.so.1 => /usr/lib32/librt.so.1 (0xf42c3000)
libpcre.so.0 => /usr/lib32/libpcre.so.0 (0xf428b000)
libresolv.so.2 => /usr/lib32/libresolv.so.2 (0xf4276000)
libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf424d000)

I've been playing Ar tonelico: Melody of Elemia all day, and it seems to be working fine (apart from those vertical lines, which are appearing in a lot of places).
Hum ok, it was just to be sure it was not a basic issue. Can you compile a debug version -DCMAKE_BUILD_TYPE=Debug or at least enable logging is zz, then open the gslog.
You must see a line with this string "supported OpenGL Extensions:" with the list.

I found some advice on the web to use glXGetProcAddressARB instead of glXGetProcAddress maybe it is related. If you have the symbol, try to do a "nm -C /usr/lib32/libGL.so.1.2 | grep -i getproc"

That line says "0 supported OpenGL Extensions: ", and obviously no list to go with it.

I don't have debug symbols for libGL. Is it even possible, since it's provided by the proprietary nVidia binary?
Well I'am not surprised, it never hurt to ask Tongue2

Strange, it seem this call glGetIntegerv(GL_NUM_EXTENSIONS, &max_ext); failed for an unknow reason. What drivers version are using exactly and what revision of pcsx2.
I'm using the latest nvidia release, 260.19.29. pcsx2 is r4099.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35