Announcement

Collapse
No announcement yet.

nv and xorg.conf under Debian PPC

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

  • nv and xorg.conf under Debian PPC

    Yesterday served as a good example how far xorg has come in the last decade, on x86 at least. It is pretty rare these days that you have to do any serious editing of xorg.conf when installing Linux on a x86(64) machine - sadly that seems not to be the case if you're an old skool Mac user.

    I spent a good chunk of my weekend installing Deb Jessie on my friends Power Mac G5. The install wasn't quite as smooth as Debian usually is on a PC but I was expecting that for obvious reasons.The main issues were that I had to blacklist the nouveau module to get as far as login and then Nouveau doesn't have working support for the GeForce 6600 so I had to build ye olde nv driver and write a small xorg.conf to get xorg working. Def. not Linux newb frendly stuff but once I got it running I was pleasantly surprised at how well it ran. I was able to open and edit 1080p h264 files in KDEnlive and watch Youtube videos in FullHD - quite impressive for a 9 year old machine!

    I was looking forward to returning it to my friend to show him how much better it ran under Debian over Leopard so we were greatly disappointed when I got it back to his house only to discover we couldn't get Linux to output to his monitor which just gave an 'out of frequency' error for every xorg.conf config I threw at it. Leopard output a picture just fine onto his monitor with the same cable and I had no probs getting a 1080 display out of the G5 under Linux when it was connected to my HDMI TV.

    Here is the xorg.conf that works fine when the G5 is plugged into my HDMI TV:

    Code:
    Section "Device"
            Identifier "card0"
            Driver "nv"
    EndSection
    
    Section "Screen"
      Identifier "Screen0"
      Device "card0"
      DefaultDepth 24
      SubSection "Display"
        Viewport 0 0
        Depth 24
        Virtual 1920 1080
      EndSubSection
    EndSection
    I tried many permutations and various options, tried adding in a modeline I calculated (with a web app) for the res we wanted etc etc with no luck - everything was always out of frequency.

    X -configure

    Failed to produce anything useful

    dpkg-reconfigure xorg-xserver

    Didn't do anything (when run as root) and reading the Xorg log seemed to indicate it wasn't detecting the right refresh rate for our desired res - hence my attempt at adding a custom modeline.

    If it matters, I was connecting the G5 to my TV with a DVI to HDMI cable but we were connecting to his monitor using a DVI to VGA cable. The xorg log seemed to indicate it was reading the EDID OK in all cases.

    So whats the easiest way out of this mess? I spent about 5 hours playing with xorg.conf tonight with no luck. Ideally there would be a script or app for OSX we could run that would examine the current display and output a working xorg.conf - apparently there is such a tool for Windows but I've not been able to find an OSX equivalent. If no such tool exists, whats the next easiest method to get a working xorg.conf on such vintage hardware?

    Thanks!
    Last edited by danboid; 01 September 2014, 10:46 PM.

  • #2
    I should've mentioned that we can see yaboot (the PPC GRUB-alike) and the terminal fine on his monitor, its only when X loads that the display goes blank.

    Comment


    • #3
      I may have found the info I need to fix this display issue. Sounds like the G5 needs a kernel parameter instead of a specific xorg.conf and if what the author says is true I should be able to get Nouveau working instead of resorting to nv. See the second post in this thread:



      If it works I'll update the Ubuntu PowerPC FAQ, which is otherwise a great resource for Linux PPC users:



      I'm going to update that today anyway with additional info on sharing HFS+ partitions with Linux.

      Comment


      • #4
        Ubuntu hfsplus guide updated

        I decided the best place for my mini 'Enable HFS+ read/write for non-root users' guide was on the Ubuntu community docs hfsplus page instead of within the already lengthy PPC FAQ. The PPC FAQ links to the hfsplus page anyway.

        Comment


        • #5
          nouveau working on Debian Jessie PPC w/ GeForce 6600

          Thanks to the guide I linked to in my previous but one post ( http://www.mintppc.org/forums/viewto...t=810&start=10 ) I managed to get nouveau working on my friends G5.

          No xorg.conf, driver compiling or module blacklisting was required as it turns out, you just need to use the correct kernel boot parameters for your GPU. They are listed right at the end of the second post in that thread, namely:

          G5 with Nvidia 6600 or FX5200 plugged to left port (DVI-I-2) yaboot command:

          Linux video=TV-1:d

          G5 with Nvidia 6800 plugged to left port (DVI-I-2) yaboot command:

          Linux video=TV-1:d video=TV-2:d

          I need to check the Debian PPC guys know about this requirement / bug.

          Comment


          • #6
            buntu PPC FAQ updated

            Yesterday I updated the 'What yaboot parameters should I use for graphics problems?' section of the buntu PPC FAQ with the known working kernel parameters for various NV cards.

            Hopefully that'll save a few LinuxPPC users some searching, trial and error.

            Comment


            • #7
              Thank you for all your efforts, especially documenting them!

              Thank you for this great guide, and follow-up. I don't own any PowerPC equipment, but it's clear you've put a good amount of effort in, and just as importantly, documented everything for future people.

              Comment


              • #8
                I'm glad you appreciate my efforts dashcloud! I try to help where I can.

                Comment


                • #9
                  Back to NV / cables matter

                  My Debian PPC using friend has had to retreat back to the stability of the old NV driver. Currently, the Nouveau driver in Deb Jessie / xorg 1.16 is unstable on PPC as reported here:



                  Under Jessie / Geforce 6600 nouveau, you can use it for a few hours or so before the cursor gets corrupted and when this occurs you're usually only minutes away from X freezing or crashing.

                  If you don't want to or can't compile the NV driver, which is what I'd recommend until the Nouveau driver gets fixed, you can apparently avoid this instability by using the `nouveau.noaccel=1' yaboot kernel parameter. However, using that param disables all accel. whereas with NV you are at least getting some 2D accel.

                  The config we settled with was to compile/install the NV driver, blacklist the nouveau kernel module, use the 'video=TV-1:d' yaboot.conf parameter and an xorg.conf that just contains:

                  Code:
                  Section "Device"
                          Identifier "card0"
                          Driver "nv"
                  EndSection
                  Another thing that tripped us up on the path to a working X was that we failed to get any picture from X when using a DVI to VGA cable, even though the cable worked fine under yaboot, the Linux console and OSX. Using a DVI to DVI cable fixed the sync issues.

                  It'll be great to see nouveau get patched for use under PPC so as to take advantage of PureVideo / VDPAU hardware video decoding and to get some 3D accel too.

                  We have also installed Xubuntu 12.04 i386 under qemu and had Windows apps running under wine but everything is soooo veeeeeery sloooow! I takes about 10m to boot to a i386 Xubuntu desktop with qemu (thats usng the max 2047 MB RAM for the emu) running on a 2Ghz G5.
                  Last edited by danboid; 13 September 2014, 02:15 PM.

                  Comment


                  • #10
                    Jessie vs Wheezy and fixing G5 sound

                    We ended up reverting the G5 to Debian 7. Mounting of USB drives didn't work under KDE nor XFCE under Jessie and an apt upgrade we did a few weeks ago broke a number of important apps including Iceweasel which decided to stop loading whilst other browsers like qupzilla and konqueror would crash before you could even open a page. I have spoken to someone in the #debianppc channel running Jessie on a G4 Powerbook recently who wasn't experiencing these issues so I'm unsure as to the cause but I know the Iceweasel bug has been reported by another Debian PPC user and a patch to fix it exists. Wheezy has none of these issues so that is what I'd recommend currently to any PPC (Mac) users looking to install Linux.

                    As for the USB issue under Jessie, I could mount USB drives fine from the terminal but Dolphin and Thunar always spat out some missing device/path error when I tried mounting them graphically. I'm not meaning to jump on the systemd bashing bandwagon but am I right in thinking that systemd has its own udev fork that handles the mounting of drives? If so, I suspect its prob had very little testing on PPC so that could explain the mounting errors.

                    One thing I forgot to cover in this thread so far is how I got sound to work under Debian on a G5 PowerMac. For both Wheezy and Jessie, I had to remove the snd-powermac line from/etc/modules and replace it with snd-aoa-i2sbus then /etc/modprobe.d/blacklist.local.conf should contain:

                    Code:
                    blacklist snd-aoa-codec-tas
                    blacklist snd-aoa-soundbus
                    blacklist nouveau
                    If you're running KDE then you also need to have pulseaudio installed and running to get sound.

                    Due to having a Nvidia card and the nouveau driver still being broken for big endian machines, a yaboot kernel parameter was required to get any picture out of xorg. Whilst under Jessie we had to use "video=TV-1:d", Wheezy required "nouveau.modeset=0" instead. As with under Jessie, we then had to compile/install the old NV xorg driver and create the minimal xorg.conf to enable it instead of using nouveau or fbdev.

                    Comment

                    Working...
                    X