package-helpers-cmxsl/helpers/make-xserver-xorg-video-ati

76 lines
3.1 KiB
Bash

#!/bin/sh
#
# Copyright (C) 2023 Ruben Rodriguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION=1
. ./config
cat << EOF > conf/10-radeon.conf
# These configurations are required to correct issues with AMD graphics cards when
# they are run without firmware (as is the case in Trisquel). If you were
# to install the nonfree firmware, comment out the first block and uncomment
# the second, to revert to default settings.
#
# You may also need to check/edit /etc/modprobe.d/blacklist-amdgpu.conf
# More info: https://libreplanet.org/wiki/Group:Hardware/research/gpu/radeon
# https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units
#
# == More information on AMD graphics cards drivers in Trisquel ==
#
# * Cards using the /drm/radeon kernel module:
# - Models released between ~2000 and ~2013
# - Product names: Radeon 7000-9000, X700-X1000, HD2000-HD7000, and Radeon 200
# - Use the "radeon" kernel module. This module works in Trisquel 11 or newer even
# without nonfree firmware blobs, although those are required for 3D/2D acceleration.
# - These cards don't initialize correctly if the radeon kernel module were to be disabled,
# unless the kernel parameter 'nomodeset' is used to disable modesetting. In that case,
# the non-accelerated vesa driver is used. The radeon module is enabled in Trisquel >= 11
#
# * Cards using the /drm/amdgpu kernel module:
# - Models released starting 2015
# - Product names: Radeon 200-600, Radeon RX Vega, Radeon VII, Radeon RX 5000 or newer
# - Use the "amdgpu" kernel module. This module does not work without nonfree firmware
# so it is disabled in Trisquel at /etc/modprobe.d/blacklist-amdgpu.conf
# - Those cards seem to work correctly without the amdgpu module, and they revert to
# using the vesa driver without the need to use kernel parameters.
Section "OutputClass"
Identifier "Radeon"
MatchDriver "radeon"
Driver "modesetting"
Option "AccelMethod" "none"
Option "SWCursor" "True"
EndSection
#Section "OutputClass"
# Identifier "Radeon"
# MatchDriver "radeon"
# Driver "radeon"
#EndSection
EOF
# Install the configuration file to /etc so user edits are permanent
sed 's|usr/share/X11/xorg.conf.d|etc/X11/xorg.conf.d|' -i debian/xserver-xorg-video-radeon.install
sed 's|--libdir=/usr/lib|--libdir=/usr/lib --with-xorg-conf-dir=/etc/X11/xorg.conf.d|' -i debian/rules
changelog "Custom config file to work without nonfree firmware"
package