Announcement

Collapse
No announcement yet.

Here's The Third Humble Indie Bundle

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Yes, it took me long time to figure it out how to compile that correctly. I can you don't manage do compile it with gentoo just use Kanotix

    Comment


    • I'll tell you one thing: I love gentoo to bits and I am very much happy with how everything works.

      Except multilib. Multilib is gentoo's biggest and most painful issue. It is essentially non-existent and impossible. For pure 64-bit or 32-bit, it's amazing, though.

      Comment


      • Originally posted by pingufunkybeat View Post
        Trine itself is well worth the price of the bundle, whatever you pay for it. Very entertaining.

        Now I just hope that the lighting problem is fixed soon, because you can't really see much as it is.

        Unfortunately, the Shadowgrounds games need s3tc + r600g, and in 32 bits, and these things don't exist in gentoo. And crosscompiling is a pain in the ass.
        32bit s3tc can be installed easily with the ebuild from this bug report http://bugs.gentoo.org/show_bug.cgi?id=65607 Did you actualy mean mesa from git is hard to crosscompile? In that case, yeah, no easy solution.

        Comment


        • Originally posted by pingufunkybeat View Post
          I'll tell you one thing: I love gentoo to bits and I am very much happy with how everything works.

          Except multilib. Multilib is gentoo's biggest and most painful issue. It is essentially non-existent and impossible. For pure 64-bit or 32-bit, it's amazing, though.
          What are you guys talking about.. I'm using many gentoo multilib patches for packages such as python and gtk2 on my LFS. IMHO it has the best support for multilib and cross-compiling out of Ubuntu, Arch, and gentoo (and Arch is my favorite!). Try looking at the ebuilds for yourself and you'll see..

          Did you actualy mean mesa from git is hard to crosscompile? In that case, yeah, no easy solution.
          For compiling 32bit mesa, follow my suggestions here. A couple people in the same thread already confirmed that they work.

          Comment


          • Originally posted by Ansla View Post
            32bit s3tc can be installed easily with the ebuild from this bug report http://bugs.gentoo.org/show_bug.cgi?id=65607 Did you actualy mean mesa from git is hard to crosscompile? In that case, yeah, no easy solution.
            Yes, mesa from git is hard to crosscompile, and you need to compile mesa yourself to enable s3tc support.

            Installing txc-dxtn will not do anything unless s3tc support is switched on in Mesa, and it is not switched on in any binary package, which includes all the emul-libraries. That's why you need to crosscompile for 32-bits.

            Comment


            • Xipeos, there is no out-of-the-box way to build and install both 32-bit and 64-bit versions of a software package under Gentoo. The default way is to drop a bunch of precompiled binaries into /lib32 and /usr/lib32, with default flags and usually painfully outdated.

              The "proper" way is to use the multilib overlay and compile your whole system twice, and this is hard to mix with git packages. And there are often problems with this too. It's an overkill if you just need one package.

              Even your suggestion involves hacking ebuilds and building things twice.

              Comment


              • Originally posted by pingufunkybeat View Post
                Xipeos, there is no out-of-the-box way to build and install both 32-bit and 64-bit versions of a software package under Gentoo. The default way is to drop a bunch of precompiled binaries into /lib32 and /usr/lib32, with default flags and usually painfully outdated.

                The "proper" way is to use the multilib overlay and compile your whole system twice, and this is hard to mix with git packages. And there are often problems with this too. It's an overkill if you just need one package.

                Even your suggestion involves hacking ebuilds and building things twice.
                Ok, got it. I didn't know how gentoo works, but I know for sure that the vast majority of ebuilds have support for multilib and cross-compiling to any arbitraty architecture (patches, fixups, varying config params, etc).
                A quick ddg search revealed this. It might take a little bit in the beginning, but I imagine that's a lot better than complaining and/or waiting for your distro to properly support selective multilib packages.

                Comment


                • Yes, a 32-bit chroot is the third popular option, but this is essentially installing a whole 32-bit distro instead of multilib.

                  I'll probably have to hack ebuilds to build a mesa git with proper flags. I've just been trying to avoid it until now, because it's a headache.

                  Comment


                  • Gentoo, compile 32bit drm/mesa on 64bit Gentoo:

                    It'S dirty but it's working, you just need to have the x11 overlay and do a cut/paste job. You may also need to add the "secret" parameter for the floating stuff. And finally, that for r600g... you can play with the mesa autogen parameter for r300.

                    cd /var/lib/layman/x11/x11-libs/libdrm
                    ebuild libdrm-9999.ebuild unpack
                    cd /var/tmp/portage/x11-libs/libdrm-9999/work/libdrm-9999
                    export CFLAGS="-m32"
                    export CXXFLAGS="-m32"
                    sh autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-dependency-tracking --enable-shared --disable-static --disable-dependency-tracking --enable-udev --disable-intel --disable-nouveau-experimental-api --enable-radeon --disable-vmwgfx-experimental-api --enable-libkms
                    make
                    unset CFLAGS
                    unset CXXFLAGS
                    cp .libs/libdrm.so.2.4.0 /usr/lib32/
                    cp ./libkms/.libs/libkms.so.1.0.0 /usr/lib32/
                    cp ./radeon/.libs/libdrm_radeon.so.1.0.0 /usr/lib32/


                    cd /var/lib/layman/x11/media-libs/mesa
                    ebuild mesa-9999.ebuild unpack
                    cd /var/tmp/portage/media-libs/mesa-9999/work/Mesa-9999
                    ./autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-option-checking --with-driver=dri --disable-glut --without-demos --enable-xcb --disable-debug --disable-glw --disable-motif --enable-glx-tls --enable-asm --with-dri-drivers=,swrast,r600 --enable-gallium --with-state-trackers=glx,dri,egl,vega,d3d1x --disable-gallium-llvm --disable-gles1 --disable-gles2 --disable-gles-overlay --disable-gallium-svga --disable-gallium-nouveau --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --disable-gallium-r600 --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --enable-gallium-r600 --enable-32-bit
                    make

                    cp lib32/libGL.so.1.2 /usr/lib32
                    cp lib32/libGL.so.1.2 /usr/lib32/opengl/xorg-x11/lib/
                    cp lib32/libGLU.so.1.3.071100 /usr/lib32/
                    cp lib32/libEGL.so.1.0 /usr/lib32/
                    cp lib32/libOpenVG.so.1.0.0 /usr/lib32/
                    cp lib32/egl/* /usr/lib32/egl/
                    cp lib32/r600_dri.so /usr/lib32/mesa/r600_dri.so
                    cp lib32/gallium/r600_dri.so /usr/lib32/mesa/r600g_dri.so
                    cp lib32/gallium/swrastg_dri.so /usr/lib32/mesa/
                    cp lib32/swrast_dri.so /usr/lib32/mesa/
                    rm /usr/lib32/dri/r600g_dri.so
                    rm /usr/lib32/dri/r600_dri.so
                    ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600g_dri.so
                    ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600_dri.so

                    Comment


                    • That is hacky, but it worked.

                      Shadowgrounds still crashes, though.

                      Comment

                      Working...
                      X