Recently I tested xlibre on my system without a safety net which tends to be my usual method. As mentioned in the previous blog post, I was stuck again using scfb because of unknown reasons. After many attempts to reinstall rebuilt ports or reinstall pkgs that I knew would be necessary to help me back to a usable GUI on a 4k screen, I gave up. I wasn't making any progress, and even desktop-installer was no help this time, so I chose to start from nothing instead. I issued pkg delete -a -f and then tried pkg info to prove that nothing lingered. This was when pkg reminded me that it was removed also and needed to be bootstrapped back into the system. This was easy, just had to answer 'y' to the prompt.
Many of my troubles are self-inflicted but some are due to various other things I may encounter though I do not know whether its unique to my situation. I have in the past encountered issues with various things except that because of how I may be non-standard or do not always use the accepted official way to do things, I cannot report them. All of this means that when I get myself into trouble, when I break my system softwarewise, I will need to find my own way out of the forest, rarely are any easy breadcrumbs scattered on the ground.
Since I have been through this a few times, although on my newer box which means many files I created with lists of things and other stuff are not present. Those are possibly still on my former at present 'software + filesystem' broken system. I know even from recent posts which things I need to reinstall. What I didn't know about these things is all the stuff that each one installs as dependencies, so starting from nothing will look different than the reinstalls I did not long ago.
First was graphics/mesa-dri which gave me graphics/mesa-libs and graphics/libdrm which had been seperate steps in the past, now I know that was redundant. Along with those I got graphics/libglvnd and graphics/glslang as well as a long list of things.
devel/autoconf devel/autoconf-switch devel/automake devel/binutils devel/bison devel/bsddialog security/ca_root_nss devel/ccache devel/cmake-core sysutils/coreutils textproc/expat2 devel/gettext-runtime devel/gettext-tools graphics/glslang devel/gmake math/gmp misc/help2man sysutils/htop misc/hwdata print/indexinfo devel/jsoncpp x11/libX11 x11/libXau x11/libXdamage x11/libXdmcp x11/libXext x11/libXfixes x11/libXrandr x11/libXrender x11/libXv x11/libXxf86vm graphics/libdrm devel/libedit devel/libffi graphics/libglvnd converters/libiconv dns/libidn2 archivers/liblz4 devel/libpciaccess devel/libtextstyle devel/libtool devel/libunistring devel/libuv x11/libxcb textproc/libxml2 x11/libxshmfence textproc/libyaml devel/llvm19 lang/lua53 lang/lua54 devel/m4 graphics/mesa-dri graphics/mesa-libs devel/meson math/mpdecimal math/mpfr devel/ninja security/openssl devel/p5-Locale-gettext devel/p5-Locale-libintl converters/p5-Text-Unidecode textproc/p5-Unicode-EastAsianWidth devel/pcre2 lang/perl5.42 ports-mgmt/pkg devel/pkgconf ports-mgmt/portconfig devel/py-babel textproc/py-CommonMark devel/py-Jinja2 textproc/py-alabaster www/py-beaker devel/py-build devel/py-calver security/py-certifi textproc/py-charset-normalizer lang/cython textproc/py-docutils devel/py-flit-core devel/py-future devel/py-hatchling dns/py-idna graphics/py-imagesize devel/py-installer textproc/py-mako textproc/py-markdown textproc/py-markdown-it-py textproc/py-markupsafe textproc/py-mdit-py-plugins textproc/py-mdurl textproc/py-myst-parser devel/py-packaging devel/py-pathspec misc/py-pexpect devel/py-pluggy devel/py-ply sysutils/py-ptyprocess textproc/py-pygments devel/py-pyproject-hooks net/py-pysocks textproc/py-pystemmer devel/py-pyyaml textproc/py-recommonmark www/py-requests devel/py-setuptools devel/py-setuptools-scm textproc/py-snowballstemmer textproc/py-sphinx textproc/py-sphinx-markdown-tables textproc/py-sphinxcontrib-applehelp textproc/py-sphinxcontrib-devhelp textproc/py-sphinxcontrib-htmlhelp textproc/py-sphinxcontrib-jsmath textproc/py-sphinxcontrib-qthelp textproc/py-sphinxcontrib-serializinghtml devel/py-trove-classifiers devel/py-typing-extensions net/py-urllib3 devel/py-wheel devel/py-wheel044 lang/python311 devel/readline security/rhash graphics/spirv-tools devel/swig print/texinfo x11/xcb-proto devel/xorg-macros x11/xorgproto x11/xtrans archivers/zstd
After all of that was built and installed and cleaned, I went to the next essential item, graphics/drm-kmod which gave me all of the amd, intel, and radeon kmod files but pkg origin which was how I got these lists after the fact did not show the specifics of the numerous chipset names. No sense listing those multiple duplicates here though they were actually different at install.
graphics/drm-66-kmod graphics/drm-kmod graphics/gpu-firmware-amd-kmod graphics/gpu-firmware-intel-kmod graphics/gpu-firmware-kmod graphics/gpu-firmware-radeon-kmod
Next I should have been smarter about it but since graphics was my main issue previously, I was too focused on that aspect not to also focus solely on installing the amdgpu graphics driver. Later I installed the x11-drivers/xorg-drivers after configuring it for what I specifically needed, a pkg install would include scfb and vesa and maybe intel drivers, all of which I do not want, do not use, and generally do not need. So as I have mentioned before, I build xorg-drivers from source each time. The one interesting thing about starting from very little already installed, is that xorg-drivers/xf86-video-amdgpu also installs xorg-server. I hadn't noticed my error about not installing all the other drivers until after I got fvwm3 reinstalled, but the list from the xorg-drivers install is below, not quite in the pkg origin order it would have given.
archivers/brotli devel/evdev-proto print/freetype2 x11-fonts/libXfont2 x11/libXi graphics/libepoxy x11-fonts/libfontenc security/libgcrypt security/libgpg-error devel/libudev-devd devel/libunwind x11/libxcvt x11/libxkbfile textproc/libxslt x11/pixman graphics/png x11-drivers/xf86-video-amdgpu x11/xkbcomp x11/xkeyboard-config x11-servers/xorg-server x11/libXxf86vm x11-drivers/xf86-input-keyboard x11-drivers/xf86-input-libinput x11-drivers/xf86-input-mouse
One note about the x11-drivers/xf86-input-libinput driver option, it leads to libinput whose config is to avoid the checked by default wacom option which also may lead to webcamd, I do not need either of those. Except for that, I mostly chose to accept all defaults. After I installed the amdgpu driver I chose to install x11/xinit which is where I get startx for later use. The last thing I needed to get a usable desktop was x11-wm/fvwm3 and I generally use the much more recent fvwm3-dev which I keep updated on my own. What I forgot again was that I did not have x11/xterm installed and this is not added by fvwm3, so at the time I had to reset my pc to exit the gui because I only had the graphics driver installed (though I present it not in this order above). When I noticed xterm was needed after I added the input drivers, I still had to exit fvwm3 but could use the menu option.
Once I had xterm installed and was back in fvwm3, I could add the other missing items, feh, gkrellm2, umix, bluefish, and firefox. A few things had an issue with cython installing as a dependency, so to save time, I installed them by pkg even though I keep my own feh-dev updated somewhat regularly. Many things were still configured for the much smaller screen scfb would permit me to use, so I may want to adjust some of that, but aside from other things I may realize are not present I am done with recovery from my non-recommended xlibre test method.
Now a recap for the recovery from nothing, because these notes are more likely to remain than any hand-written paper. Below includes a few configurations and a proper ordering of steps. Note that any desktop environment such as KDE or similar is very extensive and may have a lot of the below as dependencies itself.
1. pkg delete -a or pkg delete -a -f which will also remove pkg itself.
2. make install clean for each of the following port origins, or pkg install if you like all defaults.
3. graphics/mesa-dri provides mesa-libs, libdrm, libglvnd, glslang
4. graphics/drm-kmod provides gpu-firmware-amd-kmod, gpu-firmware-kmod
5. Configure x11-drivers/xorg-drivers for amdgpu (your preferred graphics driver), keyboard, libinput, mouse
6. Configure x11/libinput to untick libwacom
7. x11-drivers/xorg-drivers provides configured drivers and x11-servers/xorg-server
8. x11/xinit provides startx
9. x11/xterm
10. x11-wm/fvwm3 (your preferred mininmalist window manager)
11. startx
No comments:
Post a Comment