Graphics Card Driver Causes OS to Hang at Startup

Everything about X, Gnome, KDE, ... and everything running on it

Graphics Card Driver Causes OS to Hang at Startup

Postby JWVincent » 2018-01-21 00:06

Hello,

I am new to the forum here. I am hoping to get some advice/assistance regarding my computer's graphics card and X; I have been unable to successfully use drivers for my computer's graphics card without causing the OS to hang at startup. I have been using Linux lightly for a few years, so I can do basic system maintenance, but I am not very familiar with the inner workings and thus may have missed something obvious. I will detail my problem below.

My computer is the basic model of the 2013 Mac Pro (Mac Pro 6,1, aka "Trashcan Mac"). This Mac is advertised with dual AMD FirePro D300 graphics processors. The 'lspci' command shows these as two "Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]" entries. My current setup includes three 1080i monitors, each connected via DisplayPort (this Mac has six Thunderbolt/DisplayPort ports). I am currently running a fresh installation of Debian 9; 'uname -a' shows "Linux debian 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux". I'm using the default Debian desktop environment and did not initially install any extra packages or do anything unusual. The computer boots using EFI into GRUB and then launches Debian. I did eventually install the 'firmware-linux-nonfree' package; see below.

This install is my first attempt at installing Debian directly on my computer's hardware; I had used Debian before on MacOS via VirtualBox, and I now am trying to reverse the process by using Debian as the host with MacOS as a KVM guest. I am currently having difficulty getting my computer's graphics capabilities to function properly and recognize all three of my monitors. The default installation only recognizes a single monitor; 'xrandr' produces the following:
Code: Select all
>   xrandr: Failed to get size of gamma for output default
>   Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
>   default connected primary 1920x1080+0+0 0mm x 0mm
>      1920x1080     77.00*


My research suggests that Debian comes with several FOSS packages that can function as drivers for my graphics cards, but there are some proprietary firmware blobs that are required for the cards to function properly. I added the contrib and non-free repositories to apt, and installed 'firmware-linux-nonfree' package, which contains the necessary firmware blobs. I know that this package works on my machine because I had only a single successful restart that ended up using all three monitors. This was on a confusing multi-boot setup with MacOS and Debian that I was using as an intermediate/test before making Debian the primary OS. I had rEFInd installed as well. Unfortunately, every time I have booted since then, after GRUB launches the OS, it shows roughly 2-5 lines of the boot sequence and then hangs. I have to manually shutdown the computer and restart, which results in the same problem. I decided to skip the multiboot because I thought rEFInd might be part of the problem, but this problem is persisting with my current Debian install that is the only OS and uses the full internal hard drive. I have found (through more research) that using the 'nomodeset' boot option in GRUB allows me to get past the point at which the OS hangs by preventing the graphics drivers from loading. However, I am then back to my original problem of a single monitor, which is not desirable. My goal, and what I am asking for help with, is to get Debian to work with my graphics card so that I can have three functional monitors. Of course, booting into the system is a necessary prerequisite.

As I mentioned, my previous experience with Linux puts me somewhere between a beginner and intermediate skill level user, and I am hoping to find a solution that is within my current grasp of Linux and thus doesn't appear to be magical. To that end, I would like (if possible of course), to use only packages listed in the Debian repositories (including the contrib/non-free ones), and I would like to make only minor changes to system configuration files that are within my understanding. I prefer to avoid major system configuration changes/customizations and definitely avoid complex scripts. If the only solution lies in one of these realms, I would appreciate pointers to documentation that would help me understand what is going within a reasonable time frame. I am also willing to consider, as a last resort, switching to the unstable 'sid' release, or the old Debian 8 'Jessie' release (no idea where to find that) if one of those can help me; I know that there is an 'fglrx' package that might be effective in the older releases. I would also consider changing the boot to use CSM/BIOS instead of EFI, but I have no idea how to do that. Thank you for reading through this post, and I greatly appreciate in advance any help that you can provide. I will do my best to provide any other system information that would be helpful in finding a solution. This page has provided me with most of the information I described above, and I can point to other resources I've used as well if requested: https://wiki.debian.org/AtiHowTo
JWVincent
 
Posts: 2
Joined: 2018-01-20 22:41

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby dotlj » 2018-01-23 00:10

Welcome to the forums and thanks for the detailed post, that is helpful.
Please try as root
Code: Select all
lspci

to list your hardware and see what is detected by Debian.
This will show pci devices.
The ATI Howto is useful. Did it make any difference or not? What was the result before and after? Did you revert to the original conifguration?

Please check /etc/modprob.d/ When you installed the firmware-linux-nonfree it probably added files to blacklist both Intel and AMD. Your Mac has I'm sure an Intel CPU with AMD GPU.
You can remove the amd-microcode-blacklist file as you don't have an AMD CPU.

Did you enable the contrib and non-free in your /etc/apt/sourrces.list ?
I can't find any packages for firewire except audio packages and that won't help your video.
User avatar
dotlj
 
Posts: 591
Joined: 2009-12-25 17:21

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby debiman » 2018-01-23 07:30

^ may i suggest to use
Code: Select all
lspci -k
instead.
User avatar
debiman
 
Posts: 2240
Joined: 2013-03-12 07:18

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby Thorny » 2018-01-23 10:07

debiman wrote:^ may i suggest to use
Code: Select all
lspci -k
instead.

Good suggestion.

Being pedantic, as I normally am, -v would work too. :-)
User avatar
Thorny
 
Posts: 542
Joined: 2011-02-27 13:40

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby wizard10000 » 2018-01-23 15:36

I think you've got an X configuration issue here. Please forgive me if you already know this, but 'nomodeset' doesn't prevent video drivers from loading, it just prevents the kernel from loading them; if the OS doesn't load the driver from kernelspace X should load the driver from userspace and all three monitors should work.

xrandr is complaining about not getting EDID information from your monitor which leads me to believe the problem is most likely X configuration, not video drivers - but a lot of machines need nomodeset to boot these days.
we see things not as they are, but as we are.
-- anais nin
User avatar
wizard10000
 
Posts: 1272
Joined: 2011-05-09 20:02
Location: everywhere i go, there i am!

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby JWVincent » 2018-01-23 22:51

Hello, again. Thank you for your responses, dotlj, debiman, Thorny, and wizard10000; I really appreciate it. I have gathered more system information based off of your posts, and I have also tried some of your recommendations and a few other ideas of my own. Currently, I don't have a decent solution, but some promising progress at least (see the last paragraph on Buster). First, the system information (scroll to see cpu, lspci, and uname info):
Code: Select all
$ head /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 6
model      : 62
model name   : Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz
stepping   : 4
microcode   : 0x428
cpu MHz      : 1216.998
cache size   : 10240 KB
physical id   : 0


$ lspci -vd 1002:6810
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] (prog-if 00 [VGA controller])
   Subsystem: Apple Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
   Physical Slot: 3-3
   Flags: bus master, fast devsel, latency 0
   Memory at 80000000 (64-bit, prefetchable) [size=256M]
   Memory at a0700000 (64-bit, non-prefetchable) [size=256K]
   I/O ports at 3000 [disabled] [size=256]
   Expansion ROM at a0740000 [disabled] [size=128K]
   Capabilities: [48] Vendor Specific Information: Len=08 <?>
   Capabilities: [50] Power Management version 3
   Capabilities: [58] Express Legacy Endpoint, MSI 00
   Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
   Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
   Capabilities: [150] Advanced Error Reporting
   Capabilities: [270] #19
   Capabilities: [2b0] Address Translation Service (ATS)
   Capabilities: [2c0] Page Request Interface (PRI)
   Capabilities: [2d0] Process Address Space ID (PASID)
   Kernel modules: radeon

06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] (prog-if 00 [VGA controller])
   Subsystem: Apple Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
   Physical Slot: 5-3
   Flags: bus master, fast devsel, latency 0
   Memory at 90000000 (64-bit, prefetchable) [size=256M]
   Memory at a0600000 (64-bit, non-prefetchable) [size=256K]
   I/O ports at 2000 [size=256]
   Expansion ROM at a0640000 [disabled] [size=128K]
   Capabilities: [48] Vendor Specific Information: Len=08 <?>
   Capabilities: [50] Power Management version 3
   Capabilities: [58] Express Legacy Endpoint, MSI 00
   Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
   Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
   Capabilities: [150] Advanced Error Reporting
   Capabilities: [270] #19
   Capabilities: [2b0] Address Translation Service (ATS)
   Capabilities: [2c0] Page Request Interface (PRI)
   Capabilities: [2d0] Process Address Space ID (PASID)
   Kernel modules: radeon


$ uname -a
Linux debian 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux


As you can see, my machine is essentially an Intel CPU with AMD graphics, and uses the radeon kernel module for the graphics cards. To answer dotlj's questions, here is the process I followed upon a fresh installation of Debian 9 Stretch:
- Fresh basic installation of Debian 9 (Debian desktop environment, print server, standard system utilities, nothing special)
- System boots and a single monitor displays login and desktop
- Installed 'firmware-linux-nonfree' package after adding contrib and nonfree to the apt sources list
- After restart, system hangs during the boot process, presumably during modesetting: "radeon 0000:02:00.0: No connectors reported connected with modes" shows up without the 'quiet' boot flag, among other things.
- Hard shutdown required. Restarting and adding the 'nomodeset' boot flag performs as if 'firmware-linux-nonfree' was never installed; it gets past the boot stage and shows the login/desktop, but only on one monitor.
- Tried removing the AMD microcode blacklist with same results

So the end result, whether or not the nonfree firmware is installed (if it is, 'nomodeset' is required for a successful boot), is that I get a single monitor with GUI, but no other monitors. One thing that I tried is installing Debian 8 Jessie (old stable) and Debian 10 Buster Alpha 2 (testing). Jessie had the same problem as Stretch. Buster Alpha 2, however, actually had the reverse problem: I had to use 'nomodeset' to get it past boot to the GUI initially (it was having the same problem), but then I installed 'firmware-linux-nonfree', and it booted to three monitors every time. This is what I am looking for as a solution, but I really don't want to use the testing distribution and would like to figure out why that one works and Stretch does not so that I can fix Stretch. Could it be that Buster is using a more recent version of the Linux kernel? More recent firmware? I will look into this more and also read more about X based off of wizard10000's suggestions. In the meantime, if any of this sounds familiar to anyone and you have recommendations of what to do, I would greatly appreciate your input. Thanks!
JWVincent
 
Posts: 2
Joined: 2018-01-20 22:41

Re: Graphics Card Driver Causes OS to Hang at Startup

Postby debiman » 2018-01-26 21:50

i don't have much to offer, but i notice that the machine contains two identical GPUs?
to me, that's highly unusual.
my guess would be you'll need a specialized setup to get the most out of it.
my guess would also be that you're not the first trying to install linux on a mac, and i'd search for what is out there already.

fwiw, i think the machine is old enough to be totally fine with the 4.9 kernel.
User avatar
debiman
 
Posts: 2240
Joined: 2013-03-12 07:18


Return to Desktop & Multimedia

Who is online

Users browsing this forum: No registered users and 2 guests

fashionable