Hi,

19 avr. 2021, 11:31 de amaca...@einval.com:

> On Mon, Apr 19, 2021 at 11:04:23AM +0530, Susmita/Rajib wrote:
>
>> > A visit to the following may prove fruitful moving forward:
>> > <https://www.linuxquestions.org/questions/blog/mrmazda-1035595/amd-intel-and-nvidia-x-graphics-driver-primer-38306/>
>> [...]
>>
>> But the website requires creation of an account in order for me to
>> read the post. I wouldn't like to create an account just for this
>> purpose, unless required. Could the essential steps be posted to this
>> thread please?
>>
> Pasting that link into Google Search found it for me with no particular 
> problems - Felix Miata talking to a Jeremy Ardley about similar problems, 
> I think and how to sort out driver issues.
>
Are you sure? I cannot access it through Google from my side and this is not a 
discussion between 2 people but a LinuxQuestion user blog post. Maybe are you 
mistaken? ;)

Here is the content as requested exceptionally (I recommend creating an account 
for next time as this is globally an excellent community):

AMD, Intel & NVidia X graphics driver primer
Posted 18-07-20 at 00:52 by mrmazda
Updated Today at 06:56 by mrmazda ((mainly) in re modesetting DIX)
Tags graphics, video, xorg
"Drivers" for the subject brands of GPUs for X, whether Wayland or Xorg, 
consist of multiple components or layers. This primer discusses only the first 
two layers, and only for the FOSS types included in the installation media for 
most GNU Linux distributions and their standard FOSS repositories.

First layer is the kernel. Each kernel comes with one or more of its own 
modules for each brand of GPU. For AMD, there is amdgpu for current and recent 
GPUs/APUs/IGPs, and radeon for older. For Intel there is gma500 for many SOC 
configurations, and i915 for the rest. For NVidia there is only nouveau. These 
kernel modules provide Kernel ModeSetting (KMS) functionality that the 
foundational X driver layer unconditionally depends upon.

These foundational X drivers are traditionally hardware device dependent, and 
thus are called DDX, for device dependent X (driver). Again, for AMD there is 
amdgpu for current and radeon for older; for Intel there is only intel; and for 
NVidia there is only nouveau. Each of these is provided by an upstream optional 
xf86-video-* source package. However, there is a newer technology device 
independent X driver, now more than six years old, that functions as if it was 
device dependent, but which is in fact created for supporting AMD, Intel, 
NVidia (and others), not surprisingly, called modesetting. This modesetting DIX 
is provided by the X server source package rather than a separate one, so is 
not optional, unlike the xf86-video-* packages. Because it is relatively new, 
older GPUs (roughly prior to Gen4 for Intel, or 2007 or 2008 for others) are 
not supported by it.

Even though upstream modesetting is the default X driver, and the xf86-video-* 
packages are technically optional, most Linux installations include a 
metapackage that installs every one of the xf86-video-* packages. This 
metapackage causes older GPUs unsupported by the modesetting DIX to be 
supported by a default installation, which in effect in many cases preempts the 
upstream default modesetting DIX that supports most non-ancient GPUs that are 
not too new for standard support.

Because of the prevalence of this preemptive override, most people speaking of 
video "drivers" don't even know the modesetting DIX exists. And because of the 
similar naming for kernel modules and DDXes, discussion of graphics "drivers" 
is often lacking clarity. This is particularly true for those for NVidia GPUs. 
Discussion of kernel driver is often intended when technically speaking of a 
DDX or DIX, and vice versa.

Those who wish to employ the modesetting DIX can most easily do so by 
uninstalling the video DDX metapackage and whichever discrete video package is 
applicable to the installed GPU(s). Whether the modesetting DIX will perform 
"better" than a GPU-specific video package can only be determined by trying 
both and comparing behavior. It is not unusual that tearing or other buggy 
behavior can be eliminated or reduced by a switch between DDX and DIX or vice 
versa.

For X there is additionally a pair of limited functionality drivers that do not 
depend on KMS that support AMD, Intel, NVidia and more. These are FBDEV and 
VESA. These are unaccelerated, and support few, if any, modern widescreen 
resolutions, typically limited to 4:3 modes 1280x1024, 1600x1200, or less, 
often only 1024x768. Most find these acceptable only for rescue operations, or 
for servers where X is in use little to none. Not infrequently it is one of 
these two that are required for installation to proceed. When this happens, 
usually the bootloader on the installed system is configured to include 
nomodeset on each of the linux lines. The result of nomodeset in the bootloader 
is the competent DDX's and DIX's support is precluded, making the user unhappy 
with graphics performance, or confronted with a black screen where a login 
greeter is expected, until it is discovered why and how to remove nomodeset 
from the boot process.

In summary, "drivers" required for competent X operation are:
* amdgpu (kernel) plus amdgpu (DDX) or modesetting (DIX) for current and 
non-ancient AMD APUs/GPUs/IGPs
* radeon (kernel) plus modesetting (DIX) or radeon (DDX) for ancient AMD/ATI 
GPUs/IGPs
* gma500 (kernel) or i915 (kernel) plus intel (DDX) or modesetting (DIX) for 
Intel GPUs/IGPs
* nouveau (kernel) plus modesetting (DIX) or nouveau (DDX) for NVidia GPUs

Best regards,
l0f4r0

Reply via email to